/* ==========================================================================
   theonlyrymac.com , the operator hub
   Tokens lifted verbatim from "Ry Mac Design System" (tokens/*.css).
   Page sits one step darker than Build Market Close so the product cards
   read as lighter panels inside it. One accent only: coral #FF5A2B.
   ========================================================================== */

/* --- Fonts. Self-hosted variable files. Google Fonts was render-blocking. --- */
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/archivo-var.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-var.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-var.woff2) format('woff2')}

:root{
  /* charcoal ramp */
  --ink-900:#0E0D11; --ink-850:#17161A; --ink-800:#22212A;
  --ink-750:#1C1B23; --ink-700:#2A2934; --ink-600:#3A3844;
  /* cream neutrals, never blue-white */
  --cream-050:#FAF7F2; --cream-100:#F1EDE6; --cream-200:#D8D4CC;
  /* the one accent */
  --coral-100:#FFC9B5; --coral-200:#FF8A63; --coral-300:#FF5A2B; --coral-400:#E8481C;
  --coral-tint-08:rgba(255,90,43,.08); --coral-tint-16:rgba(255,90,43,.16); --coral-tint-32:rgba(255,90,43,.32);
  --signal-positive:#7DD3C0; --signal-positive-dim:rgba(125,211,192,.14);

  --line-hair:rgba(250,247,242,.10); --line-soft:rgba(250,247,242,.16);
  --line-strong:rgba(250,247,242,.24); --line-coral:rgba(255,90,43,.45);

  --bg-page:var(--ink-900); --bg-band:var(--ink-850);
  --surface-card:var(--ink-800); --surface-raised:var(--ink-700);
  --surface-glass:rgba(23,22,26,.94);

  --text-display:var(--cream-050); --text-body:var(--cream-100);
  --text-muted:rgba(250,247,242,.72); --text-faint:rgba(250,247,242,.50);

  --font-display:'Archivo','Helvetica Neue',Helvetica,sans-serif;
  --font-text:'Inter','Helvetica Neue',Helvetica,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;

  --size-display-3:clamp(1.75rem,2.9vw,2.75rem);
  --size-subtitle:1.1875rem; --size-body-lg:1.0625rem;
  --size-body:.9375rem; --size-body-sm:.875rem;
  --size-label:.6875rem; --size-micro:.625rem;
  --tracking-label:.2em; --tracking-mono:.12em;

  --space-8:8px; --space-12:12px; --space-16:16px; --space-20:20px;
  --space-24:24px; --space-32:32px; --space-40:40px;
  --gap-tile:var(--space-12); --gap-grid:var(--space-24);
  --pad-card:var(--space-24);
  --section-y:clamp(64px,9vw,96px);
  --page-gutter:clamp(20px,4.5vw,72px);
  --page-max:1280px; --page-max-wide:1520px;

  --radius-sm:8px; --radius-md:10px; --radius-lg:16px; --radius-xl:18px; --radius-pill:999px;

  --shadow-card:0 1px 0 rgba(250,247,242,.04) inset, 0 18px 40px -24px rgba(0,0,0,.9);
  --shadow-bmc:0 20px 50px rgba(23,22,26,.25);
  --glow-coral:0 0 0 1px var(--coral-tint-32), 0 14px 44px -16px rgba(255,90,43,.34);
  --ring-focus:0 0 0 2px var(--ink-900), 0 0 0 4px var(--coral-300);
  --scrim-bottom:linear-gradient(to top,rgba(14,13,17,.95) 0%,rgba(14,13,17,.72) 38%,rgba(14,13,17,0) 100%);

  --dur-fast:160ms; --dur-base:240ms; --dur-entrance:680ms;
  --ease-out-expo:cubic-bezier(.16,1,.30,1);
  --ease-standard:cubic-bezier(.22,.61,.24,1);
  --lift-hover:-2px;
  --navh:69px;
}
@media (prefers-reduced-motion:reduce){
  :root{--dur-fast:1ms; --dur-base:1ms; --dur-entrance:1ms; --lift-hover:0px}
  html{scroll-behavior:auto}
}

