/* Samonte Digital — site styles. One file, no build step.
   Tokens first; change colors, type and spacing here. */
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/plus-jakarta-sans.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jakarta Fallback";src:local("Arial"),local("Helvetica Neue"),local("Helvetica");size-adjust:104%;ascent-override:94%;descent-override:24%;line-gap-override:0%}
:root{
  /* color */
  --bg:#0e1116;--bg-2:#131820;--panel:#181e27;--panel-2:#1d2430;--line:#2a3340;
  --text:#eef1f5;--muted:#b3bdca;--accent:#ff8a3d;--accent-hi:#ffa566;--ink:#0e1116;
  --cream:#faf7f2;--cream-2:#f3ede4;--cream-line:#e7dfd2;--text-d:#1d2128;--muted-d:#4e5562;--accent-d:#a94400;
  --ok:#2f8a55;--err:#ff8f8f;--err-d:#b42318;
  /* type */
  --font:"Plus Jakarta Sans","Jakarta Fallback",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --fs-sm:.9375rem;--fs-base:1.0625rem;--fs-lg:1.1875rem;--fs-h3:1.25rem;
  --fs-h2:clamp(1.75rem,1.35rem + 1.7vw,2.5rem);--fs-h1:clamp(2.25rem,1.55rem + 3.1vw,3.75rem);
  /* space: 4 8 12 16 24 32 48 64 */
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;
  --section:clamp(64px,8vw,104px);--gutter:clamp(16px,4vw,32px);
  --r-sm:10px;--r:16px;--r-lg:24px;--max:1200px;--header:72px;
  --shadow:0 1px 2px rgba(0,0,0,.2),0 8px 24px rgba(0,0,0,.18);
  --focus:var(--accent);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header) + 16px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;font-family:var(--font);font-size:var(--fs-base);line-height:1.65;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,picture,svg{max-width:100%;display:block}
