/* ============================================================
   STISPOL WIRA BHAKTI DENPASAR — Shared stylesheet
   Pure CSS, no frameworks. Brand: Maroon #952622 + Gold.
   Cache-busting: bump ?v= on the <link> in each HTML page.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,600&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');

/* ── Design tokens ───────────────────────────────────────── */
:root {
  /* Maroon */
  --maroon-50:#FBF1F0; --maroon-100:#F6DCD9; --maroon-200:#EBB8B2;
  --maroon-300:#DC8B83; --maroon-400:#C75D52; --maroon-500:#AE3E33;
  --maroon-600:#952622; --maroon-700:#7C211C; --maroon-800:#661C18;
  --maroon-900:#531A16; --maroon-950:#2F0C0A;
  /* Gold */
  --gold-50:#FEF8E8; --gold-100:#FCEEC2; --gold-200:#F9D985;
  --gold-300:#F6C049; --gold-400:#EFA41C; --gold-500:#D4880A;
  --gold-600:#B06B08; --gold-700:#8C5008; --gold-800:#6E3D0A; --gold-900:#59310D;
  /* Neutral (warm) */
  --n-0:#FFFFFF; --n-50:#FAF8F7; --n-100:#F2EEEC; --n-200:#E5DEDB;
  --n-300:#D0C6C2; --n-400:#A99B96; --n-500:#80726D; --n-600:#635753;
  --n-700:#4A413E; --n-800:#322B29; --n-900:#201917; --n-950:#120D0C;
  /* Semantic */
  --success-50:#EDFAF3; --success-100:#C8F1DE; --success-600:#117A44; --success-700:#0D5E33;
  /* Aliases */
  --text-1:var(--n-900); --text-2:var(--n-600); --text-3:var(--n-400);
  --border:var(--n-200); --border-subtle:var(--n-100);
  --bg:var(--n-0); --bg-subtle:var(--n-50);

  /* Type */
  --font-display:'Playfair Display',Georgia,'Times New Roman',serif;
  --font-body:'Plus Jakarta Sans','Segoe UI',system-ui,-apple-system,sans-serif;

  /* Spacing (8px grid) */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:24px;
  --s7:28px; --s8:32px; --s10:40px; --s12:48px; --s14:56px; --s16:64px;

  /* Radius */
  --r-sm:6px; --r-md:10px; --r-lg:12px; --r-xl:16px; --r-2xl:22px; --r-btn:8px; --r-full:9999px;

  /* Shadows (maroon-tinted) */
  --sh-sm:0 1px 2px rgba(47,12,10,.06),0 2px 8px rgba(47,12,10,.05);
  --sh-md:0 4px 12px rgba(47,12,10,.08),0 12px 28px rgba(47,12,10,.07);
  --sh-lg:0 18px 48px rgba(47,12,10,.16);

  --container:1200px;
  --nav-h:72px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ── Reset & base ────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--font-body); color:var(--text-1);
  background:var(--bg); line-height:1.65;
  font-size:16px; -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
h1,h2,h3,h4{font-family:var(--font-display); font-weight:700; line-height:1.15; letter-spacing:-.01em; color:var(--maroon-900);}
:focus-visible{outline:3px solid var(--maroon-500); outline-offset:2px; border-radius:3px;}