/* --- base --- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--navh)}
body{
  margin:0;background:var(--bg-page);color:var(--text-body);
  font-family:var(--font-text);font-size:var(--size-body);line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,svg{max-width:100%;height:auto;display:block}
::selection{background:var(--coral-tint-32);color:var(--cream-050)}
a{color:var(--coral-300);text-decoration:none;transition:color var(--dur-fast) var(--ease-standard)}
a:hover{color:var(--coral-200)}
:focus-visible{outline:none;box-shadow:var(--ring-focus)}
h1,h2,h3{
  font-family:var(--font-display);font-weight:900;text-transform:uppercase;
  letter-spacing:-.05em;line-height:.92;color:var(--text-display);margin:0;text-wrap:balance;
}
h3{font-weight:800;letter-spacing:-.03em;line-height:1.3}
p{margin:0;text-wrap:pretty}
button{font:inherit;color:inherit}
.skip{position:absolute;left:-9999px;top:0;background:var(--coral-300);color:#fff;padding:10px 16px;z-index:100;border-radius:0 0 var(--radius-sm) 0}
.skip:focus{left:0}

.eyebrow{
  font-family:var(--font-text);font-weight:800;font-size:var(--size-label);
  letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--coral-300);
}
.mono{
  font-family:var(--font-mono);font-weight:700;font-size:var(--size-micro);
  letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--text-faint);
}
.wrap{max-width:var(--page-max);margin:0 auto}
.wrap-wide{max-width:var(--page-max-wide);margin:0 auto}
section{padding:var(--section-y) var(--page-gutter)}
.band{background:var(--bg-band);border-top:1px solid var(--line-hair);border-bottom:1px solid var(--line-hair)}
.sec-head{display:flex;flex-direction:column;gap:var(--space-16);margin-bottom:var(--space-40)}
.sec-head h2{font-size:var(--size-display-3)}
.sec-head p{color:var(--text-muted);max-width:62ch;font-size:var(--size-body-lg);line-height:1.7}
.dot{color:var(--coral-300)}

/* --- buttons --- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 22px;border-radius:var(--radius-md);border:1px solid transparent;
  font-family:var(--font-text);font-weight:700;font-size:var(--size-body);
  letter-spacing:-.01em;cursor:pointer;text-align:center;
  transition:background var(--dur-fast) var(--ease-standard),
             border-color var(--dur-fast) var(--ease-standard),
             transform var(--dur-fast) var(--ease-standard),
             box-shadow var(--dur-base) var(--ease-out-expo);
}
/* Ink on coral is 6.22:1. White on coral is 3.11:1 and fails the contrast
   floor, which is what the audit caught. */
.btn-primary{background:var(--coral-300);color:var(--ink-900);box-shadow:var(--glow-coral)}
.btn-primary:hover{background:var(--coral-200);color:var(--ink-900);transform:translateY(var(--lift-hover))}
.btn-secondary{background:transparent;color:var(--cream-050);border-color:var(--line-strong)}
.btn-secondary:hover{background:var(--surface-raised);color:var(--cream-050);border-color:var(--line-coral);transform:translateY(var(--lift-hover))}
.btn:active{transform:scale(.985)}
.btn .ar{transition:transform var(--dur-fast) var(--ease-standard)}
.btn:hover .ar{transform:translateX(3px)}

.badge{
  display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:var(--radius-pill);
  font-size:var(--size-micro);font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  background:var(--signal-positive-dim);color:var(--signal-positive);border:1px solid rgba(125,211,192,.28);
}
.badge .pip{width:6px;height:6px;border-radius:50%;background:var(--signal-positive)}

/* --- top bar --- */
.topbar{
  position:fixed;inset:0 0 auto 0;height:var(--navh);z-index:50;
  display:flex;align-items:center;padding:0 var(--page-gutter);
  border-bottom:1px solid transparent;
  transition:background var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard);
}
.topbar.stuck{background:var(--surface-glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--line-hair)}
.topbar .inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-24);width:100%;max-width:var(--page-max-wide);margin:0 auto}
.wordmark{
  font-family:var(--font-display);font-weight:900;font-size:17px;letter-spacing:-.04em;
  text-transform:uppercase;color:var(--cream-050);white-space:nowrap;
}
.wordmark .dot{color:var(--coral-300)}
.navlinks{display:flex;align-items:center;gap:var(--space-24)}
.navlinks a{
  font-size:var(--size-body-sm);font-weight:600;color:var(--text-muted);
  letter-spacing:-.01em;
}
.navlinks a:hover{color:var(--cream-050)}
.topbar .btn{padding:10px 16px;font-size:var(--size-body-sm)}

