/* =========================================================================
   AEGIS CONSORTIUM GLOBAL — Section layer
   Hero · Ticker · Metrics · Problem · Shift · Services (stack) · Process
   Proof · Standards · Founder · FAQ · CTA · Blog · Case studies · Contact
   ========================================================================= */

/* ============================================================ HERO */
.hero{
  position:relative;
  min-height:100svh;
  display:flex;align-items:center;
  padding-top:calc(var(--header-h) + 3.5rem);
  padding-bottom:clamp(4rem,8vw,7rem);
  background:
    radial-gradient(ellipse 120% 80% at 50% -10%,rgba(217,168,63,.10),transparent 60%),
    linear-gradient(180deg,var(--void) 0%,#04101d 55%,var(--void) 100%);
  overflow:hidden;
}
.hero__shield{
  position:absolute;top:50%;left:50%;translate:-50% -50%;
  width:min(150vw,1250px);opacity:.055;
  filter:blur(.6px);
  pointer-events:none;z-index:0;
  will-change:transform;
}
.hero__inner{position:relative;z-index:3;width:100%}

.hero__flag{
  display:inline-flex;align-items:center;gap:.7rem;
  padding:.5rem 1.05rem .5rem .6rem;
  border:1px solid var(--line);border-radius:var(--r-pill);
  background:var(--glass);backdrop-filter:blur(10px);
  font-size:var(--t-micro);color:var(--ink-soft);
  letter-spacing:.05em;
  margin-bottom:clamp(1.4rem,3vw,2.2rem);
}
.hero__flag i{
  width:7px;height:7px;border-radius:50%;background:var(--gold-lit);
  box-shadow:0 0 0 4px rgba(217,168,63,.18);
  animation:pulse 2.4s var(--ease-soft) infinite;
}
@keyframes pulse{0%,100%{box-shadow:0 0 0 3px rgba(217,168,63,.2)}50%{box-shadow:0 0 0 8px rgba(217,168,63,0)}}

.hero h1{
  font-size:var(--t-h1);
  font-weight:600;
  letter-spacing:-.042em;
  line-height:.98;
  max-width:16ch;
  margin-bottom:clamp(1.5rem,3vw,2.2rem);
}
.hero__lead{
  font-size:var(--t-lead);
  color:var(--ink-soft);
  max-width:52ch;
  margin-bottom:clamp(2rem,4vw,2.8rem);
}
.hero__cues{
  display:flex;flex-wrap:wrap;gap:.55rem .6rem;
  margin-top:clamp(2.4rem,5vw,3.6rem);
}
.hero__cue{
  font-size:var(--t-micro);color:var(--ink-mute);
  padding:.42rem .9rem;border:1px solid var(--line-soft);border-radius:var(--r-pill);
  background:rgba(255,255,255,.02);
  transition:border-color .3s,color .3s;
}
.hero__cue:hover{border-color:var(--line-gold);color:var(--ink)}

.hero__scroll{
  position:absolute;bottom:2rem;left:50%;translate:-50% 0;z-index:4;
  display:none;flex-direction:column;align-items:center;gap:.7rem;
  font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-faint);
}
@media (min-height:700px) and (min-width:760px){ .hero__scroll{display:flex} }
.hero__scroll i{
  width:1px;height:52px;background:linear-gradient(180deg,var(--gold),transparent);
  position:relative;overflow:hidden;
}
.hero__scroll i::after{
  content:"";position:absolute;top:0;left:0;width:100%;height:16px;
  background:var(--gold-peak);
  animation:scrollDot 2s var(--ease-soft) infinite;
}
@keyframes scrollDot{0%{transform:translateY(-100%);opacity:0}30%{opacity:1}100%{transform:translateY(340%);opacity:0}}

/* ============================================================ TICKER */
.ticker{
  border-block:1px solid var(--line-soft);
  background:var(--void);
  padding-block:1.15rem;
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
}
.ticker__track{
  display:flex;width:max-content;
  animation:marquee 34s linear infinite;
}
.ticker:hover .ticker__track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
.ticker__set{display:flex;align-items:center;flex:none}
.ticker__item{
  display:inline-flex;align-items:center;gap:1.6rem;
  padding-inline:1.6rem;
  font-size:clamp(.78rem,1.5vw,.95rem);
  font-weight:600;letter-spacing:.24em;text-transform:uppercase;
  color:var(--ink-faint);white-space:nowrap;
  transition:color .4s var(--ease);
}
.ticker__item:nth-child(odd){color:rgba(217,168,63,.55)}
.ticker:hover .ticker__item{color:var(--ink-mute)}
.ticker__item::after{content:"";width:5px;height:5px;rotate:45deg;background:var(--gold);opacity:.55}

/* ============================================================ METRICS */
.metrics{
  display:grid;gap:1px;
  background:var(--line-soft);
  border-block:1px solid var(--line-soft);
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media (min-width:900px){ .metrics{grid-template-columns:repeat(4,minmax(0,1fr))} }
.metric{
  position:relative;background:var(--void);
  padding:clamp(1.8rem,4vw,3.2rem) clamp(1.1rem,2.4vw,2rem);
  text-align:center;overflow:hidden;
  transition:background .5s var(--ease);
}
.metric::before{
  content:"";position:absolute;inset:0;opacity:0;
  background:radial-gradient(ellipse 90% 100% at 50% 100%,rgba(217,168,63,.14),transparent 70%);
  transition:opacity .6s var(--ease);
}
.metric:hover{background:#04101c}
.metric:hover::before{opacity:1}
.metric__num{
  position:relative;
  font-size:clamp(2.2rem,5.5vw,3.9rem);
  font-weight:700;line-height:1;letter-spacing:-.045em;
  background:var(--metal);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  font-variant-numeric:tabular-nums;
  display:flex;align-items:baseline;justify-content:center;gap:.02em;
}
.metric__num small{font-size:.46em;font-weight:600}
.metric__label{
  position:relative;margin-top:.85rem;
  font-size:var(--t-eyebrow);letter-spacing:.19em;text-transform:uppercase;
  color:var(--ink-mute);font-weight:500;
}

/* ============================================================ PROBLEM
   A diagnostic panel rather than three equal cards: a sticky brief on the
   left, an audit-style list on the right. The concrete symptom under each
   row is what turns an abstract problem into one the reader recognises. */
.diag{
  display:grid;gap:clamp(2rem,4vw,4rem);
  grid-template-columns:minmax(0,1fr);
  align-items:start;
}
@media (min-width:1040px){
  .diag{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(2.5rem,5vw,5.5rem)}
  .diag__aside{position:sticky;top:calc(var(--header-h) + 3rem)}
}

.diag__aside h2{margin-bottom:var(--s5)}
.diag__aside .lead{margin-bottom:clamp(1.8rem,3vw,2.4rem)}

/* Self-check card — the reader scores themselves before we say anything */
.checklist{
  border:1px solid var(--line);border-radius:var(--r-lg);
  background:linear-gradient(162deg,rgba(255,255,255,.045),rgba(255,255,255,.006));
  padding:clamp(1.3rem,2.4vw,1.7rem);
  position:relative;overflow:hidden;
}
.checklist::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--line-gold),transparent);
}
.checklist__title{
  font-size:var(--t-eyebrow);font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold-lit);margin-bottom:1.1rem;
}
.checklist ul{display:grid;gap:.72rem}
.checklist li{
  display:flex;gap:.72rem;align-items:flex-start;
  font-size:var(--t-small);line-height:1.55;color:var(--ink-soft);
}
.checklist li i{
  flex:none;width:17px;height:17px;margin-top:.16rem;border-radius:4px;
  border:1px solid var(--line-gold);background:rgba(217,168,63,.08);
  position:relative;
}
.checklist li i::after{
  content:"";position:absolute;left:4.5px;top:1.5px;
  width:4px;height:8px;border:solid var(--gold-lit);
  border-width:0 1.6px 1.6px 0;transform:rotate(42deg);
  opacity:0;transition:opacity .4s var(--ease);
  transition-delay:calc(var(--i,0) * 110ms + 260ms);
}
.is-in .checklist li i::after,.checklist.is-in li i::after{opacity:1}
.checklist__foot{
  margin-top:1.25rem;padding-top:1.1rem;border-top:1px solid var(--line-soft);
  font-size:var(--t-micro);color:var(--ink-mute);line-height:1.6;
}
.checklist__foot strong{color:var(--ink)}

