/* Self-hosted fonts (downloaded from Google Fonts 2026-07-06): Sora, Manrope, IBM Plex Mono */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/ibm-plex-mono-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/ibm-plex-mono-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/ibm-plex-mono-500-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/ibm-plex-mono-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/manrope-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/manrope-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/manrope-500-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/manrope-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/manrope-600-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/manrope-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/manrope-700-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/manrope-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/sora-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/sora-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/sora-500-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/sora-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/sora-600-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/sora-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/sora-700-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/sora-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ============================================================
   ACCIS Fall 2026 — shared site styles ("Civic Midnight" + crystal glass)
   Fonts: Sora (headings), Manrope (body), IBM Plex Mono (labels)
   ============================================================ */
:root{
  --bg:#080B12; --bg2:#0d111b; --acc:#22D3EE; --acc2:#7DEDFB; --ink:#04323a;
  --glow:rgba(34,211,238,.18);
  --glass:rgba(255,255,255,.045); --glass-hi:rgba(255,255,255,.07); --glass-bd:rgba(255,255,255,.12); --glass-bd-hi:rgba(255,255,255,.22);
  --tx:#eef2f8; --tx-mut:#9aa6bd; --tx-faint:#6c7690;
  --sans:'Manrope',system-ui,sans-serif; --head:'Sora',system-ui,sans-serif; --mono:'IBM Plex Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--bg);color:var(--tx-mut);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;}
body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:56px 56px;-webkit-mask-image:radial-gradient(circle at 72% 8%,#000 0%,transparent 60%);mask-image:radial-gradient(circle at 72% 8%,#000 0%,transparent 60%);}
a{color:inherit;}
img{max-width:100%;}
.wrap{max-width:1080px;margin:0 auto;}
.acc{background:linear-gradient(120deg,var(--acc),var(--acc2));-webkit-background-clip:text;background-clip:text;color:transparent;}
.glass{background:var(--glass);border:1px solid var(--glass-bd);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}

/* ---- AURORA ---- */
.aurora{position:fixed;inset:-12%;z-index:0;pointer-events:none;overflow:hidden;transition:transform .5s ease-out;}
.blob{position:absolute;filter:blur(74px);will-change:transform,border-radius;}
.b1{width:60vw;height:40vw;top:-16%;left:-12%;opacity:.6;background:radial-gradient(ellipse at center,rgba(34,211,238,.72),transparent 66%);animation:cloud1 25s ease-in-out infinite;}
.b2{width:54vw;height:36vw;bottom:-20%;right:-14%;opacity:.46;background:radial-gradient(ellipse at center,rgba(59,130,246,.64),transparent 66%);animation:cloud2 31s ease-in-out infinite;}
.b3{width:44vw;height:32vw;top:28%;left:34%;opacity:.4;background:radial-gradient(ellipse at center,rgba(125,237,251,.6),transparent 66%);animation:cloud3 21s ease-in-out infinite;}
@keyframes cloud1{
  0%{transform:translate(-8%,-6%) rotate(0deg) scale(1);border-radius:46% 54% 62% 38% / 44% 46% 54% 56%;}
  33%{transform:translate(42%,18%) rotate(9deg) scale(1.16);border-radius:62% 38% 44% 56% / 56% 50% 50% 44%;}
  66%{transform:translate(16%,44%) rotate(-7deg) scale(.92);border-radius:38% 62% 56% 44% / 64% 40% 60% 36%;}
  100%{transform:translate(-8%,-6%) rotate(0deg) scale(1);border-radius:46% 54% 62% 38% / 44% 46% 54% 56%;}}
@keyframes cloud2{
  0%{transform:translate(6%,8%) rotate(0deg) scale(1);border-radius:54% 46% 40% 60% / 50% 56% 44% 50%;}
  33%{transform:translate(-38%,-14%) rotate(-10deg) scale(1.12);border-radius:40% 60% 58% 42% / 60% 42% 58% 40%;}
  66%{transform:translate(-12%,-40%) rotate(8deg) scale(.94);border-radius:58% 42% 50% 50% / 42% 60% 40% 58%;}
  100%{transform:translate(6%,8%) rotate(0deg) scale(1);border-radius:54% 46% 40% 60% / 50% 56% 44% 50%;}}
@keyframes cloud3{
  0%{transform:translate(0%,0%) rotate(0deg) scale(1);border-radius:50% 50% 52% 48% / 52% 48% 52% 48%;}
  25%{transform:translate(-34%,22%) rotate(12deg) scale(1.14);border-radius:62% 38% 44% 56% / 40% 58% 42% 60%;}
  50%{transform:translate(24%,36%) rotate(-6deg) scale(.9);border-radius:38% 62% 60% 40% / 58% 42% 56% 44%;}
  75%{transform:translate(30%,-18%) rotate(7deg) scale(1.08);border-radius:54% 46% 38% 62% / 46% 54% 48% 52%;}
  100%{transform:translate(0%,0%) rotate(0deg) scale(1);border-radius:50% 50% 52% 48% / 52% 48% 52% 48%;}}

/* ---- NAV ---- */
nav{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:20px 40px;
  background:rgba(8,11,18,.62);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--glass-bd);}
.nav-logo{font-family:var(--head);font-weight:700;font-size:20px;color:#fff;letter-spacing:.01em;text-decoration:none;display:flex;align-items:center;gap:11px;}
.nav-logo b{color:var(--acc);}
.nav-logo-img{height:57px;width:auto;display:block;}
.nav-logo span{font-family:var(--mono);font-size:15px;color:var(--tx-mut);font-weight:400;letter-spacing:.04em;}
.nav-links{display:flex;gap:8px;list-style:none;align-items:center;}
.nav-links a{color:var(--tx-mut);text-decoration:none;font-size:15px;font-weight:500;padding:9px 13px;border-radius:8px;transition:color .2s,background .2s;}
.nav-links a:hover{color:#fff;background:var(--glass);}
.nav-links a.active{color:#fff;}
.nav-cta{background:var(--acc) !important;color:var(--ink) !important;font-weight:600 !important;padding:11px 22px !important;border-radius:9px !important;}
.nav-cta:hover{filter:brightness(1.08);}
.nav-toggle{display:none;background:var(--glass);border:1px solid var(--glass-bd);color:#fff;font-size:20px;border-radius:9px;padding:6px 12px;cursor:pointer;}

/* ---- HERO (home) + PAGE HERO (interior) ---- */
.hero{position:relative;z-index:1;padding:96px 40px 84px;}
.hero-inner{max-width:1080px;margin:0 auto;}
.page-hero{position:relative;z-index:1;padding:72px 40px 40px;}
.page-hero .hero-inner{max-width:1080px;margin:0 auto;}
.pill{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;color:var(--acc);
  padding:8px 16px;border-radius:999px;margin-bottom:24px;background:rgba(34,211,238,.08);border:1px solid rgba(34,211,238,.28);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.dot{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 0 0 rgba(52,211,153,.5);animation:pulse 2.4s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(52,211,153,.5);}70%{box-shadow:0 0 0 9px rgba(52,211,153,0);}100%{box-shadow:0 0 0 0 rgba(52,211,153,0);}}
h1.hero-title{font-family:var(--head);font-weight:700;font-size:clamp(44px,6.4vw,82px);line-height:.94;letter-spacing:-.03em;color:#fff;margin-bottom:24px;}
.page-hero h1{font-family:var(--head);font-weight:700;font-size:clamp(34px,5vw,58px);line-height:1;letter-spacing:-.03em;color:#fff;margin-bottom:18px;}
.hero-desc{font-size:19px;color:var(--tx-mut);max-width:560px;line-height:1.55;margin-bottom:34px;}
.page-hero .hero-desc{margin-bottom:0;max-width:660px;}
.hero-meta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:38px;}
.hmi{padding:14px 20px;border-radius:14px;min-width:150px;}
.hmi .k{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--acc);margin-bottom:5px;}
.hmi .v{font-size:15.5px;font-weight:600;color:#fff;font-family:var(--head);}

/* ---- COUNTDOWN ---- */
.countdown{display:inline-block;padding:18px 22px;border-radius:16px;margin-bottom:34px;}
.cd-head{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--acc);margin-bottom:14px;}
.cd-grid{display:flex;gap:10px;}
.cd-unit{display:flex;flex-direction:column;align-items:center;min-width:62px;padding:12px 8px;border-radius:12px;background:var(--glass-hi);border:1px solid var(--glass-bd);}
.cd-num{font-family:var(--head);font-weight:700;font-size:32px;line-height:1;color:#fff;font-variant-numeric:tabular-nums;}
.cd-lab{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--tx-faint);margin-top:8px;}
.cd-foot{font-family:var(--mono);font-size:11.5px;letter-spacing:.03em;color:var(--tx-mut);margin-top:14px;}
.countdown.is-open .cd-grid,.countdown.is-open .cd-foot{display:none;}
.countdown.is-open .cd-head{font-size:15px;letter-spacing:.04em;margin-bottom:0;}
/* large variant (home hero) */
.countdown.lg{padding:24px 28px;border-radius:18px;}
.countdown.lg .cd-head{font-size:13px;margin-bottom:18px;}
.countdown.lg .cd-grid{gap:13px;}
.countdown.lg .cd-unit{min-width:88px;padding:18px 16px;border-radius:14px;}
.countdown.lg .cd-num{font-size:48px;}
.countdown.lg .cd-lab{font-size:11px;margin-top:10px;}
.countdown.lg .cd-foot{font-size:12.5px;margin-top:16px;}

/* ---- BUTTONS ---- */
.actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.btn{font-family:var(--sans);font-size:15px;font-weight:600;padding:15px 30px;border-radius:11px;text-decoration:none;display:inline-flex;align-items:center;gap:9px;cursor:pointer;border:none;transition:transform .15s ease,filter .15s,background .2s;}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--acc);color:var(--ink);box-shadow:0 10px 34px rgba(34,211,238,.22);}
.btn-primary:hover{filter:brightness(1.07);}
.btn-ghost{background:var(--glass);color:#fff;border:1px solid var(--glass-bd);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.btn-ghost:hover{background:var(--glass-hi);border-color:var(--glass-bd-hi);}
/* disabled "Sold Out" CTA — replaces an Inquire/Reserve/Select button */
.btn.btn-soldout{background:rgba(255,255,255,.04);color:var(--tx-faint);border:1px solid var(--glass-bd);box-shadow:none;cursor:default;pointer-events:none;}
.btn.btn-soldout:hover{transform:none;filter:none;background:rgba(255,255,255,.04);}

/* ---- SOLD OUT (standardized availability marker) ----
   Standard: add class `sold-out` to any card/tile/tier container, and swap its
   primary CTA (<a class="btn btn-primary …">Inquire/Reserve</a>) for
   <span class="btn btn-soldout">Sold Out</span>. The corner badge, muted price,
   and disabled hover are then applied automatically. */
.sold-out{position:relative;}
.sold-out::after{content:'Sold Out';position:absolute;top:12px;right:12px;z-index:3;pointer-events:none;
  font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;line-height:1;
  color:var(--tx-mut);background:rgba(13,17,27,.85);border:1px solid var(--glass-bd-hi);padding:6px 11px;border-radius:999px;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.sold-out:hover{transform:none !important;box-shadow:none !important;}
.sold-out .price b,.sold-out .gp,.sold-out .tp,.sold-out .tprice{color:var(--tx-faint) !important;text-decoration:line-through;}
/* comparison-table row sold out (no corner badge on table rows) */
tr.tr-sold td{color:var(--tx-faint);}
tr.tr-sold td:first-child strong{text-decoration:line-through;}
tr.tr-sold td.tq{color:var(--tx-mut);font-weight:600;text-decoration:none;}

/* ---- SECTION ---- */
section{position:relative;z-index:1;padding:72px 40px;}
.section-sm{padding:48px 40px;}
.label{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);margin-bottom:14px;}
.title{font-family:var(--head);font-weight:700;font-size:clamp(28px,3.6vw,40px);line-height:1.1;letter-spacing:-.02em;color:#fff;margin-bottom:14px;}
.intro{font-size:16.5px;color:var(--tx-mut);max-width:660px;line-height:1.7;margin-bottom:40px;}

/* ---- GRIDS + CARDS ---- */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.card{border-radius:18px;padding:28px 26px;display:flex;flex-direction:column;transition:transform .18s ease,background .2s,border-color .2s;}
.card:hover{transform:translateY(-4px);background:var(--glass-hi);border-color:var(--glass-bd-hi);}
.card .ico{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:18px;background:rgba(34,211,238,.1);border:1px solid rgba(34,211,238,.25);color:var(--acc);}
.card .ce{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-faint);margin-bottom:7px;}
.card h3{font-family:var(--head);font-weight:600;font-size:21px;color:#fff;margin-bottom:10px;}
.card p{font-size:14.5px;color:var(--tx-mut);line-height:1.6;margin-bottom:20px;flex:1;}
.card .clink{align-self:flex-start;font-weight:600;font-size:14px;color:var(--acc);text-decoration:none;}
.card .clink:hover{color:var(--acc2);}

/* ---- HIGHLIGHTS / STATS ---- */
.hl{border-radius:14px;padding:22px 20px;}
.hl .ico{font-size:22px;color:var(--acc);margin-bottom:12px;}
.ico svg{width:24px;height:24px;display:block;}
.hl h3{font-family:var(--head);font-weight:600;font-size:16px;color:#fff;margin-bottom:7px;}
.hl p{font-size:13.5px;color:var(--tx-mut);line-height:1.55;}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px;}
.stat{border-radius:16px;padding:26px 22px;text-align:center;}
.stat .n{font-family:var(--head);font-weight:700;font-size:42px;line-height:1;letter-spacing:-.02em;}
.stat .l{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--tx-faint);margin-top:9px;display:block;}

/* ---- PARTNER BAND (highlighted recognition) ---- */
.partner-band{position:relative;z-index:1;padding:40px 40px 8px;}
.pb-inner{max-width:1080px;margin:0 auto;border-radius:22px;padding:34px 32px;position:relative;overflow:hidden;
  background:linear-gradient(135deg,rgba(34,211,238,.10),rgba(255,255,255,.03));border:1px solid var(--glass-bd-hi);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.pb-inner::after{content:'';position:absolute;top:-60%;right:-10%;width:420px;height:380px;background:radial-gradient(circle,var(--glow),transparent 65%);pointer-events:none;}
.pb-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:22px;position:relative;z-index:1;}
.pb-head h2{font-family:var(--head);font-weight:700;font-size:clamp(22px,2.6vw,30px);color:#fff;letter-spacing:-.02em;}
.pb-head .label{margin-bottom:8px;}

/* ---- PARTNER LOGO WALL ---- */
.logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;position:relative;z-index:1;}
.logo-ph{border-radius:14px;min-height:84px;display:flex;align-items:center;justify-content:center;text-decoration:none;
  color:var(--tx-faint);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;border:1px dashed var(--glass-bd-hi);background:var(--glass);transition:color .2s,border-color .2s;}
.logo-ph:hover{color:var(--acc);border-color:rgba(34,211,238,.4);}

/* ---- VENUE / FACT LIST ---- */
.venue{display:grid;grid-template-columns:1.15fr 1fr;gap:18px;align-items:stretch;}
.venue-card{border-radius:18px;padding:30px 28px;}
.venue-card h3{font-family:var(--head);font-weight:600;font-size:22px;color:#fff;margin-bottom:12px;}
.venue-card p{font-size:14.5px;color:var(--tx-mut);line-height:1.7;margin-bottom:14px;}
.vfacts{list-style:none;}
.vfacts li{display:flex;gap:12px;font-size:14px;color:var(--tx);padding:11px 0;border-bottom:1px solid var(--glass-bd);}
.vfacts li:last-child{border-bottom:none;}
.vfacts .vk{font-family:var(--mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--acc);min-width:92px;flex-shrink:0;padding-top:2px;}

/* ---- TIER CARDS (partner / prospectus) ---- */
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;}
.tier{border-radius:18px;padding:26px 24px;display:flex;flex-direction:column;transition:transform .18s,border-color .2s,background .2s;}
.tier:hover{transform:translateY(-4px);border-color:var(--glass-bd-hi);background:var(--glass-hi);}
.tier.featured{border-color:rgba(34,211,238,.5);background:linear-gradient(135deg,rgba(34,211,238,.10),rgba(255,255,255,.03));}
.tier .tname{font-family:var(--head);font-weight:600;font-size:20px;color:#fff;margin-bottom:4px;}
.tier .tprice{font-family:var(--head);font-weight:700;font-size:34px;color:var(--acc);letter-spacing:-.02em;margin-bottom:4px;}
.tier .tsub{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--tx-faint);margin-bottom:16px;}
.tier ul{list-style:none;margin-bottom:18px;flex:1;}
.tier li{font-size:13.5px;color:var(--tx-mut);padding:7px 0;border-bottom:1px solid var(--glass-bd);}
.tier li:last-child{border-bottom:none;}
.badge{display:inline-block;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:4px 10px;border-radius:999px;background:rgba(34,211,238,.12);border:1px solid rgba(34,211,238,.3);color:var(--acc);}

/* ---- PROSE (articles, FAQ, guidelines) ---- */
.prose{max-width:760px;}
.prose h2{font-family:var(--head);font-weight:700;font-size:26px;color:#fff;margin:36px 0 12px;letter-spacing:-.01em;}
.prose h3{font-family:var(--head);font-weight:600;font-size:19px;color:#fff;margin:26px 0 10px;}
.prose p{font-size:15.5px;color:var(--tx-mut);line-height:1.75;margin-bottom:14px;}
.prose ul,.prose ol{margin:0 0 16px 22px;}
.prose li{font-size:15.5px;color:var(--tx-mut);line-height:1.7;margin-bottom:7px;}
.prose a{color:var(--acc);text-underline-offset:2px;}
.prose strong{color:var(--tx);}
.note{border-radius:14px;padding:18px 22px;margin:20px 0;border-left:3px solid var(--acc);background:rgba(34,211,238,.06);}
.note p{margin:0;color:var(--tx-mut);font-size:14.5px;}

/* ---- TABLE ---- */
.tbl-wrap{overflow-x:auto;border-radius:16px;}
table.tbl{width:100%;border-collapse:collapse;font-size:14px;border-radius:16px;overflow:hidden;}
table.tbl th{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--acc);text-align:left;padding:14px 16px;background:rgba(255,255,255,.04);border-bottom:1px solid var(--glass-bd);}
table.tbl td{padding:13px 16px;color:var(--tx-mut);border-bottom:1px solid var(--glass-bd);}
table.tbl tr:last-child td{border-bottom:none;}
table.tbl td strong{color:var(--tx);}

/* ---- ACCORDION (FAQ) ---- */
.acc-item{border-radius:14px;margin-bottom:10px;overflow:hidden;}
.acc-item summary{cursor:pointer;list-style:none;padding:18px 22px;font-family:var(--head);font-weight:600;font-size:16px;color:#fff;display:flex;justify-content:space-between;gap:14px;}
.acc-item summary::-webkit-details-marker{display:none;}
.acc-item summary::after{content:'+';color:var(--acc);font-weight:400;font-size:22px;line-height:1;}
.acc-item[open] summary::after{content:'\2212';}
.acc-item .acc-body{padding:0 22px 20px;font-size:14.5px;color:var(--tx-mut);line-height:1.7;}
.acc-item .acc-body p{margin-bottom:10px;}

/* ---- WHOVA / EMBED FRAME ---- */
.embed-card{border-radius:18px;padding:14px;}
.embed-frame{width:100%;min-height:760px;border:0;border-radius:12px;background:rgba(255,255,255,.02);}

/* ---- CTA BAND ---- */
.cta-band{position:relative;z-index:1;padding:0 40px 80px;}
.cta-inner{max-width:1080px;margin:0 auto;border-radius:24px;padding:60px 48px;text-align:center;position:relative;overflow:hidden;
  background:linear-gradient(135deg,rgba(34,211,238,.10),rgba(255,255,255,.03));border:1px solid var(--glass-bd);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.cta-inner::after{content:'';position:absolute;top:-50%;left:50%;transform:translateX(-50%);width:600px;height:400px;background:radial-gradient(circle,var(--glow),transparent 65%);pointer-events:none;}
.cta-inner .label,.cta-inner .title,.cta-inner .intro{position:relative;z-index:1;}
.cta-inner .intro{margin:0 auto 30px;}
.cta-inner .actions{justify-content:center;position:relative;z-index:1;}

/* ---- FOOTER (grouped columns) ---- */
footer{position:relative;z-index:1;padding:52px 40px 36px;border-top:1px solid var(--glass-bd);background:rgba(255,255,255,.02);}
.foot-grid{display:grid;grid-template-columns:1.2fr 2fr;gap:44px;align-items:start;}
.foot-brand .fn{font-family:var(--head);font-weight:700;font-size:22px;color:#fff;}
.foot-brand .fn b{color:var(--acc);}
.foot-brand .brand-logo{width:240px;max-width:62vw;height:auto;display:block;margin-bottom:14px;}
.fb-tag{font-size:13.5px;color:var(--tx-mut);max-width:320px;line-height:1.6;margin:12px 0 16px;}
.fb-contact{display:flex;flex-direction:column;gap:5px;}
.fb-contact a{font-size:13px;color:var(--tx);text-decoration:none;width:fit-content;transition:color .2s;}
.fb-contact a:hover{color:var(--acc);}
.foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.fcol h5{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-faint);margin-bottom:12px;}
.fcol a{display:block;font-size:13.5px;color:var(--tx-mut);text-decoration:none;padding:4px 0;transition:color .2s;}
.fcol a:hover{color:var(--acc);}
.foot-bottom{max-width:1080px;margin:34px auto 0;padding-top:20px;border-top:1px solid var(--glass-bd);font-family:var(--mono);font-size:12px;color:var(--tx-faint);text-align:center;}
.foot-bottom a{color:var(--tx-mut);text-underline-offset:2px;}
.foot-bottom a:hover{color:var(--acc);}

/* ---- (footer styles consolidated in the FOOTER section below) ---- */

/* ---- SUB-NAV (sticky section jump bar, with header) ---- */
.toc{position:sticky;top:98px;z-index:90;background:rgba(8,11,18,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--glass-bd);}
.toc-inner{max-width:1080px;margin:0 auto;padding:0 40px;}
.toc-head{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-faint);margin-bottom:3px;}
.toc-links{display:flex;gap:2px;overflow-x:auto;white-space:nowrap;}
.toc-links a{font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--tx-mut);text-decoration:none;padding:14px 12px 13px;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;}
.toc-links a:hover{color:#fff;border-bottom-color:var(--acc);}
.jump,section[id]{scroll-margin-top:180px;}
@media(max-width:680px){.toc{position:static;}.toc-inner{padding:0 18px;}}

/* ---- EXPERIENCES TEASER (partner page) ---- */
.exp-teaser{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:4px 0 34px;padding:16px 22px;border-radius:14px;text-decoration:none;background:linear-gradient(135deg,rgba(34,211,238,.12),rgba(255,255,255,.03));border:1px solid var(--glass-bd-hi);transition:border-color .2s,transform .15s;}
.exp-teaser:hover{border-color:rgba(34,211,238,.5);transform:translateY(-2px);}
.exp-teaser .xt-tag{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--ink);background:var(--acc);padding:5px 12px;border-radius:999px;white-space:nowrap;}
.exp-teaser .xt-text{flex:1;min-width:240px;font-size:14px;color:var(--tx-mut);}
.exp-teaser .xt-text b{color:#fff;font-weight:600;}
.exp-teaser .xt-cta{font-size:13.5px;font-weight:600;color:var(--acc);white-space:nowrap;}

/* ---- A11Y + MOTION ---- */
.skip-link{position:absolute;left:-9999px;background:var(--acc);color:var(--ink);font-weight:700;font-size:14px;padding:10px 18px;border-radius:0 0 8px 0;z-index:300;text-decoration:none;}
.skip-link:focus{left:0;top:0;position:fixed;}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:4px;}
@media(prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out;}
  .reveal.in{opacity:1;transform:translateY(0);}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.001ms !important;animation-duration:.001ms !important;}.blob{animation:none !important;}.aurora{transition:none !important;}}

/* ---- RESPONSIVE ---- */
@media(max-width:860px){
  .grid-2,.grid-3,.grid-4,.venue,.stats{grid-template-columns:1fr;}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .foot-grid{grid-template-columns:1fr;gap:30px;}
}
@media(max-width:680px){
  nav{padding:12px 18px;}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:4px;padding:14px 18px;background:rgba(8,11,18,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--glass-bd);}
  .nav-links.open{display:flex;}
  .nav-toggle{display:block;}
  .hero{padding:60px 22px 56px;}section{padding:54px 22px;}.cta-band{padding:0 22px 56px;}.page-hero{padding:54px 22px 30px;}.partner-band{padding:30px 22px 4px;}
  .grid-4{grid-template-columns:1fr;}
  .actions{flex-direction:column;align-items:stretch;}.actions .btn{justify-content:center;}
  .countdown,.countdown.lg{display:block;}
  .countdown.lg .cd-grid{gap:8px;}
  .countdown.lg .cd-unit{min-width:0;flex:1;padding:14px 4px;}
  .countdown.lg .cd-num{font-size:34px;}
  .foot-cols{grid-template-columns:repeat(2,1fr);gap:18px;}
}

/* ---- conference photo strips ---- */
.photo-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:34px 0 0;}
.photo-strip.duo{grid-template-columns:repeat(2,1fr);}
.photo-strip img{width:100%;height:100%;aspect-ratio:3/2;object-fit:cover;border-radius:14px;border:1px solid var(--glass-bd);display:block;}
@media(max-width:680px){.photo-strip,.photo-strip.duo{grid-template-columns:1fr;}}