/* --- hero --- */
.hero{
  position:relative;overflow:hidden;min-height:calc(100vh - var(--navh));
  display:flex;flex-direction:column;padding:var(--navh) var(--page-gutter) 0;
}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(900px 520px at 78% 8%,rgba(255,90,43,.13),transparent 66%);
}
.hero-grid{
  position:relative;flex:1;width:100%;max-width:var(--page-max-wide);margin:0 auto;
  display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(28px,3.5vw,64px);
  align-items:center;padding:clamp(24px,2.4vw,40px) 0;
}
.hero-copy{display:flex;flex-direction:column;gap:var(--space-16)}
.hero h1{font-size:clamp(2.5rem,5.4vw,5rem);max-width:13ch}
.hero .lead{font-size:clamp(.9375rem,1.1vw,1.0625rem);line-height:1.65;color:var(--text-muted);max-width:46ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:var(--space-12);padding-top:4px}
.hero-meta{display:flex;gap:var(--space-16);align-items:center;flex-wrap:wrap;padding-top:4px}
/* The rate is a selling number, so it does not sit at the faint tier. */
.hero-meta .mono,.book .terms .mono{color:var(--cream-200);font-size:var(--size-label)}

.hero-panel{display:flex;flex-direction:column;gap:var(--gap-tile);height:100%}
.portrait{
  position:relative;flex:1;min-height:280px;border-radius:var(--radius-xl);overflow:hidden;
  background:var(--surface-card);border:1px solid var(--line-soft);box-shadow:var(--shadow-bmc);
}
.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%;filter:saturate(.92) contrast(1.04)}
.portrait .scrim{position:absolute;inset:0;background:var(--scrim-bottom);pointer-events:none}
.portrait .cap{position:absolute;left:20px;bottom:16px;display:flex;flex-direction:column;gap:2px}
.portrait .cap b{font-family:var(--font-display);font-weight:900;font-size:20px;letter-spacing:-.04em;text-transform:uppercase;color:var(--cream-050)}
.portrait .cap span{font-weight:800;font-size:var(--size-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--coral-300)}

.creds{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-tile)}
.cred{
  display:flex;gap:var(--space-12);padding:13px 15px;background:var(--surface-card);
  border-radius:var(--radius-md);border:1px solid var(--line-hair);color:inherit;
  transition:transform var(--dur-base) var(--ease-out-expo),border-color var(--dur-fast) var(--ease-standard);
}
a.cred:hover{transform:translateY(var(--lift-hover));border-color:var(--line-coral);color:inherit}
.cred .ico{color:var(--coral-300);flex:0 0 auto;margin-top:1px}
.cred .tx{display:flex;flex-direction:column;gap:1px;min-width:0}
.cred .tx b{font-size:var(--size-body-sm);font-weight:700;color:var(--text-display)}
.cred .tx span{font-size:13px;color:var(--text-faint);line-height:1.4}
.cred .out{margin-left:auto;color:var(--text-faint);flex:0 0 auto}
a.cred:hover .out{color:var(--coral-300)}

.stat-row{
  position:relative;width:100%;max-width:var(--page-max-wide);margin:0 auto;
  border-top:1px solid var(--line-hair);display:grid;grid-template-columns:repeat(4,1fr);
  gap:var(--space-24);padding:var(--space-20) 0 var(--space-24);
}
.stat b{
  display:block;font-family:var(--font-display);font-weight:900;font-size:clamp(1.5rem,2.4vw,2rem);
  letter-spacing:-.04em;color:var(--cream-050);font-variant-numeric:tabular-nums;line-height:1.1;
}
.stat span{font-size:var(--size-micro);font-weight:800;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint)}