/* The three problems */
.diag__list{display:grid;gap:clamp(.9rem,1.6vw,1.15rem);counter-reset:diag}
.diag-row{
  position:relative;
  display:grid;gap:clamp(1rem,2.2vw,1.7rem);
  grid-template-columns:minmax(0,1fr);
  padding:clamp(1.4rem,2.6vw,2rem) clamp(1.4rem,2.6vw,2rem) clamp(1.4rem,2.6vw,2rem) clamp(1.6rem,3vw,2.3rem);
  border:1px solid var(--line);border-radius:var(--r-lg);
  background:linear-gradient(150deg,rgba(255,255,255,.042),rgba(255,255,255,.005));
  overflow:hidden;
  transition:transform .55s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease);
}
@media (min-width:640px){
  .diag-row{grid-template-columns:auto minmax(0,1fr);align-items:start}
}
/* Gold edge that fills in when the row scrolls into view */
.diag-row::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:2px;
  background:var(--metal);
  transform:scaleY(0);transform-origin:50% 0;
  transition:transform .8s var(--ease);
  transition-delay:var(--d,0ms);
}
.diag-row.is-in::before{transform:scaleY(1)}
.diag-row::after{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(217,168,63,.12),transparent 62%);
  opacity:0;transition:opacity .5s var(--ease);
}
.diag-row:hover{transform:translateX(6px);border-color:var(--line-gold);box-shadow:var(--shadow-md)}
.diag-row:hover::after{opacity:1}

.diag-row__mark{
  display:flex;align-items:center;gap:.85rem;
  position:relative;
}
@media (min-width:640px){
  .diag-row__mark{flex-direction:column;align-items:flex-start;gap:.9rem;min-width:78px}
}
.diag-row__n{
  font-size:clamp(2rem,4.4vw,3.1rem);font-weight:700;line-height:.85;
  letter-spacing:-.05em;color:transparent;
  -webkit-text-stroke:1px rgba(217,168,63,.42);
  font-variant-numeric:tabular-nums;
  transition:-webkit-text-stroke-color .5s var(--ease);
}
.diag-row:hover .diag-row__n{-webkit-text-stroke-color:rgba(242,202,107,.85)}
.diag-row__ico{
  width:38px;height:38px;flex:none;display:grid;place-items:center;
  border:1px solid var(--line);border-radius:var(--r-md);
  background:rgba(217,168,63,.05);color:var(--gold-lit);
  transition:all .5s var(--ease);
}
.diag-row:hover .diag-row__ico{border-color:var(--line-gold);background:rgba(217,168,63,.1);transform:rotate(-4deg)}
.diag-row__ico svg{width:17px;height:17px}

.diag-row__chip{
  display:inline-block;
  font-size:.64rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);
  padding:.28rem .62rem;border-radius:var(--r-sm);
  border:1px solid rgba(217,168,63,.24);background:rgba(217,168,63,.07);
  margin-bottom:.9rem;
}
.diag-row h3{
  font-size:clamp(1.15rem,2.1vw,1.5rem);letter-spacing:-.022em;
  margin-bottom:.7rem;position:relative;
}
.diag-row p{font-size:var(--t-small);color:var(--ink-mute);line-height:1.7;position:relative;max-width:52ch}

.diag-row__symptom{
  position:relative;
  margin-top:1.15rem;padding-top:1.05rem;
  border-top:1px solid var(--line-soft);
  display:flex;gap:.7rem;align-items:flex-start;
}
.diag-row__symptom span:first-child{
  flex:none;font-size:.62rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-faint);padding-top:.28rem;
}
.diag-row__symptom q{
  font-family:var(--serif);font-style:italic;
  font-size:clamp(.98rem,1.7vw,1.12rem);line-height:1.5;
  color:var(--ink);quotes:none;
}

/* ============================================================ SHIFT / comparison */
.shift{
  display:grid;gap:1px;background:var(--line-soft);
  border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
}
.shift__head{
  display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-soft);
}
.shift__h{
  background:var(--base);padding:1.15rem 1.4rem;
  font-size:var(--t-eyebrow);letter-spacing:.18em;text-transform:uppercase;font-weight:600;
}
.shift__h--bad{color:var(--ink-faint)}
.shift__h--good{color:var(--gold-lit);background:linear-gradient(180deg,rgba(217,168,63,.07),var(--base))}
.shift__row{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-soft)}
.shift__cell{
  background:var(--void);padding:1.15rem 1.4rem;
  font-size:var(--t-small);line-height:1.6;
  display:flex;gap:.75rem;align-items:flex-start;
  transition:background .45s var(--ease);
}
.shift__row:hover .shift__cell{background:#04101c}
.shift__cell--bad{color:var(--ink-faint)}
.shift__cell--good{color:var(--ink-soft)}
.shift__cell i{flex:none;margin-top:.42rem;width:6px;height:6px;rotate:45deg;background:currentColor;opacity:.45}
.shift__cell--good i{background:var(--gold);opacity:1}
@media (max-width:700px){
  .shift__head{display:none}
  .shift__row{grid-template-columns:1fr}
  .shift__cell{padding:1rem 1.15rem}
  .shift__cell--bad::before{content:"Alone";font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);position:absolute;margin-top:-1.35rem}
  .shift__cell--good::before{content:"With Aegis";font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);position:absolute;margin-top:-1.35rem}
  .shift__cell{position:relative;padding-top:2.1rem}
}

/* ============================================================ SERVICES — stacked scroll cards */
.services{position:relative;background:var(--base)}
.svc-stack{position:relative;display:grid;gap:clamp(1rem,2vw,1.4rem)}
.svc{
  position:sticky;
  /* Each card parks 12px lower than the one before, so the stack stays legible
     instead of collapsing into a single rectangle. */
  top:calc(var(--header-h) + clamp(1rem,3vw,2.4rem) + (var(--i,0) * 12px));
  border:1px solid var(--line);
  border-radius:var(--r-xl);
  background:linear-gradient(150deg,#0c1b2c 0%,#081422 58%,#0a1728 100%);
  box-shadow:var(--shadow-md);
  overflow:hidden;
  transform-origin:50% 0;
  transition:transform .5s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease);
}
.svc:hover{border-color:var(--line-gold);box-shadow:var(--shadow-lg),var(--glow-gold)}
.svc::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(700px circle at var(--mx,80%) var(--my,0%),rgba(217,168,63,.10),transparent 58%);
  opacity:0;transition:opacity .6s var(--ease);
}
.svc:hover::before{opacity:1}
.svc__inner{
  position:relative;z-index:2;
  display:grid;gap:clamp(1.6rem,3vw,2.6rem);
  padding:clamp(1.7rem,4vw,3.4rem);
  align-items:center;
}
@media (min-width:900px){
  .svc__inner{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(2.4rem,4vw,4.5rem)}
}
.svc__num{
  font-size:clamp(2.6rem,7vw,5.4rem);font-weight:700;line-height:.8;
  letter-spacing:-.05em;
  color:transparent;
  -webkit-text-stroke:1px rgba(217,168,63,.34);
  margin-bottom:1.2rem;display:block;
  font-variant-numeric:tabular-nums;
}
.svc h3{
  font-size:clamp(1.5rem,3.2vw,2.5rem);
  letter-spacing:-.032em;margin-bottom:1rem;
}
.svc__desc{font-size:var(--t-small);color:var(--ink-mute);max-width:46ch;margin-bottom:1.7rem;line-height:1.7}
.svc__tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.9rem}
.svc__tags span{
  font-size:.72rem;letter-spacing:.06em;
  padding:.4rem .82rem;border-radius:var(--r-pill);
  border:1px solid var(--line);color:var(--ink-mute);
  background:rgba(255,255,255,.025);
  transition:all .35s var(--ease);
}
.svc:hover .svc__tags span{border-color:rgba(217,168,63,.22);color:var(--ink-soft)}