img{height:auto}
a{color:var(--accent-hi);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:#fff}
h1,h2,h3,h4{line-height:1.15;letter-spacing:-.02em;margin:0 0 var(--s4);font-weight:800;text-wrap:balance}
h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3);font-weight:700;letter-spacing:-.01em;line-height:1.3}
p{margin:0 0 var(--s4)}p,li{text-wrap:pretty}
strong{font-weight:700}
.muted{color:var(--muted)}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.narrow{max-width:760px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:var(--s4);top:-100px;z-index:100;background:#fff;color:var(--ink);font-weight:700;padding:var(--s3) var(--s4);border-radius:var(--r-sm);text-decoration:none}
.skip:focus{top:var(--s3)}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(14,17,22,.9);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);min-height:var(--header)}
.wordmark{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:#fff;text-decoration:none;font-weight:800;font-size:1.125rem;letter-spacing:-.015em;white-space:nowrap}
.wordmark:hover{color:#fff}
.logo{display:block;height:36px;width:auto}
@media (max-width:480px){.logo{height:30px}}
.mark{flex:none;width:28px;height:28px;border-radius:8px;background:var(--accent);display:grid;place-items:center;color:var(--ink);font-size:.8rem;font-weight:800;letter-spacing:-.02em}
.nav-links{display:flex;align-items:center;gap:var(--s1);list-style:none;margin:0;padding:0}
.nav-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:var(--r-sm);color:var(--muted);text-decoration:none;font-weight:600;font-size:var(--fs-sm);transition:color .15s,background-color .15s}
.nav-links a:hover{color:#fff;background:var(--panel)}
.nav-links a[aria-current=page]{color:#fff;background:var(--panel-2)}
.nav-cta{display:flex;align-items:center;gap:var(--s3)}
.nav-links .nav-book{display:none}
.menu-btn{display:none;align-items:center;gap:var(--s2);min-height:44px;min-width:44px;padding:0 14px;background:transparent;color:#fff;border:1.5px solid var(--line);border-radius:var(--r-sm);font:inherit;font-weight:700;font-size:var(--fs-sm);cursor:pointer}
.menu-btn:hover{border-color:var(--muted)}
.menu-btn svg{width:18px;height:18px}
@media (max-width:959px){
  .menu-btn{display:inline-flex}
  .nav-cta{display:none}
  .nav-links{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:2px;padding:var(--s3) var(--gutter) var(--s5);background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 16px 32px rgba(0,0,0,.35);max-height:calc(100vh - var(--header));overflow-y:auto}
  .nav-links.open{display:flex}
  .nav-links a{min-height:48px;padding:0 var(--s4);font-size:var(--fs-base)}
  .nav-links .nav-book{display:block;margin-top:var(--s3)}
  .nav-links .nav-book a{width:100%;justify-content:center;background:var(--accent);color:var(--ink)}
}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:48px;padding:0 22px;border:1.5px solid transparent;border-radius:12px;background:var(--accent);color:var(--ink);font:inherit;font-weight:700;font-size:1rem;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s,transform .15s}
.btn:hover{background:var(--accent-hi);color:var(--ink)}
.btn:active{transform:translateY(1px)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.btn-ghost:hover{background:rgba(255,255,255,.08);border-color:#fff;color:#fff}
.btn-sm{min-height:44px;padding:0 18px;font-size:var(--fs-sm)}
.btn[disabled]{opacity:.65;cursor:progress}
.btn svg{width:18px;height:18px;flex:none}
.actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s6)}
.text-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:700;text-decoration:none}
.text-link:hover{text-decoration:underline}

/* ---------- sections ---------- */
section{padding-block:var(--section)}
.section-tight{padding-block:var(--s8)}
.eyebrow{display:block;margin:0 0 var(--s3);color:var(--accent);font-size:.8125rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.lead{max-width:62ch;font-size:var(--fs-lg);color:var(--muted)}
.section-head{max-width:720px;margin-bottom:var(--s7)}
.section-head .lead{margin-bottom:0}
.section-foot{margin-top:var(--s6);margin-bottom:0}
.light{background:var(--cream);color:var(--text-d);--focus:var(--accent-d)}
.light .muted,.light .lead{color:var(--muted-d)}
.light .eyebrow,.light a:not(.btn){color:var(--accent-d)}
.light a:not(.btn):hover{color:var(--text-d)}
.light .card{background:#fff;border-color:var(--cream-line);box-shadow:0 1px 2px rgba(60,40,10,.04)}
.light .btn-ghost{color:var(--text-d);border-color:var(--cream-line)}
.light .btn-ghost:hover{background:#fff;border-color:var(--text-d)}

/* ---------- hero ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(88px,12vw,152px) clamp(80px,10vw,128px)}
.hero-bg,.hero-bg img{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-fit:cover;object-position:60% center}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,17,22,.96) 0%,rgba(14,17,22,.88) 45%,rgba(14,17,22,.5) 100%)}
@media (max-width:719px){.hero::after{background:linear-gradient(180deg,rgba(14,17,22,.82),rgba(14,17,22,.92))}}
.hero h1{max-width:15ch}
.hero .lead{color:#d6dde6;max-width:56ch}
.pill{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:var(--s5);padding:8px 14px;border:1px solid rgba(255,138,61,.4);border-radius:999px;background:rgba(14,17,22,.55);color:#ffd2b3;font-size:.875rem;font-weight:600;line-height:1.4}
.pill .dot{width:4px;height:4px;border-radius:50%;background:var(--accent)}
.hero-note{margin:var(--s5) 0 0;color:#c5ced9;font-size:var(--fs-sm)}
.page-hero{padding-block:clamp(64px,8vw,104px) clamp(40px,5vw,64px);border-bottom:1px solid var(--line);background:radial-gradient(1000px 360px at 0% 0%,rgba(255,138,61,.13),transparent 70%),var(--bg)}
.page-hero h1{max-width:20ch}
.page-hero .lead{margin-bottom:0}

/* ---------- layout ---------- */
.grid{display:grid;gap:var(--s5)}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:959px){.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:639px){.g2,.g3{grid-template-columns:minmax(0,1fr)}}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.split.top{align-items:start}
@media (min-width:860px){.split.flip>:first-child{order:2}}
@media (max-width:859px){.split{grid-template-columns:minmax(0,1fr)}}
.stack>*+*{margin-top:var(--s5)}

/* ---------- cards ---------- */
.card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,3vw,30px)}
.card>:last-child{margin-bottom:0}
.card h3{margin-bottom:var(--s2)}
.card-link{transition:border-color .2s,transform .2s,box-shadow .2s}
.card-link:hover{border-color:rgba(255,138,61,.55);transform:translateY(-2px);box-shadow:var(--shadow)}
.card-link h3 a{color:inherit;text-decoration:none}
.card-link h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.card-link .more{display:inline-flex;margin-top:var(--s3);color:var(--accent-hi);font-weight:700;font-size:var(--fs-sm)}
.icon{width:44px;height:44px;border-radius:12px;background:rgba(255,138,61,.14);color:var(--accent);display:grid;place-items:center;margin-bottom:var(--s4)}
.icon svg{width:22px;height:22px}
.light .icon{background:#fff0e4;color:var(--accent-d)}
.num{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--accent);color:var(--ink);font-weight:800;margin-bottom:var(--s4)}
.steps{counter-reset:step}

/* feature card with the sample video (homepage) */
.g3>.card-feature{grid-column:1/-1;display:grid;gap:var(--s5);align-items:center}
@media (min-width:860px){.card-feature{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:var(--s7)}}
.card-feature .text-link{margin-top:var(--s2)}
.feature-list{display:grid;gap:var(--s6)}
.feature-list p{margin-bottom:0}

/* sample videos + carousel */
.video-sample{display:grid;gap:var(--s3);min-width:0}
.service .video-sample{grid-column:1/-1}
.carousel{position:relative;min-width:0}
.carousel-track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;gap:var(--s4);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:12px;overscroll-behavior-x:contain}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-slide{margin:0;scroll-snap-align:start;display:grid;gap:var(--s2);min-width:0}
.carousel-slide video{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:12px;border:1px solid var(--line);background:#000}
.slide-caption{margin:0;font-size:.875rem;color:var(--muted)}
.slide-caption strong{color:var(--text)}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:var(--s4);margin-top:var(--s3)}
.carousel-controls[hidden]{display:none}
.carousel-btn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:var(--panel-2);color:#fff;cursor:pointer;transition:border-color .15s,background-color .15s}
.carousel-btn:hover:not([disabled]){border-color:var(--accent)}
.carousel-btn[disabled]{opacity:.4;cursor:default}
.carousel-btn svg{width:20px;height:20px}
.carousel-count{min-width:3.5em;text-align:center;font-weight:700;font-size:var(--fs-sm);color:var(--muted)}
.video-note{margin:0;font-size:.875rem;color:var(--muted);line-height:1.5}
.video-note .tag{margin-right:6px;vertical-align:1px}

/* chips (who we work with) */
.chips{display:flex;flex-wrap:wrap;gap:var(--s2);list-style:none;margin:0;padding:0}
.chips li{padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--panel);font-size:var(--fs-sm);font-weight:600;color:var(--text)}
.light .chips li{background:#fff;border-color:var(--cream-line);color:var(--text-d)}

/* photos */
.photo{margin:0;position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--panel)}
.photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.photo.wide img{aspect-ratio:21/9}
@media (max-width:639px){.photo.wide img{aspect-ratio:16/9}}
.photo figcaption{position:absolute;left:var(--s3);bottom:var(--s3);padding:3px 8px;border-radius:6px;background:rgba(0,0,0,.62);color:#e6ebf0;font-size:.75rem}
.shot{display:block;border-radius:12px;border:1px solid var(--line);overflow:hidden;background:#fff;transition:border-color .2s,transform .2s}
a.shot:hover{border-color:rgba(255,138,61,.6);transform:translateY(-2px)}
.shot img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;object-position:top}
.shot.phone img{aspect-ratio:390/844}
.shots{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(0,1fr);gap:var(--s4);align-items:start}

/* lists */
ul.checks{list-style:none;padding:0;margin:0 0 var(--s4)}
ul.checks li{position:relative;padding-left:30px;margin:var(--s2) 0}
ul.checks li::before{content:"";position:absolute;left:5px;top:.5em;width:12px;height:7px;border-left:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);transform:rotate(-45deg)}
.light ul.checks li::before{border-color:var(--accent-d)}