/* --- ventures --- */
.two-up{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-grid)}
.two-up.three{grid-template-columns:1fr 1fr 1fr}
.venture{
  display:flex;flex-direction:column;gap:var(--space-16);padding:var(--pad-card);
  background:var(--surface-card);border:1px solid var(--line-hair);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);color:inherit;height:100%;
  transition:transform var(--dur-base) var(--ease-out-expo),border-color var(--dur-fast) var(--ease-standard);
}
.venture:hover{transform:translateY(var(--lift-hover));border-color:var(--line-coral);color:inherit}
.venture .top{display:flex;align-items:center;gap:var(--space-12)}
.venture .mark{width:44px;height:44px;border-radius:var(--radius-sm);object-fit:contain;background:var(--ink-900);padding:7px;border:1px solid var(--line-hair);flex:0 0 auto}
.venture .tag{margin-left:auto;font-size:var(--size-micro);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);white-space:nowrap}
.venture h3{font-size:var(--size-subtitle);color:var(--text-display)}
.venture p{font-size:var(--size-body-sm);line-height:1.6;color:var(--text-muted)}
.venture .url{margin-top:auto;display:flex;align-items:center;gap:7px;font-family:var(--font-mono);font-weight:700;font-size:var(--size-micro);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--text-faint)}
.venture:hover .url{color:var(--coral-300)}

.channels{
  display:flex;flex-wrap:wrap;gap:var(--gap-tile);margin-top:var(--space-24);
}
.channel{
  display:inline-flex;align-items:center;gap:9px;padding:11px 16px;border-radius:var(--radius-pill);
  background:var(--surface-card);border:1px solid var(--line-hair);color:var(--text-body);
  font-size:var(--size-body-sm);font-weight:600;
  transition:transform var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard);
}
.channel:hover{transform:translateY(var(--lift-hover));border-color:var(--line-coral);color:var(--cream-050)}
.channel .ico{color:var(--coral-300);display:flex}

/* --- proof / testimonials --- */
.proof{columns:3;column-gap:var(--gap-tile)}
.proof figure{break-inside:avoid;margin:0 0 var(--gap-tile)}
.proof img{
  width:100%;border-radius:var(--radius-md);border:1px solid var(--line-hair);
  background:var(--surface-card);
}
.proof .more{display:none}
.proof.open .more{display:block}
.proof-toggle{margin-top:var(--space-24);display:flex;justify-content:center}

/* --- services --- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--gap-grid)}
.svc{
  display:flex;flex-direction:column;gap:var(--space-16);padding:var(--pad-card);height:100%;
  background:var(--surface-card);border:1px solid var(--line-hair);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
  transition:transform var(--dur-base) var(--ease-out-expo),border-color var(--dur-fast) var(--ease-standard);
}
.svc:hover{transform:translateY(var(--lift-hover));border-color:var(--line-coral)}
.svc .chip{
  width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius-sm);
  background:var(--coral-tint-08);border:1px solid var(--line-coral);color:var(--coral-300);
}
.svc h3{font-size:var(--size-subtitle);color:var(--text-display)}
.svc p{font-size:var(--size-body-sm);line-height:1.6;color:var(--text-muted)}
.svc .meta{margin-top:auto}

/* --- about --- */
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,4vw,64px);align-items:start}
.about-media{display:flex;flex-direction:column;gap:var(--gap-tile)}
.about-media .shot{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line-hair);background:var(--surface-card)}
.about-media .shot img{width:100%;height:100%;object-fit:cover}
.about-media .p1{aspect-ratio:4/5}
.about-media .p1 img{object-position:50% 38%;filter:saturate(.92) contrast(1.04)}
.about-media .p2{aspect-ratio:16/9}
.about-media .p2 .scrim{position:absolute;inset:0;background:var(--scrim-bottom)}
.about-media .p2 span{position:absolute;left:14px;bottom:10px;font-weight:800;font-size:var(--size-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--cream-050)}
.about-body{display:flex;flex-direction:column;gap:var(--space-24)}
.about-body p{color:var(--text-muted);font-size:var(--size-body-lg);line-height:1.7;max-width:60ch}
.eof{display:flex;align-items:center;gap:var(--space-16);padding:var(--space-16);background:var(--surface-card);border:1px solid var(--line-hair);border-radius:var(--radius-lg)}
.eof img{width:74px;flex:0 0 auto}
.eof b{display:block;color:var(--text-display);font-size:var(--size-body-sm);font-weight:700}
.eof span{font-size:13px;color:var(--text-faint)}
.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-24);padding:var(--space-24) 0;border-top:1px solid var(--line-hair);border-bottom:1px solid var(--line-hair)}