.svc__visual{
  position:relative;aspect-ratio:4/3;border-radius:var(--r-lg);
  border:1px solid var(--line-soft);
  background:radial-gradient(circle at 68% 26%,rgba(217,168,63,.12),transparent 58%),
             linear-gradient(160deg,#0a1828,#061020);
  display:grid;place-items:center;overflow:hidden;
}
@media (max-width:899px){ .svc__visual{aspect-ratio:16/9} }
.svc__visual::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(to right,rgba(198,203,210,.05) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(198,203,210,.05) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:radial-gradient(circle at 50% 50%,#000,transparent 76%);
  -webkit-mask-image:radial-gradient(circle at 50% 50%,#000,transparent 76%);
}
.svc__icon{
  position:relative;width:clamp(56px,10vw,88px);height:clamp(56px,10vw,88px);
  color:var(--gold-lit);
  filter:drop-shadow(0 8px 26px rgba(217,168,63,.4));
  transition:transform .8s var(--ease);
}
.svc:hover .svc__icon{transform:scale(1.08) rotate(-3deg)}
.svc__orbit{
  position:absolute;width:78%;aspect-ratio:1;border-radius:50%;
  border:1px dashed rgba(217,168,63,.16);
  animation:orbit 26s linear infinite;
}
.svc__orbit:nth-of-type(2){width:56%;animation-duration:18s;animation-direction:reverse;border-style:solid;border-color:rgba(198,203,210,.08)}
@keyframes orbit{to{rotate:360deg}}
.svc__orbit::after{
  content:"";position:absolute;top:-3px;left:50%;translate:-50% 0;
  width:6px;height:6px;border-radius:50%;background:var(--gold-lit);
  box-shadow:0 0 12px var(--gold);
}

/* ============================================================ PROCESS
   A schedule, not a list. The Gantt shows how the phases overlap and how
   long each really takes; the load meter under each card shows the share of
   the work still sitting with the client — which is the actual promise. */
.flow{display:grid;gap:clamp(2rem,4vw,3.2rem)}

.flow__chart{
  border:1px solid var(--line);border-radius:var(--r-lg);
  background:linear-gradient(162deg,rgba(255,255,255,.04),rgba(255,255,255,.006));
  padding:clamp(1.2rem,2.6vw,2rem);
  overflow:hidden;
}
.flow__head{
  display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;align-items:baseline;
  justify-content:space-between;margin-bottom:clamp(1.2rem,2.4vw,1.8rem);
}
.flow__head h3{font-size:var(--t-h4);letter-spacing:-.018em}
.flow__note{font-size:var(--t-micro);color:var(--ink-faint)}

.flow__grid{position:relative}
/* Week gridlines behind the bars */
.flow__grid::before{
  content:"";position:absolute;left:var(--label-w);right:0;top:0;bottom:26px;
  background-image:repeating-linear-gradient(90deg,var(--line-soft) 0 1px,transparent 1px var(--tick));
  pointer-events:none;
}
.flow{--label-w:0px;--tick:16.666%}
@media (min-width:760px){ .flow{--label-w:150px} }

.flow-row{
  display:grid;align-items:center;
  grid-template-columns:var(--label-w) minmax(0,1fr);
  gap:0 1rem;
  padding-block:.42rem;
}
.flow-row__label{
  display:none;
  font-size:var(--t-micro);font-weight:600;color:var(--ink-soft);
  letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
@media (min-width:760px){ .flow-row__label{display:block} }
.flow-row__track{position:relative;height:38px}

.flow-bar{
  position:absolute;top:0;bottom:0;
  left:calc(var(--start) * 1%);
  width:calc(var(--span) * 1%);
  min-width:34px;
  border-radius:var(--r-sm);
  background:var(--metal);
  box-shadow:0 8px 24px -12px rgba(217,168,63,.75);
  display:flex;align-items:center;
  padding-inline:.7rem;
  transform:scaleX(0);transform-origin:0 50%;
  transition:transform .95s var(--ease),filter .4s var(--ease);
  transition-delay:var(--d,0ms);
  will-change:transform;
}
.is-in .flow-bar{transform:scaleX(1)}
.flow-bar span{
  font-size:.7rem;font-weight:700;letter-spacing:.04em;color:#0b0f16;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  opacity:0;transition:opacity .5s var(--ease);
  transition-delay:calc(var(--d,0ms) + 420ms);
}
.is-in .flow-bar span{opacity:1}
@media (max-width:759px){ .flow-bar span{font-size:.64rem} }

/* The open-ended phase fades out to the right instead of stopping dead */
.flow-bar.is-open{
  background:linear-gradient(90deg,#d9a83f 0%,#f2ca6b 40%,rgba(217,168,63,.22) 100%);
  box-shadow:none;
}
.flow-bar.is-open::after{
  content:"";position:absolute;right:-2px;top:50%;translate:0 -50%;
  width:0;height:0;
  border-left:9px solid rgba(217,168,63,.45);
  border-block:7px solid transparent;
}
.flow-row:hover .flow-bar{filter:brightness(1.12)}

.flow__axis{
  display:grid;grid-template-columns:var(--label-w) minmax(0,1fr);
  gap:0 1rem;margin-top:.4rem;
}
.flow__ticks{
  position:relative;height:26px;
  display:flex;justify-content:space-between;
  border-top:1px solid var(--line);
  padding-top:.45rem;
}
.flow__ticks span{
  font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-faint);font-variant-numeric:tabular-nums;
}

/* Phase cards */
.flow-cards{
  display:grid;gap:clamp(1rem,2vw,1.4rem);
  grid-template-columns:minmax(0,1fr);
}
@media (min-width:680px){ .flow-cards{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (min-width:1100px){ .flow-cards{grid-template-columns:repeat(4,minmax(0,1fr))} }

.flow-card{
  position:relative;display:flex;flex-direction:column;gap:.6rem;
  padding:clamp(1.3rem,2.4vw,1.7rem);
  border:1px solid var(--line);border-radius:var(--r-lg);
  background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.005));
  overflow:hidden;height:100%;
  transition:transform .55s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease);
}
.flow-card:hover{transform:translateY(-6px);border-color:var(--line-gold);box-shadow:var(--shadow-md)}
.flow-card__top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.flow-card__n{
  font-size:.7rem;font-weight:700;letter-spacing:.2em;color:var(--gold);
  font-variant-numeric:tabular-nums;
}
.flow-card__when{
  font-size:.64rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-faint);padding:.26rem .6rem;border-radius:var(--r-pill);
  border:1px solid var(--line-soft);white-space:nowrap;
}
.flow-card h3{font-size:var(--t-h4);letter-spacing:-.018em;margin-top:.3rem}
.flow-card p{font-size:var(--t-small);color:var(--ink-mute);line-height:1.65;flex:1}
.flow-card__gives{
  display:flex;gap:.55rem;align-items:flex-start;
  margin-top:.4rem;padding-top:.85rem;border-top:1px solid var(--line-soft);
  font-size:var(--t-micro);color:var(--ink-soft);line-height:1.5;
}
.flow-card__gives svg{width:13px;height:13px;flex:none;margin-top:.22rem;color:var(--gold-lit)}

/* Load meter — how much is still on the client */
.load{margin-top:.9rem}
.load__row{
  display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;
  font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-faint);margin-bottom:.42rem;
}
.load__row b{color:var(--gold-lit);font-size:.78rem;letter-spacing:0;font-variant-numeric:tabular-nums}
.load__bar{
  height:5px;border-radius:3px;overflow:hidden;
  background:rgba(198,203,210,.09);position:relative;
}
.load__bar i{
  position:absolute;inset:0;transform-origin:0 50%;
  transform:scaleX(0);
  background:var(--metal-soft);
  transition:transform 1.1s var(--ease);
  transition-delay:calc(var(--d,0ms) + 200ms);
}
.is-in .load__bar i{transform:scaleX(var(--v,0))}

/* Legacy list layout, kept so a child theme can still use it */
.steps{position:relative;display:grid;gap:0}
.steps::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:1px;
  background:linear-gradient(180deg,transparent,var(--line-gold) 12%,var(--line-gold) 88%,transparent);
}
@media (min-width:1040px){
  .steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s5)}
  .steps::before{left:0;right:0;top:34px;bottom:auto;width:auto;height:1px;
    background:linear-gradient(90deg,transparent,var(--line-gold) 10%,var(--line-gold) 90%,transparent)}
}
.step{position:relative;padding:0 0 2.6rem 2.1rem}
@media (min-width:1040px){ .step{padding:0} }
.step:last-child{padding-bottom:0}
.step__dot{
  position:absolute;left:-6px;top:.2rem;
  width:13px;height:13px;border-radius:50%;
  background:var(--void);border:1.5px solid var(--gold);
  transition:box-shadow .5s var(--ease),background .5s var(--ease);
}
@media (min-width:1040px){ .step__dot{position:relative;left:0;top:0;margin-bottom:2.5rem} }
.step:hover .step__dot{background:var(--gold);box-shadow:0 0 0 6px rgba(217,168,63,.16)}
.step__n{
  font-size:var(--t-eyebrow);letter-spacing:.22em;color:var(--gold);
  font-weight:700;display:block;margin-bottom:.7rem;
}
.step h3{font-size:var(--t-h4);margin-bottom:.6rem}
.step p{font-size:var(--t-small);color:var(--ink-mute);line-height:1.68;max-width:34ch}

