@font-face{font-family:'GFS Didot';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/gfsdidot.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/inter-400.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/inter-600.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/inter-700.woff2') format('woff2')}
:root{
  --plaster:#F8F6F1;
  --ink:#14232B;
  --aegean:#0D5EAF;
  --gold:#B98A1E;
  --stone:#8A857A;
  --gold-tx:#8A6410;
  --stone-tx:#6C675C;
  --line:rgba(20,35,43,.14);
  --max:1080px;
}
/* section titles are real headings, styled by their class not the h2 default */
h2.kicker,h2.pull{font-weight:400}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--plaster);color:var(--ink);
  font-family:"Inter",system-ui,sans-serif;
  font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
a{color:var(--aegean);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--aegean);outline-offset:3px}

/* header */
header{position:sticky;top:0;background:rgba(248,246,241,.92);backdrop-filter:blur(8px);z-index:10;border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{font-family:"GFS Didot",serif;font-size:1.35rem;letter-spacing:.02em;color:var(--ink)}
.brand:hover{text-decoration:none}
.nav-right{display:flex;align-items:center;gap:22px;font-size:.9rem}
.lang{color:var(--stone-tx);letter-spacing:.06em}
.lang strong{color:var(--ink);font-weight:600}
.btn{display:inline-block;background:var(--aegean);color:#fff;padding:12px 26px;border-radius:2px;font-weight:600;font-size:.95rem;letter-spacing:.01em;transition:background .2s}
.btn:hover{background:#0a4c8f;text-decoration:none}
.btn.small{padding:8px 18px;font-size:.85rem}

/* hero — dictionary entry */
.hero{padding-top:96px;padding-bottom:88px}
.eyebrow{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--stone-tx);margin-bottom:36px}
.entry-word{font-family:"GFS Didot",serif;font-weight:400;color:var(--aegean);font-size:clamp(3.4rem,9vw,6.5rem);line-height:1.02;letter-spacing:.01em}
.entry-meta{margin-top:14px;font-size:1rem;color:var(--stone-tx)}
.entry-meta .pron{color:var(--gold-tx);letter-spacing:.05em}
.entry-meta .pos{font-style:italic}
.entry-def{margin-top:10px;font-family:"GFS Didot",serif;font-size:clamp(1.25rem,2.6vw,1.7rem);line-height:1.45;max-width:34ch}
.horizon{border:none;border-top:1px solid var(--line);margin:56px 0}
.hero h1{font-size:clamp(1.6rem,3.6vw,2.4rem);line-height:1.25;font-weight:700;letter-spacing:-.01em;max-width:24ch}
.hero .sub{margin-top:18px;max-width:56ch;color:#3a4750;font-size:1.06rem}
.hero .cta-row{margin-top:34px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.cta-note{font-size:.85rem;color:var(--stone-tx)}

/* sections */
section{padding:84px 0;border-top:1px solid var(--line)}
.kicker{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--aegean);margin-bottom:22px}
.two-col{display:grid;grid-template-columns:5fr 6fr;gap:56px;align-items:start}
.pull{font-family:"GFS Didot",serif;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.35}
.two-col p+p{margin-top:16px}

/* services */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:8px}
.card{border-top:2px solid var(--aegean);padding-top:22px}
.card h3{font-family:"GFS Didot",serif;font-weight:400;font-size:1.5rem;margin-bottom:6px}
.card .for{font-size:.85rem;color:var(--gold-tx);margin-bottom:14px}
.card ul{list-style:none}
.card li{padding:7px 0;border-bottom:1px solid var(--line);font-size:.95rem}
.card li:last-child{border-bottom:none}

/* process */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;counter-reset:step}
.step{counter-increment:step}
.step::before{content:counter(step,upper-roman);font-family:"GFS Didot",serif;color:var(--aegean);font-size:1.4rem;display:block;margin-bottom:10px}
.step h3{font-size:1rem;margin-bottom:6px}
.step p{font-size:.92rem;color:#3a4750}
.partner{margin-top:56px;background:#fff;border:1px solid var(--line);padding:34px 38px;display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:start}
.partner .mark{font-family:"GFS Didot",serif;color:var(--gold);font-size:2rem;line-height:1}
.partner h3{font-size:1.05rem;margin-bottom:6px}
.partner p{font-size:.95rem;color:#3a4750;max-width:70ch}

/* about band */
.about{background:var(--ink);color:var(--plaster);border-top:none}
.about .kicker{color:var(--gold)}
.about .pull{color:var(--plaster)}
.about p{color:#c8cdd0}
.about a{color:#8fb6e8}

/* contact */
.contact h2{font-family:"GFS Didot",serif;font-weight:400;font-size:clamp(1.9rem,4vw,2.8rem);margin-bottom:14px}
.contact p{max-width:56ch;color:#3a4750}
.email{display:inline-block;margin-top:26px;font-family:"GFS Didot",serif;font-size:clamp(1.3rem,3vw,1.9rem)}

/* footer */
footer{border-top:1px solid var(--line);padding:34px 0;font-size:.85rem;color:var(--stone-tx);display:block}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* motion */
@media (prefers-reduced-motion:no-preference){
  .rise{opacity:0;transform:translateY(14px);animation:rise .7s ease forwards}
  .rise.d1{animation-delay:.08s}.rise.d2{animation-delay:.18s}.rise.d3{animation-delay:.3s}.rise.d4{animation-delay:.44s}
  @keyframes rise{to{opacity:1;transform:none}}
}

@media (max-width:860px){
  .two-col{grid-template-columns:1fr;gap:28px}
  .cards{grid-template-columns:1fr;gap:30px}
  .steps{grid-template-columns:1fr 1fr;gap:26px}
  .partner{grid-template-columns:1fr;padding:26px}
  .hero{padding-top:56px;padding-bottom:56px}
  .eyebrow{margin-bottom:24px}
  .horizon{margin:36px 0}
  .hero .cta-row{margin-top:26px}
  section{padding:60px 0}
}
@media (max-width:520px){
  .steps{grid-template-columns:1fr}
  .nav-right{gap:14px}
}

/* audit sample */
.audit{background:#fff;border:1px solid var(--line);padding:32px 36px;max-width:780px;box-shadow:0 14px 34px rgba(20,35,43,.05)}
.audit-head{display:flex;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:2px solid var(--ink)}
.audit-head span{color:var(--stone-tx);font-size:.85rem}
.audit-score{text-align:right;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--stone-tx);white-space:nowrap}
.audit-score strong{display:block;font-family:"GFS Didot",serif;font-size:1.7rem;letter-spacing:0;color:#B4432E;text-transform:none}
.finding{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.sev{width:10px;height:10px;border-radius:50%;margin-top:8px}
.sev.crit{background:#B4432E}
.sev.warn{background:var(--gold)}
.finding strong{display:block;font-size:.98rem}
.finding p{font-size:.9rem;color:#3a4750}
.audit-foot{margin-top:20px;font-size:.9rem;color:#3a4750}

@media (max-width:860px){
  .audit{padding:24px 20px}
  .audit-head{flex-direction:column;gap:8px}
  .audit-score{text-align:left}
}

/* hero layout */
.hero-grid{display:grid;grid-template-columns:minmax(0,720px);gap:56px}
@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr;gap:32px}
  }

/* imagery */
.panorama{border-top:1px solid var(--line)}
.panorama img{display:block;width:100%;height:clamp(220px,34vw,440px);object-fit:cover}
img.olive{display:block;width:130px;height:auto;margin-bottom:20px}