/* tags */
.tag{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:#2b1b0f;border:1px solid #6b3b18;color:#ffc59c;font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;line-height:1.4}
.light .tag{background:#fff1e6;border-color:#f3c9a6;color:#8a3800}

/* notice ("coming soon" etc.) */
.notice{display:flex;gap:var(--s4);align-items:flex-start;padding:var(--s5);border:1px dashed var(--line);border-radius:var(--r);background:var(--bg-2);color:var(--muted)}
.notice strong{color:var(--text)}
.notice p{margin:0}
.light .notice{background:#fff;border-color:#d9cfbf;color:var(--muted-d)}
.light .notice strong{color:var(--text-d)}

/* CTA band */
.cta-band{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s6);align-items:center;padding:clamp(32px,5vw,56px);border:1px solid var(--line);border-radius:var(--r-lg);background:radial-gradient(600px 240px at 100% 0%,rgba(255,138,61,.16),transparent 70%),var(--panel)}
.cta-band h2{margin-bottom:var(--s3)}
.cta-band p{margin:0;max-width:60ch}
@media (max-width:767px){.cta-band{grid-template-columns:minmax(0,1fr)}.cta-band .btn{justify-self:start}}

/* services page */
.service{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(24px,4vw,56px);padding-block:var(--s7);border-top:1px solid var(--line)}
.service:first-child{border-top:0;padding-top:0}
.service:last-child{padding-bottom:0}
.service h2{font-size:clamp(1.5rem,1.3rem + .9vw,1.875rem)}
@media (max-width:859px){.service{grid-template-columns:minmax(0,1fr);gap:var(--s4)}}
.meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5) var(--s6)}
@media (max-width:639px){.meta{grid-template-columns:minmax(0,1fr)}}
.meta h3{margin:0 0 var(--s2);font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.meta p{color:var(--muted)}
.jump{display:flex;flex-wrap:wrap;gap:var(--s2);list-style:none;margin:var(--s6) 0 0;padding:0}
.jump a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:999px;color:var(--text);text-decoration:none;font-size:var(--fs-sm);font-weight:600}
.jump a:hover{border-color:var(--accent);color:#fff}

/* ordered process list */
.process{list-style:none;counter-reset:p;margin:0;padding:0;display:grid;gap:var(--s4)}
.process li{counter-increment:p;position:relative;padding:var(--s5) var(--s5) var(--s5) 76px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}
.process li::before{content:counter(p);position:absolute;left:var(--s5);top:var(--s5);width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--ink);font-weight:800;font-size:.9375rem}
.process h3{margin-bottom:var(--s1)}
.process p{margin:0;color:var(--muted)}
@media (min-width:860px){.process{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* founder */
.founder{display:flex;gap:var(--s5);align-items:center;margin-bottom:var(--s5)}
.founder .initials{flex:none;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--text-d);color:#fff;font-weight:800;font-size:1.375rem}
.founder h2{margin:0}
.founder p{margin:2px 0 0;color:var(--muted-d)}

/* prose (privacy) */
.prose{max-width:72ch}
.prose h2{font-size:1.5rem;margin-top:var(--s7)}
.prose h2:first-child{margin-top:0}
.prose ul{padding-left:1.25em}
.prose li{margin:var(--s2) 0}

/* ---------- forms ---------- */
.form{display:grid;gap:var(--s5)}
.form .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5)}
@media (max-width:639px){.form .row{grid-template-columns:minmax(0,1fr)}}
.field{display:grid;gap:6px}
label,legend{font-weight:700;font-size:var(--fs-sm);color:var(--text)}
.opt{font-weight:500;color:var(--muted)}
input,select,textarea{width:100%;min-height:48px;padding:12px 14px;background:var(--bg);color:var(--text);border:1.5px solid #3a4553;border-radius:var(--r-sm);font:inherit;font-size:1rem;line-height:1.4;transition:border-color .15s}
textarea{min-height:140px;resize:vertical}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23b3bdca'%3E%3Cpath d='M5.5 7.5 10 12l4.5-4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:20px;padding-right:40px}
input:hover,select:hover,textarea:hover{border-color:#566273}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,138,61,.3)}
input::placeholder,textarea::placeholder{color:#8792a1}
[aria-invalid=true]{border-color:var(--err)}
.error{margin:0;color:var(--err);font-size:.875rem;font-weight:600}
.error:empty{display:none}
fieldset{margin:0;padding:var(--s4) var(--s5) var(--s5);border:1.5px solid var(--line);border-radius:12px;min-width:0}
legend{padding:0 6px}
.checks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px var(--s4)}
@media (max-width:519px){.checks-grid{grid-template-columns:minmax(0,1fr)}}
.checks-grid label{display:flex;align-items:center;gap:var(--s3);min-height:44px;font-weight:500;cursor:pointer}
.checks-grid input{width:20px;height:20px;min-height:0;margin:0;accent-color:var(--accent);flex:none}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s4)}
.form-foot p{margin:0;font-size:.875rem;color:var(--muted)}
.form-status{margin:0;padding:var(--s4);border-radius:var(--r-sm);font-weight:600}
.form-status.is-error{background:#2c1517;border:1px solid #7a2e33;color:#ffd0d0}
.form-success{text-align:left}
.form-success .icon{background:rgba(47,138,85,.18);color:#7fdca4}
.form-success h2{font-size:1.75rem}

/* ---------- footer ---------- */
.site-footer{padding-block:var(--s8) var(--s6);border-top:1px solid var(--line);background:var(--bg);color:var(--muted);font-size:var(--fs-sm)}
.foot{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:var(--s6)}
@media (max-width:859px){.foot{grid-template-columns:repeat(2,minmax(0,1fr))}.foot>:first-child{grid-column:1/-1}}
@media (max-width:479px){.foot{grid-template-columns:minmax(0,1fr)}}
.foot h2{margin:0 0 var(--s3);font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.foot ul{list-style:none;margin:0;padding:0}
.foot li a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);text-decoration:none}
.foot li a:hover{color:#fff;text-decoration:underline}
.foot li span{display:inline-flex;min-height:44px;align-items:center}
.foot .blurb{max-width:38ch;margin:var(--s4) 0 0}
.fine{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s3) var(--s6);margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--line);font-size:.8125rem;color:#9aa5b3}
.fine a{color:inherit}
.fine p{margin:0}

/* ---------- utilities ---------- */
.mt-4{margin-top:var(--s4)}.mt-5{margin-top:var(--s5)}.mt-8{margin-top:var(--s8)}.mb-7{margin-bottom:var(--s7)}
.gap-6{gap:var(--s6)}.h3{font-size:var(--fs-h3)}
.plain-list{list-style:none;margin:0;padding:0}
.page-hero.tall{min-height:55vh}
.concept{display:grid;gap:var(--s5)}
.concept-title{margin:var(--s4) 0 var(--s2);font-size:1.5rem}
.trade{font-weight:600;font-size:1rem;color:var(--muted)}

/* ---------- motion (CSS-only, progressive) ---------- */
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .reveal{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 35%}
    @keyframes rise{from{transform:translateY(20px)}to{transform:none}}
  }
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