/* ============================================================ PROOF / testimonials */
.proof{background:var(--void);overflow:hidden}
.quotes{
  display:flex;gap:var(--s5);width:max-content;
  animation:marquee 56s linear infinite;
}
.quotes-viewport{
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}
.quotes-viewport:hover .quotes{animation-play-state:paused}
.quote{
  flex:none;width:min(86vw,430px);
  padding:clamp(1.6rem,3vw,2.3rem);
  border:1px solid var(--line);border-radius:var(--r-lg);
  background:linear-gradient(160deg,rgba(255,255,255,.045),rgba(255,255,255,.008));
  display:flex;flex-direction:column;gap:1.3rem;
  transition:border-color .45s var(--ease),transform .45s var(--ease);
}
.quote:hover{border-color:var(--line-gold);transform:translateY(-4px)}
.quote__mark{
  font-family:var(--serif);font-size:3.2rem;line-height:.5;color:var(--gold);opacity:.4;
}
.quote p{font-size:var(--t-small);line-height:1.72;color:var(--ink-soft);flex:1}
.quote__by{display:flex;align-items:center;gap:.85rem;padding-top:.3rem;border-top:1px solid var(--line-soft)}
.quote__av{
  width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;
  font-size:.76rem;font-weight:700;letter-spacing:.04em;color:#0b0f16;
  background:var(--metal-soft);
}
.quote__who strong{display:block;font-size:var(--t-small);color:var(--ink);font-weight:600}
.quote__who span{font-size:var(--t-micro);color:var(--ink-faint)}

/* ============================================================ REVIEWS */
.reviews-grid{
  display:grid;gap:clamp(1rem,2.2vw,1.6rem);
  grid-template-columns:minmax(0,1fr);
}
@media (min-width:720px){ .reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (min-width:1100px){ .reviews-grid{grid-template-columns:repeat(3,minmax(0,1fr))} }

.review{
  position:relative;display:flex;flex-direction:column;gap:1.1rem;
  padding:clamp(1.5rem,2.8vw,2.1rem);
  border:1px solid var(--line);border-radius:var(--r-lg);
  background:linear-gradient(162deg,rgba(255,255,255,.045),rgba(255,255,255,.007));
  overflow:hidden;height:100%;
  transition:transform .6s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease);
}
.review::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(340px circle at var(--mx,50%) var(--my,0%),rgba(217,168,63,.11),transparent 62%);
  opacity:0;transition:opacity .5s var(--ease);
}
.review:hover{transform:translateY(-6px);border-color:var(--line-gold);box-shadow:var(--shadow-md)}
.review:hover::after{opacity:1}
.review__top{display:flex;align-items:center;justify-content:space-between;gap:1rem;position:relative}
.review__quote{
  position:relative;flex:1;
  font-size:var(--t-small);line-height:1.75;color:var(--ink-soft);
}
.review__quote::before{
  content:"\201C";font-family:var(--serif);font-size:2.6rem;line-height:0;
  color:var(--gold);opacity:.45;margin-right:.12em;vertical-align:-.32em;
}
.review__by{
  display:flex;align-items:center;gap:.85rem;position:relative;
  padding-top:1.05rem;border-top:1px solid var(--line-soft);
}
.review__av{
  width:44px;height:44px;border-radius:50%;flex:none;overflow:hidden;
  display:grid;place-items:center;
  font-size:.8rem;font-weight:700;letter-spacing:.03em;color:#0b0f16;
  background:var(--metal-soft);
}
.review__av img{width:100%;height:100%;object-fit:cover}
.review__who{min-width:0}
.review__who strong{display:block;font-size:var(--t-small);color:var(--ink);font-weight:600;line-height:1.3}
.review__who span{display:block;font-size:var(--t-micro);color:var(--ink-faint);line-height:1.4}
.review__tag{
  align-self:flex-start;position:relative;
  font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;
  padding:.32rem .7rem;border-radius:var(--r-pill);
  border:1px solid rgba(217,168,63,.2);background:rgba(217,168,63,.06);color:var(--gold-lit);
}
.review__date{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap}

/* Stars */
.stars{display:inline-flex;align-items:center;gap:2px}
.star{width:15px;height:15px;display:block;position:relative}
.star svg{width:100%;height:100%;display:block}
.star.is-full svg{fill:var(--gold-lit)}
.star.is-empty svg{fill:rgba(198,203,210,.16)}
.star.is-half svg{fill:rgba(198,203,210,.16)}
.star.is-half::after{
  content:"";position:absolute;inset:0;width:50%;overflow:hidden;
  background:var(--gold-lit);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.6l2.9 5.9 6.5.95-4.7 4.58 1.11 6.47L12 17.45 6.19 20.5 7.3 14.03 2.6 9.45l6.5-.95z'/%3E%3C/svg%3E") 0 0/30px 15px no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.6l2.9 5.9 6.5.95-4.7 4.58 1.11 6.47L12 17.45 6.19 20.5 7.3 14.03 2.6 9.45l6.5-.95z'/%3E%3C/svg%3E") 0 0/30px 15px no-repeat;
}
.stars__num{
  margin-left:.45rem;font-size:var(--t-micro);font-weight:700;
  color:var(--gold-lit);font-variant-numeric:tabular-nums;
}

/* Rating summary strip above the grid */
.rating-bar{
  display:flex;flex-wrap:wrap;align-items:center;gap:.85rem 1.4rem;
  padding:1rem 1.3rem;margin-bottom:clamp(1.6rem,3vw,2.4rem);
  border:1px solid var(--line);border-radius:var(--r-pill);
  background:linear-gradient(120deg,rgba(217,168,63,.07),rgba(255,255,255,.02));
  width:fit-content;max-width:100%;
}
.rating-bar .stars{transform:scale(1.15);transform-origin:left center}
.rating-bar__text{font-size:var(--t-small);color:var(--ink-soft)}
.rating-bar__text strong{color:var(--ink)}

/* ============================================================ TEAM */
/* Compact roster. A square portrait keeps the face prominent while cutting
   roughly a third off the card height, so six people read as a team rather
   than six posters. */
.team-grid{
  display:grid;gap:clamp(.9rem,1.8vw,1.4rem);
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media (min-width:820px){ .team-grid{grid-template-columns:repeat(3,minmax(0,1fr))} }

.person{
  display:flex;flex-direction:column;
  border:1px solid var(--line);border-radius:var(--r-lg);
  background:linear-gradient(165deg,rgba(255,255,255,.045),rgba(255,255,255,.006));
  overflow:hidden;height:100%;position:relative;
  transition:transform .55s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease);
}
.person::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;z-index:3;
  background:linear-gradient(90deg,transparent,var(--line-gold),transparent);
  opacity:0;transition:opacity .5s var(--ease);
}
.person:hover{transform:translateY(-5px);border-color:var(--line-gold);box-shadow:var(--shadow-md)}
.person:hover::before{opacity:1}

.person__photo{
  position:relative;aspect-ratio:1;overflow:hidden;
  background:linear-gradient(168deg,#0c1c2e,#050e1a);
  display:grid;place-items:center;
}
.person__photo img{
  width:100%;height:100%;object-fit:cover;object-position:center 22%;
  transition:transform 1.1s var(--ease),filter .6s var(--ease);
  filter:saturate(.92) contrast(1.02);
}
.person:hover .person__photo img{transform:scale(1.05);filter:saturate(1) contrast(1.04)}
.person__photo::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 58%,rgba(3,10,18,.5) 82%,rgba(3,10,18,.88) 100%);
}
.person__mono{
  width:74px;height:74px;border-radius:50%;
  display:grid;place-items:center;
  font-size:1.45rem;font-weight:300;letter-spacing:.05em;
  color:var(--gold-lit);
  border:1px solid rgba(217,168,63,.28);
  background:rgba(217,168,63,.06);
}
.person__loc{
  position:absolute;left:.65rem;top:.65rem;z-index:2;
  font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;font-weight:600;
  padding:.26rem .58rem;border-radius:var(--r-pill);
  background:rgba(2,8,15,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid var(--line);color:var(--ink-soft);
}

.person__body{
  padding:clamp(.85rem,1.6vw,1.15rem);
  display:flex;flex-direction:column;gap:.22rem;flex:1;
  position:relative;
}
/* Hairline that draws itself across the card on hover */
.person__body::before{
  content:"";position:absolute;top:0;left:clamp(.85rem,1.6vw,1.15rem);
  width:26px;height:2px;background:var(--metal);
  transition:width .55s var(--ease);
}
.person:hover .person__body::before{width:calc(100% - 2 * clamp(.85rem,1.6vw,1.15rem))}

.person__name{
  font-size:clamp(.95rem,1.4vw,1.06rem);letter-spacing:-.018em;line-height:1.25;
  margin-top:.3rem;transition:color .35s var(--ease);
}
.person:hover .person__name{color:var(--gold-lit)}
.person__role{
  font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--gold);font-weight:700;line-height:1.42;
}
.person__bio{
  font-size:var(--t-micro);color:var(--ink-mute);line-height:1.6;
  margin-top:.45rem;flex:1;
}
.person__links{
  display:flex;gap:.4rem;margin-top:.8rem;padding-top:.75rem;
  border-top:1px solid var(--line-soft);
}
.person__links a{
  width:29px;height:29px;display:grid;place-items:center;
  border:1px solid var(--line);border-radius:50%;color:var(--ink-mute);
  transition:all .35s var(--ease);
}
.person__links a:hover{border-color:var(--line-gold);color:var(--gold-lit);transform:translateY(-2px)}
.person__links svg{width:12px;height:12px}

