/* ==========================================================================
   Datacogence — design system
   Palette derived from the logo: #024B64 (teal) / #F16022 (ember)
   ========================================================================== */

:root{
  --ink:#04222D;
  --ink-2:#062F3E;
  --teal:#024B64;
  --teal-lift:#0A6B8A;
  --teal-glow:#31A7C9;
  --ember:#F16022;
  --ember-soft:#FF8A4C;
  --mist:#EDF1F3;
  --mist-2:#E1E8EB;
  --slate:#5B7078;
  --slate-2:#8397A0;
  --white:#FFFFFF;

  --line-dark:rgba(237,241,243,.14);
  --line-light:rgba(4,34,45,.14);

  --f-display:'Quicksand',ui-rounded,'Segoe UI',system-ui,sans-serif;
  --f-body:'IBM Plex Sans',system-ui,-apple-system,sans-serif;
  --f-mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',monospace;

  --shell:1280px;
  --gut:clamp(20px,4vw,64px);
  --sect:clamp(72px,9vw,140px);

  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  background:var(--mist);
  color:var(--ink);
  font-family:var(--f-body);
  font-size:17px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img,svg{max-width:100%;display:block}
a{color:inherit}

::selection{background:var(--ember);color:#fff}

:focus-visible{
  outline:2px solid var(--ember);
  outline-offset:3px;
  border-radius:2px;
}

/* ---------- type ---------- */

h1,h2,h3,h4{
  font-family:var(--f-display);
  font-weight:700;
  letter-spacing:-.022em;
  line-height:1.06;
  margin:0;
  text-wrap:balance;
}
h1{font-size:clamp(2.6rem,6.4vw,5.1rem)}
h2{font-size:clamp(2rem,4.2vw,3.4rem)}
h3{font-size:clamp(1.25rem,2vw,1.68rem);line-height:1.16;letter-spacing:-.015em}
h4{font-size:1.02rem;font-weight:600;letter-spacing:-.005em;line-height:1.3}
p{margin:0 0 1.1em}
p:last-child{margin-bottom:0}

.lede{
  font-size:clamp(1.08rem,1.7vw,1.32rem);
  line-height:1.58;
  color:var(--slate);
  max-width:64ch;
}
.dark .lede{color:rgba(237,241,243,.72)}

/* mono eyebrow — the site's utility voice */
.eyebrow{
  font-family:var(--f-mono);
  font-size:.7rem;
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--teal-lift);
  display:flex;
  align-items:center;
  gap:.7rem;
  margin:0 0 1.5rem;
}
.eyebrow::before{
  content:"";
  width:26px;height:2px;
  background:var(--ember);
  flex:none;
}
.dark .eyebrow{color:var(--teal-glow)}

/* ---------- shell ---------- */

.shell{
  width:100%;
  max-width:var(--shell);
  margin-inline:auto;
  padding-inline:var(--gut);
}
.section{padding-block:var(--sect)}
.section--tight{padding-block:clamp(52px,6vw,88px)}

.dark{background:var(--ink);color:var(--mist)}
.dark h1,.dark h2,.dark h3,.dark h4{color:var(--mist)}
.teal-bg{background:var(--teal);color:var(--mist)}

.rule{height:1px;background:var(--line-light);border:0;margin:0}
.dark .rule{background:var(--line-dark)}

/* ---------- buttons ---------- */

.btn{
  --bg:var(--ember);
  --fg:#fff;
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  padding:.92rem 1.6rem;
  background:var(--bg);
  color:var(--fg);
  font-family:var(--f-body);
  font-size:.93rem;
  font-weight:600;
  letter-spacing:.005em;
  text-decoration:none;
  border:1px solid var(--bg);
  border-radius:2px;
  cursor:pointer;
  overflow:hidden;
  transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out);
}
.btn span{position:relative;z-index:2}
.btn svg{position:relative;z-index:2;transition:transform .4s var(--ease-out)}
.btn::after{
  content:"";
  position:absolute;inset:0;
  background:var(--ink);
  transform:translateY(101%);
  transition:transform .45s var(--ease-out);
  z-index:1;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px -14px rgba(4,34,45,.55)}
.btn:hover::after{transform:translateY(0)}
.btn:hover svg{transform:translateX(4px)}

