:root{color-scheme:light;--paper:#f3f3ec;--ink:#183f36;--muted:#54675f;--line:#cbd1c6;--accent:#d1e9a0;--gutter:clamp(24px,5.2vw,88px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
::selection{background:var(--accent);color:var(--ink)}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid currentColor;outline-offset:7px}
.skip{position:absolute;top:12px;left:24px;padding:12px;background:var(--ink);color:white;transform:translateY(-160%);z-index:4}
.skip:focus{transform:translateY(0)}
.shell{width:min(100%,1600px);margin-inline:auto;padding-inline:var(--gutter)}
.header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:34px;border-bottom:1px solid var(--line)}
.wordmark{display:inline-flex;align-items:center;gap:11px;font-size:25px;font-weight:600;letter-spacing:-1.2px;white-space:nowrap}
.brand-mark{width:28px;height:28px;flex:none}
nav{display:flex;gap:36px;font-size:14px}
nav a{padding-block:8px;border-bottom:1px solid transparent}
nav a:hover{border-color:var(--ink)}
.eyebrow{font-size:12px;letter-spacing:.13em;text-transform:uppercase;line-height:1.6;font-weight:500;margin:0}
.hero{padding-top:66px;position:relative}
.hero-top{display:flex;align-items:center;gap:12px}
.hero-top:before{content:"";height:7px;width:7px;background:var(--ink);display:block}
.hero-body{position:relative;padding:51px 0 63px}
h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(64px,8.3vw,128px);line-height:1.035;letter-spacing:-.062em;margin:0;position:relative;z-index:1}
h1 span{display:block}
h1 em{font-weight:400}
.hero-copy{margin:34px 0 0;max-width:335px;color:var(--muted);font-size:17px;line-height:1.65}
.geometry{position:absolute;right:0;bottom:58px;width:clamp(200px,29vw,440px);height:auto;color:var(--ink);opacity:.82;pointer-events:none}
.hero-bottom{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px 0;border-top:1px solid var(--line);font-size:14px}
.text-link{display:inline-flex;align-items:center;gap:28px;line-height:1.6}
.text-link .arrow{display:inline-block;transition:transform .2s;font-size:21px;line-height:1}
.text-link:hover .arrow{transform:translate(3px,-3px)}
.hero-bottom .eyebrow{color:var(--muted)}
.approach{background:var(--ink);color:var(--paper);margin-top:54px}
.approach-inner{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding-block:75px 80px}
.approach .eyebrow{color:var(--accent);padding-top:10px}
.approach h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,3.55vw,53px);font-weight:400;line-height:1.2;letter-spacing:-.035em;max-width:820px;margin:0}
.approach p:not(.eyebrow){font-size:16px;line-height:1.8;color:#bccdc4;max-width:525px;margin:26px 0 0}
.expertise{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding-block:80px 90px}
.expertise>.eyebrow{padding-top:24px}
.services{border-top:1px solid var(--line)}
.service{padding:25px 0 27px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:35px 1fr;column-gap:18px}
.number{font-size:12px;color:var(--muted);padding-top:7px}
.service h3{font-size:25px;letter-spacing:-.6px;line-height:1.3;font-weight:400;margin:0 0 9px}
.service p{color:var(--muted);font-size:15px;line-height:1.7;margin:0;max-width:540px}
footer{border-top:1px solid var(--line)}
.contact{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding-block:42px 55px}
.contact h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(34px,4vw,55px);letter-spacing:-.035em;line-height:1.15;margin:18px 0 0}
.contact .text-link{border-bottom:1px solid var(--ink);padding-bottom:9px;font-size:16px;overflow-wrap:anywhere}
.footer-meta{display:flex;justify-content:space-between;gap:24px;padding-block:20px 28px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);line-height:1.7}
@media(min-width:1600px){.hero-body{padding-bottom:85px}}
@media(max-width:1050px){.geometry{width:230px;bottom:70px;opacity:.6}.hero-body{padding-block:42px 56px}h1{font-size:clamp(64px,9.6vw,100px)}.approach-inner,.expertise{grid-template-columns:1fr 2.3fr;gap:28px}}
@media(max-width:700px){.header{padding-block:25px}.wordmark{font-size:23px}nav{gap:20px}nav a:first-child{display:none}.hero{padding-top:44px}.hero-body{padding:35px 0 40px}h1{font-size:clamp(53px,10.8vw,76px);letter-spacing:-.055em}.hero-copy{font-size:16px;max-width:270px;margin-top:28px}.geometry{display:none}.hero-bottom{padding-block:20px}.hero-bottom .eyebrow{font-size:11px;max-width:110px;text-align:right}.approach{margin-top:28px}.approach-inner{display:block;padding-block:45px 48px}.approach .eyebrow{padding:0;margin-bottom:26px}.approach p:not(.eyebrow){margin-top:20px}.expertise{display:block;padding-block:44px 50px}.expertise>.eyebrow{padding:0;margin-bottom:25px}.service h3{font-size:23px}.service{grid-template-columns:26px 1fr;gap:12px;padding-block:22px}.contact{display:block;padding-block:34px 40px}.contact .text-link{margin-top:30px}.footer-meta{font-size:12px;gap:18px}.footer-meta span:last-child{text-align:right}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.text-link .arrow{transition:none}}
/* Interior pages */
.page-head{padding-block:64px 0}
.page-head .eyebrow{color:var(--muted)}
.page-title{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(44px,6vw,86px);line-height:1.06;letter-spacing:-.05em;margin:18px 0 0}
.page-lead{margin:30px 0 0;max-width:620px;color:var(--muted);font-size:18px;line-height:1.7}
.page-head .rule{margin-top:52px;border-top:1px solid var(--line)}
.prose{padding-block:58px 20px;display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:start}
.prose>.eyebrow{padding-top:7px;color:var(--muted)}
.prose-body{max-width:680px}
.prose-body h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(27px,3vw,40px);line-height:1.22;letter-spacing:-.03em;margin:0 0 20px}
.prose-body h3{font-size:19px;font-weight:600;letter-spacing:-.2px;margin:34px 0 9px}
.prose-body p{margin:0 0 18px;font-size:16px;line-height:1.8;color:var(--muted)}
.prose-body p strong{color:var(--ink);font-weight:600}
.prose-body ul{margin:0 0 18px;padding-left:19px;color:var(--muted);font-size:16px;line-height:1.8}
.prose-body li{margin-bottom:7px}
.prose-body a:not(.text-link){border-bottom:1px solid var(--line)}
.prose-body a:not(.text-link):hover{border-color:var(--ink)}
.steps{border-top:1px solid var(--line);margin-top:6px}
.step{padding:24px 0 26px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:35px 1fr;column-gap:18px}
.step h3{font-size:22px;letter-spacing:-.4px;line-height:1.3;font-weight:400;margin:0 0 8px}
.step p{color:var(--muted);font-size:15px;line-height:1.7;margin:0;max-width:560px}
.facts{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.facts li{display:grid;grid-template-columns:170px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.7}
.facts span:first-child{color:var(--muted)}
.page-cta{border-top:1px solid var(--line);margin-top:34px}
.notfound{padding-block:96px 110px;text-align:center}
.notfound h1{font-size:clamp(64px,11vw,132px)}
.notfound p{color:var(--muted);font-size:17px;line-height:1.7;margin:26px auto 34px;max-width:420px}
.footer-nav{display:flex;gap:26px;flex-wrap:wrap}
.footer-nav a{border-bottom:1px solid transparent}
.footer-nav a:hover{border-color:var(--muted)}
nav a[aria-current="page"]{border-color:var(--ink)}
@media(max-width:1050px){.prose{grid-template-columns:1fr 2.3fr;gap:28px}}
@media(max-width:700px){
.page-head{padding-block:40px 0}.page-lead{font-size:16px;margin-top:24px}.page-head .rule{margin-top:36px}
.prose{display:block;padding-block:38px 8px}.prose>.eyebrow{padding:0;margin-bottom:22px}
.step{grid-template-columns:26px 1fr;gap:12px;padding-block:20px}.step h3{font-size:20px}
.facts li{grid-template-columns:1fr;gap:3px;padding:14px 0}
.notfound{padding-block:64px 72px}.footer-meta{flex-direction:column}.footer-meta span:last-child{text-align:left}
}
.link-row{margin:26px 0 0}
.link-row-tight{margin:22px 0 0}
.on-dark{color:var(--accent)}
.facts-spaced{margin-top:34px}
.note{margin-top:26px}

/* Cookie notice */
.consent{position:fixed;left:0;right:0;bottom:0;z-index:5;background:var(--ink);color:var(--paper);border-top:1px solid rgba(243,243,236,.18)}
.consent[hidden]{display:none}
.consent-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:20px 22px}
.consent-text{margin:0;font-size:14px;line-height:1.65;color:#c5d4cb;max-width:640px}
.consent-text a{color:var(--paper);border-bottom:1px solid rgba(243,243,236,.4)}
.consent-text a:hover{border-color:var(--paper)}
.consent-actions{display:flex;gap:10px;flex:none}
.consent-btn{font:inherit;font-size:13px;line-height:1;letter-spacing:.01em;padding:12px 18px;border:1px solid rgba(243,243,236,.35);background:none;color:var(--paper);cursor:pointer;white-space:nowrap}
.consent-btn:hover{border-color:var(--paper)}
.consent-btn-primary{background:var(--accent);border-color:var(--accent);color:var(--ink);font-weight:600}
.consent-btn-primary:hover{background:#e0f3b8;border-color:#e0f3b8}
.consent-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.footer-nav button{font:inherit;font-size:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;border-bottom:1px solid transparent}
.footer-nav button:hover{border-color:var(--muted)}
@media(max-width:820px){
.consent-inner{display:block;padding-block:18px 20px}
.consent-actions{margin-top:16px}
.consent-btn{flex:1;padding:12px 10px;text-align:center}
}