.team-note{
  margin-top:clamp(1.6rem,3vw,2.4rem);
  font-size:var(--t-small);color:var(--ink-mute);
  display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;
}

/* ============================================================ STANDARDS / why */
.mark-card{
  position:relative;padding:clamp(1.7rem,3vw,2.4rem);
  border:1px solid var(--line);border-radius:var(--r-lg);
  background:linear-gradient(165deg,rgba(255,255,255,.04),transparent 75%);
  overflow:hidden;
  transition:transform .6s var(--ease),border-color .5s var(--ease);
}
.mark-card:hover{transform:translateY(-6px);border-color:var(--line-gold)}
.mark-card__glyph{
  width:44px;height:44px;margin-bottom:1.4rem;color:var(--gold-lit);
  transition:transform .6s var(--ease);
}
.mark-card:hover .mark-card__glyph{transform:scale(1.1) rotate(-4deg)}
.mark-card h3{font-size:var(--t-h4);margin-bottom:.7rem}
.mark-card p{font-size:var(--t-small);color:var(--ink-mute);line-height:1.68}
.mark-card__line{
  position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--metal);
  transition:width .7s var(--ease);
}
.mark-card:hover .mark-card__line{width:100%}

/* ============================================================ FOUNDER */
.founder{
  display:grid;gap:clamp(2rem,5vw,4rem);align-items:center;
  grid-template-columns:minmax(0,1fr);
}
@media (min-width:900px){ .founder{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)} }
.founder__portrait{
  position:relative;aspect-ratio:4/5;border-radius:var(--r-xl);overflow:hidden;
  border:1px solid var(--line);
  background:radial-gradient(circle at 50% 34%,rgba(217,168,63,.16),transparent 62%),
             linear-gradient(160deg,#0b1b2c,#050e1a);
  display:grid;place-items:center;
}
.founder__portrait img{width:100%;height:100%;object-fit:cover}
.founder__portrait .founder__seal{width:56%;opacity:.85;filter:drop-shadow(0 14px 40px rgba(217,168,63,.34))}
.founder__quote{
  font-size:clamp(1.3rem,2.6vw,2.05rem);
  line-height:1.36;letter-spacing:-.025em;color:var(--ink);
  font-weight:500;margin-bottom:1.9rem;text-wrap:balance;
}
.founder__quote::before{content:"\201C";color:var(--gold);font-family:var(--serif)}
.founder__quote::after{content:"\201D";color:var(--gold);font-family:var(--serif)}
.founder__by{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.founder__by strong{display:block;font-size:1.02rem;color:var(--ink);font-weight:600}
.founder__by span{font-size:var(--t-micro);color:var(--ink-faint)}

/* ============================================================ FAQ */
.faq{display:grid;gap:0;border-top:1px solid var(--line-soft)}
.faq__item{border-bottom:1px solid var(--line-soft)}
.faq__q{
  width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:1.4rem;
  padding:1.5rem 0;text-align:left;
  font-size:clamp(1.02rem,1.9vw,1.28rem);font-weight:600;color:var(--ink);
  letter-spacing:-.018em;line-height:1.35;
  transition:color .35s var(--ease);
}
.faq__q:hover{color:var(--gold-lit)}
.faq__ico{
  position:relative;flex:none;width:26px;height:26px;margin-top:.1rem;
  border:1px solid var(--line);border-radius:50%;
  transition:border-color .4s var(--ease),background .4s var(--ease),transform .5s var(--ease);
}
.faq__ico::before,.faq__ico::after{
  content:"";position:absolute;top:50%;left:50%;translate:-50% -50%;
  background:var(--gold-lit);transition:transform .45s var(--ease),background .4s;
}
.faq__ico::before{width:11px;height:1.4px}
.faq__ico::after{width:1.4px;height:11px}
.faq__item.is-open .faq__ico{background:var(--gold);border-color:var(--gold);transform:rotate(180deg)}
.faq__item.is-open .faq__ico::before,.faq__item.is-open .faq__ico::after{background:#0b0f16}
.faq__item.is-open .faq__ico::after{transform:scaleY(0)}
.faq__a{overflow:hidden;height:0;transition:height .5s var(--ease)}
.faq__a > div{padding:0 0 1.6rem;max-width:66ch;font-size:var(--t-small);color:var(--ink-mute);line-height:1.75}

/* ============================================================ CTA band */
.cta{
  position:relative;overflow:hidden;
  background:linear-gradient(150deg,#081524 0%,#0c1e33 48%,#060f1c 100%);
  border-block:1px solid var(--line);
}
.cta__inner{position:relative;z-index:3;text-align:center;max-width:820px;margin-inline:auto}
.cta h2{margin-bottom:1.2rem}
.cta .lead{margin-inline:auto;margin-bottom:2.3rem}
.cta__glow{
  position:absolute;top:50%;left:50%;translate:-50% -50%;
  width:min(120vw,1000px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(217,168,63,.14),transparent 62%);
  filter:blur(60px);pointer-events:none;
}

/* ============================================================ PAGE HERO (inner pages) */
.page-hero{
  position:relative;overflow:hidden;
  padding-top:calc(var(--header-h) + clamp(3.5rem,8vw,7rem));
  padding-bottom:clamp(2.6rem,6vw,5rem);
  background:radial-gradient(ellipse 110% 90% at 50% -20%,rgba(217,168,63,.12),transparent 62%),
             linear-gradient(180deg,var(--void),#04101d);
  border-bottom:1px solid var(--line-soft);
}
.page-hero__inner{position:relative;z-index:3;max-width:860px}
.page-hero--center .page-hero__inner{margin-inline:auto;text-align:center}
.page-hero h1{font-size:var(--t-h2);letter-spacing:-.038em;margin-bottom:1.2rem}
.crumbs{
  display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;
  font-size:var(--t-micro);color:var(--ink-faint);margin-bottom:1.4rem;
}
.crumbs a:hover{color:var(--gold-lit)}
.crumbs i{opacity:.5}

/* ============================================================ BLOG + CASE STUDY CARDS */
.card-grid{display:grid;gap:clamp(1.2rem,2.4vw,2rem);grid-template-columns:minmax(0,1fr)}
@media (min-width:680px){ .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (min-width:1040px){ .card-grid{grid-template-columns:repeat(3,minmax(0,1fr))} }
.card-grid--2{grid-template-columns:minmax(0,1fr)}
@media (min-width:820px){ .card-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))} }

.post-card{
  position:relative;display:flex;flex-direction:column;
  border:1px solid var(--line);border-radius:var(--r-lg);
  background:linear-gradient(165deg,rgba(255,255,255,.035),rgba(255,255,255,.006));
  overflow:hidden;height:100%;
  transition:transform .6s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease);
}
.post-card:hover{transform:translateY(-7px);border-color:var(--line-gold);box-shadow:var(--shadow-md)}
.post-card__media{
  position:relative;aspect-ratio:16/10;overflow:hidden;
  background:radial-gradient(circle at 60% 30%,rgba(217,168,63,.16),transparent 60%),linear-gradient(160deg,#0a1828,#060f1c);
  display:grid;place-items:center;
}
.post-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.post-card:hover .post-card__media img{transform:scale(1.07)}
.post-card__media .ph{width:34%;opacity:.35}
.post-card__badge{
  position:absolute;top:.9rem;left:.9rem;z-index:3;
  font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;
  padding:.35rem .7rem;border-radius:var(--r-pill);
  background:rgba(2,8,15,.72);backdrop-filter:blur(8px);
  border:1px solid var(--line-gold);color:var(--gold-lit);
}
.post-card__body{padding:clamp(1.2rem,2.4vw,1.7rem);display:flex;flex-direction:column;gap:.8rem;flex:1}
.post-card__meta{
  display:flex;flex-wrap:wrap;gap:.5rem .9rem;
  font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);
}
.post-card h3{
  font-size:var(--t-h4);letter-spacing:-.02em;line-height:1.28;
  transition:color .35s var(--ease);
}
.post-card:hover h3{color:var(--gold-lit)}
.post-card p{font-size:var(--t-small);color:var(--ink-mute);line-height:1.66;flex:1}
.post-card__more{
  display:inline-flex;align-items:center;gap:.45rem;
  font-size:var(--t-micro);font-weight:600;letter-spacing:.05em;color:var(--gold-lit);
  margin-top:.3rem;
}
.post-card__more svg{width:.85em;height:.85em;transition:transform .45s var(--ease)}
.post-card:hover .post-card__more svg{transform:translateX(5px)}
.post-card__link{position:absolute;inset:0;z-index:5}

/* Case study result chips */
.results{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.3rem}
.results span{
  font-size:.7rem;letter-spacing:.05em;padding:.34rem .68rem;border-radius:var(--r-sm);
  border:1px solid rgba(217,168,63,.22);background:rgba(217,168,63,.07);color:var(--gold-lit);
  font-weight:600;
}

/* Filters */
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:clamp(1.8rem,4vw,3rem)}
.filters a{
  font-size:var(--t-micro);padding:.52rem 1.05rem;border-radius:var(--r-pill);
  border:1px solid var(--line);color:var(--ink-mute);
  transition:all .35s var(--ease);
}
.filters a:hover{border-color:var(--line-gold);color:var(--ink)}
.filters a.is-active{background:var(--metal-soft);border-color:transparent;color:#0b0f16;font-weight:700}

/* Pagination */
.pagination{display:flex;justify-content:center;gap:.45rem;margin-top:clamp(2.4rem,5vw,4rem);flex-wrap:wrap}
.pagination .page-numbers{
  min-width:42px;height:42px;display:grid;place-items:center;padding-inline:.75rem;
  border:1px solid var(--line);border-radius:var(--r-sm);
  font-size:var(--t-small);color:var(--ink-mute);
  transition:all .3s var(--ease);
}
.pagination a.page-numbers:hover{border-color:var(--line-gold);color:var(--ink)}
.pagination .page-numbers.current{background:var(--metal-soft);border-color:transparent;color:#0b0f16;font-weight:700}

/* ============================================================ SINGLE / editorial content */
.entry{
  max-width:none;
  display:grid;gap:clamp(2rem,5vw,4rem);
  grid-template-columns:minmax(0,1fr);
}
@media (min-width:1040px){
  .entry{grid-template-columns:minmax(0,1fr) 300px;align-items:start}
}
.entry__body{max-width:72ch}
.entry__body > * + *{margin-top:1.35rem}
.entry__body h2{font-size:clamp(1.5rem,3vw,2.15rem);margin-top:2.8rem;letter-spacing:-.028em}
.entry__body h3{font-size:var(--t-h3);margin-top:2.2rem}
.entry__body h4{margin-top:1.9rem}
.entry__body p{font-size:1.06rem;line-height:1.78;color:var(--ink-soft)}
.entry__body a:not(.btn){
  color:var(--gold-lit);
  background-image:linear-gradient(var(--line-gold),var(--line-gold));
  background-size:100% 1px;background-position:0 100%;background-repeat:no-repeat;
  transition:background-size .35s,color .3s;
}
.entry__body a:not(.btn):hover{color:var(--gold-peak)}
.entry__body ul,.entry__body ol{display:grid;gap:.7rem;padding-left:1.3rem}
.entry__body ul li{list-style:none;position:relative;padding-left:1.1rem;font-size:var(--t-body);color:var(--ink-soft)}
.entry__body ul li::before{
  content:"";position:absolute;left:0;top:.68em;width:6px;height:6px;rotate:45deg;background:var(--gold);
}
.entry__body ol{list-style:decimal;padding-left:1.6rem}
.entry__body ol li{padding-left:.35rem;color:var(--ink-soft)}
.entry__body ol li::marker{color:var(--gold);font-weight:700}
.entry__body blockquote{
  border-left:2px solid var(--gold);
  padding:.3rem 0 .3rem 1.6rem;margin-block:2rem;
  font-size:clamp(1.1rem,2.2vw,1.4rem);line-height:1.5;color:var(--ink);
  font-weight:500;letter-spacing:-.018em;
}
.entry__body blockquote cite{display:block;margin-top:.9rem;font-size:var(--t-micro);color:var(--ink-faint);font-style:normal;letter-spacing:.1em;text-transform:uppercase}
.entry__body img,.entry__body figure img{border-radius:var(--r-md);border:1px solid var(--line)}
.entry__body code{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;
  background:rgba(255,255,255,.06);padding:.15em .45em;border-radius:5px;color:var(--gold-lit);
}
.entry__body pre{
  background:#040c17;border:1px solid var(--line);border-radius:var(--r-md);
  padding:1.2rem;overflow-x:auto;font-size:.85rem;line-height:1.6;
}
.entry__body pre code{background:none;padding:0;color:var(--ink-soft)}
.entry__body hr{border:0;height:1px;background:var(--line);margin-block:2.6rem}
.entry__body table{font-size:var(--t-small);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.entry__body th,.entry__body td{padding:.85rem 1rem;border-bottom:1px solid var(--line-soft);text-align:left}
.entry__body th{background:rgba(255,255,255,.04);color:var(--ink);font-weight:600;font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase}

.entry__hero{
  border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--line);
  margin-bottom:clamp(2rem,4vw,3.2rem);aspect-ratio:21/9;
}
.entry__hero img{width:100%;height:100%;object-fit:cover}

.aside-card{
  position:sticky;top:calc(var(--header-h) + 2rem);
  border:1px solid var(--line);border-radius:var(--r-lg);
  background:linear-gradient(165deg,rgba(255,255,255,.045),rgba(255,255,255,.008));
  padding:1.5rem;display:grid;gap:1rem;
}
.aside-card h4,.aside-card h3{font-size:var(--t-eyebrow);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-lit)}
.fact{display:grid;gap:.2rem;padding-bottom:.85rem;border-bottom:1px solid var(--line-soft)}
.fact:last-of-type{border-bottom:0;padding-bottom:0}
.fact dt{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}
.fact dd{font-size:var(--t-small);color:var(--ink)}

.tagrow{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:2.4rem}
.tagrow a{
  font-size:var(--t-micro);padding:.4rem .85rem;border-radius:var(--r-pill);
  border:1px solid var(--line);color:var(--ink-mute);transition:all .3s var(--ease);
}
.tagrow a:hover{border-color:var(--line-gold);color:var(--gold-lit)}

.post-nav{
  display:grid;gap:1rem;margin-top:clamp(2.6rem,5vw,4rem);
  padding-top:2rem;border-top:1px solid var(--line-soft);
}
@media (min-width:760px){ .post-nav{grid-template-columns:1fr 1fr} }
.post-nav a{
  display:grid;gap:.4rem;padding:1.2rem 1.4rem;
  border:1px solid var(--line);border-radius:var(--r-md);
  transition:all .4s var(--ease);
}
.post-nav a:hover{border-color:var(--line-gold);transform:translateY(-3px)}
.post-nav span{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.post-nav strong{font-size:var(--t-small);color:var(--ink);font-weight:600;line-height:1.4}
.post-nav a.is-next{text-align:right}

/* ============================================================ CONTACT PAGE */
.contact-grid{
  display:grid;gap:clamp(2rem,4vw,3.5rem);
  grid-template-columns:minmax(0,1fr);
  align-items:start;
}
@media (min-width:960px){ .contact-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)} }

.contact-panel{
  border:1px solid var(--line);border-radius:var(--r-xl);
  background:linear-gradient(165deg,rgba(255,255,255,.05),rgba(255,255,255,.008));
  padding:clamp(1.5rem,3vw,2.4rem);
  display:grid;gap:1.5rem;
  position:sticky;top:calc(var(--header-h) + 2rem);
}
@media (max-width:959px){ .contact-panel{position:static} }
.contact-item{display:flex;gap:1rem;align-items:flex-start;padding-bottom:1.3rem;border-bottom:1px solid var(--line-soft)}
.contact-item:last-of-type{border-bottom:0;padding-bottom:0}
.contact-item__ico{
  flex:none;width:40px;height:40px;border-radius:var(--r-md);display:grid;place-items:center;
  border:1px solid var(--line-gold);background:rgba(217,168,63,.07);color:var(--gold-lit);
}
.contact-item__ico svg{width:17px;height:17px}
.contact-item h4,.contact-item h3{font-size:var(--t-eyebrow);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.35rem;font-weight:600}
.contact-item p,.contact-item a{font-size:var(--t-small);color:var(--ink);line-height:1.55}
.contact-item a:hover{color:var(--gold-lit)}

.form-card{
  border:1px solid var(--line);border-radius:var(--r-xl);
  background:linear-gradient(165deg,rgba(255,255,255,.038),rgba(255,255,255,.006));
  padding:clamp(1.5rem,3.4vw,2.8rem);
  position:relative;overflow:hidden;
}
.form-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.form-grid{display:grid;gap:1.15rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:620px){ .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
.form-grid .span-2{grid-column:1/-1}

.form-success{
  display:none;text-align:center;padding:clamp(2rem,5vw,3.4rem) 1rem;
}
.form-success.is-on{display:block;animation:fadeUp .7s var(--ease) both}
.form-success__ring{
  width:74px;height:74px;margin:0 auto 1.5rem;border-radius:50%;
  display:grid;place-items:center;
  border:1.5px solid var(--gold);background:rgba(217,168,63,.1);color:var(--gold-lit);
}
.form-success__ring svg{width:28px;height:28px}
.form-success h3{margin-bottom:.8rem}
.form-success p{font-size:var(--t-small);color:var(--ink-mute);max-width:44ch;margin-inline:auto}

/* Map / location strip */
.locstrip{
  display:grid;gap:1px;background:var(--line-soft);
  border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  grid-template-columns:minmax(0,1fr);
}
@media (min-width:760px){ .locstrip{grid-template-columns:repeat(3,minmax(0,1fr))} }
.locstrip > div{background:var(--void);padding:1.5rem}
.locstrip h4,.locstrip h3{font-size:var(--t-eyebrow);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-lit);margin-bottom:.55rem}
.locstrip p{font-size:var(--t-small);color:var(--ink-mute)}

/* ============================================================ 404 / empty */
.empty{text-align:center;padding-block:clamp(4rem,10vw,8rem);max-width:620px;margin-inline:auto}
.empty__code{
  font-size:clamp(5rem,20vw,12rem);font-weight:800;line-height:.8;letter-spacing:-.05em;
  background:var(--metal);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;margin-bottom:1.4rem;
}
.empty h1,.empty h2{font-size:var(--t-h3);margin-bottom:1rem}
.empty p{color:var(--ink-mute);margin-bottom:2rem}

/* ============================================================ COMMENTS */
.comments{margin-top:clamp(3rem,6vw,5rem);padding-top:2.4rem;border-top:1px solid var(--line-soft)}
.comments h3{margin-bottom:1.8rem}
.comment-list{display:grid;gap:1.4rem}
.comment-list li{list-style:none}
.comment-body{
  border:1px solid var(--line);border-radius:var(--r-md);padding:1.3rem;
  background:rgba(255,255,255,.02);
}
.comment-meta{font-size:var(--t-micro);color:var(--ink-faint);margin-bottom:.6rem}
.comment-content p{font-size:var(--t-small);color:var(--ink-soft)}
.comment-respond{margin-top:2.2rem;display:grid;gap:1rem}
.comment-form{display:grid;gap:1rem}
.comment-form p{display:grid;gap:.5rem}
.comment-form label{font-size:var(--t-eyebrow);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute)}
.comment-form input:not([type=submit]),.comment-form textarea{
  width:100%;padding:.9rem 1rem;background:rgba(255,255,255,.035);
  border:1px solid var(--line);border-radius:var(--r-md);color:var(--ink);font-size:var(--t-small);
}
.comment-form input[type=submit]{
  justify-self:start;padding:1rem 1.9rem;border-radius:var(--r-pill);
  background:var(--metal);color:#0b0f16;font-weight:700;font-size:var(--t-small);cursor:pointer;
}