.btn--ghost{
  --bg:transparent;
  --fg:var(--ink);
  border-color:var(--line-light);
}
.btn--ghost::after{background:var(--ink)}
.btn--ghost:hover{--fg:#fff;border-color:var(--ink)}
.dark .btn--ghost{--fg:var(--mist);border-color:var(--line-dark)}
.dark .btn--ghost::after{background:var(--mist)}
.dark .btn--ghost:hover{--fg:var(--ink);border-color:var(--mist)}

.btn--sm{padding:.68rem 1.1rem;font-size:.85rem}

/* text link with underline sweep */
.tlink{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-family:var(--f-mono);
  font-size:.76rem;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--teal);
  padding-bottom:.35rem;
  background-image:linear-gradient(var(--ember),var(--ember));
  background-repeat:no-repeat;
  background-position:0 100%;
  background-size:0% 2px;
  transition:background-size .45s var(--ease-out),color .3s;
}
.tlink:hover{background-size:100% 2px;color:var(--ember)}
.tlink svg{transition:transform .4s var(--ease-out)}
.tlink:hover svg{transform:translateX(4px)}
.dark .tlink{color:var(--teal-glow)}
.dark .tlink:hover{color:var(--ember-soft)}

/* ---------- header ---------- */

.hdr{
  position:fixed;top:0;left:0;right:0;
  z-index:80;
  transition:background .4s var(--ease),border-color .4s,backdrop-filter .4s;
  border-bottom:1px solid transparent;
}
/* header inner */
.hdr__in{
  max-width:var(--shell);
  margin-inline:auto;
  padding:0 var(--gut);
  height:78px;
  display:flex;
  align-items:center;
  gap:2rem;
  transition:height .4s var(--ease);
}
.hdr.is-stuck{
  background:rgba(4,34,45,.95);
  backdrop-filter:blur(16px) saturate(160%);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  border-bottom-color:var(--line-dark);
}
.hdr.is-stuck .hdr__in{height:66px}

/* light-page header variant */
.hdr--light.is-stuck{
  background:rgba(237,241,243,.95);
  border-bottom-color:var(--line-light);
}

.brand{display:flex;align-items:center;flex:none;text-decoration:none}
.brand img{width:174px;height:auto}
.brand .lg-dark{display:none}
.hdr--light .lg-dark{display:block}
.hdr--light .lg-light{display:none}

.nav{
  display:flex;
  align-items:center;
  gap:.3rem;
  margin-left:auto;
}
.nav a{
  position:relative;
  padding:.55rem .82rem;
  font-size:.88rem;
  font-weight:500;
  color:rgba(237,241,243,.82);
  text-decoration:none;
  border-radius:2px;
  transition:color .25s;
}
.hdr--light .nav a{color:var(--teal)}
.nav a::after{
  content:"";
  position:absolute;
  left:.82rem;right:.82rem;bottom:.28rem;
  height:2px;
  background:var(--ember);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .38s var(--ease-out);
}
.nav a:hover,.nav a[aria-current="page"]{color:var(--white)}
.hdr--light .nav a:hover,.hdr--light .nav a[aria-current="page"]{color:var(--ink)}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}

.hdr .btn{margin-left:.7rem}

/* mega menu */
.has-mega{position:relative}
.mega{
  position:fixed;
  left:0;right:0;
  top:78px;
  background:var(--ink-2);
  border-top:1px solid var(--line-dark);
  border-bottom:1px solid var(--line-dark);
  opacity:0;
  visibility:hidden;
  transform:translateY(-8px);
  transition:opacity .3s var(--ease),transform .38s var(--ease-out),visibility .3s;
  z-index:79;
}
.hdr.is-stuck .mega{top:66px}
.has-mega:hover .mega,.has-mega:focus-within .mega{opacity:1;visibility:visible;transform:translateY(0)}
.mega__in{
  max-width:var(--shell);
  margin-inline:auto;
  padding:2.6rem var(--gut) 2.9rem;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:2.4rem;
}
.mega__col h5{
  font-family:var(--f-mono);
  font-size:.66rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--teal-glow);
  margin:0 0 1rem;
  font-weight:500;
}
.mega__col a{
  display:block;
  padding:.42rem 0;
  font-size:.92rem;
  color:rgba(237,241,243,.74);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .22s,padding-left .3s var(--ease-out);
}
.mega__col a::after{display:none}
.mega__col a:hover{color:var(--white);padding-left:.4rem}

/* scroll progress */
.prog{
  position:absolute;
  left:0;bottom:-1px;
  height:2px;
  width:100%;
  transform:scaleX(0);
  transform-origin:left;
  background:linear-gradient(90deg,var(--ember),var(--ember-soft));
  z-index:2;
}