/* Photo fallback: maroon gradient shows if external image fails */
.ph{background:linear-gradient(150deg,#2F0C0A,#952622); color:transparent;}

/* Skip link */
.skip{position:absolute; left:-9999px; top:0; z-index:200; background:var(--maroon-900);
  color:#fff; padding:12px 20px; border-radius:0 0 var(--r-md) 0; font-weight:600;}
.skip:focus{left:0;}

/* ── Layout ──────────────────────────────────────────────── */
.container{max-width:var(--container); margin:0 auto; padding-left:var(--s6); padding-right:var(--s6);}
@media(min-width:768px){.container{padding-left:var(--s8); padding-right:var(--s8);}}
@media(min-width:1040px){.container{padding-left:var(--s10); padding-right:var(--s10);}}

.section{padding-top:var(--s16); padding-bottom:var(--s16);}
@media(min-width:768px){.section{padding-top:88px; padding-bottom:88px;}}
.section--subtle{background:var(--bg-subtle);}
.section--dark{background:var(--maroon-950); color:#fff;}
.section--sm{padding-top:var(--s12); padding-bottom:var(--s12);}

.grid{display:grid; gap:var(--s6);}
@media(min-width:760px){
  .g2{grid-template-columns:repeat(2,1fr);}
  .g3{grid-template-columns:repeat(3,1fr);}
  .g4{grid-template-columns:repeat(2,1fr);}
}
@media(min-width:1000px){ .g4{grid-template-columns:repeat(4,1fr);} }

/* ── Typography helpers ──────────────────────────────────── */
.overline{font-family:var(--font-body); font-size:.75rem; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:var(--gold-600);
  margin-bottom:var(--s3); display:block;}
.overline--light{color:var(--gold-300);}
.lead{font-size:1.125rem; color:var(--text-2); line-height:1.7;}
.section-head{max-width:680px; margin:0 auto var(--s12); text-align:center;}
.section-head h2{font-size:clamp(1.9rem,4vw,2.5rem);}
.section-head .lead{margin-top:var(--s4);}
.section-head--left{margin-left:0; text-align:left;}

/* ── Buttons ─────────────────────────────────────────────── */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:var(--s2);
  font-family:var(--font-body); font-weight:600; font-size:.95rem;
  padding:13px 22px; border-radius:var(--r-btn); border:1.5px solid transparent;
  cursor:pointer; transition:background .15s,color .15s,border-color .15s,transform .1s,box-shadow .25s;
  text-align:center; line-height:1.2;}
.btn svg{width:18px; height:18px;}
.btn:active{transform:scale(.98);}
.btn--primary{background:var(--maroon-900); color:#fff;}
.btn--primary:hover{background:var(--maroon-800);}
.btn--accent{background:var(--gold-500); color:var(--maroon-950);}
.btn--accent:hover{background:var(--gold-600); color:#fff;}
.btn--ghost{background:transparent; color:var(--maroon-800); border-color:var(--maroon-200);}
.btn--ghost:hover{background:var(--maroon-50); border-color:var(--maroon-300);}
.btn--white{background:transparent; color:#fff; border-color:rgba(255,255,255,.45);}
.btn--white:hover{background:rgba(255,255,255,.12); border-color:#fff;}
.btn--lg{padding:16px 28px; font-size:1.02rem;}
.btn--sm{padding:9px 16px; font-size:.85rem;}
.btn--block{width:100%;}

/* ── Badges / chips ──────────────────────────────────────── */
.badge{display:inline-flex; align-items:center; gap:6px; font-family:var(--font-body);
  font-size:.72rem; font-weight:700; letter-spacing:.03em; padding:4px 11px;
  border-radius:var(--r-full); line-height:1.4;}
.badge--primary{background:var(--maroon-50); color:var(--maroon-700);}
.badge--gold{background:var(--gold-100); color:var(--gold-800);}
.badge--success{background:var(--success-100); color:var(--success-700);}
.badge--ghost{background:rgba(255,255,255,.12); color:#fff;}

/* ── Cards ───────────────────────────────────────────────── */
.card{background:#fff; border:1px solid var(--border); border-radius:var(--r-xl);
  box-shadow:var(--sh-sm); transition:transform .25s var(--ease),box-shadow .25s,border-color .25s;
  overflow:hidden;}
.card--pad{padding:var(--s6);}
@media(min-width:768px){.card--pad{padding:var(--s7);}}
a.card:hover,.card--hover:hover{transform:translateY(-3px); box-shadow:var(--sh-md); border-color:transparent;}
.card__media{aspect-ratio:16/10; object-fit:cover; width:100%;}

/* ── Header / Nav (mobile-first, checkbox hamburger) ─────── */
.site-header{position:sticky; top:0; z-index:100; background:#fff;
  border-bottom:1px solid var(--border-subtle); box-shadow:var(--sh-sm);}
.nav{display:flex; align-items:center; justify-content:space-between; height:var(--nav-h);}
.brand{display:flex; align-items:center; gap:var(--s3); flex-shrink:0;}
.brand img{width:46px; height:46px; object-fit:contain;}
.brand__txt{display:flex; flex-direction:column; line-height:1.05;}
.brand__name{font-family:var(--font-display); font-weight:700; font-size:1.05rem;
  color:var(--maroon-700); letter-spacing:.04em;}
.brand__sub{font-size:.7rem; font-weight:600; color:var(--text-2); letter-spacing:.02em;}

.nav-toggle{position:absolute; width:1px; height:1px; opacity:0; overflow:hidden;}
.nav-burger{display:flex; flex-direction:column; gap:5px; cursor:pointer; padding:10px;
  margin-right:-10px; border-radius:var(--r-sm);}
.nav-burger span{width:24px; height:2px; background:var(--maroon-900); border-radius:2px; transition:.25s;}
.nav-toggle:focus-visible + .nav-burger{outline:3px solid var(--maroon-500); outline-offset:2px;}

.nav-menu{display:none; position:absolute; left:0; right:0; top:var(--nav-h);
  background:#fff; border-bottom:1px solid var(--border); box-shadow:var(--sh-md);
  flex-direction:column; padding:var(--s4) var(--s6) var(--s6);}
.nav-toggle:checked ~ .nav-menu{display:flex;}
.nav-links{display:flex; flex-direction:column; gap:2px;}
.nav-links a{font-weight:600; color:var(--text-1); padding:13px 6px; font-size:1.02rem;
  border-bottom:1px solid var(--border-subtle); transition:color .15s;}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--maroon-700);}
.nav-links a[aria-current="page"]{color:var(--maroon-700);}
.nav-cta{margin-top:var(--s4);}

@media(min-width:980px){
  .nav-burger{display:none;}
  .nav-menu{display:flex; position:static; flex-direction:row; align-items:center;
    gap:var(--s2); padding:0; border:0; box-shadow:none; background:transparent;}
  .nav-links{flex-direction:row; gap:var(--s1); align-items:center;}
  .nav-links a{border:0; padding:8px 14px; font-size:.95rem; border-radius:var(--r-btn); position:relative;}
  .nav-links a[aria-current="page"]::after{content:""; position:absolute; left:14px; right:14px;
    bottom:0; height:2px; background:var(--gold-500); border-radius:2px;}
  .nav-cta{margin-top:0; margin-left:var(--s3);}
}

/* ── Hero ────────────────────────────────────────────────── */
.hero{position:relative; overflow:hidden; color:#fff;
  background:linear-gradient(150deg,#2F0C0A 0%,#531A16 48%,#952622 115%);}
.hero__photo{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:.20; mix-blend-mode:luminosity;}
.hero__dots{position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:34px 34px; pointer-events:none;}
.hero__glow{position:absolute; inset:0; background:radial-gradient(ellipse at 78% 55%,rgba(212,136,10,.18),transparent 55%); pointer-events:none;}
.hero .container{position:relative; z-index:2; padding-top:var(--s16); padding-bottom:var(--s16);}
@media(min-width:768px){.hero .container{padding-top:110px; padding-bottom:96px;}}
.hero__inner{display:grid; gap:var(--s12); align-items:center;}
@media(min-width:980px){.hero__inner{grid-template-columns:1.05fr .8fr;}}
.hero h1{color:#fff; font-size:clamp(2.4rem,6vw,4rem); line-height:1.06; letter-spacing:-.02em;}
.hero h1 .accent{color:var(--gold-300);}
.hero p.lead{color:rgba(255,255,255,.78); max-width:540px; margin-top:var(--s5);}
.hero__chip{display:inline-flex; align-items:center; gap:var(--s2); padding:6px 14px;
  border-radius:var(--r-full); background:rgba(246,192,73,.12); border:1px solid rgba(246,192,73,.28);
  font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-300); margin-bottom:var(--s5);}
.hero__chip .dot{width:7px; height:7px; border-radius:50%; background:var(--gold-300);}
.hero__cta{display:flex; gap:var(--s3); flex-wrap:wrap; margin-top:var(--s8);}
.hero__stats{display:flex; gap:var(--s8); flex-wrap:wrap; margin-top:var(--s10);}
.hero__stats .v{font-family:var(--font-display); font-size:1.9rem; font-weight:700; color:#fff;}
.hero__stats .l{font-size:.74rem; color:rgba(255,255,255,.6); font-weight:500;}
.hero__crest{display:none;}
@media(min-width:980px){
  .hero__crest{display:flex; align-items:center; justify-content:center;}
  .hero__crest .ring{width:320px; height:320px; border-radius:50%; border:1.5px solid rgba(246,192,73,.22);
    display:flex; align-items:center; justify-content:center;}
  .hero__crest .disc{width:250px; height:250px; border-radius:50%; background:#fff;
    display:flex; align-items:center; justify-content:center; box-shadow:0 24px 60px -12px rgba(0,0,0,.5);
    border:1px solid rgba(246,192,73,.3);}
  .hero__crest img{width:200px; height:200px; object-fit:contain;}
}

/* ── Info strip ──────────────────────────────────────────── */
.infostrip{background:var(--maroon-950);}
.infostrip .grid{gap:var(--s5); padding:var(--s6) 0;}
@media(min-width:760px){.infostrip .g4{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1000px){.infostrip .g4{grid-template-columns:repeat(4,1fr);}}
.infostrip__item{display:flex; align-items:center; gap:var(--s3);}
.infostrip__ic{width:42px; height:42px; border-radius:var(--r-md); flex-shrink:0;
  background:rgba(246,192,73,.12); color:var(--gold-300); display:flex; align-items:center; justify-content:center;}
.infostrip__ic svg{width:20px; height:20px;}
.infostrip .k{font-size:.7rem; color:rgba(255,255,255,.5); font-weight:600; text-transform:uppercase; letter-spacing:.08em;}
.infostrip .v{font-size:.9rem; color:#fff; font-weight:500;}

/* ── Page banner (interior) ──────────────────────────────── */
.banner{position:relative; overflow:hidden; color:#fff;
  background:linear-gradient(135deg,#2F0C0A 0%,#531A16 55%,#952622 120%);
  padding-top:calc(var(--nav-h) - 24px); padding-bottom:var(--s14);}
.banner::before{content:""; position:absolute; inset:0;
  background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px); background-size:34px 34px;}
.banner__ring{position:absolute; top:-120px; right:-80px; width:340px; height:340px;
  border-radius:50%; border:1.5px solid rgba(246,192,73,.14);}
.banner .container{position:relative; z-index:1; padding-top:var(--s12);}
.banner h1{color:#fff; font-size:clamp(2rem,5vw,3.2rem); max-width:820px;}
.banner .lead{color:rgba(255,255,255,.76); max-width:680px; margin-top:var(--s5);}
.crumbs{display:flex; flex-wrap:wrap; align-items:center; gap:var(--s2); margin-bottom:var(--s4); font-size:.85rem;}
.crumbs a{color:rgba(255,255,255,.62);}
.crumbs a:hover{color:#fff;}
.crumbs .sep{color:rgba(255,255,255,.3);}
.crumbs .cur{color:var(--gold-300);}

/* ── Section heading row ─────────────────────────────────── */
.head-row{display:flex; align-items:flex-end; justify-content:space-between;
  gap:var(--s4); flex-wrap:wrap; margin-bottom:var(--s10);}
.head-row h2{font-size:clamp(1.8rem,3.5vw,2.4rem);}

/* ── Feature icon tile ───────────────────────────────────── */
.itile{width:52px; height:52px; border-radius:var(--r-lg); background:var(--maroon-50);
  color:var(--maroon-700); display:flex; align-items:center; justify-content:center; margin-bottom:var(--s4);}
.itile svg{width:26px; height:26px;}
.itile--dark{background:var(--maroon-900); color:var(--gold-300);}

/* ── Stats band ──────────────────────────────────────────── */
.stats{display:grid; grid-template-columns:repeat(2,1fr); gap:var(--s6);}
@media(min-width:760px){.stats{grid-template-columns:repeat(4,1fr);}}
.stat{text-align:center;}
.stat .v{font-family:var(--font-display); font-size:clamp(2.2rem,5vw,3rem); font-weight:700; color:var(--gold-300); line-height:1;}
.section--dark .stat .l{color:rgba(255,255,255,.7);}
.stat .l{font-size:.9rem; color:var(--text-2); margin-top:var(--s2); font-weight:500;}

/* ── Timeline ────────────────────────────────────────────── */
.timeline{position:relative; max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:var(--s5);}
.timeline::before{content:""; position:absolute; left:27px; top:10px; bottom:10px; width:2px; background:var(--maroon-100);}
.tl-item{display:flex; gap:var(--s5); align-items:flex-start; position:relative;}
.tl-year{width:56px; height:56px; border-radius:50%; background:var(--maroon-900); color:var(--gold-300);
  display:flex; align-items:center; justify-content:center; font-family:var(--font-display);
  font-weight:700; font-size:.92rem; flex-shrink:0; z-index:1; border:4px solid var(--bg-subtle);}
.tl-item .card{flex:1;}

/* ── Comparison table ────────────────────────────────────── */
.table-wrap{overflow-x:auto; border:1px solid var(--border); border-radius:var(--r-xl); box-shadow:var(--sh-sm);}
table.compare{width:100%; border-collapse:collapse; min-width:640px; background:#fff;}
table.compare th,table.compare td{padding:16px 20px; text-align:left; border-bottom:1px solid var(--border-subtle); font-size:.92rem;}
table.compare thead th{background:var(--maroon-900); color:#fff; font-family:var(--font-display); font-weight:600; font-size:1rem;}
table.compare thead th:first-child{border-top-left-radius:0;}
table.compare tbody th{font-weight:600; color:var(--maroon-900); background:var(--bg-subtle); white-space:nowrap;}
table.compare tbody tr:hover td{background:var(--maroon-50);}
table.compare td{color:var(--text-2);}

/* ── FAQ accordion (details/summary) ─────────────────────── */
.faq{max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:var(--s3);}
.faq details{background:#fff; border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden; transition:box-shadow .2s;}
.faq details[open]{box-shadow:var(--sh-sm); border-color:var(--maroon-200);}
.faq summary{cursor:pointer; list-style:none; padding:18px 22px; display:flex; align-items:center;
  justify-content:space-between; gap:var(--s4); font-weight:600; color:var(--maroon-900); font-size:1rem;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .ic{flex-shrink:0; width:22px; height:22px; color:var(--gold-600); transition:transform .25s;}
.faq details[open] summary .ic{transform:rotate(45deg);}
.faq .faq-body{padding:0 22px 20px; color:var(--text-2); line-height:1.7; font-size:.95rem;}

/* ── Testimonials ────────────────────────────────────────── */
.testi{display:flex; flex-direction:column; height:100%;}
.testi__quote{font-family:var(--font-display); font-style:italic; font-size:1.05rem; color:var(--text-1); line-height:1.6; margin-bottom:var(--s5); flex:1;}
.testi__who{display:flex; align-items:center; gap:var(--s3);}
.testi__av{width:48px; height:48px; border-radius:50%; object-fit:cover; flex-shrink:0; border:2px solid var(--gold-200);}
.testi__name{font-weight:700; color:var(--maroon-900); font-size:.92rem;}
.testi__role{font-size:.8rem; color:var(--text-2);}

/* ── News layout (main + sidebar) ────────────────────────── */
.news-layout{grid-template-columns:1fr;}
@media(min-width:920px){.news-layout{grid-template-columns:1fr 300px;}}
.news-aside{position:static;}
@media(min-width:920px){.news-aside{position:sticky; top:calc(var(--nav-h) + var(--s5));}}

/* ── Pagination ──────────────────────────────────────────── */
.pager{display:flex; align-items:center; justify-content:center; gap:var(--s2); flex-wrap:wrap; margin-top:var(--s12);}
.pager a,.pager span{display:inline-flex; align-items:center; gap:6px; min-width:44px; height:44px;
  padding:0 16px; justify-content:center; border-radius:var(--r-btn); font-family:var(--font-body);
  font-weight:600; font-size:.9rem; border:1.5px solid var(--border); color:var(--maroon-900);
  background:#fff; transition:background .15s,border-color .15s,color .15s;}
.pager a:hover{border-color:var(--maroon-300); background:var(--maroon-50);}
.pager .is-active{background:var(--maroon-900); color:#fff; border-color:var(--maroon-900); pointer-events:none;}
.pager .is-disabled{opacity:.4; pointer-events:none;}
.pager svg{width:16px; height:16px;}

/* ── Forms ───────────────────────────────────────────────── */
.field{display:flex; flex-direction:column; gap:6px;}
.field label{font-size:.85rem; font-weight:600; color:var(--maroon-900);}
.field .req{color:var(--maroon-600);}
.field input,.field select,.field textarea{
  font-family:var(--font-body); font-size:.95rem; color:var(--text-1);
  padding:12px 14px; border:1px solid var(--border); border-radius:var(--r-btn);
  background:#fff; transition:border-color .15s,box-shadow .15s; width:100%;}
.field textarea{resize:vertical; min-height:120px;}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none; border-color:var(--maroon-500); box-shadow:0 0 0 3px rgba(149,38,34,.15);}
.field input::placeholder,.field textarea::placeholder{color:var(--text-3);}
.form-grid{display:grid; gap:var(--s4);}
@media(min-width:560px){.form-grid.two{grid-template-columns:1fr 1fr;}}
.form-note{font-size:.78rem; color:var(--text-3); text-align:center;}

/* ── Process steps (numbered) ────────────────────────────── */
.step{position:relative;}
.step__n-bg{position:absolute; top:14px; right:18px; font-family:var(--font-display);
  font-size:3rem; font-weight:700; color:var(--maroon-100); line-height:1;}
.step__n{width:44px; height:44px; border-radius:var(--r-md); background:var(--maroon-900);
  color:var(--gold-300); display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-weight:700; margin-bottom:var(--s4);}

/* ── Checklist ───────────────────────────────────────────── */
.checklist{display:flex; flex-direction:column; gap:var(--s3);}
.check{display:flex; gap:var(--s3); align-items:flex-start;}
.check svg{width:18px; height:18px; color:var(--gold-500); flex-shrink:0; margin-top:3px;}
.check span{font-size:.92rem; color:var(--text-2); line-height:1.6;}

/* ── Panel (maroon gradient card) ────────────────────────── */
.panel{background:linear-gradient(150deg,#2F0C0A,#952622); color:#fff;
  border-radius:var(--r-xl); padding:var(--s10); position:relative; overflow:hidden;}
.panel::after{content:""; position:absolute; top:-60px; right:-40px; width:220px; height:220px;
  border-radius:50%; border:1.5px solid rgba(246,192,73,.15);}
.panel h2,.panel h3{color:#fff;}
.panel p{color:rgba(255,255,255,.8);}
.panel .hl{color:var(--gold-300); font-weight:600;}

/* ── CTA band ────────────────────────────────────────────── */
.cta-band{background:linear-gradient(135deg,var(--gold-500),var(--gold-600)); position:relative; overflow:hidden;}
.cta-band::after{content:""; position:absolute; inset:0; background:radial-gradient(circle at 82% 50%,rgba(255,255,255,.12),transparent 50%);}
.cta-band .inner{position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:var(--s6); flex-wrap:wrap;}
.cta-band h2{color:var(--maroon-950); font-size:clamp(1.6rem,3vw,2.1rem);}
.cta-band p{color:var(--maroon-900); opacity:.9;}
.cta-band .over{font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--maroon-950); opacity:.7; margin-bottom:var(--s2);}

/* ── Footer ──────────────────────────────────────────────── */
.site-footer{background:var(--maroon-950); color:#fff; padding-top:var(--s16);}
.footer-grid{display:grid; gap:var(--s10); padding-bottom:var(--s12);}
@media(min-width:760px){.footer-grid{grid-template-columns:1.5fr repeat(3,1fr);}}
.footer-brand .lk{display:flex; align-items:center; gap:var(--s3); margin-bottom:var(--s4);}
.footer-brand .lk img{width:48px; height:48px; object-fit:contain; background:#fff; border-radius:50%; padding:4px;}
.footer-brand .nm{font-family:var(--font-display); font-weight:700; color:var(--gold-300); font-size:1.1rem; letter-spacing:.05em;}
.footer-brand .sb{font-size:.85rem; color:#fff; font-weight:600;}
.footer-brand p{color:rgba(255,255,255,.55); font-size:.9rem; line-height:1.65; margin:var(--s4) 0 var(--s5); max-width:320px;}
.socials{display:flex; gap:var(--s3);}
.socials a{width:38px; height:38px; border-radius:var(--r-md); background:rgba(255,255,255,.07);
  display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.6); transition:.15s;}
.socials a:hover{background:rgba(255,255,255,.16); color:#fff;}
.socials svg{width:18px; height:18px;}
.fcol h3{font-family:var(--font-body); font-size:.72rem; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--gold-400); margin-bottom:var(--s4); color:var(--gold-400);}
.fcol a{display:block; color:rgba(255,255,255,.55); font-size:.9rem; line-height:2.1; transition:color .15s;}
.fcol a:hover{color:#fff;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08); padding:var(--s6) 0;
  display:flex; align-items:center; justify-content:space-between; gap:var(--s4); flex-wrap:wrap;}
.footer-meta{display:flex; gap:var(--s6); flex-wrap:wrap;}
.footer-meta span{display:flex; align-items:center; gap:var(--s2); color:rgba(255,255,255,.45); font-size:.78rem;}
.footer-meta svg{width:14px; height:14px;}
.copyright{font-size:.78rem; color:rgba(255,255,255,.32);}

/* ── Utility ─────────────────────────────────────────────── */
.muted{color:var(--text-2);}
.center{text-align:center;}
.mt-lg{margin-top:var(--s10);}
.flow > * + *{margin-top:var(--s4);}
.eyebrow-strong strong{color:var(--text-1); font-weight:700;}
.maxw{max-width:560px;}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
  *{animation:none !important; scroll-behavior:auto !important;}
  .card--hover:hover,a.card:hover{transform:none;}
  .btn:active{transform:none;}
}
