/* ==========================================================================
   Alfa Pro Australia — site.css
   Palette: white / brand teal (#003642, sampled from the logo) / cyan accent.
   Type: Plus Jakarta Sans (headings) + Inter (interface and body).
   Legacy token names (--gold*, --foil) are kept so class names stay stable;
   their values are the teal/cyan accent family.
   ========================================================================== */

:root{
  --paper:#ffffff;
  --mist:#eaf2f4;
  --mist-2:#dbe9ec;
  --ink:#003642;
  --ink-deep:#001c24;
  --ink-mid:#0a5567;
  --slate:#55707a;
  --slate-light:#80979f;
  --gold:#00b2c9;
  --gold-light:#8fe3ec;
  --gold-dark:#017184;
  --foil:linear-gradient(135deg,#00404e 0%,#017184 24%,#00b2c9 52%,#8fe3ec 74%,#00a2b8 100%);
  --line:rgba(0,54,66,.13);
  --line-strong:rgba(0,54,66,.22);
  --line-gold:rgba(0,178,201,.38);
  --on-ink:rgba(255,255,255,.78);
  --on-ink-dim:rgba(255,255,255,.56);

  --e1:0 1px 2px rgba(0,37,46,.06), 0 2px 8px rgba(0,37,46,.05);
  --e2:0 2px 4px rgba(0,37,46,.05), 0 14px 34px -12px rgba(0,37,46,.18);
  --e3:0 3px 6px rgba(0,37,46,.06), 0 34px 70px -24px rgba(0,37,46,.28);

  --r-xs:3px;
  --r-sm:6px;
  --r-md:14px;
  --r-lg:22px;

  --sans:"Inter","Helvetica Neue",Arial,sans-serif;
  --display:"Plus Jakarta Sans","Inter","Helvetica Neue",Arial,sans-serif;

  --shell:1220px;
  --gutter:clamp(20px,4vw,40px);
  --section:clamp(64px,8vw,116px);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font:400 1.0425rem/1.68 var(--sans);
  font-feature-settings:"kern" 1;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,svg,video{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-family:var(--display);font-weight:700;letter-spacing:-.026em;line-height:1.1}
p{margin:0 0 1.05em}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
::selection{background:var(--gold-light);color:var(--ink-deep)}

.shell{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:var(--gutter)}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:14px 20px;z-index:200}
.skip:focus{left:12px;top:12px}

/* ---------- type scale ---------- */
.t-hero{font-family:var(--display);font-size:clamp(2.5rem,5.6vw,4.45rem);line-height:1.04;letter-spacing:-.035em;font-weight:800}
.t-1{font-size:clamp(2.05rem,4vw,3.2rem);font-weight:800;letter-spacing:-.032em}
.t-2{font-size:clamp(1.7rem,3vw,2.45rem);font-weight:700;letter-spacing:-.028em}
.t-3{font-size:clamp(1.3rem,1.7vw,1.6rem);line-height:1.2}
.t-4{font-family:var(--sans);font-size:1.06rem;font-weight:600;letter-spacing:-.005em;line-height:1.35}
.lede{font-size:clamp(1.09rem,1.5vw,1.28rem);line-height:1.6;color:var(--slate);max-width:62ch}
.measure{max-width:66ch}
.muted{color:var(--slate)}
.tag{display:inline-block;font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.01em;color:var(--gold-dark);
  border:1px solid var(--line-gold);border-radius:999px;padding:5px 12px;background:rgba(200,162,74,.07)}
.section-intro{max-width:64ch;margin-bottom:clamp(34px,4vw,58px)}
.section-intro p{margin-bottom:0;margin-top:18px}
.rule-gold{width:56px;height:2px;background:var(--foil);border:0;margin:0 0 22px}

/* ---------- sections ---------- */
.band{padding-block:var(--section);position:relative}
.band--mist{background:var(--mist)}
.band--tight{padding-block:clamp(44px,5vw,72px)}
.band--ink{background:var(--ink);color:#fff}
.band--ink h2,.band--ink h3{color:#fff}
.band--ink .lede,.band--ink .muted{color:var(--on-ink)}
.band--ink .tag,.band--deep .tag,.cta .tag{color:var(--gold-light);border-color:rgba(143,227,236,.35);background:rgba(143,227,236,.09)}
.band--ink .checks span,.band--deep .checks span,.cta .checks span{color:var(--on-ink)}
.band--ink .checks b,.band--deep .checks b,.cta .checks b{color:#fff}
.band--deep{background:
  radial-gradient(1100px 520px at 12% -10%,rgba(1,74,90,.92),transparent 60%),
  radial-gradient(900px 480px at 92% 8%,rgba(0,178,201,.18),transparent 62%),
  var(--ink-deep);
  color:#fff}
.band--deep h1,.band--deep h2,.band--deep h3{color:#fff}
.band--deep .lede{color:var(--on-ink)}
.hairline{border-top:1px solid var(--line)}
.grid-noise{position:absolute;inset:0;pointer-events-none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:64px 64px;mask-image:radial-gradient(80% 60% at 50% 0%,#000,transparent 78%)}

/* ---------- buttons ---------- */
.btn{
  --btn-bg:var(--ink);--btn-fg:#fff;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--sans);font-size:.97rem;font-weight:600;letter-spacing:-.003em;
  padding:15px 26px;border-radius:var(--r-sm);border:1px solid transparent;
  background:var(--btn-bg);color:var(--btn-fg);text-decoration:none;cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease;
  box-shadow:var(--e1);
}
.btn:hover{transform:translateY(-2px);box-shadow:var(--e2)}
.btn:active{transform:translateY(0)}
.btn svg{width:18px;height:18px;flex:none}
.btn--gold{background:var(--gold);color:#00252e;border-color:transparent;font-weight:700}
.btn--gold:hover{background:#00c2db;box-shadow:0 12px 30px -10px rgba(0,178,201,.65)}
.btn--line{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.btn--line:hover{border-color:var(--ink);background:rgba(11,27,51,.03)}
.band--ink .btn--line,.band--deep .btn--line,.cta .btn--line,.footer .btn--line{color:#fff;border-color:rgba(255,255,255,.34)}
.band--ink .btn--line:hover,.band--deep .btn--line:hover,.cta .btn--line:hover,.footer .btn--line:hover{background:rgba(255,255,255,.1);border-color:#fff}
.btn--wa{background:#1fa855;color:#fff;border-color:rgba(0,0,0,.08)}
.btn--wa:hover{background:#18904a}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.link-quiet{font-weight:600;font-size:.96rem;text-decoration:none;border-bottom:1px solid var(--line-gold);padding-bottom:2px;color:var(--ink)}
.link-quiet:hover{border-color:var(--gold);color:var(--gold-dark)}
.band--ink .link-quiet,.band--deep .link-quiet,.cta .link-quiet{color:var(--gold-light);border-color:rgba(143,227,236,.45)}

/* ---------- header ---------- */
.topbar{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.9);backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid var(--line);transition:box-shadow .2s ease}
.topbar.is-stuck{box-shadow:0 10px 30px -18px rgba(0,37,46,.42)}
.topbar__in{display:flex;align-items:center;gap:22px;min-height:74px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;flex:none}
.brand__mark{width:42px;height:42px;display:grid;place-items:center;flex:none}
.brand__mark img{width:42px;height:42px;object-fit:contain}
.brand__txt{display:flex;flex-direction:column;line-height:1.05}
.brand__txt b{font-family:var(--display);font-weight:800;font-size:1.08rem;letter-spacing:-.028em}
.brand__txt i{font-style:normal;font-size:.66rem;letter-spacing:.16em;color:var(--slate-light);font-weight:600}

.nav{margin-left:auto;display:flex;align-items:center;gap:2px}
.nav__item{position:relative}
.nav__link{display:inline-flex;align-items:center;gap:6px;padding:10px 13px;border-radius:var(--r-sm);
  font-size:.945rem;font-weight:500;color:var(--ink);text-decoration:none;background:none;border:0;font-family:var(--sans);cursor:pointer}
.nav__link:hover{background:var(--mist)}
.nav__link[aria-current="page"]{color:var(--gold-dark)}
.nav__link[aria-current="page"]::after{content:"";position:absolute;left:13px;right:13px;bottom:2px;height:2px;background:var(--foil)}
.nav__chev{width:10px;height:10px;transition:transform .2s ease;opacity:.55}
.nav__item[data-open="true"] .nav__chev{transform:rotate(180deg)}
.mega{position:absolute;top:calc(100% + 12px);left:-16px;min-width:min(660px,84vw);background:#fff;border:1px solid var(--line);
  border-radius:var(--r-md);box-shadow:var(--e3);padding:20px;opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:95}
.mega::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--foil);border-radius:var(--r-md) var(--r-md) 0 0}
.nav__item[data-open="true"] .mega{opacity:1;visibility:visible;transform:translateY(0)}
.mega__grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 22px}
.mega__grid--3{grid-template-columns:repeat(3,1fr)}
.mega a{display:block;padding:9px 11px;border-radius:var(--r-sm);text-decoration:none;font-size:.92rem;font-weight:500}
.mega a:hover{background:var(--mist);color:var(--gold-dark)}
.mega a small{display:block;font-weight:400;font-size:.79rem;color:var(--slate-light);margin-top:2px}
.mega__foot{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center}
.mega__foot span{font-size:.85rem;color:var(--slate)}
.topbar__cta{display:flex;align-items:center;gap:10px;flex:none;margin-left:8px}
.topbar__cta .btn{padding:12px 20px;font-size:.92rem}
.burger{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;align-items:center;justify-content:center}
.burger span{display:block;width:19px;height:1.6px;background:var(--ink);position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:19px;height:1.6px;background:var(--ink)}
.burger span::before{top:-6px}.burger span::after{top:6px}

.drawer{position:fixed;inset:74px 0 0;background:#fff;z-index:88;transform:translateX(100%);transition:transform .28s ease;
  overflow-y:auto;padding:8px var(--gutter) 40px;display:none}
.drawer.is-open{transform:translateX(0)}
.drawer details{border-bottom:1px solid var(--line)}
.drawer summary{list-style:none;cursor:pointer;padding:16px 2px;font-weight:600;display:flex;justify-content:space-between;align-items:center}
.drawer summary::-webkit-details-marker{display:none}
.drawer summary::after{content:"+";font-size:1.3rem;color:var(--gold-dark);font-weight:400}
.drawer details[open] summary::after{content:"–"}
.drawer .drawer__sub a{display:block;padding:11px 2px 11px 16px;font-size:.95rem;text-decoration:none;color:var(--slate);border-left:1px solid var(--line-gold);margin-left:2px}
.drawer > a{display:block;padding:16px 2px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--line)}
.drawer__cta{margin-top:26px;display:grid;gap:12px}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding-block:clamp(48px,6vw,92px) clamp(64px,7vw,108px);
  background:
    radial-gradient(760px 420px at 88% 6%,rgba(0,178,201,.13),transparent 68%),
    radial-gradient(680px 380px at 4% 96%,rgba(0,54,66,.07),transparent 66%),
    var(--paper)}
.hero__wash{position:absolute;inset:0;pointer-events:none;opacity:.55;
  background-image:radial-gradient(rgba(0,54,66,.13) 1.1px,transparent 1.1px);
  background-size:24px 24px;
  mask-image:radial-gradient(70% 60% at 82% 20%,#000,transparent 72%)}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(32px,5vw,64px);align-items:center;position:relative;z-index:2}
.hero h1{margin-bottom:22px;color:var(--ink)}
.hero .lede{max-width:52ch}
.hero__meta{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}
.hero__meta li{display:flex;align-items:center;gap:9px;font-size:.9rem;color:var(--slate);font-weight:500}
.hero__meta svg{width:15px;height:15px;color:var(--gold);flex:none}

/* 3D stage — one flat 3D transform on the wrapper, normal stacking inside.
   (Per-child translateZ with preserve-3d was painting panels out of register.) */
.stage{position:relative;padding-bottom:15%}
.stage__inner{position:relative;transform:perspective(1700px) rotateX(var(--rx,3deg)) rotateY(var(--ry,-8deg));
  transform-origin:58% 46%;transition:transform .5s cubic-bezier(.2,.7,.3,1);will-change:transform}
.panel{border-radius:16px;background:var(--paper);overflow:hidden;
  box-shadow:0 26px 60px -26px rgba(0,28,36,.45),0 0 0 1px rgba(0,54,66,.09);padding:18px}
.panel--photo{position:relative;width:100%;aspect-ratio:16/10;padding:0;border-radius:18px;z-index:1;
  box-shadow:0 40px 80px -34px rgba(0,28,36,.55),0 0 0 1px rgba(0,54,66,.12)}
.panel--photo img{width:100%;height:100%;object-fit:cover;display:block}
.panel--photo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(195deg,rgba(0,54,66,.05),rgba(0,28,36,.48));pointer-events:none}
.panel__tagline{position:absolute;z-index:3;left:20px;bottom:18px;color:#fff;font-size:.86rem;font-weight:600;
  display:flex;align-items:center;gap:9px}
.panel__tagline::before{content:"";width:26px;height:2px;background:var(--gold);border-radius:2px}
.panel--main{position:absolute;left:0;bottom:-13%;width:57%;z-index:2;padding:16px 18px}
.panel--kpi{position:absolute;right:0;bottom:-19%;width:41%;z-index:3;padding:16px 18px;
  background:linear-gradient(155deg,#00404e,#001c24);color:#fff;
  box-shadow:0 30px 60px -22px rgba(0,28,36,.6),0 0 0 1px rgba(0,178,201,.45)}
.panel__hd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.panel__hd b{font-family:var(--sans);font-size:.74rem;font-weight:700;color:var(--ink);white-space:nowrap}
.panel__hd i{font-style:normal;font-size:.66rem;color:var(--slate-light);white-space:nowrap}
.panel--kpi .panel__hd b{color:#fff}
.panel--kpi .panel__hd i{color:var(--gold-light)}
.kpi__num{font-family:var(--display);font-weight:800;font-size:clamp(1.9rem,3.4vw,2.4rem);line-height:1;color:var(--gold-light)}
.kpi__lbl{font-size:.71rem;line-height:1.45;color:var(--on-ink);margin-top:8px}
.spark{display:flex;align-items:flex-end;gap:5px;height:72px;margin-bottom:10px}
.spark i{flex:1;border-radius:3px 3px 1px 1px;background:#d3e6ea}
.spark i:nth-child(n+6){background:linear-gradient(180deg,#00b2c9,#017184)}
.panel__rows{display:grid;gap:6px}
.panel__row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.68rem;color:var(--slate);
  padding:7px 9px;background:var(--mist);border-radius:6px;white-space:nowrap;overflow:hidden}
.panel__row span{overflow:hidden;text-overflow:ellipsis}
.panel__row b{color:var(--ink);font-size:.69rem;flex:none}
.bubble{font-size:.78rem;line-height:1.45;padding:10px 12px;border-radius:12px;background:#e7f5ea;color:#14371f;max-width:92%;margin-bottom:8px}
.bubble--me{background:var(--ink);color:#fff;margin-left:auto}
.stage__glow{position:absolute;inset:auto -12% -6% -12%;height:52%;z-index:0;
  background:radial-gradient(60% 100% at 50% 100%,rgba(0,178,201,.2),transparent 70%);filter:blur(8px)}

/* ---------- foil metrics ---------- */
.foil{background:linear-gradient(115deg,#00252e 0%,#014a5a 52%,#003642 100%);color:#fff;position:relative}
.foil::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--foil)}
.foil__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding-block:26px}
.foil__grid > div{padding-inline:8px;border-left:1px solid rgba(255,255,255,.16)}
.foil__grid > div:first-child{border-left:0}
.foil b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(1.4rem,2.2vw,1.95rem);line-height:1.1;letter-spacing:-.03em}
.foil span{font-size:.82rem;color:rgba(255,255,255,.74);display:block;margin-top:4px}

/* ---------- cards ---------- */
.cards{display:grid;gap:clamp(16px,1.8vw,24px)}
.cards--2{grid-template-columns:repeat(2,1fr)}
.cards--3{grid-template-columns:repeat(3,1fr)}
.cards--4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:clamp(20px,2.2vw,28px);position:relative;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.card--link{text-decoration:none;display:block}
.card--link:hover{transform:translateY(-4px);box-shadow:var(--e2);border-color:var(--line-gold)}
.card h3{margin-bottom:10px}
.card p{color:var(--slate);font-size:.965rem;margin-bottom:0}
.card__more{margin-top:16px;display:inline-block;font-size:.9rem;font-weight:600;color:var(--gold-dark)}
.card--flat{background:var(--mist);border-color:transparent}
.card--ink{background:linear-gradient(155deg,#00404e,#00252e);color:#fff;border-color:rgba(0,178,201,.32);box-shadow:var(--e2)}
.card--ink p{color:var(--on-ink)}
.card__ico{width:46px;height:46px;border-radius:11px;display:grid;place-items:center;margin-bottom:18px;
  background:var(--mist);border:1px solid var(--line);color:var(--ink-mid)}
.card__ico svg{width:22px;height:22px}
.card--ink .card__ico{background:rgba(0,178,201,.16);border-color:rgba(0,178,201,.42);color:var(--gold-light)}
.card__idx{font-family:var(--display);font-size:.95rem;color:var(--gold-dark);display:block;margin-bottom:12px}

/* service index list */
.svc-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.svc-list a{background:#fff;padding:26px 24px;text-decoration:none;display:flex;flex-direction:column;gap:9px;transition:background .18s ease}
.svc-list a:hover{background:var(--mist)}
.svc-list__ico{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;margin-bottom:6px;
  background:linear-gradient(150deg,var(--mist),#fff);border:1px solid var(--line);color:var(--ink-mid);
  box-shadow:var(--e1);transition:background .18s ease,color .18s ease,border-color .18s ease}
.svc-list__ico svg{width:21px;height:21px}
.svc-list a:hover .svc-list__ico{background:var(--ink);border-color:var(--ink);color:var(--gold-light)}
.band--ink .svc-list,.band--deep .svc-list{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.16)}
.band--ink .svc-list a,.band--deep .svc-list a{background:#00303c;color:#fff}
.band--ink .svc-list a:hover,.band--deep .svc-list a:hover{background:#003f4e}
.band--ink .svc-list span,.band--deep .svc-list span{color:var(--on-ink)}
.band--ink .svc-list__ico,.band--deep .svc-list__ico{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);color:var(--gold-light);box-shadow:none}
.svc-list b{font-size:1.02rem;font-weight:600;letter-spacing:-.005em}
.svc-list span{font-size:.9rem;color:var(--slate);line-height:1.55}
.svc-list em{font-style:normal;font-size:.82rem;color:var(--gold-dark);font-weight:600;margin-top:auto}

/* ---------- split / media ---------- */
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4.4vw,64px);align-items:center}
.split--wide-l{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.split--wide-r{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.media{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--paper);
  border:1px solid var(--line);box-shadow:var(--e2)}
.media .art{width:100%;height:100%;display:block}
.media img,.media video{width:100%;height:100%;object-fit:cover}
.media--tall{aspect-ratio:4/5}
.media--wide{aspect-ratio:16/9}
.media--square{aspect-ratio:1}
.media__cap{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:20px;color:var(--ink);font-size:.88rem;font-weight:500;
  background:linear-gradient(0deg,rgba(255,255,255,.97) 40%,rgba(255,255,255,.85) 70%,rgba(255,255,255,0));
  border-top:1px solid var(--line)}
.media__badge{position:absolute;z-index:3;top:16px;left:16px;background:var(--paper);border:1px solid var(--line);
  color:var(--ink-mid);font-size:.75rem;font-weight:700;padding:6px 12px;border-radius:999px;box-shadow:var(--e1)}
@media (min-width:1024px){
  .split .media{transform:perspective(1600px) rotateY(-5.5deg) rotateX(2deg) translateZ(0);
    transition:transform .55s cubic-bezier(.2,.7,.3,1),box-shadow .55s ease;box-shadow:var(--e3)}
  .split--wide-r .media{transform:perspective(1600px) rotateY(5.5deg) rotateX(2deg)}
  .split .media:hover{transform:perspective(1600px) rotateY(0) rotateX(0)}
}

/* checklist */
.checks{display:grid;gap:14px;margin:26px 0 0}
.checks li{display:flex;gap:13px;align-items:flex-start;font-size:1rem}
.checks svg{width:20px;height:20px;flex:none;color:var(--gold);margin-top:2px}
.checks b{display:block;font-weight:600;font-size:1rem}
.checks span{color:var(--slate);font-size:.94rem}

/* ---------- problems ---------- */
.probs{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}
.prob{background:#fff;padding:clamp(24px,3vw,38px)}
.prob__q{font-family:var(--display);font-size:clamp(1.2rem,1.9vw,1.55rem);line-height:1.25;margin-bottom:14px}
.prob p{font-size:.97rem;color:var(--slate)}
.prob ul{display:grid;gap:8px;margin:18px 0 20px}
.prob ul li{position:relative;padding-left:18px;font-size:.92rem;color:var(--ink)}
.prob ul li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;background:var(--foil);border-radius:2px}

/* ---------- process ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--line-gold)}
.step{padding:30px 26px 0 0;position:relative}
.step::before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(0,178,201,.2)}
.step__n{font-family:var(--display);font-size:.9rem;color:var(--gold-dark);display:block;margin-bottom:8px}
.step h3{font-size:1.24rem;margin-bottom:10px}
.step p{font-size:.94rem;color:var(--slate)}
.band--ink .step p,.band--deep .step p,.cta .step p{color:var(--on-ink)}
.band--ink .step h3,.band--deep .step h3{color:#fff}
.band--ink .step__n,.band--deep .step__n{color:var(--gold-light)}

/* ---------- chips ---------- */
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips a{text-decoration:none;font-size:.93rem;font-weight:500;padding:11px 18px;border:1px solid var(--line);border-radius:999px;background:#fff;transition:all .18s ease}
.chips a:hover{border-color:var(--gold);color:var(--gold-dark);transform:translateY(-2px)}
.band--ink .chips a,.band--deep .chips a,.cta .chips a{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:#fff}
.band--ink .chips a:hover,.band--deep .chips a:hover,.cta .chips a:hover{border-color:var(--gold-light);color:var(--gold-light)}

/* ---------- compare table ---------- */
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;box-shadow:var(--e1)}
table.cmp{width:100%;min-width:660px;border-collapse:collapse;font-size:.94rem}
table.cmp th,table.cmp td{padding:18px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
table.cmp thead th{font-family:var(--sans);font-size:.9rem;font-weight:700;background:var(--mist)}
table.cmp thead th:nth-child(2){background:var(--ink);color:#fff;position:relative}
table.cmp thead th:nth-child(2)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--foil)}
table.cmp tbody th{font-weight:600;width:20%;color:var(--slate)}
table.cmp td:first-of-type{background:rgba(0,178,201,.07);font-weight:500}
table.cmp tr:last-child th,table.cmp tr:last-child td{border-bottom:0}

/* ---------- faq ---------- */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;font-weight:600;font-size:1.06rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:8px;top:28px;width:11px;height:11px;border-right:1.6px solid var(--gold-dark);border-bottom:1.6px solid var(--gold-dark);transform:rotate(45deg);transition:transform .2s ease}
.faq details[open] summary::after{transform:rotate(225deg)}
.faq__a{padding:0 60px 24px 0;color:var(--slate);max-width:78ch}
.faq__a p:last-child{margin-bottom:0}

/* ---------- blog ---------- */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2vw,28px)}
.post{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease}
.post:hover{transform:translateY(-4px);box-shadow:var(--e2)}
.post .media{border-radius:0;box-shadow:none;aspect-ratio:16/10}
.post__body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.post__meta{display:flex;gap:12px;align-items:center;font-size:.8rem;color:var(--slate-light);margin-bottom:12px}
.post__meta b{color:var(--gold-dark);font-weight:600}
.post h3{font-size:1.18rem;line-height:1.22;margin-bottom:10px}
.post p{font-size:.93rem;color:var(--slate);margin-bottom:16px}
.post__more{margin-top:auto;font-size:.88rem;font-weight:600;color:var(--ink)}

/* article */
.article{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(32px,5vw,72px);align-items:start}
.prose{max-width:70ch;font-size:1.075rem;line-height:1.75}
.prose h2{font-size:clamp(1.6rem,2.4vw,2.05rem);margin:2em 0 .6em}
.prose h3{font-size:1.28rem;margin:1.7em 0 .5em}
.prose p{margin-bottom:1.2em}
.prose ul{margin:0 0 1.4em;display:grid;gap:10px}
.prose ul li{position:relative;padding-left:22px}
.prose ul li::before{content:"";position:absolute;left:0;top:11px;width:8px;height:8px;background:var(--foil);border-radius:2px}
.prose blockquote{margin:1.8em 0;padding:22px 26px;background:var(--mist);border-left:3px solid var(--gold);border-radius:0 var(--r-sm) var(--r-sm) 0;
  font-family:var(--display);font-size:1.2rem;line-height:1.45}
.prose blockquote p{margin:0}
.prose strong{font-weight:600}
.aside{position:sticky;top:98px;display:grid;gap:20px}
.aside__box{border:1px solid var(--line);border-radius:var(--r-md);padding:24px;background:#fff}
.aside__box h4{font-family:var(--sans);font-size:.95rem;font-weight:700;margin-bottom:14px}
.toc{display:grid;gap:9px}
.toc a{font-size:.9rem;color:var(--slate);text-decoration:none;padding-left:12px;border-left:1px solid var(--line)}
.toc a:hover{color:var(--gold-dark);border-color:var(--gold)}

/* ---------- breadcrumb ---------- */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.85rem;color:var(--slate-light);padding-block:18px 0}
.crumbs a{text-decoration:none;color:var(--slate)}
.crumbs a:hover{color:var(--gold-dark)}
.crumbs span{opacity:.5}
.band--deep .crumbs,.band--ink .crumbs{color:var(--on-ink-dim)}
.band--deep .crumbs a,.band--ink .crumbs a{color:var(--on-ink)}

/* page hero */
.phero{padding-block:clamp(30px,4vw,52px) clamp(52px,6vw,84px);position:relative;overflow:hidden;
  background:radial-gradient(700px 380px at 92% 0%,rgba(0,178,201,.11),transparent 68%),
  linear-gradient(180deg,#f6fbfc,var(--paper) 78%)}
.phero h1,.phero h2{color:var(--ink)}
.phero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,5vw,60px);align-items:end;position:relative;z-index:2}
.phero h1{margin:16px 0 20px}
.phero__facts{display:grid;gap:16px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);
  padding:26px;box-shadow:var(--e2)}
.phero__facts div{display:grid;gap:3px}
.phero__facts b{font-family:var(--display);font-size:1.45rem;color:var(--ink);font-weight:800;letter-spacing:-.03em}
.phero__facts span{font-size:.86rem;color:var(--slate)}

/* ---------- forms ---------- */
.form{display:grid;gap:16px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:7px}
.field label{font-size:.86rem;font-weight:600}
.field input,.field select,.field textarea{
  font:400 1rem/1.4 var(--sans);padding:13px 15px;border-radius:var(--r-sm);border:1px solid var(--line-strong);
  background:#fff;color:var(--ink);width:100%}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
.field small{font-size:.79rem;color:var(--slate-light)}
.form__note{font-size:.84rem;color:var(--slate);margin:0}
.contactbox{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(24px,3vw,38px);box-shadow:var(--e3)}
.contactlist{display:grid;gap:14px;margin-top:26px}
.contactlist a{display:flex;gap:14px;align-items:center;text-decoration:none;padding:16px 18px;border-radius:var(--r-md);
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);transition:all .18s ease}
.contactlist a:hover{border-color:var(--gold);background:rgba(0,178,201,.14)}
.contactlist svg{width:22px;height:22px;color:var(--gold-light);flex:none}
.contactlist b{display:block;font-size:.98rem}
.contactlist span{font-size:.85rem;color:var(--on-ink)}

/* ---------- cta band ---------- */
.cta{position:relative;overflow:hidden;background:
  radial-gradient(900px 400px at 8% 0%,rgba(1,74,90,.95),transparent 62%),
  radial-gradient(700px 380px at 96% 100%,rgba(0,178,201,.22),transparent 62%),var(--ink-deep);color:#fff}
.cta__in{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(28px,4vw,56px);align-items:center;position:relative;z-index:2}
.cta h2{margin-bottom:16px}
.cta .lede{color:var(--on-ink)}

/* ---------- footer ---------- */
.footer{background:var(--ink-deep);color:var(--on-ink);padding-block:clamp(52px,6vw,76px) 30px;font-size:.93rem}
.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:clamp(26px,3vw,44px)}
.footer h4{font-family:var(--sans);font-size:.85rem;font-weight:700;color:#fff;margin-bottom:16px;letter-spacing:.01em}
.footer a{text-decoration:none;color:var(--on-ink)}
.footer a:hover{color:var(--gold-light)}
.footer li{margin-bottom:10px;line-height:1.4}
.footer .brand__txt b{color:#fff}
.footer__about{max-width:34ch;margin:18px 0 0;color:var(--on-ink-dim);font-size:.9rem}
.footer__bottom{margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:12px 24px;
  justify-content:space-between;font-size:.84rem;color:var(--on-ink-dim)}
.footer__social{display:flex;gap:10px}
.footer__social a{width:38px;height:38px;border:1px solid rgba(255,255,255,.16);border-radius:9px;display:grid;place-items:center}
.footer__social svg{width:17px;height:17px}
.footer__social a:hover{border-color:var(--gold);background:rgba(0,178,201,.16)}

/* sticky mobile actions */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;gap:1px;background:var(--line);
  box-shadow:0 -8px 26px -12px rgba(0,37,46,.4)}
.dock a{flex:1;background:#fff;padding:13px 8px;text-align:center;text-decoration:none;font-size:.82rem;font-weight:600;display:grid;gap:4px;justify-items:center}
.dock svg{width:18px;height:18px;color:var(--gold-dark)}
.dock a.dock--wa{background:#1fa855;color:#fff}
.dock a.dock--wa svg{color:#fff}
.wafloat{position:fixed;right:20px;bottom:24px;z-index:79;width:56px;height:56px;border-radius:50%;background:#1fa855;
  display:grid;place-items:center;box-shadow:0 14px 30px -8px rgba(31,168,85,.7);border:2px solid rgba(255,255,255,.5)}
.wafloat svg{width:27px;height:27px;color:#fff}

/* misc */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.stat{border-left:2px solid var(--line-gold);padding-left:18px}
.stat b{display:block;font-family:var(--display);font-size:clamp(1.7rem,2.6vw,2.3rem);line-height:1.1}
.stat span{font-size:.88rem;color:var(--slate)}
.band--ink .stat span,.band--deep .stat span,.cta .stat span{color:var(--on-ink)}
.band--ink .stat b,.band--deep .stat b{color:#fff}
.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.pill{font-size:.82rem;padding:7px 13px;border-radius:999px;background:var(--mist);border:1px solid var(--line);color:var(--slate)}
.band--deep .pill,.band--ink .pill,.cta .pill{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);color:var(--on-ink)}
.notice{border:1px solid var(--line-gold);background:rgba(0,178,201,.07);border-radius:var(--r-md);padding:20px 22px;font-size:.95rem}
.notice b{display:block;margin-bottom:6px}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .nav,.topbar__cta{display:none}
  .burger{display:flex}
  .drawer{display:block}
  .hero__grid,.phero__grid,.cta__in,.article{grid-template-columns:1fr}
  .article .aside{position:static;order:2}
  .stage{margin-top:18px;padding-bottom:0}
  .stage__inner{transform:none;display:grid;gap:14px}
  .panel--photo{aspect-ratio:16/9}
  .panel--main,.panel--kpi{position:static;width:100%}
  .cards--4,.svc-list{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr);gap:26px 0}
  .footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .cards--3,.posts{grid-template-columns:repeat(2,1fr)}
  .split,.split--wide-l,.split--wide-r{grid-template-columns:1fr}
  .probs{grid-template-columns:1fr}
  .foil__grid{grid-template-columns:repeat(2,1fr);gap:18px}
  .foil__grid > div:nth-child(3){border-left:0}
  .stats{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  body{font-size:1.005rem}
  .cards--2,.cards--3,.cards--4,.posts,.svc-list{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;border-top:0}
  .step{padding:0 0 26px 24px;border-left:2px solid var(--line-gold)}
  .step::before{top:2px;left:-7px}
  .form__row{grid-template-columns:1fr}
  .foil__grid{grid-template-columns:1fr 1fr}
  .dock{display:flex}
  .wafloat{display:none}
  body{padding-bottom:62px}
  .drawer{inset:70px 0 0}
  .stage{min-height:340px}
  .footer__grid{grid-template-columns:1fr}
  .prose{font-size:1.02rem}
  .stats{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  .stage__inner{transform:rotateX(6deg) rotateY(-9deg) !important}
}

/* one orchestrated load reveal (hero only) */
@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(14px);animation:rise .75s cubic-bezier(.2,.75,.25,1) forwards}
  .reveal-1{animation-delay:.05s}.reveal-2{animation-delay:.16s}.reveal-3{animation-delay:.27s}.reveal-4{animation-delay:.38s}
  @keyframes rise{to{opacity:1;transform:none}}
  .stage__inner{animation:settle 1.1s cubic-bezier(.2,.75,.25,1) both}
  @keyframes settle{from{opacity:0;transform:rotateX(20deg) rotateY(-28deg) scale(.94)}to{opacity:1}}
}
@media print{.topbar,.dock,.wafloat,.cta,.footer__social{display:none}}

/* ---------- testimonials ---------- */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,1.8vw,24px)}
.quotes--2{grid-template-columns:repeat(2,1fr)}
.quotes--1{grid-template-columns:minmax(0,780px)}
.quote{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:clamp(22px,2.4vw,30px);
  display:flex;flex-direction:column;gap:16px;box-shadow:var(--e1);position:relative}
.quote::before{content:"";width:34px;height:3px;border-radius:2px;background:var(--foil);display:block}
.quote p{font-size:1.02rem;line-height:1.6;margin:0;color:var(--ink)}
.quote__who{margin-top:auto;display:flex;align-items:center;gap:13px;padding-top:6px}
.quote__av{width:42px;height:42px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:700;
  font-size:.95rem;background:var(--mist);border:1px solid var(--line);color:var(--ink-mid)}
.quote__who b{display:block;font-size:.95rem}
.quote__who span{display:block;font-size:.84rem;color:var(--slate)}
.band--ink .quote,.band--deep .quote{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.14);box-shadow:none}
.band--ink .quote p,.band--deep .quote p{color:#fff}
.band--ink .quote__who b,.band--deep .quote__who b{color:#fff}
.band--ink .quote__who span,.band--deep .quote__who span{color:var(--on-ink-dim)}
.band--ink .quote__av,.band--deep .quote__av{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:var(--gold-light)}

/* results strip */
.results{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.results > div{background:#fff;padding:26px 24px}
.results b{display:block;font-family:var(--display);font-weight:800;letter-spacing:-.03em;
  font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.05;color:var(--ink)}
.results span{display:block;font-size:.88rem;color:var(--slate);margin-top:8px}
.results em{display:block;font-style:normal;font-size:.78rem;color:var(--slate-light);margin-top:10px}
.band--ink .results,.band--deep .results{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.16)}
.band--ink .results > div,.band--deep .results > div{background:#00303c}
.band--ink .results b,.band--deep .results b{color:#fff}
.band--ink .results span,.band--deep .results span{color:var(--on-ink)}
.band--ink .results em,.band--deep .results em{color:var(--on-ink-dim)}

/* anything still to be filled in before launch */
.tofill{border:1.5px dashed rgba(0,178,201,.6);background:rgba(0,178,201,.05)}
.results > div.tofill{background:rgba(0,178,201,.05)}
.tofill b,.tofill p{color:var(--slate)!important}
.tofill-note{display:flex;gap:10px;align-items:flex-start;margin-top:20px;font-size:.86rem;
  color:var(--gold-dark);font-weight:600;border:1.5px dashed rgba(0,178,201,.6);border-radius:var(--r-sm);
  padding:13px 16px;background:rgba(0,178,201,.05)}
.tofill-note svg{width:17px;height:17px;flex:none;margin-top:2px}
.band--ink .tofill-note,.band--deep .tofill-note{color:var(--gold-light);background:rgba(143,227,236,.08)}
@media (max-width:820px){
  .quotes,.results{grid-template-columns:1fr}
}

/* ---------- click-to-load YouTube ---------- */
.ytlite{position:relative;cursor:pointer;background:var(--ink-deep)}
.ytlite img{width:100%;height:100%;object-fit:cover;display:block}
.ytlite iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ytlite__play{position:absolute;inset:0;z-index:4;display:grid;place-items:center;background:none;border:0;
  cursor:pointer;padding:0;transition:background .2s ease}
.ytlite__play svg{width:clamp(62px,7vw,88px);height:auto;filter:drop-shadow(0 10px 24px rgba(0,28,36,.5));
  transition:transform .2s ease}
.ytlite__bg{fill:#001c24;fill-opacity:.82;transition:fill .2s ease,fill-opacity .2s ease}
.ytlite:hover .ytlite__bg,.ytlite__play:focus-visible .ytlite__bg{fill:#ff0033;fill-opacity:1}
.ytlite:hover .ytlite__play svg{transform:scale(1.06)}
.ytlite__play:focus-visible{outline:3px solid var(--gold);outline-offset:-4px}
.ytlite.is-playing .ytlite__play,.ytlite.is-playing .media__badge,.ytlite.is-playing .media__cap{display:none}