/* mobile */
.burger{
  display:none;
  margin-left:auto;
  width:44px;height:44px;
  background:none;border:0;padding:0;
  cursor:pointer;
  position:relative;
}
.burger i{
  position:absolute;left:11px;
  width:22px;height:2px;
  background:var(--mist);
  transition:transform .4s var(--ease-out),opacity .25s;
}
.hdr--light .burger i{background:var(--ink)}
.burger i:nth-child(1){top:17px}
.burger i:nth-child(2){top:23px}
.burger i:nth-child(3){top:29px}
.burger[aria-expanded="true"] i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] i:nth-child(2){opacity:0}
.burger[aria-expanded="true"] i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.drawer{
  position:fixed;inset:78px 0 0;
  background:var(--ink);
  padding:2rem var(--gut) 3rem;
  overflow-y:auto;
  transform:translateY(-100%);
  visibility:hidden;
  transition:transform .5s var(--ease-out),visibility .5s;
  z-index:78;
}
.drawer.is-open{transform:translateY(0);visibility:visible}
.drawer h5{
  font-family:var(--f-mono);font-size:.66rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--teal-glow);margin:1.6rem 0 .6rem;font-weight:500;
}
.drawer a{
  display:block;padding:.6rem 0;font-size:1.02rem;
  color:rgba(237,241,243,.8);text-decoration:none;
  border-bottom:1px solid var(--line-dark);
}

@media (max-width:1080px){
  .nav,.hdr .btn{display:none}
  .burger{display:block}
}

/* ---------- footer ---------- */

.ftr{background:var(--ink);color:rgba(237,241,243,.62);padding-block:clamp(56px,7vw,88px) 0}
.ftr__top{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:2.6rem;padding-bottom:3.2rem}
.ftr img{width:186px;margin-bottom:1.3rem}
.ftr h5{
  font-family:var(--f-mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--teal-glow);margin:0 0 1.05rem;font-weight:500;
}
.ftr a{display:block;padding:.28rem 0;color:rgba(237,241,243,.62);text-decoration:none;font-size:.92rem;transition:color .22s}
.ftr a:hover{color:var(--ember-soft)}
.ftr__geo{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.06em;color:var(--teal-glow);margin-top:1rem}
.ftr__base{
  border-top:1px solid var(--line-dark);
  padding-block:1.5rem 2.2rem;
  display:flex;flex-wrap:wrap;gap:1rem 2rem;
  align-items:center;justify-content:space-between;
  font-size:.8rem;
}
.ftr__base nav{display:flex;flex-wrap:wrap;gap:1.4rem}
.ftr__base a{display:inline;padding:0;font-size:.8rem}
@media (max-width:900px){.ftr__top{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ftr__top{grid-template-columns:1fr}}

/* ---------- reveal ---------- */

.rv{opacity:0;transform:translateY(22px);transition:opacity .85s var(--ease-out),transform .85s var(--ease-out)}
.rv.in{opacity:1;transform:none}
.rv-d1{transition-delay:.09s}.rv-d2{transition-delay:.18s}.rv-d3{transition-delay:.27s}
.rv-d4{transition-delay:.36s}.rv-d5{transition-delay:.45s}.rv-d6{transition-delay:.54s}

@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* ---------- cards (top-rule, corner ticks — no left accent bar) ---------- */

.card{
  position:relative;
  padding:2rem 1.9rem 2.1rem;
  background:var(--white);
  border:1px solid var(--line-light);
  border-radius:3px;
  transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out),border-color .4s;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  display:block;
}
.card::before{
  content:"";
  position:absolute;top:-1px;left:0;right:0;
  height:2px;background:var(--ember);
  transform:scaleX(0);transform-origin:left;
  transition:transform .55s var(--ease-out);
}
.card:hover{transform:translateY(-5px);box-shadow:0 26px 50px -34px rgba(4,34,45,.5);border-color:rgba(4,34,45,.2)}
.card:hover::before{transform:scaleX(1)}
.card h3,.card h4{margin-bottom:.6rem}
.card p{color:var(--slate);font-size:.95rem;line-height:1.6}

.dark .card{background:rgba(237,241,243,.035);border-color:var(--line-dark)}
.dark .card p{color:rgba(237,241,243,.66)}
.dark .card:hover{background:rgba(237,241,243,.06);border-color:rgba(237,241,243,.24);box-shadow:none}

