:root{
  --sea:#2f5d73;--sea-deep:#1f4152;--sea-mist:#e6eef1;
  --sage:#9db89a;--sage-soft:#eef3ec;--sage-deep:#4f6b4c;
  --wheat:#e8c77a;--wheat-soft:#faf3e1;--wheat-deep:#8a6a1f;
  --ink:#21302f;--ink-soft:#4b5a58;--paper:#fbfaf6;--card:#ffffff;
  --r-lg:28px;--r-md:20px;--shadow:0 10px 30px -14px rgba(31,65,82,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 Figtree,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--sea)}a:hover{color:var(--sea-deep)}
h1,h2,h3{line-height:1.2;font-weight:800;letter-spacing:-.01em;color:var(--sea-deep)}
h1{font-size:clamp(2rem,5vw,3.3rem);margin:.2em 0 .35em}
h2{font-size:clamp(1.45rem,3vw,2rem);margin:1.6em 0 .5em}
h3{font-size:1.15rem;margin:1.2em 0 .4em}
.wrap{width:min(1180px,100% - 32px);margin-inline:auto}
.skip{position:absolute;left:-999px;top:8px;background:var(--wheat);padding:8px 14px;border-radius:10px;z-index:99}.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--wheat-deep);outline-offset:3px;border-radius:6px}

