/* Celtica v11 working build — single template stylesheet.
   Tokens follow the v10 design system; proof fonts are substitutes (see report). */
:root{
  --ink:#111310; --ink-2:#1A1D19; --paper:#FFFFFF; --paper-2:#F7F6F3; --rule:#E2E0DA;
  --text:#2E312C; --muted:#55584F;
  --bronze:#8C7A5B; --bronze-text:#7A6A4C; --bronze-on-ink:#B39B72;
  /* Production type = the v10.2 system stacks (Miller Display is desktop-licensed only; no webfonts are served) */
  --font-display:"Iowan Old Style","Charter","Bitstream Charter","Sitka Text","Palatino Linotype",Palatino,"Book Antiqua",ui-serif,serif;
  --font-body:Helvetica,Arial,"Liberation Sans","Helvetica Neue",sans-serif;
  --max:1180px; --gut:clamp(20px,4vw,48px);
}
*{box-sizing:border-box} html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text);font:17px/1.6 var(--font-body)}
a{color:inherit} img{max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px;z-index:10}
/* header */
.hdr{background:var(--ink);color:#f3efe7;border-bottom:1px solid #2a2c27;position:sticky;top:0;z-index:5}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}
.brand{font-family:var(--font-display);letter-spacing:.32em;font-size:20px;text-decoration:none;color:#f3efe7}
.nav{display:flex;gap:22px;align-items:center;font-size:14.5px}
.nav a{text-decoration:none;color:#dcd6cb;padding:6px 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a[aria-current=page]{color:#fff;border-bottom-color:var(--bronze-on-ink)}
.nav a.btn-nav{border:1px solid var(--bronze-on-ink);padding:8px 16px;color:#fff}
.menu-btn{display:none;background:none;border:1px solid #555;color:#eee;padding:8px 14px;font:inherit;font-size:14px}
@media (max-width:1020px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--ink);flex-direction:column;align-items:stretch;padding:8px var(--gut) 20px;gap:0}
  .nav.open{display:flex}
  .nav a{padding:14px 0;border-bottom:1px solid #2a2c27;font-size:16px}
  .nav a.btn-nav{margin-top:14px;text-align:center}
}
/* type */
.eyebrow{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze-text);margin:0 0 14px}
.ink .eyebrow{color:var(--bronze-on-ink)}
h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.15;margin:0 0 .5em;color:inherit}
h1{font-size:clamp(34px,5vw,58px)} h2{font-size:clamp(26px,3.2vw,38px)} h3{font-size:21px}
.lead{font-size:clamp(18px,1.6vw,21px);color:var(--muted);max-width:760px}
.ink .lead{color:#cfc9bd}
p{margin:0 0 1em;max-width:760px}
/* sections */
section{padding:clamp(56px,8vw,96px) 0;border-bottom:1px solid var(--rule)}
section.tight{padding:36px 0}
.ink{background:var(--ink);color:#efeae1;border-bottom-color:#2a2c27}
.alt{background:var(--paper-2)}
.hero{padding:clamp(72px,11vw,140px) 0 clamp(56px,8vw,96px)}
.crumbs{font-size:13px;color:var(--muted);padding-top:22px}.crumbs a{color:var(--muted)}
/* buttons */
.ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.btn{display:inline-block;padding:14px 22px;text-decoration:none;font-size:15px;border:1px solid var(--ink);background:var(--ink);color:#fff}
.btn.sec{background:transparent;color:var(--ink)}
.ink .btn{background:var(--bronze-on-ink);border-color:var(--bronze-on-ink);color:var(--ink)}
.ink .btn.sec{background:transparent;color:#f3efe7;border-color:#8a857a}
.tlink{font-size:15px;color:var(--bronze-text);text-decoration:none;border-bottom:1px solid var(--bronze)}
.ink .tlink{color:var(--bronze-on-ink)}
/* strip */
.strip{display:flex;flex-wrap:wrap;gap:10px 28px;font-size:14px;color:var(--muted)}
.strip span::before{content:"";display:inline-block;width:6px;height:6px;background:var(--bronze);margin-right:10px;vertical-align:middle}
/* grids */
.grid{display:grid;gap:28px}
.g2{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(3,1fr)} .g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{border-top:1px solid var(--bronze);padding-top:18px}
.card p{font-size:15.5px;color:var(--muted)} .ink .card p{color:#c9c3b7}
.card a.tlink{font-size:14px}
.split{display:grid;grid-template-columns:5fr 7fr;gap:clamp(28px,5vw,72px);align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr}}
/* premium panel */
.premium{background:#0c0d0b;color:#efeae1;position:relative;overflow:hidden}
.premium .panel{border:1px solid #3a372f;padding:clamp(28px,5vw,56px)}
.premium .img{aspect-ratio:4/5;background:linear-gradient(160deg,#2a241a 0%,#15130f 55%,#0c0d0b 100%);border:1px solid #3a372f;display:flex;align-items:flex-end;padding:18px;font-size:12px;color:#8a8171;letter-spacing:.08em}
/* process */
ol.process{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(6,1fr);gap:20px;counter-reset:s}
ol.process li{counter-increment:s;border-top:1px solid var(--bronze);padding-top:14px;font-size:15px;color:var(--muted)}
ol.process li::before{content:"0" counter(s);display:block;font-family:var(--font-display);font-size:26px;color:var(--bronze-text);margin-bottom:6px}
ol.process b{display:block;color:var(--text);font-weight:600;margin-bottom:4px}
@media (max-width:980px){ol.process{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){ol.process{grid-template-columns:1fr}}
ul.clean{list-style:none;padding:0;margin:0}
ul.clean li{padding:10px 0;border-bottom:1px solid var(--rule);font-size:16px}
.note{font-size:14px;color:var(--muted);border-left:2px solid var(--bronze);padding-left:14px;max-width:760px}
.fig{font-family:var(--font-display);font-size:clamp(28px,3.6vw,44px);line-height:1.2;max-width:900px}
/* forms */
form.enq{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;max-width:820px}
form.enq .full{grid-column:1/-1}
@media (max-width:620px){form.enq{grid-template-columns:1fr}}
label{display:block;font-size:13.5px;margin-bottom:6px;color:var(--text)}
input,select,textarea{width:100%;padding:12px 12px;border:1px solid #8A877F;background:#fff;font:inherit;font-size:16px;color:var(--text)}
textarea{min-height:130px}
.hp{display:none}
.formnote{font-size:13px;color:var(--muted)}
/* footer */
.ftr{background:var(--ink);color:#cfc9bd;font-size:14.5px;padding:64px 0 36px}
.ftr .cols{display:grid;grid-template-columns:2fr 1.2fr 1.2fr 1.4fr;gap:36px}
@media (max-width:860px){.ftr .cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.ftr .cols{grid-template-columns:1fr}}
.ftr .lbl{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze-on-ink);margin:0 0 12px}
.ftr a{text-decoration:none;color:#e4dfd5}.ftr a:hover{text-decoration:underline}
.ftr ul{list-style:none;margin:0;padding:0}.ftr li{padding:4px 0}
.ftr .legal{border-top:1px solid #2a2c27;margin-top:44px;padding-top:22px;font-size:12.5px;color:#9d978b}
.ftr .legal p{max-width:none}
/* proof-review fixes */
.premium .lead,.premium p{color:#d2ccc0}
.crumbbar{background:var(--ink);color:#a9a397}
.crumbbar .crumbs{color:#a9a397;padding:14px var(--gut) 0}.crumbbar .crumbs a{color:#cfc9bd}
.crumbbar + main > section.hero:first-child{padding-top:clamp(48px,8vw,110px)}
@media (max-width:860px){.premium .img{aspect-ratio:16/9}}
.split.rev{grid-template-columns:7fr 5fr}@media (max-width:860px){.split.rev{grid-template-columns:1fr}}
.premium{background:var(--ink)}
/* v11.1 */
.subhead{font-family:var(--font-display);font-size:clamp(22px,2.6vw,30px);line-height:1.25;color:var(--bronze-on-ink);margin:-4px 0 22px}
.pimg{margin:0;border:1px solid #3a372f}.pimg img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
@media (max-width:860px){.pimg img{aspect-ratio:16/9}}
.premium .wrap:not(.split) .panel{max-width:860px}
.draftflag{display:inline-block;font:600 11px/1.4 var(--font-body);letter-spacing:.06em;text-transform:uppercase;background:#7a1f1f;color:#fff;padding:3px 8px;margin:0 0 10px}
.nav a:focus-visible,.menu-btn:focus-visible,.btn:focus-visible,.tlink:focus-visible{outline:2px solid var(--bronze-on-ink);outline-offset:3px}