.tabs{display:flex;gap:6px;padding:5px;background:var(--ink-900);border:1px solid var(--line-hair);border-radius:var(--radius-md);width:fit-content}
.tab{
  padding:9px 16px;border-radius:var(--radius-sm);border:0;background:transparent;
  color:var(--text-muted);font-size:var(--size-body-sm);font-weight:700;cursor:pointer;
  transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard);
}
.tab[aria-selected="true"]{background:var(--surface-raised);color:var(--cream-050)}
.fitlist{list-style:none;margin:var(--space-20) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-12)}
/* A class rule beats the browser's own [hidden] rule, so say it here or both
   tab panels render at once. */
.fitlist[hidden]{display:none}
.fitlist li{display:flex;gap:var(--space-12);align-items:flex-start;color:var(--text-muted);font-size:var(--size-body)}
.fitlist .ico{flex:0 0 auto;margin-top:3px;color:var(--coral-300)}

/* --- booking band --- */
.book{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:var(--space-32);padding:clamp(24px,3.4vw,44px);
  background:var(--surface-card);border:1px solid var(--line-coral);border-radius:var(--radius-lg);
  box-shadow:var(--glow-coral);
}
.book h2{font-size:clamp(1.5rem,2.6vw,2.25rem);margin-bottom:12px}
.book p{color:var(--text-muted);max-width:52ch;font-size:var(--size-body-lg);line-height:1.7}
.book .terms{margin-top:var(--space-16);display:flex;flex-wrap:wrap;gap:var(--space-16)}
.book .right{display:flex;flex-direction:column;gap:var(--space-12);align-items:flex-start}

/* --- footer --- */
.foot{border-top:1px solid var(--line-hair);background:var(--ink-900);padding:var(--space-40) var(--page-gutter)}
.foot .grid{display:flex;flex-wrap:wrap;gap:var(--space-32);justify-content:space-between;align-items:flex-start}
.foot .col{display:flex;flex-direction:column;gap:10px;min-width:150px}
.foot .col b{font-size:var(--size-micro);font-weight:800;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint)}
.foot .col a{color:var(--text-muted);font-size:var(--size-body-sm)}
.foot .col a:hover{color:var(--cream-050)}
.foot .base{margin-top:var(--space-32);padding-top:var(--space-20);border-top:1px solid var(--line-hair);display:flex;flex-wrap:wrap;gap:var(--space-16);justify-content:space-between;color:var(--text-faint);font-size:13px}

/* --- entrance. Transform + opacity only, so it can never shift layout. --- */
.rv{opacity:0;transform:translateY(14px);transition:opacity var(--dur-entrance) var(--ease-out-expo),transform var(--dur-entrance) var(--ease-out-expo)}
.rv.in{opacity:1;transform:none}
.no-js .rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}

/* --- responsive --- */
@media (max-width:1080px){
  .hero-grid{grid-template-columns:1fr;gap:var(--space-32)}
  .hero{min-height:0;padding-bottom:var(--space-24)}
  .hero h1{max-width:none}
  .split{grid-template-columns:1fr}
  .proof{columns:2}
}
@media (max-width:860px){
  .navlinks{display:none}
  .two-up,.two-up.three{grid-template-columns:1fr}
  .stat-row{grid-template-columns:repeat(2,1fr);gap:var(--space-20)}
}
@media (max-width:600px){
  .proof{columns:1}
  .creds{grid-template-columns:1fr}
  .about-stats{grid-template-columns:1fr;gap:var(--space-16)}
  .btn{width:100%}
  .hero-cta{flex-direction:column;align-items:stretch}
  .book .right{width:100%}
  .book .right .btn{width:100%}
}

/* ==========================================================================
   Elegance layer (2026-08-22). Lifted from buildmarketclose.com: film grain,
   coral glow blobs, a floating glass pill nav, light-sweep buttons, deep
   gradient cards with a cursor spotlight, and trust tiles with real depth.
   Appended last so it wins over the base rules above.
   ========================================================================== */
