/* Local, openly licensed fonts and a clear hierarchy for actions. */
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope.woff') format('woff');font-style:normal;font-weight:400 800;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/fonts/inter-variable.woff') format('woff');font-style:normal;font-weight:100 900;font-display:swap}
:root{--font-display:Manrope,Arial,sans-serif;--font-text:Inter,Arial,sans-serif;--radius-action:10px}
body{font-family:var(--font-text);font-weight:400;font-optical-sizing:auto;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.045em;line-height:1.13;text-wrap:balance}
h1{font-size:clamp(57px,7.4vw,112px);line-height:1.08;max-width:1080px}
h2{font-size:clamp(35px,4.1vw,62px);line-height:1.16}
h3{font-size:26px;letter-spacing:-.035em;line-height:1.22}
.hero h1{font-weight:650;letter-spacing:-.05em;margin-bottom:30px}.hero-intro{font-size:16px;line-height:1.85;max-width:440px}
.subhero h1{font-size:clamp(49px,5.5vw,82px);line-height:1.13;max-width:17ch;margin-bottom:28px;font-weight:600}.subhero p{font-size:16px;line-height:1.85}.subhero-grid{gap:65px;grid-template-columns:1.45fr .9fr}
.article h2{font-family:var(--font-display);font-size:34px;line-height:1.2;letter-spacing:-.035em}.section-head p{font-size:14px;line-height:1.85}.service-link h3{font-weight:550;font-size:clamp(22px,2.4vw,35px);line-height:1.2}.reference-card h3{font-weight:600;font-size:32px;line-height:1.2}.process h3{font-family:var(--font-display);font-weight:600;line-height:1.25;font-size:24px;letter-spacing:-.035em}.contact h2{font-size:clamp(53px,7vw,104px);line-height:1.08;font-weight:600}.aside h3{font-size:27px;line-height:1.22}.kicker,.caption,.number{font-weight:500}
.nav{font-size:12px;font-weight:500;gap:28px}.nav-cta{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--gold);color:var(--black);border:1px solid var(--gold);border-radius:var(--radius-action);padding:12px 18px;min-height:46px;box-shadow:inset 0 1px 0 #ffffff3b;transition:background .2s,transform .2s,box-shadow .2s}.nav-cta svg{height:18px;width:18px;flex-shrink:0}.nav-cta:hover{background:#dec18b;transform:translateY(-2px);box-shadow:0 6px 24px #c9a86a1a}
.pill{font-weight:550;font-size:13px;letter-spacing:-.015em;gap:24px;border-radius:var(--radius-action);padding:10px 10px 10px 22px;min-height:58px;box-shadow:inset 0 1px 0 #ffffff40;position:relative;isolation:isolate;transition:background .25s,transform .25s,box-shadow .25s}.pill .button-label{line-height:1.5;text-align:left}.button-icon{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:7px;background:#15151512;transition:background .25s,transform .25s}.button-icon svg{height:21px;width:21px;display:block}.pill:hover{background:#dfc492;box-shadow:0 10px 26px #c9a86a1c;transform:translateY(-2px)}.pill:hover .button-icon{background:#15151520;transform:translateY(-1px)}.pill.secondary{border-color:#c9a86a70;box-shadow:none;background:transparent}.pill.secondary .button-icon{background:#c9a86a15}.pill.secondary:hover{background:#c9a86a12}
.text-link.action-link{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;border:1px solid #ffffff38;border-radius:var(--radius-action);padding:12px 17px;font-size:12px;font-weight:500;line-height:1.5;text-decoration:none;background:#ffffff03;transition:background .25s,border-color .25s,transform .25s}.action-link>svg{width:18px;height:18px;flex-shrink:0;color:var(--gold);transition:transform .25s}.action-link .button-label{max-width:29ch}.text-link.action-link:hover{background:#c9a86a0d;border-color:#c9a86a80;color:var(--paper);transform:translateY(-2px)}.action-link:hover>svg{transform:scale(1.08)}.light .action-link{border-color:#15151538;background:#15151503}.light .action-link>svg{color:#8a6e35}.light .action-link:hover{background:#15151509;color:var(--black);border-color:#8a6e35}
.actions{gap:14px}.hero .actions .action-link{min-height:58px;padding:16px 22px;gap:22px;backdrop-filter:blur(10px)}
.contact .pill{padding:11px 12px 11px 22px;border-radius:var(--radius-action);box-shadow:none;min-height:60px}.contact .pill .button-icon{background:#c9a86a20;color:var(--gold)}.contact .pill:hover{background:#292820;transform:translateY(-2px)}
.service-link .arrow{width:38px;height:38px;border-radius:9px;border-color:#c9a86a55;background:#c9a86a06;transition:background .25s,color .25s,border-color .25s}.service-link .arrow svg{width:19px;height:19px}.service-link:hover .arrow{background:var(--gold);border-color:var(--gold);color:var(--black)}.principles li:before{content:'•';font-size:16px}.list li:before{content:'—'}
.footer-top{align-items:center;gap:28px;padding-bottom:36px}.footer-links{align-items:center;gap:28px;font-size:12px;font-weight:450}.footer-links>a:not(.footer-contact){padding:12px 0;transition:color .2s}.footer-links>a:not(.footer-contact):hover{color:var(--gold)}.footer-links .footer-contact{display:inline-flex;align-items:center;gap:10px;border:1px solid #c9a86a70;color:var(--gold);padding:10px 16px;min-height:44px;border-radius:8px;transition:background .2s,color .2s}.footer-contact svg{width:17px;height:17px}.footer-contact:hover{background:var(--gold);color:var(--black)}.back-top{display:inline-flex;gap:12px;align-items:center;font-size:11px;color:var(--muted);border:0;padding:0;white-space:nowrap}.back-top-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff30;border-radius:50%;transition:transform .2s,background .2s,color .2s}.back-top-icon svg{width:20px;height:20px}.back-top:hover .back-top-icon{transform:translateY(-3px);background:var(--gold);color:var(--black);border-color:var(--gold)}.back-top:hover{color:var(--paper)}
.aside .pill{gap:14px;padding:9px 9px 9px 17px;font-size:12px}.aside .button-icon{width:31px;height:31px}.aside .button-icon svg{width:18px;height:18px}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.contact button:focus-visible,.light a:focus-visible{outline-color:var(--black)}
@media(max-width:1100px){.footer-top{flex-wrap:wrap;align-items:center}.footer-links{gap:22px}.nav{gap:20px}.subhero-grid{gap:45px}}
@media(max-width:760px){h2{font-size:clamp(32px,8.4vw,43px)}h3{font-size:25px}.hero h1{font-size:clamp(47px,10.5vw,76px);margin-top:45px;line-height:1.13}.hero-intro{font-size:15px;line-height:1.85}.subhero h1{font-size:clamp(40px,10vw,64px);line-height:1.16;max-width:17ch}.subhero-grid{grid-template-columns:1fr;gap:35px}.subhero p{font-size:15px}.nav{font-size:16px;gap:20px}.nav-cta{padding:13px 18px;font-size:13px;min-height:48px}.nav.open{align-items:stretch}.nav a:not(.nav-cta){align-self:flex-start}.service-link h3{font-size:24px}.service-link .arrow{width:32px;height:32px}.service-link .arrow svg{height:17px;width:17px}.pill{font-size:12px;min-height:55px}.hero .actions{align-items:stretch}.hero .actions .pill,.hero .actions .action-link{min-height:55px}.reference-card h3{font-size:29px}.process h3{font-size:22px}.article h2{font-size:29px}.contact h2{font-size:clamp(49px,12vw,72px)}.footer-top{align-items:start;gap:28px}.footer-wordmark{flex-basis:100%}.footer-links{flex-wrap:wrap;gap:10px 22px;max-width:calc(100% - 60px)}.back-top{margin-left:auto}.back-top>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.back-top-icon{width:42px;height:42px}.text-link.action-link{font-size:12px;gap:16px;max-width:100%}.footer-bottom{line-height:1.8}}
@media(max-width:420px){.hero .actions{flex-direction:column;max-width:320px}.pill,.hero .actions .action-link{justify-content:space-between}.text-link.action-link{gap:12px}.footer-links{gap:8px 17px}.footer-links .footer-contact{font-size:11px;padding:9px 13px}.process{gap:25px}}
@media(prefers-reduced-motion:reduce){.pill,.action-link,.nav-cta,.back-top-icon,.button-icon,.action-link>svg{transition:none!important}.pill:hover,.action-link:hover,.nav-cta:hover,.back-top:hover .back-top-icon{transform:none!important}}

/* Contact form: accessible states and invisible spam trap. */
.contact-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;pointer-events:none}.contact form[aria-busy="true"] button[type="submit"]{opacity:.65;cursor:wait}.contact form button:disabled{pointer-events:none}#form-status[data-state="error"]{color:#f3b5a6}#form-status[data-state="success"]{color:#d4c291}.contact .form-note a,.contact .note a,.legal a{text-decoration:underline;text-underline-offset:3px}

.reference-title{font-size:clamp(35px,4.5vw,67px);margin-bottom:30px}@media(max-width:760px){.reference-title{font-size:39px}}