.topbar{position:sticky;top:0;z-index:20;background:rgba(251,250,246,.92);backdrop-filter:blur(10px);border-bottom:1px solid #e3e8e2}
.topbar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.mark{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--sea-deep);font-weight:700;font-size:1.15rem}
.mark svg{width:40px;height:40px}.mark b{color:var(--sage-deep)}
.sitenav{display:flex;align-items:center;gap:6px}
.sitenav a{text-decoration:none;color:var(--ink);font-weight:600;padding:8px 14px;border-radius:999px}
.sitenav a:hover,.sitenav a[aria-current]{background:var(--sage-soft);color:var(--sea-deep)}
.sitenav .pill{background:var(--sea);color:#fff;margin-left:6px}.sitenav .pill:hover{background:var(--sea-deep);color:#fff}
.menu-btn{display:none;font:inherit;font-weight:700;border:2px solid var(--sea);color:var(--sea);background:none;border-radius:999px;padding:6px 16px}
@media (max-width:900px){
  .menu-btn{display:block}
  .sitenav{display:none;position:absolute;left:0;right:0;top:72px;flex-direction:column;align-items:stretch;background:var(--paper);padding:12px 16px 20px;border-bottom:1px solid #e3e8e2}
  .sitenav.open{display:flex}.sitenav .pill{margin:6px 0 0;text-align:center}
}

.btn{display:inline-block;text-decoration:none;font-weight:700;padding:14px 26px;border-radius:999px;transition:transform .15s,box-shadow .15s;border:0;font-family:inherit;font-size:1rem;cursor:pointer}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-wheat{background:var(--wheat);color:#3a2c08}.btn-wheat:hover{color:#3a2c08}
.btn-sea{background:var(--sea);color:#fff}.btn-sea:hover{color:#fff}
.btn-ghost{color:var(--sea-deep);border:2px solid var(--sea-deep);background:rgba(255,255,255,.5)}
.btn-light{background:#fff;color:var(--sea-deep)}
.btn:disabled{opacity:.6}

.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:700;color:var(--sage-deep);margin:0}
.eyebrow.light{color:var(--wheat)}
.lede{font-size:1.2rem;color:var(--ink-soft);max-width:60ch}
.meta{color:var(--ink-soft);font-size:.92rem}

.hero{position:relative;overflow:hidden;padding:56px 0 72px}
.hero-sky{position:absolute;inset:0;background:linear-gradient(180deg,#cfe0e7 0%,#e8efe6 55%,var(--wheat-soft) 100%)}
.hero-sky::after{content:"";position:absolute;left:-10%;right:-10%;bottom:-60px;height:180px;background:var(--sage);border-radius:50% 50% 0 0/100% 100% 0 0;opacity:.35}
.hero-in{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
.hero-photo{margin:0}.hero-photo img{border-radius:var(--r-lg) var(--r-lg) var(--r-lg) 90px;box-shadow:var(--shadow);aspect-ratio:4/3;object-fit:cover}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
@media (max-width:860px){.hero-in{grid-template-columns:1fr;gap:28px}.hero{padding:32px 0 56px}}

.sky-head{background:linear-gradient(180deg,#d6e4ea,var(--paper));padding:40px 0 28px}
.trail ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0;font-size:.9rem;color:var(--ink-soft)}
.trail li+li::before{content:"›";margin-right:6px}

.intro-split{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;padding:64px 0}
.intro-split h2{margin-top:.3em}
@media (max-width:860px){.intro-split{grid-template-columns:1fr;padding:40px 0}}
.soft-photo{margin:0}.soft-photo img{border-radius:var(--r-lg);box-shadow:var(--shadow);aspect-ratio:3/2;object-fit:cover;width:100%}

.band-sage{background:var(--sage-soft);padding:64px 0;border-radius:48px 48px 0 0}
.band-sage h2{margin-top:.3em}
.section-lede{max-width:62ch;color:var(--ink-soft)}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;margin-top:28px}
.card-grid.three{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.tile{display:flex;flex-direction:column;background:var(--card);border-radius:var(--r-md);padding:26px;text-decoration:none;color:var(--ink);box-shadow:0 2px 0 #e4ebe2;transition:transform .2s,box-shadow .2s}
.tile:hover{transform:translateY(-4px);box-shadow:var(--shadow);color:var(--ink)}
.tile h2,.tile h3{margin:.6em 0 .3em;font-size:1.2rem}
.tile p{margin:0 0 14px;color:var(--ink-soft);font-size:.98rem}
.tile-go{margin-top:auto;font-weight:700;color:var(--sea)}
.tile-go::after{content:" →"}
.glyph{width:44px;height:44px;padding:9px;border-radius:14px;background:var(--wheat-soft);color:var(--wheat-deep)}

.prose-wide{padding:56px 0;max-width:860px}
.sector-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.mini-card{background:var(--wheat-soft);border-radius:var(--r-md);padding:20px 22px}
.mini-card h3{margin-top:0}.mini-card p{margin:0;font-size:.97rem}
@media (min-width:1000px){.prose-wide .sector-row{margin-right:-300px}}

.photo-band{position:relative;margin:24px 0}
.band-img{width:100%;height:clamp(280px,42vw,480px);object-fit:cover}
.band-quote{position:absolute;left:50%;bottom:-36px;transform:translateX(-50%);width:min(760px,100% - 32px);background:var(--card);border-radius:var(--r-lg);padding:26px 32px;box-shadow:var(--shadow)}
.band-quote p{margin:0;font-size:clamp(1.05rem,2.2vw,1.35rem);font-weight:600;color:var(--sea-deep)}
.photo-band+.prose-wide{padding-top:80px}

.steps{list-style:none;padding:0;display:grid;gap:14px}
.steps li{display:flex;gap:18px;background:var(--card);border-radius:var(--r-md);padding:20px 22px;box-shadow:0 2px 0 #e4ebe2}
.steps span{flex:none;width:42px;height:42px;border-radius:50%;background:var(--sage);color:#fff;font-weight:800;display:grid;place-items:center}
.steps h3{margin:.2em 0}.steps p{margin:0}

.band-sea{background:var(--sea-deep);color:#e9f1f3;padding:64px 0;border-radius:48px}
.band-sea h2{color:#fff;margin-top:.3em}
.photo-card{background:var(--card);border-radius:var(--r-md);overflow:hidden;color:var(--ink);text-decoration:none;display:flex;flex-direction:column;box-shadow:0 2px 0 #e4ebe2}
.photo-card img{aspect-ratio:3/2;object-fit:cover;width:100%}
.photo-card>div{padding:20px 22px 24px}
.photo-card h2,.photo-card h3{margin:.2em 0 .4em;font-size:1.15rem}
.photo-card p{margin:0;font-size:.97rem;color:var(--ink-soft)}
.linky{transition:transform .2s}.linky:hover{transform:translateY(-4px);color:var(--ink)}
.center{text-align:center;margin-top:32px}

.faq{padding:56px 0;max-width:860px}
.faq details{background:var(--card);border-radius:var(--r-md);padding:4px 22px;margin-bottom:12px;box-shadow:0 2px 0 #e4ebe2}
.faq summary{cursor:pointer;font-weight:700;padding:16px 0;color:var(--sea-deep)}
.faq details p{margin-top:0}

.cta-card{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:linear-gradient(120deg,var(--sage) 0%,#b9cdb3 100%);border-radius:var(--r-lg);padding:36px 40px;margin:48px 0 72px}
.cta-card h2{margin:0 0 .3em;color:#1c2f22}.cta-card p{margin:0;max-width:56ch;color:#1c2f22}

.two-col{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;padding:32px 0 16px;align-items:start}
@media (max-width:900px){.two-col{grid-template-columns:1fr}}
.prose{max-width:72ch}.prose.narrow,.narrow{max-width:72ch;padding:24px 0}
.prose li{margin-bottom:.4em}
.side{display:grid;gap:20px;position:sticky;top:96px}
@media (max-width:900px){.side{position:static}}
.side-card{background:var(--sage-soft);border-radius:var(--r-md);padding:22px 24px}
.side-card.wheat{background:var(--wheat-soft)}
.side-card h2{font-size:1.15rem;margin:0 0 .5em}
.side-card ul,.side-card ol{margin:0;padding-left:1.2em}

.work-list{display:grid;gap:28px;padding:32px 0}
.work-card{display:grid;grid-template-columns:380px 1fr;background:var(--card);border-radius:var(--r-lg);overflow:hidden;box-shadow:0 2px 0 #e4ebe2}
.work-card img{height:100%;object-fit:cover}
.work-text{padding:28px 32px}.work-text h2{margin-top:0}.work-text h3{color:var(--sage-deep);font-size:1rem;text-transform:uppercase;letter-spacing:.08em}
@media (max-width:800px){.work-card{grid-template-columns:1fr}.work-card img{aspect-ratio:3/2}}

.article{padding:24px 0}.article .prose{margin:32px auto 0}
.soft-photo.wide img{aspect-ratio:21/9}
.more-posts{max-width:72ch;margin:40px auto 0;background:var(--sage-soft);border-radius:var(--r-md);padding:22px 26px}
.more-posts h2{margin-top:0;font-size:1.2rem}

.form-card{background:var(--card);border-radius:var(--r-lg);padding:32px;box-shadow:var(--shadow);display:grid;gap:18px}
.field label{display:block;font-weight:700;margin-bottom:6px;color:var(--sea-deep)}
.field input,.field textarea{width:100%;font:inherit;padding:12px 16px;border:2px solid #cfdacd;border-radius:14px;background:var(--paper);color:var(--ink)}
.field input:focus,.field textarea:focus{border-color:var(--sea);outline:none}
.opt{font-weight:400;color:var(--ink-soft)}
.hp{position:absolute;left:-9999px}
.form-note{margin:0;font-weight:600;color:var(--sage-deep)}.form-note.bad{color:#9b2c2c}

.foot{background:#1a3442;color:#d4e0e3;padding:56px 0 24px;margin-top:24px;border-radius:48px 48px 0 0}
.foot a{color:#f1dca6}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}
.foot ul{list-style:none;padding:0;margin:0}.foot li{margin:6px 0}
.foot-brand{font-size:1.3rem;font-weight:800;color:#fff;margin-top:0}
.foot-h{font-weight:700;color:#fff;margin-top:0}
.foot-small{border-top:1px solid #2c4b5a;padding-top:20px;margin-top:36px;font-size:.9rem}
.toc{background:var(--card);border-radius:var(--r-md);padding:18px 22px;box-shadow:0 2px 0 #e4ebe2;font-size:.95rem}
.prose>.toc{margin-bottom:24px}
.toc p{margin:0 0 6px;font-weight:800;color:var(--sea-deep)}.toc ol{margin:0;padding-left:1.2em}.toc li{margin:4px 0}
.prose table{width:100%;border-collapse:separate;border-spacing:0;margin:20px 0;font-size:.95rem;background:var(--card);border-radius:var(--r-md);overflow:hidden;box-shadow:0 2px 0 #e4ebe2}
.prose th,.prose td{text-align:left;padding:12px 14px;vertical-align:top;border-bottom:1px solid #e8ede6}
.prose th{background:var(--sage-soft);color:var(--sea-deep)}
.prose tr:last-child td{border-bottom:0}
.table-scroll{overflow-x:auto}
.callout{background:var(--wheat-soft);border-left:6px solid var(--wheat);border-radius:0 var(--r-md) var(--r-md) 0;padding:16px 20px;margin:22px 0}
.callout p{margin:0}
.inline-faq{padding:24px 0 0;max-width:none}
.prose figure{margin:28px 0}
/* Round 2: long-form structure */
.toc{background:var(--card,#fff);border-radius:18px;padding:18px 22px;margin:0 0 24px;box-shadow:0 1px 0 rgba(0,0,0,.04)}
.toc p{font-weight:700;margin:0 0 8px}.toc ol{margin:0;padding-left:20px;font-size:.95rem}.toc li{margin:4px 0}
.table-scroll{overflow-x:auto;margin:20px 0;border-radius:16px;border:1px solid rgba(47,93,115,.18)}
.prose table{border-collapse:collapse;width:100%;font-size:.95rem;background:#fff}
.prose th{background:#2f5d73;color:#fff;text-align:left;padding:10px 14px;font-weight:600}
.prose td{padding:10px 14px;border-top:1px solid rgba(47,93,115,.14);vertical-align:top}
.prose tbody tr:nth-child(even) td{background:rgba(157,184,154,.12)}
.callout{background:rgba(232,199,122,.25);border-left:5px solid #e8c77a;border-radius:14px;padding:14px 18px;margin:24px 0}
.callout p{margin:0}
.inline-faq{margin-top:32px}
@media (max-width:600px){.prose table{font-size:.9rem}.prose th,.prose td{padding:8px 10px}}