.noise{position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.045;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero::before{background:linear-gradient(rgba(255,90,43,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,90,43,.05) 1px,transparent 1px);
  background-size:40px 40px;opacity:.55;-webkit-mask-image:none;mask-image:none}
.blob{position:absolute;border-radius:999px;pointer-events:none;filter:blur(110px);z-index:0}
.blob.b1{width:56rem;height:34rem;left:50%;top:-160px;transform:translateX(-50%);background:rgba(255,90,43,.16);animation:drift 9s ease-in-out infinite}
.blob.b2{width:360px;height:360px;left:-140px;bottom:40px;background:rgba(255,90,43,.07);animation:drift 12s ease-in-out infinite reverse}
@keyframes drift{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-18px)}}
.blob.b2{animation-name:drift2}
@keyframes drift2{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}

/* headline accent words */
.hero h1 .hl{color:var(--coral-300)}
.hero h1{font-size:clamp(2.75rem,6vw,5.6rem);max-width:12ch}
.hero .lead{font-size:clamp(1rem,1.2vw,1.125rem);color:var(--text-muted)}

/* floating pill nav */
.topbar{top:14px;left:50%;right:auto;transform:translateX(-50%);width:calc(100% - 32px);max-width:1180px;height:auto;
  padding:10px 12px 10px 22px;border-radius:var(--radius-pill);border:1px solid transparent;
  transition:background .4s ease,box-shadow .4s ease,border-color .4s ease}
.topbar.stuck{background:rgba(23,22,26,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-color:rgba(255,90,43,.18);box-shadow:0 10px 40px rgba(0,0,0,.45)}
.topbar .inner{max-width:none}
.topbar .btn{border-radius:var(--radius-pill);padding:11px 18px}

/* buttons: light sweep + glow */
.btn{border-radius:12px;padding:16px 26px;font-size:1rem;position:relative;overflow:hidden;
  transition:transform .4s cubic-bezier(.25,.46,.45,.94),background .2s ease,box-shadow .4s ease,border-color .2s ease,color .2s ease}
.btn-primary{box-shadow:0 6px 20px rgba(255,90,43,.32),inset 0 1px 0 rgba(255,255,255,.28)}
.btn-primary::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.24),rgba(255,255,255,0));transform:translateY(100%);
  transition:transform .5s cubic-bezier(.25,.46,.45,.94)}
.btn-primary:hover{background:var(--coral-300);transform:scale(1.03) translateY(-1px);box-shadow:0 14px 36px rgba(255,90,43,.45),inset 0 1px 0 rgba(255,255,255,.28)}
.btn-primary:hover::before{transform:translateY(0)}
.btn-secondary:hover{background:transparent;border-color:var(--coral-300);color:var(--coral-300);transform:translateY(-1px)}
.topbar .btn{padding:11px 18px;font-size:var(--size-body-sm)}

/* cards with depth + cursor spotlight */
.venture,.svc,.eof,.cred,.book,.portrait,.about-media .shot{
  background:linear-gradient(135deg,#25242e,#1a191f);
  border-color:rgba(250,247,242,.09);
  box-shadow:0 1px 0 rgba(250,247,242,.06) inset,0 30px 60px -30px rgba(0,0,0,.85);
}
.venture,.svc,.eof,.book{border-radius:22px;position:relative;overflow:hidden}
.venture::before,.svc::before,.cred::before,.stat-row .stat::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;
  background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(255,90,43,.16),transparent 55%);
  transition:opacity .35s ease}
.venture:hover::before,.svc:hover::before,.cred:hover::before,.stat-row .stat:hover::before{opacity:1}
.venture:hover,.svc:hover{transform:translateY(-5px);border-color:rgba(255,90,43,.45);
  box-shadow:0 1px 0 rgba(250,247,242,.08) inset,0 40px 70px -30px rgba(0,0,0,.9),0 0 0 1px rgba(255,90,43,.18),0 24px 60px -24px rgba(255,90,43,.35)}
.venture>*,.svc>*{position:relative;z-index:1}
.venture .mark{width:52px;height:52px;border-radius:12px;background:#0E0D11;box-shadow:0 8px 20px -8px rgba(0,0,0,.8)}
.venture h3,.svc h3{font-size:1.3rem}
.venture p,.svc p{font-size:var(--size-body)}
.svc .chip{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,rgba(255,90,43,.22),rgba(255,90,43,.06));box-shadow:0 8px 20px -10px rgba(255,90,43,.6)}