/* ============================================================ BOOKING MODAL */
.book-modal{
  position:fixed;inset:0;z-index:800;
  display:grid;place-items:center;
  padding:clamp(.75rem,3vw,2rem);
}
.book-modal[hidden]{display:none}
.book-modal__veil{
  position:absolute;inset:0;
  background:rgba(2,8,15,.82);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  opacity:0;transition:opacity .45s var(--ease);
}
.book-modal.is-open .book-modal__veil{opacity:1}

.book-modal__panel{
  position:relative;z-index:2;
  width:min(100%,980px);
  max-height:min(92svh,860px);
  display:flex;flex-direction:column;
  background:linear-gradient(160deg,#0b1a2b,#060f1c);
  border:1px solid var(--line-gold);
  border-radius:var(--r-xl);
  box-shadow:var(--shadow-lg),var(--glow-gold);
  overflow:hidden;
  opacity:0;transform:translateY(26px) scale(.97);
  transition:opacity .5s var(--ease),transform .5s var(--ease);
}
.book-modal.is-open .book-modal__panel{opacity:1;transform:none}

.book-modal__bar{
  display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);
  padding:1.15rem clamp(1rem,2.6vw,1.6rem);
  border-bottom:1px solid var(--line-soft);
  flex:none;
}
.book-modal__eyebrow{
  display:block;font-size:.62rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gold-lit);
  margin-bottom:.35rem;
}
.book-modal__title{
  font-size:var(--t-h4);letter-spacing:-.02em;margin:0;
}
.book-modal__x{
  width:38px;height:38px;flex:none;display:grid;place-items:center;
  border:1px solid var(--line);border-radius:50%;color:var(--ink-soft);
  transition:all .35s var(--ease);
}
.book-modal__x:hover{border-color:var(--line-gold);color:var(--gold-lit);transform:rotate(90deg)}
.book-modal__x svg{width:16px;height:16px}

