:root{--cream:#f3f2e7;--wine:#65241e;--coffee:#270d09;--taupe:#b2a69a;--sand:#cdc7b9;--line:rgba(39,13,9,.28);--serif:"Times New Roman",Times,serif;--sans:"Montserrat",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--coffee);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:.96}em,i{font-weight:400}p{max-width:68ch}.site-header{height:94px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:absolute;z-index:5;width:100%;color:var(--cream)}.wordmark{font-family:var(--serif);font-size:24px}.wordmark i{display:inline-block;margin-left:2px}.site-header nav{display:flex;align-items:center;gap:34px;font-size:11px;text-transform:uppercase;letter-spacing:.13em}.nav-contact{border-left:1px solid rgba(243,242,231,.5);padding-left:34px}.nav-contact span{margin-left:18px}.hero{background:var(--coffee);color:var(--cream);min-height:860px;padding:170px 4.5vw 70px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:7vw;position:relative;overflow:hidden}.hero:after{content:"G";position:absolute;right:-3vw;bottom:-20vw;font-family:var(--serif);font-size:55vw;line-height:1;color:rgba(243,242,231,.025);pointer-events:none}.hero-copy{align-self:center;position:relative;z-index:1}.identity{font-size:11px;text-transform:uppercase;letter-spacing:.18em;margin-bottom:32px}.identity span{color:var(--taupe);margin-left:22px;padding-left:22px;border-left:1px solid var(--taupe)}.hero h1{font-size:clamp(52px,6.2vw,106px);letter-spacing:-.055em;max-width:1100px;margin-bottom:40px}.hero h1 em{color:var(--sand)}.hero-text{font-size:15px;line-height:1.85;max-width:680px;color:rgba(243,242,231,.78)}.actions{display:flex;align-items:center;gap:32px;margin-top:42px;flex-wrap:wrap}.button{min-width:220px;padding:20px 24px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;display:flex;justify-content:space-between}.button-primary{background:var(--cream);color:var(--wine)}.text-link{font-size:11px;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid rgba(243,242,231,.35);padding:10px 0}.text-link span{margin-left:8px}.muted-link{color:var(--sand)}.hero-visual{align-self:center;position:relative;z-index:2}.photo-placeholder{background:var(--wine);position:relative;overflow:hidden;border:1px solid rgba(243,242,231,.25)}.photo-placeholder:before,.photo-placeholder:after{content:"";position:absolute;background:rgba(243,242,231,.22)}.photo-placeholder:before{width:1px;height:140%;top:-20%;left:50%;transform:rotate(32deg)}.photo-placeholder:after{height:1px;width:140%;left:-20%;top:50%;transform:rotate(-32deg)}.photo-placeholder span{position:absolute;z-index:1;left:18px;bottom:16px;font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:rgba(243,242,231,.65)}.photo-tall{aspect-ratio:3/4;max-height:610px}.life-note{font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.08;position:absolute;left:-80px;bottom:34px;background:var(--cream);color:var(--wine);padding:24px 30px;max-width:none}.hero-side{position:absolute;right:1.3vw;top:50%;font-size:9px;text-transform:uppercase;letter-spacing:.2em;writing-mode:vertical-rl;z-index:3}.hero-side span{margin:12px 0}.section-pad{padding:130px 8vw}.section-intro{display:grid;grid-template-columns:1.4fr .6fr;gap:9vw;align-items:end;margin-bottom:100px}.section-intro h2,.principles h2,.faq h2{font-size:clamp(46px,5.3vw,86px);letter-spacing:-.045em;margin:0}.section-intro h2 em,.principles h2 em,.faq h2 em{color:var(--wine)}.section-intro p{font-size:14px;margin-bottom:8px}.situation-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.situation{padding:52px 5vw 52px 0;border-bottom:1px solid var(--line);min-height:330px}.situation:nth-child(odd){border-right:1px solid var(--line)}.situation:nth-child(even){padding-left:5vw;padding-right:0}.situation h3{font-size:clamp(29px,3vw,46px);max-width:600px;margin-bottom:25px}.situation p{font-size:13px}.situation.featured{background:rgba(205,199,185,.25)}.situation.featured:nth-child(odd){margin-left:-3vw;padding-left:3vw}.situation.featured:nth-child(even){margin-right:-3vw;padding-right:3vw}.process{background:var(--wine);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:10vw}.process-statement h2{font-size:clamp(58px,6vw,96px);letter-spacing:-.05em}.process-statement h2 em{color:var(--sand)}.process-statement p{font-size:14px;color:rgba(243,242,231,.78)}.process-list{list-style:none;padding:0;margin:0;border-top:1px solid rgba(243,242,231,.3);counter-reset:steps}.process-list li{counter-increment:steps;display:grid;grid-template-columns:38px 1fr 1.1fr;gap:16px;padding:28px 0;border-bottom:1px solid rgba(243,242,231,.3);align-items:start}.process-list li:before{content:"0" counter(steps);font-family:var(--serif);font-style:italic;color:var(--sand)}.process-list span{font-family:var(--serif);font-size:28px}.process-list p{font-size:12px;color:rgba(243,242,231,.72);margin:4px 0}.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw;align-items:center}.photo-wide{aspect-ratio:4/5;background:var(--sand);border-color:var(--coffee)}.photo-wide span{color:var(--coffee)}.about-visual{position:relative}.experience{position:absolute;right:-54px;bottom:-40px;background:var(--wine);color:var(--cream);width:190px;height:190px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:10px}.experience strong{font-family:var(--serif);font-size:80px;font-weight:400;line-height:1}.experience span{font-size:9px;text-transform:uppercase;letter-spacing:.12em}.about-copy h2{font-size:clamp(48px,5vw,82px);letter-spacing:-.04em}.about-copy h2 em{color:var(--wine)}.about-copy p{font-size:14px}.about-copy blockquote{font-family:var(--serif);font-size:30px;font-style:italic;margin:42px 0 0;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.practice{background:var(--coffee);color:var(--cream)}.practice>h2{font-size:clamp(60px,8vw,130px);letter-spacing:-.055em;margin:0 0 100px}.practice>h2 em{color:var(--sand)}.practice-columns{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(243,242,231,.28)}.practice article{display:grid;grid-template-columns:100px 1fr;gap:35px;padding:55px 5vw 30px 0}.practice article+article{border-left:1px solid rgba(243,242,231,.28);padding-left:5vw}.area-mark{font-family:var(--serif);font-style:italic;font-size:72px;color:var(--sand)}.practice h3{font-size:40px;margin:5px 0 24px}.practice p{font-size:13px;color:rgba(243,242,231,.72)}.principles{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.principles-heading{position:sticky;top:50px;align-self:start}.principles-heading h2{font-size:clamp(50px,5vw,80px);margin-bottom:34px}.principles-heading>p{font-size:13px}.principles-list{border-top:1px solid var(--line)}.principles-list article{display:grid;grid-template-columns:.7fr 1fr;gap:30px;border-bottom:1px solid var(--line);padding:34px 0}.principles-list h3{font-size:28px;margin:0}.principles-list p{font-size:12px;margin:4px 0}.faq{background:var(--sand);display:grid;grid-template-columns:.75fr 1.25fr;gap:10vw}.faq h2{font-size:clamp(50px,5.2vw,84px)}.faq-list{border-top:1px solid var(--coffee)}details{border-bottom:1px solid var(--coffee)}summary{list-style:none;cursor:pointer;padding:25px 0;display:flex;justify-content:space-between;gap:20px;font-size:13px;font-weight:500}summary::-webkit-details-marker{display:none}summary span{font-family:var(--serif);font-size:24px;font-weight:400;line-height:.8;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details p{font-size:12px;padding:0 45px 24px 0;margin:0}.contact{background:var(--wine);color:var(--cream);display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;min-height:650px;align-items:center}.contact h2{font-size:clamp(62px,7.2vw,120px);letter-spacing:-.055em;margin-bottom:38px}.contact h2 em{color:var(--sand)}.contact p{font-size:14px;color:rgba(243,242,231,.78)}.contact-actions{display:grid}.contact-actions a{border:1px solid rgba(243,242,231,.55);padding:25px 28px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;display:flex;justify-content:space-between;margin-top:-1px}.contact-actions a:first-child{background:var(--cream);color:var(--wine)}footer{background:var(--wine);color:var(--cream);border-top:1px solid rgba(243,242,231,.35);padding:70px 5vw;display:grid;grid-template-columns:1fr .9fr .9fr 1fr;gap:4vw}footer p{font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px}.footer-brand{font-family:var(--serif);font-size:42px;line-height:.85}.footer-brand i{display:block;margin-left:25px;color:var(--sand)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{height:76px;padding:0 22px}.site-header nav a:not(.nav-contact){display:none}.nav-contact{border:0;padding:0}.hero{min-height:auto;padding:130px 22px 80px;display:flex;flex-direction:column;gap:60px}.hero h1{font-size:clamp(48px,13vw,72px)}.hero-text{font-size:14px}.identity span{display:block;border:0;padding:3px 0 0;margin:0}.hero-visual{width:88%;align-self:flex-end}.life-note{left:-14%;font-size:19px;padding:19px}.hero-side{display:none}.section-pad{padding:90px 22px}.section-intro,.process,.about,.principles,.faq,.contact{grid-template-columns:1fr;gap:55px}.section-intro{margin-bottom:65px}.section-intro h2,.principles h2,.faq h2{font-size:46px}.situation-grid{grid-template-columns:1fr}.situation,.situation:nth-child(even),.situation.featured:nth-child(odd),.situation.featured:nth-child(even){border-right:0;margin:0;padding:38px 10px;min-height:0}.situation h3{font-size:32px}.process-statement h2{font-size:55px}.process-list li{grid-template-columns:32px 1fr}.process-list p{grid-column:2}.about{padding-top:120px}.about-visual{width:88%}.experience{width:145px;height:145px;right:-35px}.experience strong{font-size:60px}.about-copy h2{font-size:48px}.practice>h2{font-size:56px;margin-bottom:60px}.practice-columns{grid-template-columns:1fr}.practice article,.practice article+article{grid-template-columns:62px 1fr;padding:40px 0;border-left:0;border-bottom:1px solid rgba(243,242,231,.28)}.area-mark{font-size:52px}.practice h3{font-size:32px}.principles-heading{position:static}.principles-list article{grid-template-columns:1fr;gap:8px}.faq{gap:45px}.contact{min-height:auto}.contact h2{font-size:57px}.contact-actions a{padding:22px 18px}footer{grid-template-columns:1fr 1fr;gap:35px 25px}.footer-brand{grid-column:1/-1;margin-bottom:20px}}
@media(max-width:520px){body{font-size:15px}.wordmark{font-size:21px}.hero{padding-top:115px}.hero h1{font-size:47px}.actions{align-items:stretch;flex-direction:column;gap:14px}.button{width:100%}.text-link{width:max-content}.hero-visual{width:92%}.photo-tall{aspect-ratio:4/5}.section-pad{padding:78px 20px}.section-intro h2,.principles h2,.faq h2{font-size:41px}.process-list span{font-size:25px}.about-copy h2{font-size:43px}.about-copy blockquote{font-size:26px}.practice>h2{font-size:48px}.practice article,.practice article+article{grid-template-columns:45px 1fr;gap:18px}.area-mark{font-size:40px}.contact h2{font-size:49px}footer{grid-template-columns:1fr}footer div{border-top:1px solid rgba(243,242,231,.25);padding-top:20px}.footer-brand{grid-column:auto;border-top:0;padding-top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

.hero-photo:before,.hero-photo:after{display:none}
.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 24%}
.about-photo{overflow:visible;border:0}
.about-photo:before,.about-photo:after{display:none}
.about-photo>img:first-child{display:block;width:100%;height:100%;object-fit:cover;object-position:center 22%}
.about-signature{position:absolute;z-index:3;top:-18px;left:-20px;width:min(430px,82%);height:auto;pointer-events:none;transform:rotate(-10deg);transform-origin:center}

@media(max-width:900px){.about-signature{top:-12px;left:-8px;width:82%}}

body{overflow-x:hidden}
.hero{overflow:visible;z-index:1}
.hero:after{color:rgba(205,199,185,.12)}
.situations{position:relative;z-index:0}

h1,h2,h3,.process-list span,.area-mark,.footer-brand,.about-copy blockquote{font-weight:200}
h1,h2,h3{opacity:.92}
.hero h1,.section-intro h2,.principles h2,.faq h2,.about-copy h2,.practice>h2,.contact h2{letter-spacing:-.035em}

.hero h1{font-size:clamp(48px,5.6vw,94px)}
@media(max-width:900px){.hero h1{font-size:clamp(44px,11.5vw,64px)}}
@media(max-width:520px){.hero h1{font-size:43px}}

h1,h2,h3{letter-spacing:-.04em}
.hero h1,.section-intro h2,.principles h2,.faq h2,.about-copy h2,.practice>h2,.contact h2{letter-spacing:-.045em}

.area-mark img{display:block;width:72px;height:72px;object-fit:contain}
@media(max-width:900px){.area-mark img{width:48px;height:48px}}
@media(max-width:520px){.area-mark img{width:40px;height:40px}}

.about-copy blockquote{letter-spacing:-.025em}
.footer-brand{display:block;width:min(280px,100%);height:auto}

@media(max-width:520px){.footer-brand{width:240px}}

h2.reveal.visible{text-align:center}
.faq{background:var(--cream)}
.faq-heading{align-self:start}
.faq-photo{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;margin:55px 0 0}

@media(max-width:520px){
  .about{text-align:center}
  .about-visual{margin-left:auto;margin-right:auto}
  .about-copy p{margin-left:auto;margin-right:auto}
  .about-copy blockquote{text-align:center}
  .faq-photo{width:100%;margin-top:36px}
}

.situations .situation-grid{border:0}
.situations .situation,
.situations .situation:nth-child(even),
.situations .situation.featured:nth-child(odd),
.situations .situation.featured:nth-child(even){margin:0;padding:52px 4vw;border:1px solid var(--line)}
.situations .situation:nth-child(even){border-left:0}
.situations .situation:nth-child(n+3){border-top:0}

@media(max-width:900px){
  .situations .situation-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .situations .situation,
  .situations .situation:nth-child(even),
  .situations .situation.featured:nth-child(odd),
  .situations .situation.featured:nth-child(even){padding:38px 10px;border:0;border-bottom:1px solid var(--line)}
  .situations .situation:last-child{border-bottom:0}
}

@media(max-width:900px){
  .actions{flex-direction:column;align-items:stretch;gap:12px}
  .actions .button,.actions .text-link{width:100%;min-width:0;padding:17px 18px}
  .actions .text-link{border:1px solid rgba(243,242,231,.35)}
}

@media(min-width:901px){
  .hero h1{font-size:clamp(44px,4.1vw,68px)!important}
  .section-intro h2,.principles h2,.faq h2{font-size:clamp(38px,3.7vw,58px)!important}
  .situation h3{font-size:clamp(25px,2.1vw,33px)!important}
  .about-copy h2{font-size:clamp(38px,3.6vw,58px)!important}
  .practice>h2{font-size:clamp(48px,5.4vw,86px)!important}
  .practice h3{font-size:30px!important}
  .principles-list h3{font-size:22px!important}
  .contact h2{font-size:clamp(48px,5vw,80px)!important}
  .situations .section-intro h2{max-width:620px}
}