/* trust tiles (the 4 under the portrait) */
.cred{position:relative;padding:15px 17px;border-radius:14px;transition:transform .35s var(--ease-out-expo),border-color .2s ease,box-shadow .35s ease}
.cred>*{position:relative;z-index:1}
.cred:hover,a.cred:hover{transform:translateY(-3px);border-color:rgba(255,90,43,.45);
  box-shadow:0 1px 0 rgba(250,247,242,.08) inset,0 24px 40px -22px rgba(0,0,0,.9),0 16px 40px -20px rgba(255,90,43,.4)}
.cred .ico{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;margin-top:0;
  background:linear-gradient(135deg,rgba(255,90,43,.22),rgba(255,90,43,.06));border:1px solid rgba(255,90,43,.3);
  box-shadow:0 6px 16px -8px rgba(255,90,43,.7)}
.cred:hover .ico{background:var(--coral-300);color:var(--ink-900);box-shadow:0 8px 20px -6px rgba(255,90,43,.8)}
.cred .tx b{font-size:var(--size-body)}

/* stat strip -> tiles */
.stat-row{border-top:0;gap:var(--gap-tile);padding:var(--space-12) 0 var(--space-32)}
.stat-row .stat{position:relative;padding:18px 20px;border-radius:16px;border:1px solid rgba(250,247,242,.09);
  background:linear-gradient(135deg,#25242e,#1a191f);box-shadow:0 1px 0 rgba(250,247,242,.06) inset,0 24px 40px -28px rgba(0,0,0,.85);
  transition:transform .35s var(--ease-out-expo),border-color .2s ease,box-shadow .35s ease}
.stat-row .stat>*{position:relative;z-index:1}
.stat-row .stat:hover{transform:translateY(-3px);border-color:rgba(255,90,43,.45);box-shadow:0 1px 0 rgba(250,247,242,.08) inset,0 30px 50px -28px rgba(0,0,0,.9),0 16px 40px -20px rgba(255,90,43,.35)}
.stat-row .stat b{font-size:clamp(1.75rem,2.8vw,2.4rem)}
.stat-row .stat:hover b{color:var(--coral-300)}

/* portrait */
.portrait{border-radius:24px;box-shadow:0 40px 90px -30px rgba(0,0,0,.9),0 0 0 1px rgba(255,90,43,.12)}
.portrait::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 rgba(250,247,242,.12)}

