@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:light;--paper:#e9e7e2;--ink:#202321;--muted:#656a65;--line:#b8bbb4;--accent:#b6c26a;font-family:'DM Sans',Arial,sans-serif;font-size:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink)}a{color:inherit}a:focus-visible{outline:2px solid currentColor;outline-offset:5px}::selection{background:var(--accent);color:var(--ink)}
.site-header{height:104px;padding:0 4.3vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{text-decoration:none;display:flex;flex-direction:column;align-items:flex-end;width:max-content}.brand span,.footer-brand{font-family:Manrope,Arial,sans-serif;font-size:1.7rem;letter-spacing:.21em;font-weight:800;line-height:1}.brand small{font-size:.76rem;letter-spacing:.24em;font-weight:500;margin-right:.24em;margin-top:8px}.site-header nav{display:flex;align-items:center;gap:2.8rem}.site-header nav a{text-decoration:none;font-size:.86rem;font-weight:600}.site-header nav a:hover,.text-link:hover,footer a:hover{text-decoration:underline;text-underline-offset:5px}.nav-contact{border:1px solid var(--ink);padding:13px 16px}.nav-contact span{margin-left:2rem}
.hero{min-height:calc(100svh - 104px);display:flex;flex-direction:column;padding:28px 4.3vw 25px}.hero-topline,.hero-bottom{display:flex;justify-content:space-between;text-transform:uppercase;font-size:.7rem;font-weight:700;letter-spacing:.16em}.hero-main{display:grid;grid-template-columns:1fr 280px;align-items:end;gap:3rem;flex:1;padding:7vh 0 9vh}.hero h1,.section-heading h2,.approach h2,.contact h2{font-family:Manrope,Arial,sans-serif;letter-spacing:-.085em;line-height:.96;font-weight:700;margin:0}.hero h1{font-size:clamp(5rem,12vw,12rem)}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.09em}.hero-side{padding-bottom:1.2vw}.asterisk{display:block;font-size:3rem;margin-bottom:2.5rem;line-height:1;color:#889553}.hero-side p{font-size:1.15rem;line-height:1.45;max-width:265px;margin:0 0 2.1rem}.text-link{display:inline-flex;gap:2rem;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:8px;font-size:.83rem;font-weight:700}.hero-bottom{border-top:1px solid var(--ink);padding-top:17px}
.section-pad{padding:7rem 4.3vw}.section-kicker{display:flex;gap:2rem;align-items:center;text-transform:uppercase;font-size:.72rem;font-weight:700;letter-spacing:.16em;white-space:nowrap}.section-kicker .line{height:1px;background:currentColor;flex:1;opacity:.5}.services{background:#d8dcd3}.section-heading{display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:4rem;margin:6rem 0 5.5rem}.section-heading h2{font-size:clamp(3.7rem,7vw,7.5rem)}.section-heading p{font-size:1.16rem;line-height:1.55;max-width:360px;margin:0 0 4px}.service-list{border-top:1px solid var(--ink)}.service{display:grid;grid-template-columns:65px minmax(200px,1fr) minmax(210px,.72fr) 24px;gap:2rem;align-items:center;min-height:135px;border-bottom:1px solid rgba(32,35,33,.5)}.service-num{font-size:.73rem;font-weight:700}.service h3{font:600 clamp(1.9rem,3.5vw,3.65rem)/1 Manrope,Arial,sans-serif;letter-spacing:-.055em;margin:0}.service p{font-size:.95rem;line-height:1.45;max-width:270px;margin:0}.service-mark{font-size:1.2rem;text-align:right}
.approach{background:#222622;color:#e8e9e4}.approach-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:4rem;align-items:end;margin-top:6rem}.approach h2{font-size:clamp(3.8rem,7.4vw,8rem)}.approach-copy{max-width:360px}.approach-copy p{font-size:1.1rem;line-height:1.6;margin:0 0 1.6rem}.approach-copy p:last-child{margin-bottom:0}
.contact{min-height:620px;display:flex;flex-direction:column;background:var(--accent)}.contact-content{margin:auto 0 0}.contact-content>p{font-size:1.15rem;margin:0 0 1.3rem}.contact h2{font-size:clamp(5rem,10vw,11rem)}.contact-link{display:inline-flex;align-items:center;justify-content:space-between;gap:4rem;text-decoration:none;border-bottom:2px solid var(--ink);font:600 clamp(1.2rem,2.3vw,2rem) Manrope,Arial,sans-serif;letter-spacing:-.04em;padding:1rem 0;margin-top:3.7rem;max-width:100%}.contact-link:hover{opacity:.6}
footer{display:flex;justify-content:space-between;align-items:end;gap:2rem;padding:2.5rem 4.3vw 3rem;background:#222622;color:#e8e9e4}footer a{text-decoration:none}footer>span,footer>a:last-child{font-size:.78rem}footer .footer-brand{font-size:1.1rem}.footer-brand span{display:block;font:400 .7rem 'DM Sans',Arial,sans-serif;letter-spacing:.21em;text-align:right;margin-top:.6rem}
@media(max-width:900px){.hero-main{grid-template-columns:1fr}.hero h1{font-size:clamp(5rem,13vw,9rem)}.hero-side{display:flex;align-items:end;gap:2rem;justify-content:space-between}.asterisk{margin:0}.hero-side p{margin:0}.section-heading,.approach-grid{grid-template-columns:1fr}.section-heading{gap:2rem}.service{grid-template-columns:45px 1fr 24px;gap:1rem;padding:2rem 0}.service p{grid-column:2;grid-row:2}.service-mark{grid-column:3;grid-row:1}}
@media(max-width:600px){.site-header{height:80px;padding:0 6vw}.brand span{font-size:1.25rem}.brand small{font-size:.6rem}.site-header nav{gap:0}.site-header nav a:not(.nav-contact){display:none}.nav-contact{font-size:.78rem!important;padding:11px!important}.nav-contact span{margin-left:.5rem}.hero{min-height:calc(100svh - 80px);padding:21px 6vw}.hero-topline span:last-child{display:none}.hero-main{padding:9vh 0 7vh;gap:3rem;align-content:center}.hero h1{font-size:clamp(4.4rem,16vw,6.5rem)}.hero-side{display:block}.asterisk{font-size:2rem;margin-bottom:1rem}.hero-side p{font-size:1rem;margin-bottom:1.5rem;max-width:300px}.section-pad{padding:5rem 6vw}.section-heading{margin:4rem 0 3rem}.section-heading h2,.approach h2{font-size:clamp(3.2rem,12vw,5rem)}.section-heading p,.approach-copy p{font-size:1rem}.service{grid-template-columns:30px 1fr 20px;min-height:auto}.service h3{font-size:2rem}.service p{font-size:.87rem}.approach-grid{margin-top:4rem;gap:3rem}.contact{min-height:590px}.contact h2{font-size:clamp(4.3rem,15vw,7rem)}.contact-link{font-size:1.05rem;gap:1rem;word-break:break-word;margin-top:3rem}footer{padding:2.5rem 6vw;display:grid;gap:1.5rem}footer>span{order:3}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