.book-modal__body{
  position:relative;flex:1;
  background:#0a1524;
}
/* Only the scheduler variant needs to reserve a tall iframe area. */
.book-modal--frame .book-modal__body{min-height:min(74svh,660px)}
.book-modal--form .book-modal__panel{width:min(100%,560px)}
.book-modal--form .book-modal__body{overflow-y:auto;-webkit-overflow-scrolling:touch}
.book-modal__form{padding:clamp(1.15rem,3vw,1.7rem)}
.book-modal__intro{
  font-size:var(--t-small);color:var(--ink-mute);line-height:1.6;
  margin-bottom:1.25rem;
}
.book-modal__form .form-grid{gap:.95rem}
.book-modal__form .form-success{padding-block:1.5rem}
.book-modal__body iframe{
  position:absolute;inset:0;width:100%;height:100%;border:0;
  opacity:0;transition:opacity .6s var(--ease);
}
.book-modal__body iframe.is-ready{opacity:1}
.book-modal__loading{
  position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:1rem;
  font-size:var(--t-small);color:var(--ink-mute);
  transition:opacity .4s var(--ease);
}
.book-modal__loading.is-gone{opacity:0;pointer-events:none}
.book-modal__spin{
  width:30px;height:30px;border-radius:50%;
  border:2px solid rgba(217,168,63,.22);border-top-color:var(--gold-lit);
  animation:spin .8s linear infinite;
}
.book-modal__note{
  flex:none;padding:.85rem clamp(1rem,2.6vw,1.6rem);
  border-top:1px solid var(--line-soft);
  font-size:var(--t-micro);color:var(--ink-faint);
}
.book-modal__note a{color:var(--gold-lit);font-weight:600}
.book-modal__note a:hover{color:var(--gold-peak)}

@media (max-width:640px){
  .book-modal{padding:0}
  .book-modal__panel{width:100%;max-height:100svh;height:100svh;border-radius:0;border-inline:0}
  .book-modal__body{min-height:0}
}

/* ============================================================ AI ASSISTANT */
.bot{
  position:fixed;right:clamp(1rem,3vw,2rem);bottom:clamp(1rem,3vw,2rem);
  z-index:640;display:flex;flex-direction:column;align-items:flex-end;gap:.85rem;
}
/* Sit above the back-to-top button rather than on top of it */
.bot ~ .to-top,.to-top{bottom:clamp(1rem,3vw,2rem)}
@media (max-width:600px){ .to-top{display:none} }
@media (min-width:601px){ .bot{right:calc(clamp(1rem,3vw,2rem) + 62px)} }