/* channel pills */
.channel{padding:12px 18px;background:linear-gradient(135deg,#25242e,#1a191f);border-color:rgba(250,247,242,.10);
  box-shadow:0 14px 30px -20px rgba(0,0,0,.9);transition:transform .3s var(--ease-out-expo),border-color .2s ease,color .2s ease,box-shadow .3s ease}
.channel:hover{transform:translateY(-3px);border-color:rgba(255,90,43,.5);box-shadow:0 18px 36px -18px rgba(0,0,0,.9),0 10px 30px -16px rgba(255,90,43,.5)}
.channel .ico img{filter:none}

/* sections */
.sec-head h2{font-size:clamp(2rem,3.6vw,3.25rem)}
.sec-head{gap:var(--space-20)}
.band{background:linear-gradient(180deg,var(--ink-850),#141318)}
.proof img{border-radius:14px;box-shadow:0 20px 40px -26px rgba(0,0,0,.9);transition:transform .35s var(--ease-out-expo),border-color .2s ease}
.proof figure:hover img{transform:translateY(-3px);border-color:rgba(255,90,43,.4)}
.about-stats .stat b{transition:color .2s ease}
.about-stats .stat:hover b{color:var(--coral-300)}
.book{border-radius:26px;box-shadow:0 0 0 1px rgba(255,90,43,.28),0 40px 90px -30px rgba(0,0,0,.9),0 30px 80px -30px rgba(255,90,43,.35);
  background:linear-gradient(135deg,#2a2230 0%,#1a191f 60%)}
.book::after{content:"";position:absolute;inset:-40% auto auto -10%;width:60%;height:180%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(255,90,43,.14),transparent);filter:blur(30px)}
.book>*{position:relative;z-index:1}

@media (max-width:860px){
  .topbar{padding:8px 8px 8px 16px}
  .blob{display:none}
}
@media (prefers-reduced-motion:reduce){.blob{animation:none}}

/* --- round 3: softer section headlines, glowing eyebrows, fit card in hero --- */
h2{text-transform:none;letter-spacing:-.04em;line-height:1.02;font-weight:900}
.sec-head h2{font-size:clamp(2rem,3.4vw,3rem)}
.book h2{text-transform:none}
.eyebrow,.sec-head .eyebrow{
  color:var(--coral-300);position:relative;display:inline-flex;align-items:center;gap:8px;
  width:fit-content;padding:7px 14px;border-radius:var(--radius-pill);
  background:linear-gradient(135deg,rgba(255,90,43,.14),rgba(255,90,43,.04));
  border:1px solid rgba(255,90,43,.28);overflow:hidden;
  transition:transform .3s var(--ease-out-expo),border-color .2s ease,box-shadow .3s ease;
}
.eyebrow::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;
  background:radial-gradient(160px circle at var(--mx,50%) var(--my,50%),rgba(255,90,43,.38),transparent 60%);
  transition:opacity .3s ease}
.eyebrow:hover{transform:translateY(-2px);border-color:rgba(255,90,43,.6);box-shadow:0 10px 28px -14px rgba(255,90,43,.7)}
.eyebrow:hover::before{opacity:1}

.fit{position:relative;padding:14px 16px;border-radius:16px;overflow:hidden;
  background:linear-gradient(135deg,#25242e,#1a191f);border:1px solid rgba(250,247,242,.09);
  box-shadow:0 1px 0 rgba(250,247,242,.06) inset,0 30px 60px -30px rgba(0,0,0,.85);
  transition:transform .35s var(--ease-out-expo),border-color .2s ease,box-shadow .35s ease;max-width:520px}
.fit::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;
  background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(255,90,43,.16),transparent 55%);
  transition:opacity .35s ease}
.fit:hover{transform:translateY(-3px);border-color:rgba(255,90,43,.45);
  box-shadow:0 1px 0 rgba(250,247,242,.08) inset,0 40px 70px -30px rgba(0,0,0,.9),0 24px 60px -24px rgba(255,90,43,.35)}
.fit:hover::before{opacity:1}
.fit>*{position:relative;z-index:1}
.fit .tabs{width:100%;background:rgba(14,13,17,.7);box-shadow:inset 0 2px 10px rgba(0,0,0,.4)}
.fit .tab{flex:1}
.fit .tab[aria-selected="true"]{background:var(--coral-300);color:var(--ink-900);box-shadow:0 4px 14px rgba(255,90,43,.45),inset 0 1px 0 rgba(255,255,255,.25)}
.fit .fitlist{margin-top:var(--space-12);gap:9px}
.fit .fitlist li{font-size:var(--size-body-sm)}

/* --- round 4: footer links glow orange, channel pills get the cursor spotlight --- */
.foot .col a:hover,.foot .base a:hover,.navlinks a:hover{color:var(--coral-300);text-shadow:0 0 14px rgba(255,90,43,.55)}
.foot .col a,.foot .base a,.navlinks a{transition:color .2s ease,text-shadow .3s ease}
.channel{position:relative;overflow:hidden}
.channel::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;
  background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),rgba(255,90,43,.24),transparent 58%);
  transition:opacity .3s ease}
.channel:hover::before{opacity:1}
.channel>*{position:relative;z-index:1}
.channel:hover{color:var(--cream-050);border-color:rgba(255,90,43,.55)}

/* --- round 5: the orange words glimmer. A light band sweeps across the text every few seconds. --- */
.hl,.hero h1 .hl{
  color:var(--coral-300);
  background:linear-gradient(100deg,var(--coral-300) 0%,var(--coral-300) 40%,#FFD2BF 50%,var(--coral-300) 60%,var(--coral-300) 100%);
  background-size:250% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  animation:glimmer 4.5s ease-in-out infinite;
}
@keyframes glimmer{0%,20%{background-position:120% 0}60%,100%{background-position:-120% 0}}
@media (prefers-reduced-motion:reduce){.hl,.hero h1 .hl{animation:none;color:var(--coral-300);-webkit-text-fill-color:var(--coral-300)}}