.card__idx{
  font-family:var(--f-mono);font-size:.7rem;letter-spacing:.14em;
  color:var(--slate-2);display:block;margin-bottom:1.1rem;
}
.dark .card__idx{color:var(--teal-glow)}

.grid{display:grid;gap:1.1rem}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

/* tick list */
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:.62rem}
.ticks li{position:relative;padding-left:1.5rem;font-size:.95rem;color:var(--slate);line-height:1.5}
.ticks li::before{
  content:"";position:absolute;left:0;top:.62em;
  width:7px;height:7px;border:1.5px solid var(--ember);border-radius:1px;
  transform:rotate(45deg);
}
.dark .ticks li{color:rgba(237,241,243,.7)}
.ticks--2{grid-template-columns:1fr 1fr;gap:.62rem 2rem}
@media (max-width:640px){.ticks--2{grid-template-columns:1fr}}

/* split heading layout */
.split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,5.5rem);align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:2.2rem}}

/* page hero (inner pages) */
.phero{padding-block:clamp(140px,15vw,210px) clamp(56px,7vw,92px);position:relative;overflow:hidden}
.phero__grid{position:absolute;inset:0;opacity:.5;pointer-events:none}
.phero .shell{position:relative;z-index:2}
.phero h1{font-size:clamp(2.3rem,5.2vw,4.1rem);max-width:19ch}
.phero .lede{margin-top:1.6rem}

.crumb{
  font-family:var(--f-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--teal-glow);margin-bottom:1.4rem;display:flex;gap:.6rem;flex-wrap:wrap;
}
.crumb a{text-decoration:none;opacity:.7}
.crumb a:hover{opacity:1;color:var(--ember-soft)}

/* CTA band */
.band{position:relative;overflow:hidden;background:var(--teal);color:var(--mist)}
.band canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.55}
.band .shell{position:relative;z-index:2;text-align:center}
.band h2{max-width:20ch;margin-inline:auto}
.band .btns{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-top:2.2rem}

.btns{display:flex;gap:.8rem;flex-wrap:wrap}

/* prose block for legal pages */
.prose{max-width:74ch}
.prose h2{font-size:clamp(1.4rem,2.4vw,1.95rem);margin:2.8rem 0 .9rem}
.prose h3{font-size:1.12rem;margin:2rem 0 .5rem}
.prose ul{padding-left:1.1rem;color:var(--slate)}
.prose li{margin-bottom:.4rem}
.prose p{color:var(--slate)}
.prose .note{
  margin-top:2.6rem;padding:1.2rem 1.4rem;
  border:1px dashed rgba(241,96,34,.5);border-radius:3px;
  background:rgba(241,96,34,.05);color:var(--ink);font-size:.9rem;
}

/* stat row */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);border-radius:3px;overflow:hidden}
.stats div{background:var(--ink);padding:1.7rem 1.5rem}
.stats b{
  display:block;font-family:var(--f-display);font-weight:700;
  font-size:clamp(1.9rem,3.4vw,2.7rem);letter-spacing:-.03em;color:var(--mist);line-height:1;
}
.stats span{display:block;margin-top:.5rem;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--teal-glow)}
@media (max-width:820px){.stats{grid-template-columns:1fr 1fr}}

/* pill row */
.pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.6rem}
.pill{
  font-family:var(--f-mono);font-size:.71rem;letter-spacing:.09em;text-transform:uppercase;
  padding:.42rem .8rem;border:1px solid var(--line-light);border-radius:999px;color:var(--slate);
}
.dark .pill{border-color:var(--line-dark);color:rgba(237,241,243,.66)}

/* ---------- inner page blocks ---------- */

.cap{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line-light)}
@media (max-width:760px){.cap{grid-template-columns:1fr}}
.cap__i{padding:1.9rem 2rem 2rem;border-bottom:1px solid var(--line-light);border-right:1px solid var(--line-light);position:relative}
.cap__i:nth-child(2n){border-right:0}
@media (max-width:760px){.cap__i{border-right:0}}
.cap__i::before{content:"";position:absolute;top:-1px;left:0;width:100%;height:2px;background:var(--ember);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-out)}
.cap__i:hover::before{transform:scaleX(1)}
.cap__i b{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.14em;color:var(--slate-2);display:block;margin-bottom:.9rem}
.cap__i h3{font-size:1.24rem;margin-bottom:.5rem}
.cap__i p{color:var(--slate);font-size:.95rem;margin:0}
.dark .cap,.dark .cap__i{border-color:var(--line-dark)}
.dark .cap__i p{color:rgba(237,241,243,.66)}

