:root{--ground:#FAF6EF;--white:#FFFFFF;--teal:#143E3B;--ochre:#E0A030;--ink:#2B2724;--body:#3F3934;--muted:#6B6259;--gray:#B9B0A3;--line:#EEE7DA;--sans:'Bricolage Grotesque','Helvetica Neue',Arial,sans-serif;--serif:'Lora',Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.6;font-weight:500;-webkit-font-smoothing:antialiased}
a{color:var(--teal)}a:hover{color:var(--ochre)}
img{max-width:100%;display:block}
h1,h2,h3{margin:0;color:var(--teal);font-weight:700;letter-spacing:-0.02em;text-wrap:pretty}
h1{font-size:clamp(38px,6vw,64px);line-height:1.02;letter-spacing:-0.025em}
h2{font-size:clamp(30px,4.2vw,44px);line-height:1.1}
h3{font-size:22px;letter-spacing:-0.01em;line-height:1.25}
p{margin:0}
.serif{font-family:var(--serif);font-weight:400;color:var(--body)}
.eyebrow{font-size:14px;color:var(--muted);font-weight:500}
.wrap{width:min(1248px,100% - 40px);margin-inline:auto}
@media(min-width:900px){.wrap{width:min(1248px,100% - 96px)}}
.skip{position:absolute;left:-999px;top:8px;background:var(--teal);color:var(--ground);padding:10px 14px;border-radius:8px}
.skip:focus{left:8px;z-index:100}
header{background:var(--white);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--teal);font-weight:700;font-size:19px;letter-spacing:-0.01em}
.nav ul{list-style:none;margin:0;padding:0;display:none;align-items:center;gap:28px;font-size:16px}
.nav ul a{text-decoration:none;color:var(--body)}
.nav ul a:hover{color:var(--teal)}
.nav ul a.btn{color:var(--ground)}.nav ul a.btn:hover{color:var(--ground)}
@media(min-width:900px){.nav ul{display:flex}}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:10px;font-weight:700;font-size:16px;text-decoration:none;border:2px solid var(--teal);background:var(--teal);color:var(--ground)}
.btn:hover{background:#0f302e;color:var(--ground)}
.btn.ghost{background:transparent;color:var(--teal)}
.btn.ghost:hover{background:var(--teal);color:var(--ground)}
.btn.accent{background:var(--ochre);border-color:var(--ochre);color:var(--ink)}
.btn.accent:hover{background:#c98d22;border-color:#c98d22}
section{padding:72px 0}
@media(min-width:900px){section{padding:96px 0}}
.white{background:var(--white)}.gray{background:var(--gray)}.teal{background:var(--teal);color:var(--ground)}
.teal h2,.teal h3{color:var(--ground)}.teal .serif{color:#E9E2D4}.teal .eyebrow{color:#CFC5B3}
.hero{display:grid;gap:40px;align-items:center}
@media(min-width:900px){.hero{grid-template-columns:7fr 5fr;gap:64px}}
.hero .lede{max-width:560px}
.stack{display:flex;flex-direction:column;gap:24px}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.photo{border-radius:14px;object-fit:cover;width:100%;height:auto;aspect-ratio:4/3}
.cap{font-size:14px;color:var(--muted);margin-top:10px}
.head{display:flex;flex-direction:column;gap:16px;max-width:760px;margin-bottom:40px}
.grid3{display:grid;gap:20px}
@media(min-width:760px){.grid3{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--white);border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:12px}
.card .serif{font-size:16px}
.fig{font-size:52px;font-weight:700;line-height:1;letter-spacing:-0.02em;color:var(--teal);font-variant-numeric:tabular-nums}
.fig-src{font-size:13px;color:var(--muted)}
.cols2{display:grid;gap:32px;max-width:1100px;margin-top:40px}
@media(min-width:760px){.cols2{grid-template-columns:1fr 1fr;gap:48px}}
.split{display:grid;gap:24px;align-items:center;margin-top:48px}
@media(min-width:900px){.split{grid-template-columns:5fr 7fr;gap:40px}}
.pull{font-size:28px;font-weight:700;line-height:1.2;letter-spacing:-0.015em;color:var(--ink)}
.services{border-bottom:1px solid var(--line)}
.svc{display:grid;gap:12px;padding:24px 0;border-top:1px solid var(--line)}
@media(min-width:900px){.svc{grid-template-columns:320px 1fr;gap:40px}}
.svc h3{font-size:21px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.svc .serif{font-size:17px}
.tag{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--ochre);color:var(--ink);padding:4px 8px;border-radius:6px}
.steps{position:relative;display:grid;gap:24px;padding-bottom:36px}
@media(min-width:900px){.steps{grid-template-columns:repeat(6,1fr);gap:20px}}
.steps::after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;border-radius:4px;background:var(--teal)}
.step{display:flex;flex-direction:column;gap:8px}
.step .n{font-size:14px;font-weight:700;color:var(--ochre);letter-spacing:.04em}
.step h3{font-size:20px}
.step p{font-size:15px;color:var(--body);font-family:var(--serif);font-weight:400}
.step-long{display:grid;gap:12px;padding:32px 0;border-top:1px solid var(--line)}
@media(min-width:900px){.step-long{grid-template-columns:200px 1fr;gap:40px}}
.step-long .n{font-size:14px;font-weight:700;color:var(--ochre);letter-spacing:.04em}
.baseline{height:8px;border-radius:4px;background:var(--teal);margin-top:8px}
.prose{max-width:760px;font-size:19px}
.prose p+p{margin-top:20px}
.disc{background:var(--white);border-radius:14px;padding:32px;display:grid;gap:24px}
@media(min-width:900px){.disc{grid-template-columns:1fr 1fr;gap:48px;padding:40px}}
.disc .serif{font-size:17px}
form{display:grid;gap:20px;max-width:720px}
label{display:flex;flex-direction:column;gap:8px;font-size:16px;font-weight:700;color:var(--teal)}
input,select,textarea{font:inherit;font-weight:500;font-size:18px;color:var(--ink);background:var(--white);border:2px solid var(--line);border-radius:10px;padding:14px 16px;min-height:52px}
input:focus,select:focus,textarea:focus{outline:3px solid var(--ochre);outline-offset:2px;border-color:var(--teal)}
textarea{min-height:140px;resize:vertical}
.row2{display:grid;gap:20px}
@media(min-width:760px){.row2{grid-template-columns:1fr 1fr}}
.note{font-size:15px;color:var(--muted)}
footer{background:var(--white);border-top:1px solid var(--line);padding:48px 0;font-size:15px;color:var(--muted)}
.fgrid{display:grid;gap:32px}
@media(min-width:900px){.fgrid{grid-template-columns:1fr 2fr}}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
@media(min-width:600px){footer ul{grid-template-columns:1fr 1fr}}
footer a{text-decoration:none;color:var(--body)}
footer a:hover{color:var(--teal)}
.credits{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);font-size:13px;line-height:1.6}
.page-hero{padding:72px 0 48px}
.page-hero h1{font-size:clamp(34px,5vw,54px)}
.page-hero .lede{max-width:720px;margin-top:20px;font-size:19px}

.tablewrap{overflow-x:auto}
table.cmp{width:100%;border-collapse:collapse;background:var(--white);border-radius:14px;overflow:hidden;min-width:640px}
table.cmp th,table.cmp td{padding:18px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);font-size:17px;line-height:1.5}
table.cmp thead th{font-size:15px;color:var(--muted);font-weight:700;background:var(--ground)}
table.cmp thead th:last-child{color:var(--teal)}
table.cmp tbody th{font-family:var(--sans);font-weight:700;color:var(--teal);width:22%}
table.cmp td{font-family:var(--serif);font-weight:400;color:var(--body)}
table.cmp td:last-child{background:#F4F7F0}
table.cmp tr:last-child th,table.cmp tr:last-child td{border-bottom:0}
.notdo{margin-top:48px;padding:32px;border:2px solid var(--teal);border-radius:14px;max-width:900px}
.notdo h3{margin-bottom:16px}
.notdo ul,.card ul{margin:0;padding-left:22px;display:grid;gap:12px;font-size:17px}
.two{display:grid;gap:20px}
@media(min-width:900px){.two{grid-template-columns:1fr 1fr}}
.card h3{margin-bottom:4px}
