html{scroll-padding-top:var(--header-height)}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}.shell{width:var(--shell);margin-inline:auto}.skip-link{position:fixed;left:16px;top:12px;z-index:200;padding:10px 16px;background:var(--ink);color:var(--white);transform:translateY(-150%);transition:transform .2s}.skip-link:focus{transform:none}.site-header{position:fixed;inset:0 0 auto;z-index:100;height:var(--header-height);transition:background .35s,box-shadow .35s,backdrop-filter .35s}.site-header.is-scrolled,.site-header.menu-open{background:rgba(247,247,243,.94);backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--line)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:800;font-size:1.28rem;letter-spacing:.12em;line-height:1}.brand span{color:var(--sage)}.main-nav{display:flex;align-items:center;gap:34px;font-size:.78rem;font-weight:650;letter-spacing:.05em}.main-nav a{position:relative;transition:color .25s}.main-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--sage);transition:right .3s var(--ease)}.main-nav>a:hover::after,.main-nav>a:focus-visible::after{right:0}.nav-cta{border:1px solid var(--sage);padding:11px 18px;color:var(--sage)}.nav-cta:hover,.nav-cta:focus-visible{background:var(--sage);color:var(--white)}.menu-toggle{display:none;width:44px;height:44px;cursor:pointer}.menu-toggle span{display:block;width:22px;height:1px;margin:6px auto;background:var(--ink);transition:transform .3s,opacity .2s}.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;padding-top:var(--header-height);background:linear-gradient(110deg,var(--paper) 0 66%,#e7eee9 66% 100%);overflow:hidden}.hero-grid{flex:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.8fr);align-items:center;gap:clamp(40px,7vw,104px);padding-block:38px 24px}.hero-copy{position:relative;z-index:2}.eyebrow,.section-kicker{text-transform:uppercase;color:var(--sage);font-size:.68rem;font-weight:750;letter-spacing:.17em}.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:28px}.eyebrow i{width:3px;height:3px;border-radius:50%;background:var(--champagne)}h1,h2{font-weight:520;letter-spacing:-.045em;line-height:.98}.hero h1{max-width:790px;font-size:clamp(3.2rem,5.5vw,5.7rem)}h1 em,h2 em{display:block;color:var(--sage);font-family:var(--font-serif);font-weight:400}.hero-lead{max-width:570px;margin-top:30px;color:#46504c;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.65}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:36px;min-height:52px;padding:13px 20px;border:1px solid transparent;font-size:.77rem;font-weight:750;letter-spacing:.05em;cursor:pointer;transition:background .3s,color .3s,border-color .3s,transform .3s}.button-primary{background:var(--sage);color:var(--white)}.button-primary:hover,.button-primary:focus-visible{background:var(--sage-dark);transform:translateY(-2px)}.text-link{display:inline-flex;align-items:center;gap:18px;padding-block:10px;border-bottom:1px solid var(--ink);font-size:.78rem;font-weight:700;letter-spacing:.05em}.text-link span,.service-contact span,.contact-copy>a span{transition:transform .3s var(--ease)}.text-link:hover span,.service-contact:hover span,.contact-copy>a:hover span{transform:translate(3px,-3px)}.experience-line{display:flex;align-items:center;gap:18px;margin-top:44px}.experience-line>span{color:var(--sage);font-family:var(--font-serif);font-size:2.7rem;line-height:1}.experience-line sup{font-family:var(--font-sans);font-size:.75rem;vertical-align:top}.experience-line p{padding-left:18px;border-left:1px solid var(--line);color:var(--muted);font-size:.75rem;line-height:1.55}.hero-visual{height:min(70vh,690px);min-height:510px;align-self:end}.portrait-frame{position:relative;height:100%;overflow:hidden;border-radius:190px 0 0 0;background:#dfeae4}.portrait-frame::before{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.55);border-radius:173px 0 0 0;z-index:1;pointer-events:none}.portrait-frame picture,.portrait-frame img{width:100%;height:100%}.portrait-frame img{object-fit:cover;object-position:center top}.portrait-caption{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,rgba(24,32,29,.82));padding:72px 30px 24px;color:var(--white);display:flex;justify-content:space-between;gap:18px;font-size:.68rem;letter-spacing:.04em}.portrait-caption strong{font-weight:650}.hero-mark{position:absolute;right:-.03em;top:9%;color:rgba(70,102,90,.05);font-family:var(--font-serif);font-size:32vw;line-height:1;pointer-events:none}.hero-bottom{height:58px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.66rem;font-weight:650;letter-spacing:.11em;text-transform:uppercase}.hero-bottom span{display:flex;align-items:center;gap:16px}.hero-bottom span:not(:last-child)::after{content:"";width:3px;height:3px;border-radius:50%;background:var(--champagne)}.section{padding-block:clamp(92px,10vw,148px)}.section-heading{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:70px;margin-bottom:72px}.section-heading h2{margin-top:18px;font-size:clamp(2.7rem,5vw,5.2rem)}.section-heading>p{max-width:410px;color:var(--muted);font-size:.94rem}.services{background:var(--white)}.service-list{border-top:1px solid var(--ink)}.service-item{border-bottom:1px solid var(--line)}.service-trigger{width:100%;min-height:116px;display:grid;grid-template-columns:100px 1fr 50px;align-items:center;text-align:left;color:var(--ink);cursor:pointer}.service-number{color:var(--sage);font-family:var(--font-serif);font-size:1rem}.service-title{font-size:clamp(1.35rem,2.4vw,2.35rem);font-weight:520;letter-spacing:-.025em;transition:color .25s,transform .35s var(--ease)}.service-icon{position:relative;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;justify-self:end;transition:background .3s,border-color .3s}.service-icon::before,.service-icon::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;background:currentColor;transform:translate(-50%,-50%);transition:transform .35s}.service-icon::after{transform:translate(-50%,-50%) rotate(90deg)}.service-trigger:hover .service-title{color:var(--sage);transform:translateX(8px)}.service-item.is-open .service-icon{background:var(--sage);border-color:var(--sage);color:var(--white)}.service-item.is-open .service-icon::after{transform:translate(-50%,-50%) rotate(0)}.service-panel{display:grid;grid-template-rows:1fr;transition:grid-template-rows .45s var(--ease),opacity .35s;opacity:1}.service-panel[hidden]{display:grid;grid-template-rows:0fr;opacity:0}.service-panel-inner{overflow:hidden;display:grid;grid-template-columns:100px 1fr 250px;align-items:start;padding-bottom:38px}.service-panel-inner p{grid-column:2;max-width:700px;color:var(--muted);line-height:1.75}.service-contact{grid-column:3;justify-self:end;display:inline-flex;align-items:center;gap:22px;padding-bottom:4px;border-bottom:1px solid var(--sage);color:var(--sage);font-size:.75rem;font-weight:700}.profile{background:var(--paper)}.profile-intro{display:grid;grid-template-columns:.34fr 1fr;gap:50px}.profile-title-wrap{max-width:940px}.profile-title-wrap h2{font-size:clamp(2.6rem,5.4vw,5.6rem);line-height:1.02}.profile-title-wrap>p{max-width:680px;margin-top:34px;color:var(--muted);font-size:1rem;line-height:1.8}.download-link{margin-top:26px;color:var(--sage);border-color:var(--sage)}.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:92px;border-top:1px solid var(--line)}.expertise-grid article{padding:34px 36px 8px 0}.expertise-grid article+article{padding-left:36px;border-left:1px solid var(--line)}.expertise-grid span{color:var(--champagne);font-family:var(--font-serif);font-size:.78rem}.expertise-grid h3{margin-top:20px;font-size:1.17rem;font-weight:650}.expertise-grid p{margin-top:15px;color:var(--muted);font-size:.84rem;line-height:1.75}.skills-strip{overflow:hidden;border-block:1px solid rgba(255,255,255,.14);background:var(--sage);color:var(--white);padding-block:23px}.skills-track{display:flex;width:max-content;animation:skills-scroll 55s linear infinite}.skills-group{display:flex;align-items:center;gap:26px;padding-right:26px;white-space:nowrap}.skills-group span{font-size:.72rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.skills-group i{width:4px;height:4px;border-radius:50%;background:var(--champagne)}@keyframes skills-scroll{to{transform:translateX(-50%)}}.contact{background:var(--ink);color:var(--white);padding-bottom:110px}.contact-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(70px,9vw,140px)}.contact .section-kicker{color:var(--mint)}.contact-copy h2{margin-top:22px;font-size:clamp(3.8rem,7vw,7.4rem)}.contact-copy h2 span{color:var(--champagne)}.contact-copy>p:not(.section-kicker){max-width:455px;margin-top:34px;color:#b9c0bd;line-height:1.8}.contact-copy>a{display:inline-flex;align-items:center;gap:24px;margin-top:46px;padding-bottom:7px;border-bottom:1px solid var(--mint);color:var(--mint);font-weight:650}.contact-domain{display:block;margin-top:14px;color:#808b87;font-size:.78rem}.contact-form{padding-top:7px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:32px}.field{position:relative;margin-bottom:34px}.field label{display:block;margin-bottom:9px;color:#ccd1cf;font-size:.69rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.field label span{color:var(--mint)}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid #53605b;border-radius:0;background:transparent;color:var(--white);padding:9px 2px 12px;outline:none;transition:border-color .25s,box-shadow .25s}.field textarea{resize:vertical;min-height:108px}.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#a9cdbe 50%),linear-gradient(135deg,#a9cdbe 50%,transparent 50%);background-position:calc(100% - 12px) calc(50% - 2px),calc(100% - 7px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.field option{background:var(--ink);color:var(--white)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--mint);box-shadow:0 1px 0 var(--mint)}.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:#e3a59d}.field-error{display:block;min-height:16px;margin-top:5px;color:#e3a59d;font-size:.68rem}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:5px}.form-footer p{color:#7d8984;font-size:.67rem}.contact-form .button{min-width:190px}.form-status{display:none;margin-top:24px;padding:14px 16px;border-left:2px solid var(--mint);background:rgba(169,205,190,.08);font-size:.84rem}.form-status.is-visible{display:block}.form-status.is-error{border-color:#e3a59d}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.site-footer{background:#111815;color:var(--white);padding-block:50px}.footer-grid{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:60px}.brand-footer{display:inline-block}.brand-footer+p{margin-top:14px;color:#87908c;font-size:.72rem;letter-spacing:.05em}.footer-contact{display:flex;flex-direction:column;gap:3px;font-size:.78rem;color:#bcc2bf}.copyright{color:#737d78;font-size:.68rem;line-height:1.7}.reveal{opacity:0;transform:translateY(16px);transition:opacity .75s var(--ease),transform .75s var(--ease)}.reveal.reveal-delay{transition-delay:.12s}.reveal.is-visible{opacity:1;transform:none}:focus-visible{outline:2px solid var(--champagne);outline-offset:4px}