.callout{
  padding:2.2rem 2.2rem 2.4rem;background:var(--white);
  border:1px solid var(--line-light);border-radius:3px;
}
.dark .callout{background:rgba(237,241,243,.04);border-color:var(--line-dark)}
.callout h3{margin-bottom:.7rem}
.callout p{color:var(--slate);margin:0}
.dark .callout p{color:rgba(237,241,243,.7)}

.flow{
  display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;
  font-family:var(--f-mono);font-size:.78rem;letter-spacing:.05em;color:var(--slate);
  padding:1.4rem 0;
}
.flow i{font-style:normal;color:var(--ember)}
.dark .flow{color:rgba(237,241,243,.7)}

.vidnote{
  margin-top:2.4rem;padding:1.5rem 1.6rem;border:1px dashed rgba(2,75,100,.32);border-radius:3px;
  font-size:.9rem;color:var(--slate);display:flex;gap:1rem;align-items:flex-start;
}
.vidnote svg{flex:none;margin-top:.15rem}
.dark .vidnote{border-color:var(--line-dark);color:rgba(237,241,243,.62)}

.intnote{
  margin-top:2rem;padding:1rem 1.2rem;border-left:0;border:1px solid rgba(241,96,34,.4);
  border-radius:3px;background:rgba(241,96,34,.055);font-size:.88rem;color:var(--ink);
}
.intnote b{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ember);display:block;margin-bottom:.35rem}
.dark .intnote{color:rgba(237,241,243,.8);background:rgba(241,96,34,.09)}

.topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.1rem}
.topics__c{padding:1.7rem 1.6rem;border:1px solid var(--line-light);border-radius:3px;background:var(--white)}
.topics__c h4{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ember);margin-bottom:1rem;font-weight:500}
.topics__c ul{list-style:none;margin:0;padding:0}
.topics__c li{padding:.42rem 0;font-size:.93rem;color:var(--slate);border-bottom:1px solid var(--line-light)}
.topics__c li:last-child{border-bottom:0}
.dark .topics__c{background:rgba(237,241,243,.04);border-color:var(--line-dark)}
.dark .topics__c li{color:rgba(237,241,243,.68);border-color:var(--line-dark)}

/* ---------- contact form ---------- */

.cform{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
@media (max-width:700px){.cform{grid-template-columns:1fr}}
.fld{display:flex;flex-direction:column;gap:.42rem}
.fld--full{grid-column:1/-1}
.fld label{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--slate)}
.fld label span{color:var(--ember)}
.fld input,.fld select,.fld textarea{
  font-family:var(--f-body);font-size:.96rem;color:var(--ink);
  padding:.82rem .9rem;background:var(--white);
  border:1px solid var(--line-light);border-radius:2px;
  transition:border-color .3s,box-shadow .3s;width:100%;
}
.fld textarea{min-height:132px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:0;border-color:var(--teal);box-shadow:0 0 0 3px rgba(2,75,100,.1)}
.fld.err input,.fld.err select,.fld.err textarea{border-color:var(--ember);box-shadow:0 0 0 3px rgba(241,96,34,.12)}
.fld--check{flex-direction:row;align-items:flex-start;gap:.7rem;grid-column:1/-1}
.fld--check input{width:18px;height:18px;flex:none;margin-top:.15rem;accent-color:var(--ember)}
.fld--check label{font-family:var(--f-body);font-size:.88rem;letter-spacing:0;text-transform:none;color:var(--slate);line-height:1.5}
.fld.err.fld--check label{color:var(--ember)}
.formmsg{grid-column:1/-1;font-size:.9rem;padding:.9rem 1.1rem;border-radius:2px;margin:0}
.formmsg:empty{display:none}
.formmsg.ok{background:rgba(2,75,100,.08);color:var(--teal);border:1px solid rgba(2,75,100,.25)}
.formmsg.err{background:rgba(241,96,34,.08);color:#B8410F;border:1px solid rgba(241,96,34,.35)}

.contact__side{display:grid;gap:1.6rem;align-content:start}
.contact__side h4{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ember);margin-bottom:.5rem;font-weight:500}
.contact__side p{color:var(--slate);font-size:.94rem;margin:0}

/* ---------- 404 ---------- */
.err404{min-height:78vh;display:grid;place-items:center;text-align:center;background:var(--ink);color:var(--mist);position:relative;overflow:hidden}
.err404 .shell{position:relative;z-index:2}
.err404 h1{font-size:clamp(3rem,10vw,7rem)}
