:root{--cream:#f2ede3;--paper:#e8dfd1;--taupe:#b9aa98;--umber:#756452;--ink:#302b27;--rust:#815c46;--line:rgba(48,43,39,.22);--serif:"Cormorant Garamond",Georgia,serif;--sans:Montserrat,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;background:var(--ink);color:#fff;padding:.7rem 1rem;z-index:99}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{height:116px;padding:22px clamp(24px,5vw,76px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:grid;width:185px;text-decoration:none;text-align:center;color:var(--ink)}.brand-name{font:500 28px/1 var(--serif);letter-spacing:.22em}.brand-rule{height:1px;background:currentColor;margin:7px 0 6px}.brand-subtitle{text-transform:uppercase;font-size:12px;letter-spacing:.34em}.site-nav{display:flex;align-items:center;gap:clamp(22px,3vw,48px)}.site-nav a{text-decoration:none;text-transform:uppercase;font-size:12px;letter-spacing:.16em}.site-nav a:hover{opacity:.55}.nav-cta{border:1px solid currentColor;padding:12px 18px}.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span:not(.sr-only){display:block;width:24px;height:1px;background:var(--ink);margin:5px}.hero{min-height:calc(100vh - 116px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:90px 24px 110px;background:radial-gradient(circle at 50% 43%,rgba(255,255,255,.8),transparent 42%)}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:12px;margin:0 0 24px}.hero h1{font:400 clamp(60px,8.2vw,125px)/.83 var(--serif);letter-spacing:-.035em;margin:0;max-width:1200px}.hero-script{font:italic 400 clamp(26px,3.3vw,47px)/1.1 var(--serif);color:var(--rust);margin:30px 0 34px}.hero-copy{max-width:590px;font-size:13px;letter-spacing:.02em}.text-link{text-decoration:none;text-transform:uppercase;letter-spacing:.18em;font-size:12px;display:inline-flex;gap:14px;align-items:center;margin-top:34px;border-bottom:1px solid;padding-bottom:7px}.section{padding:clamp(85px,11vw,160px) clamp(24px,6vw,90px)}.services{background:var(--paper)}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:60px}.section-heading .eyebrow{margin:0}.section-heading h2,.about h2,.contact h2{font:400 clamp(43px,5vw,70px)/.98 var(--serif);margin:0;max-width:680px}.path-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}.path-card{appearance:none;border:0;background:var(--cream);padding:0 0 27px;text-align:left;cursor:pointer;position:relative;overflow:hidden}.path-image{display:block;aspect-ratio:1/1;overflow:hidden;margin-bottom:24px}.path-image img{width:100%;height:100%;display:block;object-fit:cover;filter:sepia(.2) saturate(.72);transition:transform .7s,filter .5s}.path-card:hover img,.path-card.active img{transform:scale(1.035);filter:sepia(.05) saturate(.9)}.path-number,.path-kicker,.path-title,.path-arrow{display:block;margin-left:24px;margin-right:24px}.path-number{font-size:12px;letter-spacing:.18em;opacity:.5}.path-kicker{text-transform:uppercase;letter-spacing:.2em;font-size:12px;margin-top:28px}.path-title{font:400 clamp(26px,2.4vw,39px)/.95 var(--serif);margin-top:8px;min-height:75px}.path-arrow{text-transform:uppercase;font-size:12px;letter-spacing:.18em;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between}.path-card.active{background:#ded3c4}.service-detail{display:grid;grid-template-columns:1.4fr 1fr auto;gap:clamp(35px,6vw,90px);align-items:center;padding:65px 55px;background:var(--ink);color:var(--cream)}.service-detail .eyebrow{color:var(--taupe);margin-bottom:14px}.service-detail h3{font:400 clamp(32px,3.5vw,53px)/1 var(--serif);margin:0 0 18px;max-width:600px}.service-detail p{max-width:600px}.service-detail ul{list-style:none;padding:0;margin:0}.service-detail li{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.15);font-size:12px}.button{display:inline-block;text-decoration:none;text-transform:uppercase;letter-spacing:.18em;font-size:12px;padding:17px 22px;border:1px solid;white-space:nowrap;background:none;cursor:pointer}.button-dark{color:var(--cream)}.button:hover{background:var(--cream);color:var(--ink)}.approach{background:var(--cream);display:grid;grid-template-columns:1.05fr .95fr;gap:8vw}.approach blockquote{font:400 clamp(38px,4.7vw,68px)/1.02 var(--serif);margin:0}.approach-points article{padding:28px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:50px 1fr;column-gap:20px}.approach-points article>span{grid-row:1/3;font-size:12px}.approach-points h3{font:400 30px/1 var(--serif);margin:0}.approach-points p{grid-column:2;margin:12px 0 0;max-width:410px;font-size:12px}.about{background:var(--taupe);display:grid;grid-template-columns:1fr 1.1fr;gap:8vw;align-items:center}.about-mark{aspect-ratio:1;max-width:540px;border:1px solid rgba(48,43,39,.38);border-radius:50%;display:grid;place-items:center}.about-mark span{font:italic 400 clamp(170px,25vw,360px)/1 var(--serif);transform:translateY(-4%)}.about-copy .lead{font:400 25px/1.25 var(--serif);max-width:560px}.about-copy>p:not(.eyebrow){max-width:570px}.contact{background:var(--rust);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact-intro>p:not(.eyebrow){max-width:530px}.button-light{color:var(--cream);margin-top:25px}.contact-form{display:grid;gap:22px}.contact-form label{text-transform:uppercase;letter-spacing:.15em;font-size:12px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.5);background:transparent;padding:11px 0;outline:none;border-radius:0;color:var(--cream);text-transform:none;letter-spacing:normal;font-size:13px}.contact-form select option{color:var(--ink)}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:white}.contact-form .button{justify-self:start;margin-top:0}.form-note{font-size:12px;opacity:.75;margin:0}footer{padding:65px clamp(24px,6vw,90px);background:#26221f;color:var(--cream);display:grid;grid-template-columns:1fr 1fr auto;gap:50px;align-items:start}footer .brand{color:var(--cream)}footer p{margin:0;font:400 19px/1.25 var(--serif)}footer>div{display:flex;gap:25px}footer>div a{text-transform:uppercase;text-decoration:none;font-size:12px;letter-spacing:.16em}footer small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:22px;opacity:.55;font-size:12px;letter-spacing:.1em}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.path-image img{transition:none}}@media(max-width:900px){.path-grid{grid-template-columns:repeat(2,1fr)}.service-detail{grid-template-columns:1fr 1fr}.service-detail .button{grid-column:1/-1;justify-self:start}.approach,.about,.contact{grid-template-columns:1fr}.about-mark{max-width:420px}.section-heading{display:block}.section-heading .eyebrow{margin-bottom:18px}footer{grid-template-columns:1fr 1fr}footer>div{grid-column:2}footer small{grid-column:1/-1}}@media(max-width:680px){.site-header{height:90px;padding:18px 22px}.brand{width:150px}.brand-name{font-size:23px}.menu-toggle{display:block;position:relative;z-index:2}.site-nav{display:none;position:absolute;top:90px;left:0;right:0;background:var(--cream);padding:30px 24px 35px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.site-nav.open{display:flex}.hero{min-height:calc(100svh - 90px);padding-top:65px}.hero h1{font-size:clamp(54px,16vw,78px)}.path-grid{grid-template-columns:1fr}.path-title{min-height:auto;margin-bottom:28px}.service-detail{grid-template-columns:1fr;padding:45px 28px}.service-detail .button{grid-column:auto}.approach-points{margin-top:30px}.contact{gap:65px}footer{grid-template-columns:1fr}footer>div{grid-column:auto}footer small{grid-column:auto}.section{padding-left:22px;padding-right:22px}}
