@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600;700&display=swap');
:root{--cream:#fff9e9;--olive:#4c572a;--ink:#30351f;--line:#d9dcc7;--pale:#edf0dc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:17px;line-height:1.65}a{color:inherit;text-decoration:none}header{max-width:1440px;margin:auto;padding:28px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-weight:700;font-size:35px;line-height:1}.brand span{display:block;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:.16em;margin-top:10px}nav{display:flex;gap:32px;align-items:center;font-size:15px}.nav-contact{border:1px solid var(--olive);border-radius:30px;padding:10px 20px}a:focus-visible{outline:3px solid #947040;outline-offset:5px}.hero{max-width:1440px;margin:auto;padding:68px 5% 80px;display:grid;grid-template-columns:1.05fr 1fr;gap:7%;align-items:center}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:600;margin:0 0 24px}.wordmark{display:block;width:100%;max-width:520px;margin:-12px 0 -8px;mix-blend-mode:multiply}h1,h2{font-family:'Manrope',sans-serif;font-weight:500;letter-spacing:-.045em;line-height:1.15;margin:0 0 24px}h1{font-size:clamp(32px,3.4vw,48px)}h2{font-size:clamp(34px,4vw,56px)}h3{font-family:'Manrope',sans-serif;line-height:1.3;letter-spacing:-.035em;font-weight:600;font-size:24px;margin:18px 0 15px}.intro{max-width:510px}.button{display:inline-block;border-radius:40px;background:var(--olive);color:var(--cream);padding:15px 25px;margin-top:14px;font-size:15px}.button:hover{background:#333f1e}.small-note{font-size:14px;margin-top:24px}.hero-photo{margin:0;position:relative}.hero-photo img{width:100%;height:570px;object-fit:cover;border-radius:48% 48% 4px 4px;display:block}.hero-photo figcaption{font-size:12px;padding-top:13px;text-align:center}.services{padding:80px 5%;background:var(--pale)}.section-head,.service-grid{max-width:1296px;margin:auto}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:50px}.service-grid article{border-top:1px solid #9fa780;padding-top:24px}.number{font-family:Georgia,serif;font-style:italic;font-size:24px;color:var(--olive)}.detail{display:block;font-size:14px;margin-top:28px}.about{max-width:1120px;margin:auto;padding:110px 5%;display:grid;grid-template-columns:.7fr 1fr;gap:9%}.about p{max-width:610px}.large-o{font-family:Georgia,serif;font-style:italic;font-size:210px;line-height:1;display:block;color:var(--olive)}.about-label .eyebrow{margin-top:30px}.signature{font-family:Georgia,serif;font-style:italic;font-size:35px;color:var(--olive)}.how{max-width:1296px;margin:auto;padding:35px 0 90px;border-top:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:40px}.steps h3{font-size:21px}.contact{background:var(--olive);color:var(--cream);text-align:center;padding:85px 24px}.contact h2{font-size:64px}.contact p{max-width:620px;margin:0 auto 24px}.contact-status{display:inline-block;border:1px solid #899069;border-radius:30px;padding:13px 22px;font-size:15px}footer{padding:38px 5%;display:flex;gap:24px;justify-content:space-between;align-items:center}footer p,footer span{font-size:13px}footer .brand{font-size:30px}@media(max-width:900px){nav{gap:20px}.hero{gap:30px;padding-top:40px}.hero-photo img{height:450px}.service-grid{gap:25px}.how{margin:0 5%}.about{padding-top:75px;padding-bottom:65px}footer{flex-wrap:wrap}}@media(max-width:640px){header{padding:22px 6%}.brand{font-size:30px}.brand span{font-size:9px}nav a:not(.nav-contact){display:none}.nav-contact{font-size:13px;padding:8px 12px}.hero{display:flex;flex-direction:column;padding:36px 6% 50px;gap:36px}.hero-copy{width:100%}.eyebrow{font-size:11px;letter-spacing:.09em}.wordmark{max-width:430px}.hero-photo{width:100%}.hero-photo img{height:420px}.services{padding:55px 6%}.service-grid,.steps{grid-template-columns:1fr;gap:32px}.service-grid{margin-top:30px}.detail{margin-top:18px}.about{grid-template-columns:1fr;padding:55px 6%;gap:10px}.large-o{font-size:90px}.about-label{display:flex;align-items:center;gap:25px}.about-label .eyebrow{margin:0}.how{padding:35px 0 50px;margin:0 6%}.steps{margin-top:25px;gap:12px}.contact{padding:55px 6%}.contact h2{font-size:48px}footer{display:block;padding:30px 6%}footer p{margin-top:20px}.contact-status{border-radius:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
