/* 2B Advertising — main stylesheet.
   Part A = the owner-approved design/preview.html CSS VERBATIM (B-006, commit
   bf39114) minus the preview-only label. Design changes go into
   design/preview.html AND here together. Logical properties only (rule 5).
   Bump TBADV_VERSION in functions.php on every change. */

/* =====================================================================
   Part A — approved preview CSS
   ===================================================================== */
/* ===== Part A: tokens (from the logo: blue 2, red B, maroon shade) ===== */
:root{
  --blue:#1066AF;      /* logo "2" */
  --red:#D41E2A;       /* logo "B" */
  --maroon:#541011;    /* logo "B" shade */
  --navy:#0B2A5B;      /* deep panel, from the "2" gradient */
  --navy-2:#081E43;
  --ink:#1B2333;
  --muted:#4A5568;
  --mist:#F3F5F9;
  --line:#E2E6EE;
  --white:#FFFFFF;
  --red-on-dark:#FF5A66; /* 4.6:1 on navy */
  --sky-on-dark:#7DB8EC;
  --font-display:"Sora",system-ui,sans-serif;
  --font-body:"Inter",system-ui,sans-serif;
  --container:1200px;
  --gutter:clamp(16px,4vw,32px);
  --radius:18px;
  --pill:999px;
  --shadow:0 18px 40px -18px rgba(11,42,91,.35);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-body);font-size:1.0625rem;line-height:1.65;color:var(--ink);background:var(--white)}