.bot__launch{
  position:relative;order:2;
  width:58px;height:58px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--metal);background-size:180% 100%;
  color:#0b0f16;
  box-shadow:0 14px 40px -14px rgba(217,168,63,.8),0 0 0 1px rgba(217,168,63,.3);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),background-position .5s var(--ease);
}
.bot__launch:hover{transform:translateY(-3px) scale(1.04);background-position:100% 0}
.bot__launch svg{width:23px;height:23px}
.bot__launch-x{position:absolute;opacity:0;transform:rotate(-45deg) scale(.7);transition:all .45s var(--ease)}
.bot__launch-ico{transition:all .45s var(--ease)}
.bot.is-open .bot__launch-ico{opacity:0;transform:rotate(45deg) scale(.7)}
.bot.is-open .bot__launch-x{opacity:1;transform:none}

.bot__ping{
  position:absolute;inset:-4px;border-radius:50%;
  border:1px solid rgba(217,168,63,.55);
  animation:botPing 2.8s var(--ease-soft) infinite;
  pointer-events:none;
}
@keyframes botPing{
  0%{transform:scale(.9);opacity:.8}
  70%{transform:scale(1.35);opacity:0}
  100%{transform:scale(1.35);opacity:0}
}
.bot.is-open .bot__ping{display:none}

.bot__panel{
  order:1;
  width:min(92vw,392px);
  max-height:min(74svh,620px);
  display:flex;flex-direction:column;
  border:1px solid var(--line-gold);border-radius:var(--r-xl);
  background:linear-gradient(168deg,#0b1a2b,#060f1c);
  box-shadow:var(--shadow-lg),0 0 70px -30px rgba(217,168,63,.55);
  overflow:hidden;
  transform-origin:100% 100%;
  opacity:0;transform:translateY(16px) scale(.96);
  transition:opacity .4s var(--ease),transform .45s var(--ease),visibility .45s;
  visibility:hidden;
}
.bot__panel[hidden]{display:flex}
.bot.is-open .bot__panel{opacity:1;transform:none;visibility:visible}
@media (max-width:600px){
  .bot{left:clamp(1rem,3vw,2rem)}
  .bot__panel{width:100%;max-height:72svh}
}

.bot__bar{
  display:flex;align-items:center;gap:.75rem;flex:none;
  padding:.9rem 1rem;border-bottom:1px solid var(--line-soft);
  background:rgba(255,255,255,.03);
}
.bot__avatar{
  width:38px;height:38px;flex:none;border-radius:50%;
  display:grid;place-items:center;
  border:1px solid var(--line-gold);background:rgba(217,168,63,.07);
}
.bot__avatar img{width:22px;height:auto}
.bot__who{flex:1;min-width:0}
.bot__who strong{display:block;font-size:var(--t-small);color:var(--ink);font-weight:600;line-height:1.3}
.bot__who span{
  display:flex;align-items:center;gap:.4rem;
  font-size:.68rem;color:var(--ink-faint);line-height:1.3;
}
.bot__who span i{
  width:6px;height:6px;border-radius:50%;background:#5fcf8a;flex:none;
  box-shadow:0 0 0 3px rgba(95,207,138,.16);
}
.bot__close{
  width:32px;height:32px;flex:none;display:grid;place-items:center;
  border:1px solid var(--line);border-radius:50%;color:var(--ink-mute);
  transition:all .35s var(--ease);
}
.bot__close:hover{border-color:var(--line-gold);color:var(--gold-lit);transform:rotate(90deg)}
.bot__close svg{width:14px;height:14px}

.bot__log{
  flex:1;min-height:120px;overflow-y:auto;overscroll-behavior:contain;
  padding:1rem;display:flex;flex-direction:column;gap:.8rem;
  scrollbar-width:thin;scrollbar-color:rgba(217,168,63,.35) transparent;
}
.bot__log::-webkit-scrollbar{width:6px}
.bot__log::-webkit-scrollbar-thumb{background:rgba(217,168,63,.3);border-radius:3px}

.bot-msg{display:flex;flex-direction:column;gap:.4rem;max-width:88%;animation:botIn .45s var(--ease) both}
@keyframes botIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.bot-msg--bot{align-self:flex-start}
.bot-msg--me{align-self:flex-end;align-items:flex-end}
.bot-msg__body{
  padding:.72rem .95rem;border-radius:var(--r-md);
  font-size:var(--t-small);line-height:1.62;
  white-space:pre-wrap;word-break:break-word;
}
.bot-msg--bot .bot-msg__body{
  background:rgba(255,255,255,.05);border:1px solid var(--line);
  color:var(--ink-soft);border-bottom-left-radius:5px;
}
.bot-msg--me .bot-msg__body{
  background:var(--metal-soft);color:#0b0f16;font-weight:500;
  border-bottom-right-radius:5px;
}
.bot-msg__src{display:flex;flex-wrap:wrap;gap:.35rem}
.bot-msg__src a,.bot-msg__src span{
  font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
  padding:.22rem .55rem;border-radius:var(--r-pill);
  border:1px solid rgba(217,168,63,.22);background:rgba(217,168,63,.06);
  color:var(--gold-lit);
}
.bot-msg__src a:hover{background:rgba(217,168,63,.14)}

.bot-typing{display:flex;gap:4px;padding:.85rem .95rem}
.bot-typing i{
  width:6px;height:6px;border-radius:50%;background:var(--gold-lit);opacity:.5;
  animation:botDot 1.3s var(--ease-soft) infinite;
}
.bot-typing i:nth-child(2){animation-delay:.18s}
.bot-typing i:nth-child(3){animation-delay:.36s}
@keyframes botDot{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}

.bot__chips{
  display:flex;gap:.4rem;flex-wrap:wrap;flex:none;
  padding:0 1rem .8rem;
}
.bot__chip{
  font-size:var(--t-micro);line-height:1.3;text-align:left;
  padding:.42rem .78rem;border-radius:var(--r-pill);
  border:1px solid var(--line);background:rgba(255,255,255,.025);
  color:var(--ink-mute);
  transition:all .3s var(--ease);
}
.bot__chip:hover{border-color:var(--line-gold);color:var(--ink);transform:translateY(-1px)}

.bot__form{
  display:flex;align-items:flex-end;gap:.5rem;flex:none;
  padding:.75rem;border-top:1px solid var(--line-soft);
  background:rgba(255,255,255,.02);
}
.bot__input{
  flex:1;resize:none;max-height:110px;
  padding:.68rem .85rem;
  border:1px solid var(--line);border-radius:var(--r-md);
  background:rgba(255,255,255,.04);color:var(--ink);
  font-size:var(--t-small);line-height:1.5;
  transition:border-color .3s var(--ease),background .3s var(--ease);
}
.bot__input::placeholder{color:var(--ink-faint)}
.bot__input:focus{outline:none;border-color:var(--line-gold);background:rgba(255,255,255,.06)}
.bot__send{
  width:40px;height:40px;flex:none;border-radius:var(--r-md);
  display:grid;place-items:center;
  background:var(--metal);color:#0b0f16;
  transition:transform .35s var(--ease),opacity .3s var(--ease);
}
.bot__send:hover{transform:translateY(-2px)}
.bot__send:disabled{opacity:.4;pointer-events:none}
.bot__send svg{width:17px;height:17px}

.bot__foot{
  flex:none;padding:.6rem 1rem .8rem;
  font-size:.68rem;line-height:1.5;color:var(--ink-faint);
  border-top:1px solid var(--line-soft);
}
.bot__foot a{color:var(--gold-lit);font-weight:600}
.bot__foot a:hover{color:var(--gold-peak)}

@media (prefers-reduced-motion:reduce){
  .bot__ping{animation:none;display:none}
  .bot-msg{animation:none}
}

/* ============================================================ Utility spacing */
.mt-0{margin-top:0}.mt-4{margin-top:var(--s4)}.mt-5{margin-top:var(--s5)}
.mt-6{margin-top:var(--s6)}.mt-7{margin-top:var(--s7)}.mt-8{margin-top:var(--s8)}
.mb-5{margin-bottom:var(--s5)}.mb-6{margin-bottom:var(--s6)}.mb-7{margin-bottom:var(--s7)}
.text-center{text-align:center}
.flow > * + *{margin-top:var(--s4)}