img{max-inline-size:100%;block-size:auto;display:block}
a{color:var(--blue)}
h1,h2,h3{font-family:var(--font-display);line-height:1.2;margin:0;color:var(--ink)}
p{margin:0}
.container{max-inline-size:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.skip{position:absolute;inset-inline-start:-9999px}
.skip:focus{inset-inline-start:16px;inset-block-start:16px;z-index:100;background:var(--white);padding:8px 14px;border-radius:8px}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.eyebrow{font-family:var(--font-body);font-weight:600;font-size:.8125rem;letter-spacing:.22em;text-transform:uppercase;color:var(--red)}
.section{padding-block:clamp(56px,9vw,112px)}
.section-head{max-inline-size:760px;margin-block-end:clamp(28px,4vw,44px)}
.section-head h2{font-size:clamp(1.75rem,3.4vw,2.5rem);margin-block-start:10px}
.rule{display:block;inline-size:56px;block-size:4px;border-radius:4px;background:linear-gradient(90deg,var(--blue) 0 50%,var(--red) 50% 100%);margin-block-end:14px}
[dir="rtl"] .rule{background:linear-gradient(270deg,var(--blue) 0 50%,var(--red) 50% 100%)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;min-block-size:48px;padding-inline:26px;border-radius:var(--pill);font-weight:600;font-size:1rem;text-decoration:none;border:2px solid transparent;transition:background-color .2s,color .2s,border-color .2s,transform .2s}
.btn svg{inline-size:18px;block-size:18px;flex:none}
.btn-red{background:var(--red);color:var(--white)}
.btn-red:hover{background:#B5172A}
.btn-white{background:var(--white);color:var(--red)}
.btn-white:hover{background:var(--mist)}
.btn-ghost{border-color:currentColor;color:var(--white)}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
[dir="rtl"] .btn .arrow{transform:scaleX(-1)}

/* ===== header (B-011) ===== */
.site-header{position:sticky;inset-block-start:0;z-index:50;background:rgba(255,255,255,.97);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-block-end:1px solid var(--line);transition:box-shadow .25s ease}
.site-header::before{content:"";display:block;block-size:3px;background:linear-gradient(90deg,var(--blue) 0 50%,var(--red) 50% 100%)}
.site-header.scrolled{box-shadow:0 12px 30px -18px rgba(11,42,91,.45)}
.header-inner{display:flex;align-items:center;gap:clamp(12px,2vw,28px);min-block-size:72px}
.brand{display:block;flex:none}
.brand img{block-size:56px;inline-size:auto} /* logo file as supplied, scaled only */
@media (min-width:768px){.brand img{block-size:64px}}
.nav{flex:1;display:flex;justify-content:center}
.nav-links{display:none;align-items:center;gap:clamp(20px,3vw,40px);list-style:none;margin:0;padding:0}
@media (min-width:768px){.nav-links{display:flex}}
.nav-links a{position:relative;display:inline-block;padding-block:10px;color:var(--ink);text-decoration:none;font-weight:500;font-size:.975rem}
.nav-links a::after{content:"";position:absolute;inset-inline:0;inset-block-end:4px;block-size:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--red));transform:scaleX(0);transform-origin:0 50%;transition:transform .25s ease}
[dir="rtl"] .nav-links a::after{transform-origin:100% 50%}
.nav-links a:hover,.nav-links a:focus-visible{color:var(--blue)}
.nav-links a:hover::after,.nav-links a:focus-visible::after,.nav-links a[aria-current="page"]::after{transform:scaleX(1)}
.nav-links a[aria-current="page"]{font-weight:600}
.header-actions{display:flex;align-items:center;gap:clamp(8px,1.4vw,16px);margin-inline-start:auto}
.header-phone{display:inline-flex;align-items:center;gap:10px;min-block-size:44px;color:var(--ink);text-decoration:none}
.header-phone .ico{inline-size:42px;block-size:42px;border-radius:50%;display:grid;place-items:center;flex:none;background:rgba(212,30,42,.1);color:var(--red);transition:background-color .2s,color .2s}
.header-phone .ico svg{inline-size:18px;block-size:18px}
.header-phone .txt{display:none;line-height:1.2}
.header-phone small{display:block;font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.header-phone b{font-weight:600;font-size:.95rem;white-space:nowrap}
.header-phone:hover .ico,.header-phone:focus-visible .ico{background:var(--red);color:var(--white)}
@media (min-width:1100px){.header-phone .txt{display:block}}
.header-actions .btn{min-block-size:44px;padding-inline:20px}
.header-actions .btn[aria-current="page"]{background:var(--maroon)}

/* ===== hero (v3, B-009) ===== */
.hero{position:relative;overflow:hidden;isolation:isolate;color:var(--white);background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 100%)}
.aurora{position:absolute;inset:0;z-index:-3;pointer-events:none}
.aurora span{position:absolute;border-radius:50%}
.aurora .a1{inline-size:70vmax;block-size:70vmax;inset-block-start:-32vmax;inset-inline-end:-22vmax;background:radial-gradient(circle,rgba(16,102,175,.75) 0,transparent 62%)}
.aurora .a2{inline-size:55vmax;block-size:55vmax;inset-block-end:-32vmax;inset-inline-start:-20vmax;background:radial-gradient(circle,rgba(212,30,42,.42) 0,transparent 62%)}
.aurora .a3{inline-size:40vmax;block-size:40vmax;inset-block-start:18%;inset-inline-start:40%;background:radial-gradient(circle,rgba(84,16,17,.55) 0,transparent 62%)}
.hero-dots{position:absolute;inset:0;z-index:-2;pointer-events:none;background-image:radial-gradient(rgba(125,184,236,.3) 1.2px,transparent 1.6px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse 60% 70% at 75% 40%,#000 0,transparent 75%);mask-image:radial-gradient(ellipse 60% 70% at 75% 40%,#000 0,transparent 75%)}
.streaks{position:absolute;inset:0;inline-size:100%;block-size:100%;z-index:-1;pointer-events:none;opacity:.3}
.streak{fill:none;stroke-linecap:round}
.hero-inner{position:relative;display:grid;gap:clamp(28px,4vw,48px);padding-block:clamp(44px,6vw,88px) clamp(40px,5vw,72px);align-items:center}
@media (min-width:960px){.hero-inner{grid-template-columns:1.12fr .88fr}}
.hero .eyebrow{display:inline-flex;align-items:center;gap:10px;color:#DCE7F7;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);padding-block:8px;padding-inline:14px 16px;border-radius:var(--pill);letter-spacing:.2em;font-size:.75rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.hero .eyebrow::before{content:"";flex:none;inline-size:8px;block-size:8px;border-radius:50%;background:var(--red-on-dark);box-shadow:0 0 0 4px rgba(255,90,102,.2)}
.hero h1{color:var(--white);font-weight:700;margin-block:24px 26px}
.hero h1 .lead-in{display:block;font-size:clamp(1.25rem,2.1vw,1.75rem);font-weight:600;line-height:1.25;letter-spacing:-.01em;color:#DCE7F7;margin-block-end:.35em}
.hero h1 .hl{font-size:clamp(2.75rem,6.2vw,5.25rem);line-height:.98;letter-spacing:-.035em}
.hero h1 .hl{display:block;color:#FFD27A;padding-block-end:.06em}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .hero h1 .hl,.hero h1 .hl .w{background-image:linear-gradient(95deg,#FF6B75 0%,#FF8A5B 45%,#FFD27A 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
  .motion-ready .hero h1 .hl{background-image:none}
}
.hero .sub{font-weight:500;font-size:clamp(1.125rem,1.6vw,1.3125rem);line-height:1.55;color:#E6EEF9;max-inline-size:38ch;padding-inline-start:18px;border-inline-start:3px solid var(--red-on-dark);margin-block-end:16px}
.hero p.lead{color:#AFC2DE;font-size:1rem;line-height:1.7;max-inline-size:50ch;padding-inline-start:21px}
.hero .actions{display:flex;flex-wrap:wrap;gap:14px;margin-block-start:32px}
.hero .btn-ghost svg{inline-size:18px;block-size:18px}
.stage{position:relative;inline-size:100%;max-inline-size:580px;margin-inline:auto;aspect-ratio:1}
@media (max-width:959px){.stage{max-inline-size:440px}}
.layer{position:absolute;display:block;transform:translate3d(calc(var(--px,0) * var(--d,10) * 1px),calc(var(--py,0) * var(--d,10) * 1px),0);transition:transform .35s ease-out}
.layer svg{display:block;inline-size:100%;block-size:auto;overflow:visible}
.l-fan,.l-poster{inset-inline-start:-3%;inset-block-start:2.5%;inline-size:84%}
.l-fan{--d:6}.l-poster{--d:14}
.l-type{inset-inline-start:0;inset-block-start:64%;inline-size:24%;--d:22}
.l-phone{inset-inline-end:0;inset-block-start:24%;inline-size:29%;--d:28}
.l-palette{inset-inline-start:3%;inset-block-start:0;inline-size:30%;--d:34}
.l-tools{inset-inline-end:0;inset-block-start:2%;inline-size:44%;--d:36}
.l-pen{inset:0;--d:42}
.l-badge{inset-inline-end:8%;inset-block-end:0;inline-size:30%;--d:30}
.drop{filter:drop-shadow(0 18px 28px rgba(3,10,30,.45))}
.sheet{transform-box:fill-box;transform-origin:50% 100%;transform:rotate(var(--r))}
.ticker{position:relative;inline-size:104%;margin-inline-start:-2%;margin-block-end:30px;transform:rotate(-1.6deg);background:var(--red);padding-block:14px;overflow:hidden;box-shadow:0 14px 30px -12px rgba(0,0,0,.55)}
.ticker-track{display:flex;align-items:center;gap:26px;inline-size:max-content;padding-inline:26px;list-style:none;margin:0;font-family:var(--font-display);font-weight:600;font-size:clamp(1rem,1.8vw,1.375rem);color:var(--white);white-space:nowrap}
.ticker-track li{display:flex;align-items:center;gap:26px}
.ticker-track li::after{content:"";flex:none;inline-size:10px;block-size:10px;background:#FFD27A;transform:rotate(45deg)}
#clients,#about{scroll-margin-block-start:88px}

/* ===== clients ===== */
.clients{background:var(--navy);color:var(--white);padding-block:clamp(44px,6vw,64px)}
.clients .section-head{margin-inline:auto;text-align:center;margin-block-end:28px}
.clients h2{color:var(--white);font-size:clamp(1.375rem,2.4vw,1.75rem);margin-block-start:0}
.clients .eyebrow{color:var(--sky-on-dark)}
.marquee{overflow:hidden}
.logo-track{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px 28px;list-style:none;margin:0;padding-block:0;padding-inline:var(--gutter);max-inline-size:var(--container);margin-inline:auto}
.logo-track li{flex:none;display:flex;align-items:center;justify-content:center;block-size:48px}
.logo-track img{max-block-size:40px;max-inline-size:108px;inline-size:auto;opacity:.92}
@media (min-width:768px){.logo-track{gap:28px 44px}.logo-track li{block-size:64px}.logo-track img{max-block-size:56px;max-inline-size:150px}}
.logo-track .dup{display:none}
@media (prefers-reduced-motion:no-preference){
  .motion-ready .marquee{-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
  .motion-ready .logo-track{flex-wrap:nowrap;justify-content:flex-start;inline-size:max-content;max-inline-size:none;margin-inline:0;padding-inline:0;gap:44px;animation:marquee 60s linear infinite}
  .motion-ready .logo-track li{padding-inline-end:0}
  .motion-ready .logo-track .dup{display:flex}
  .motion-ready .marquee:hover .logo-track,.motion-ready .marquee:focus-within .logo-track{animation-play-state:paused}
  @keyframes marquee{to{transform:translateX(-50%)}}
  [dir="rtl"].motion-ready .logo-track{animation-name:marquee-rtl}
  @keyframes marquee-rtl{to{transform:translateX(50%)}}
}

/* ===== statement ===== */
.statement-inner{display:grid;gap:36px;align-items:center}
@media (min-width:860px){.statement-inner{grid-template-columns:.8fr 1.2fr;gap:64px}}
.year-badge{position:relative;aspect-ratio:1;max-inline-size:240px;inline-size:100%;margin-inline:auto}
@media (min-width:860px){.year-badge{max-inline-size:340px}}
.year-badge svg{inline-size:100%;block-size:100%}
.statement p{font-family:var(--font-display);font-weight:600;font-size:clamp(1.25rem,2.4vw,1.75rem);line-height:1.45;color:var(--ink)}
.statement p em{font-style:normal;color:var(--red)}

/* ===== about ===== */
.about{background:var(--mist)}
.vm{display:grid;gap:24px}
@media (min-width:820px){.vm{grid-template-columns:1fr 1fr}}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(24px,3vw,36px);box-shadow:0 1px 0 rgba(11,42,91,.04)}
.card .icon{inline-size:56px;block-size:56px;border-radius:50%;display:grid;place-items:center;margin-block-end:18px}
.card .icon svg{inline-size:28px;block-size:28px}
.card.vision .icon{background:rgba(16,102,175,.1);color:var(--blue)}
.card.mission .icon{background:rgba(212,30,42,.1);color:var(--red)}
.card h3{font-size:1.375rem;margin-block-end:10px}
.card p{color:var(--muted)}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-block-start:28px}
.stat{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}
.stat b{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,3.5rem);line-height:1;color:var(--red);font-variant-numeric:tabular-nums}
.stat:nth-child(2) b{color:var(--blue)}
.stat span{font-weight:600;color:var(--ink)}

/* ===== CTA ===== */
.cta{position:relative;overflow:hidden;color:var(--white);background:linear-gradient(120deg,var(--red) 0%,#A3151F 55%,var(--maroon) 100%)}
.cta-inner{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px;padding-block:clamp(48px,7vw,80px)}
.cta h2{color:var(--white);font-size:clamp(1.625rem,3.2vw,2.375rem);max-inline-size:22ch}
.cta p{margin-block-start:10px;color:#FBE3E5}
.cta .stripes{position:absolute;inset-block:0;inset-inline-end:-40px;inline-size:380px;opacity:.18;pointer-events:none}

/* ===== footer ===== */
.site-footer{background:var(--white);border-block-start:1px solid var(--line);padding-block:40px 28px}
.footer-grid{display:grid;gap:24px;align-items:center;justify-items:center;text-align:center}
@media (min-width:860px){.footer-grid{grid-template-columns:auto 1fr auto;justify-items:stretch;text-align:start}}
.footer-grid .brand img{block-size:96px}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 26px;justify-content:center;list-style:none;margin:0;padding:0}
.footer-links a{display:inline-block;padding-block:8px;color:var(--ink);text-decoration:none;font-weight:500}
.footer-links a:hover{color:var(--blue)}
.footer-contact{display:grid;gap:4px;font-style:normal}
.footer-contact a{color:var(--ink);text-decoration:none}
.footer-contact a:hover{color:var(--red)}
.copy{margin-block-start:26px;padding-block-start:18px;border-block-start:1px solid var(--line);font-size:.875rem;color:var(--muted);text-align:center}

/* ===== contact page ===== */
.page-head{background:linear-gradient(160deg,var(--navy),var(--navy-2));color:var(--white);padding-block:clamp(48px,7vw,84px);text-align:center}
.page-head h1{color:var(--white);font-size:clamp(2rem,4.4vw,3rem)}
.page-head p{color:#D9E4F5;margin-block-start:12px}
.contact-grid{display:grid;gap:32px}
@media (min-width:900px){.contact-grid{grid-template-columns:.85fr 1.15fr;gap:48px}}
.details{list-style:none;margin:0;padding:0;display:grid;gap:14px;align-content:start}
.details li{display:flex;gap:16px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}
.details .icon{inline-size:48px;block-size:48px;border-radius:50%;background:var(--red);color:var(--white);display:grid;place-items:center;flex:none}
.details .icon svg{inline-size:22px;block-size:22px}
.details small{display:block;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.details a{display:inline-block;padding-block:4px;color:var(--ink);font-weight:600;text-decoration:none;overflow-wrap:anywhere}
.details a:hover{color:var(--red)}
.form{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,3vw,36px);box-shadow:var(--shadow)}
.form h2{font-size:1.5rem;margin-block-end:18px}
.field{display:grid;gap:6px;margin-block-end:16px}
.field label{font-weight:600;font-size:.9375rem}
.field input,.field textarea{font:inherit;color:var(--ink);inline-size:100%;padding:12px 14px;border:1.5px solid #C9D1DE;border-radius:12px;background:var(--white)}
.field input:focus,.field textarea:focus{border-color:var(--blue);outline:3px solid rgba(16,102,175,.25);outline-offset:0}
.field textarea{min-block-size:140px;resize:vertical}
.row2{display:grid;gap:0 16px}
@media (min-width:600px){.row2{grid-template-columns:1fr 1fr}}
.form .note{font-size:.875rem;color:var(--muted);margin-block-start:12px}
.req{color:var(--red)}


/* ===== motion (transform/opacity only; content visible without JS) ===== */
@media (prefers-reduced-motion:no-preference){
  .motion-ready .reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
  .motion-ready .reveal.in{opacity:1;transform:none}
  .btn:hover .arrow{transform:translateX(4px)}
  [dir="rtl"] .btn:hover .arrow{transform:scaleX(-1) translateX(4px)}
  .btn .arrow{transition:transform .2s}
  .aurora .a1{animation:aur1 22s ease-in-out infinite alternate}
  .aurora .a2{animation:aur2 26s ease-in-out infinite alternate}
  .aurora .a3{animation:aur3 18s ease-in-out infinite alternate}
  @keyframes aur1{to{transform:translate(-8vmax,6vmax) scale(1.1)}}
  @keyframes aur2{to{transform:translate(10vmax,-6vmax) scale(1.15)}}
  @keyframes aur3{to{transform:translate(-6vmax,-8vmax) scale(.9)}}
  .streaks{opacity:.85}
  .streak{stroke-dasharray:260 1500;animation:streak 7s linear infinite}
  .streak.k2{animation-duration:9s;animation-delay:-3s}
  .streak.k3{animation-duration:11s;animation-delay:-6s}
  .streak.k4{animation-duration:8s;animation-delay:-1.5s}
  @keyframes streak{from{stroke-dashoffset:1760}to{stroke-dashoffset:0}}
  .motion-ready .hero .rise{animation:rise .8s cubic-bezier(.2,.75,.2,1) var(--rd,0s) both}
  @keyframes rise{from{opacity:0;transform:translateY(18px)}}
  .motion-ready .hero h1 .w{display:inline-block;opacity:0;transform:translateY(.5em);transition:opacity .55s ease,transform .7s cubic-bezier(.2,.75,.2,1);transition-delay:calc(var(--i) * 45ms + .15s)}
  .motion-ready .hero h1.words-in .w{opacity:1;transform:none}
  .sheet{animation:fan-open 1.3s cubic-bezier(.2,.8,.2,1) .35s both}
  @keyframes fan-open{from{transform:rotate(0deg)}}
  .art-float{animation:art-float 7s ease-in-out infinite alternate}
  .art-float.f2{animation-duration:8.5s;animation-delay:-3s}
  .art-float.f3{animation-duration:6s;animation-delay:-1.5s}
  @keyframes art-float{to{transform:translateY(-10px)}}
  .pen{stroke-dasharray:1;animation:pen-draw 2.4s cubic-bezier(.6,.1,.3,1) .4s both}
  @keyframes pen-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
  .pen-ui{animation:art-fade .5s ease 2.4s both}
  @keyframes art-fade{from{opacity:0}to{opacity:1}}
  .ring-spin{transform-box:fill-box;transform-origin:center;animation:spin 24s linear infinite}
  @keyframes spin{to{transform:rotate(360deg)}}
  .heart{transform-box:fill-box;transform-origin:center;animation:heart 2.8s ease-in-out infinite}
  @keyframes heart{0%,68%,100%{transform:scale(1)}78%{transform:scale(1.35)}88%{transform:scale(.95)}}
  .tool-sel{animation:tool-hop 9s cubic-bezier(.6,0,.3,1) infinite}
  @keyframes tool-hop{0%,18%{transform:translateX(0)}22%,40%{transform:translateX(44px)}44%,62%{transform:translateX(88px)}66%,84%{transform:translateX(176px)}88%,100%{transform:translateX(0)}}
  .motion-ready .ticker-track{animation:marquee 36s linear infinite}
  [dir="rtl"].motion-ready .ticker-track{animation-name:marquee-rtl}
}

/* =====================================================================
   Part B — WordPress-only additions (not in the preview)
   ===================================================================== */
.screen-reader-text{border:0;clip-path:inset(50%);block-size:1px;inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;word-wrap:normal}
.brand picture{display:block}
body.admin-bar .site-header{inset-block-start:32px}
@media (max-width:782px){body.admin-bar .site-header{inset-block-start:46px}}
@media (max-width:600px){body.admin-bar .site-header{inset-block-start:0}}
.nav .btn[aria-current="page"]{background:var(--maroon)}
.details .value{font-weight:600}

/* form states */
.hp{position:absolute;inset-inline-start:-10000px;inline-size:1px;block-size:1px;overflow:hidden}
.notice{border-radius:12px;padding:12px 16px;margin-block-end:18px;font-weight:500}
.notice-success{background:#E8F5EC;color:#14532D;border:1px solid #A7D7B8}
.notice-error{background:#FDECEE;color:#8A1320;border:1px solid #F3B4BB}
.notice a{color:inherit;font-weight:600}
.field-error{color:#B5172A;font-size:.875rem;font-weight:500}
.field [aria-invalid="true"]{border-color:#B5172A}

/* generic page + 404 */
.prose{max-inline-size:760px}
.prose > * + *{margin-block-start:1em}
.prose h2{font-size:1.5rem;margin-block-start:1.6em}
.prose a{color:var(--blue)}
.btn-outline{border-color:var(--ink);color:var(--ink)}
.btn-outline:hover{background:var(--mist)}
.nf-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
