/* ===================================================================
   Tourister 2026 — Georgian Tourism Summit
   Brand: #24B9A3 teal · #FBB021 amber · #EE4223 CTA red · black/white
   Fonts: Sora (display) · Inter (body) · Noto Sans Georgian (KA)
   Brand colors are never used with transparency.
   =================================================================== */

:root{
  --teal:#24B9A3; --amber:#FBB021; --cta:#EE4223;
  --ink:#0E1311; --ink-2:#18211E; --white:#FFFFFF; --paper:#F7F9F8;
  --muted:#5C6B66; --line:#E2E8E5; --line-dark:#2A3733;
  --radius:14px; --radius-sm:8px; --maxw:1200px; --pad:clamp(20px,5vw,40px); --header-h:112px;
  --shadow:0 10px 40px rgba(14,19,17,.10); --shadow-lg:0 24px 70px rgba(14,19,17,.18);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
/* full-bleed sections use 100vw; guard against the tiny horizontal scroll
   that 100vw (which includes the scrollbar width) can introduce */
html,body{overflow-x:hidden;max-width:100%;}
body{font-family:'Inter','Noto Sans Georgian',system-ui,sans-serif;color:var(--ink);
  background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;}
:lang(ka){font-family:'Noto Sans Georgian','Inter',sans-serif;}
img{max-width:100%;display:block;height:auto;}
ul{list-style:none;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,.eyebrow,.kicker,.stat-num,.ticket-price{font-family:'Sora','Noto Sans Georgian',sans-serif;}

.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad);}
.section{padding-block:clamp(56px,8vw,104px);}
.section-head{max-width:760px;margin-bottom:clamp(28px,4vw,48px);}
.section-head.row-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;max-width:none;flex-wrap:wrap;}
.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:700;color:var(--teal);margin-bottom:12px;}
.section-title{font-size:clamp(28px,4vw,46px);line-height:1.08;letter-spacing:-.02em;font-weight:800;}
.section-sub{margin-top:14px;color:var(--muted);font-size:17px;}
.accent{color:var(--cta);}

/* ---------- Wavy grid + animated single-color background ---------- */
/* Background shows ONE brand color at a time and fades smoothly to the next:
   red -> green(teal) -> yellow(amber) -> loop. Grid overlays; ink scrim keeps text legible. */
.grid-bg{
  background-color:var(--cta);
  background-image:
    url("../assets/grid.svg"),
    linear-gradient(180deg, rgba(14,19,17,.42), rgba(14,19,17,.60));
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  color:var(--white);
  animation:bgCycle 12s ease-in-out infinite;
}
/* Hero = a moving gradient blended only from the yellow->green family
   (amber yellow, golden lime, chartreuse, emerald mint, teal green).
   The stop list is a palindrome so the position loop is seamless. */
.hero.grid-bg{
  background-image:
    linear-gradient(120deg,#FBB021,#CBC52E,#8FC740,#3FC79A,#24B9A3,#3FC79A,#8FC740,#CBC52E,#FBB021);
  background-size:300% 300%;
  background-position:0% 50%;
  background-repeat:no-repeat;
  background-color:var(--amber);
  animation:heroGradientHero 18s ease-in-out infinite;
}
/* Full-bleed hero video background (reel.mp4) */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none;}
/* Dark scrim over the video so the white hero text stays readable
   (stronger on the left/bottom where the copy sits). */
.hero.grid-bg::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(90deg, rgba(14,19,17,.82) 0%, rgba(14,19,17,.5) 55%, rgba(14,19,17,.32) 100%),
    linear-gradient(180deg, rgba(14,19,17,.2) 0%, rgba(14,19,17,.5) 100%);
}
@media (prefers-reduced-motion: reduce){
  .hero-video{display:none;}
  .hero.grid-bg{animation:none;}
}
.hero .hero-inner{position:relative;z-index:2;}
@keyframes heroGradientHero{
  0%   {background-position:0% 50%;}
  50%  {background-position:100% 50%;}
  100% {background-position:0% 50%;}
}
/* shared two-layer fade still used by .brand-gradient / .ticket-gradient */
@keyframes heroGradient{
  0%   {background-position:center, 0% 50%;}
  50%  {background-position:center, 100% 50%;}
  100% {background-position:center, 0% 50%;}
}
@keyframes bgCycle{
  0%,18%   {background-color:var(--cta);}    /* red */
  33%,51%  {background-color:var(--teal);}   /* green */
  66%,84%  {background-color:var(--amber);}  /* yellow */
  100%     {background-color:var(--cta);}    /* back to red */
}
/* ---------- Entrance animations ---------- */
@keyframes fadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
.hero-inner .eyebrow    {animation:fadeUp .6s ease both .1s;}
.hero-inner .hero-title {animation:fadeUp .7s ease both .25s;}
.hero-inner .hero-lead  {animation:fadeUp .6s ease both .4s;}
.hero-inner .countdown  {animation:fadeUp .6s ease both .55s;}
.hero-inner .hero-actions{animation:fadeUp .6s ease both .7s;}

/* Scroll reveal */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease;}
.reveal.is-visible{opacity:1;transform:none;}
.card-grid .reveal:nth-child(2),.ticket-grid .reveal:nth-child(2){transition-delay:.1s;}
.card-grid .reveal:nth-child(3),.ticket-grid .reveal:nth-child(3){transition-delay:.2s;}
.card-grid .reveal:nth-child(4){transition-delay:.3s;}

@media (prefers-reduced-motion: reduce){
  .grid-bg{animation:none;}
  .partners .logo-row-big{animation:none;}
  .sp-strip{animation:none;flex-wrap:wrap;width:auto;}
  .hero-inner .eyebrow,.hero-inner .hero-title,.hero-inner .hero-lead,
  .hero-inner .countdown,.hero-inner .hero-actions{animation:none;}
  .reveal{opacity:1;transform:none;transition:none;}
}
/* Reusable moving yellow->green gradient (same look as the hero) */
.brand-gradient{
  background-image:
    linear-gradient(rgba(14,19,17,.8), rgba(14,19,17,.88)),
    url("../assets/gallery/event-3-400.webp");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  background-color:var(--ink);
  color:var(--white);
}
@media (prefers-reduced-motion: reduce){
  .brand-gradient{animation:none;}
}
/* Tickets variant: moving gradient in red->yellow only (no green) */
.ticket-gradient{
  background-image:
    linear-gradient(rgba(14,19,17,.8), rgba(14,19,17,.88)),
    url("../assets/gallery/event-4-400.webp");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  background-color:var(--ink);
  color:var(--white);
}
@media (prefers-reduced-motion: reduce){
  .ticket-gradient{animation:none;}
}
.grid-bg-dark{
  background-color:var(--ink);
  background-image:
    linear-gradient(rgba(14,19,17,.82), rgba(14,19,17,.9)),
    url("../assets/gallery/event-1-400.webp");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  color:var(--white);
}

/* index.html: real event photos (with a dark scrim) replacing the SVG grid on 3 sections */
.bg-photo-1,.bg-photo-2,.bg-photo-3{
  background-color:var(--ink);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  animation:none;
}
.bg-photo-1{background-image:linear-gradient(rgba(14,19,17,.82),rgba(14,19,17,.9)),url("../assets/gallery/event-1-400.webp") !important;}
.bg-photo-2{background-image:linear-gradient(rgba(14,19,17,.84),rgba(14,19,17,.9)),url("../assets/gallery/event-6-400.webp") !important;}
.bg-photo-3{background-image:linear-gradient(rgba(14,19,17,.8),rgba(14,19,17,.88)),url("../assets/gallery/event-2-400.webp") !important;}
.bg-photo-1 .section-sub,.bg-photo-2 .section-sub,.bg-photo-3 .section-sub{color:#F3F6F5;}
/* per-context photo variety (compound selectors override the base class, no per-page markup) */
.page-hero.ticket-gradient{background-image:linear-gradient(rgba(14,19,17,.78),rgba(14,19,17,.88)),url("../assets/gallery/event-4-400.webp");}
.final-cta.brand-gradient{background-image:linear-gradient(rgba(14,19,17,.8),rgba(14,19,17,.88)),url("../assets/gallery/event-5-400.webp");}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:'Sora',sans-serif;font-weight:700;font-size:15px;padding:14px 28px;
  border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;
  transition:transform .15s ease,filter .15s ease,background .15s,color .15s;white-space:nowrap;}
.btn:hover{transform:translateY(-2px);}
.btn-cta{background:var(--cta);color:var(--white);}
.btn-cta:hover{filter:brightness(1.07);}
.btn-ghost{background:transparent;color:var(--white);border-color:var(--white);}
.btn-ghost:hover{background:var(--white);color:var(--ink);}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--ink);}
.btn-outline:hover{background:var(--ink);color:var(--white);}
.grid-bg .btn-outline,.grid-bg-dark .btn-outline{color:var(--white);border-color:var(--white);}
.grid-bg .btn-outline:hover,.grid-bg-dark .btn-outline:hover{background:var(--white);color:var(--ink);}
/* white button that changes to a brand color on hover */
.btn-white{background:var(--white);color:var(--ink);border-color:var(--white);}
.btn-white:hover{background:var(--cta);color:var(--white);border-color:var(--cta);}
.ticket-teal .btn-white:hover{background:var(--teal);border-color:var(--teal);}
.ticket-red .btn-white:hover{background:var(--cta);border-color:var(--cta);}
/* outlined (black-border) button for the non-featured ticket cards */
.btn-ticket-outline{background:transparent;color:var(--ink);border-color:var(--ink);}
.btn-ticket-outline:hover{background:var(--ink);color:var(--white);border-color:var(--ink);}

/* ---------- Header / nav ---------- */
.site-header{position:sticky;top:0;z-index:1000;background:var(--white);color:var(--ink);
  border-bottom:1px solid var(--line);transition:box-shadow .2s ease;}
.site-header.scrolled{box-shadow:0 6px 24px rgba(14,19,17,.12);}
.site-header.scrolled .header-inner{min-height:70px;}
.site-header.scrolled .brand-logo{height:38px;}
.header-inner{display:flex;align-items:center;gap:24px;min-height:var(--header-h);transition:min-height .28s ease;}
.brand{flex-shrink:0;}
.brand-logo{height:76px;width:auto;flex-shrink:0;object-fit:contain;transition:height .28s ease;}
.main-nav{margin-left:auto;}
.nav-list{display:flex;align-items:center;gap:26px;}
.nav-list>li>a{font-size:15px;font-weight:500;color:var(--ink);transition:color .15s;}
.nav-list>li>a:hover{color:var(--teal);}
.nav-list a.is-active{color:var(--teal);font-weight:700;}
.nav-lang a{border:1px solid var(--line);padding:5px 12px;border-radius:6px;font-size:13px;font-weight:600;}
/* Register / login account link (top bar, after Buy Tickets) */
.account-link{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--ink);transition:color .15s;white-space:nowrap;}
.account-link:hover{color:var(--teal);}
/* signed-in header chip (shown instead of "Sign in" when logged in) */
.account-user{display:none;align-items:center;gap:10px;color:var(--ink);white-space:nowrap;}
.account-user:hover .account-name{color:var(--teal);}
.account-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--teal),var(--ink));color:#fff;font-family:'Sora',sans-serif;font-weight:700;font-size:13px;letter-spacing:.02em;}
.account-meta{display:flex;flex-direction:column;line-height:1.18;}
.account-name{font-size:14px;font-weight:700;}
.account-email{font-size:12px;color:var(--muted);font-weight:500;}
.nav-user-mobile{display:none;}
.nav-user-mobile a{display:inline-flex;align-items:center;gap:9px;}
.nav-user-meta{display:flex;flex-direction:column;line-height:1.2;}
.nav-user-email{font-size:13px;color:var(--muted);font-weight:500;}
.is-auth .account-link[data-open-modal]{display:none;}
.is-auth .account-user{display:inline-flex;}
.is-auth .nav-signin-mobile{display:none;}
.account-icon{width:20px;height:20px;display:inline-block;background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") center/20px no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") center/20px no-repeat;}
.has-sub{position:relative;}
.sub-list{position:absolute;top:calc(100% + 14px);left:-14px;min-width:210px;background:var(--white);
  border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:10px;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:opacity .18s,transform .18s,visibility .18s;}
.has-sub:hover .sub-list,.has-sub:focus-within .sub-list{opacity:1;visibility:visible;transform:translateY(0);}
.sub-list li a{display:block;padding:10px 14px;border-radius:6px;color:var(--ink);font-size:14px;}
.sub-list li a:hover{background:var(--paper);color:var(--teal);}
.header-cta{padding:11px 22px;font-size:14px;}
/* mobile-only sign-in item inside the burger menu (hidden on desktop) */
.nav-signin-mobile{display:none;}
.nav-signin-mobile a{display:inline-flex;align-items:center;gap:9px;}
.nav-signin-mobile .account-icon{width:22px;height:22px;}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:8px;cursor:pointer;}
.nav-toggle span{width:26px;height:2px;background:var(--ink);transition:.25s;}

/* ---------- Hero ---------- */
/* Header + hero together fill the viewport. dvh adapts to Chrome's
   address/bookmark bars so no white gap appears below the hero. */
.hero{min-height:calc(100dvh - var(--header-h));display:flex;align-items:center;
  padding-block:clamp(48px,7vw,96px);position:relative;overflow:hidden;}
/* Hero is a full-width container (same as the header), so its left content
   edge lines up with the brand logo. Text width is capped on the children
   instead of by centering an 880px box (which pushed content to the middle). */
.hero-inner{max-width:var(--maxw);}
.hero-title,.hero-inner .eyebrow,.hero-inner .countdown{max-width:880px;}
.hero-lead{max-width:720px;}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:300;letter-spacing:0em;
  color:#ffffff;background-color:#000000;border:1px solid #ffffff;border-radius:20px;padding:12px 18px;margin-bottom:26px;}
.eyebrow .dot{width:9px;height:9px;border-radius:50%;background:var(--teal);display:inline-block;vertical-align:middle;margin-right:8px;}
.eyebrow .eb-line{white-space:nowrap;}
.eyebrow a{color:inherit;text-decoration:underline;text-underline-offset:2px;}
.eyebrow a:hover{color:var(--teal);}
.final-sub a{color:inherit;text-decoration:underline;text-underline-offset:2px;}
.final-sub a:hover{color:var(--cta);}
.hero-title{font-size:clamp(40px,8vw,84px);line-height:.98;letter-spacing:-.03em;font-weight:800;margin-bottom:24px;}
/* mobile hero: eyebrow stacks to 3 lines, sponsor button hidden */
@media(max-width:600px){
  .hero-inner .eyebrow{flex-direction:column;align-items:flex-start;gap:4px;}
  .hero .hero-actions .hide-on-mobile{display:none;}
}
.hero-lead{font-size:clamp(16px,2vw,20px);max-width:820px;color:#ffffff;margin-bottom:36px;}
.countdown{display:flex;gap:14px;margin-bottom:38px;flex-wrap:wrap;}
.cd-unit{display:flex;flex-direction:column;align-items:center;background:#000000;
  border:1px solid var(--line-dark);border-radius:var(--radius-sm);min-width:88px;padding:16px 10px;}
.cd-num{font-family:'Sora',sans-serif;font-size:38px;font-weight:800;line-height:1;color:var(--white);}
.cd-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#9DAAA5;margin-top:8px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
/* Interactive matchmaking points layered over the hero background */
.hero-net{position:absolute;inset:0;z-index:2;pointer-events:none;}
.hero-net .net-node{pointer-events:auto;}
/* Hero match card = compact SQUARE box (stacked, fixed aspect) */
.hero-net .net-popup{position:absolute;z-index:5;flex-direction:column;flex-wrap:nowrap;gap:8px;
  width:150px;height:150px;min-height:0;padding:16px;text-align:center;
  transform:translate(-50%,-50%) scale(.92);}
.hero-net .net-popup.show{transform:translate(-50%,-50%) scale(1);}
.hero-net .net-pair{flex-direction:row;}

/* ---------- Trust / logo rows ---------- */
.trust{background:var(--paper);padding-block:clamp(36px,5vw,56px);border-bottom:1px solid var(--line);}
.trust-label{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700;color:var(--muted);text-align:center;margin-bottom:24px;}
.partners .trust-label{text-align:left;margin-top:8px;}
.logo-row{display:flex;align-items:center;justify-content:center;gap:clamp(28px,5vw,64px);flex-wrap:wrap;}
.logo-row-wrap{justify-content:flex-start;gap:clamp(24px,4vw,48px);margin-bottom:40px;}
.logo-row img{height:38px;width:auto;filter:grayscale(1);opacity:.85;transition:.2s;}
.logo-row img:hover{filter:grayscale(0);opacity:1;}
.logo-more{font-family:'Sora',sans-serif;font-weight:700;font-size:15px;color:var(--muted);align-self:center;white-space:nowrap;}
/* Sponsors & partners: logos at twice the trust-bar size */
.partners .logo-row-big img{height:76px;}
/* duplicated logos are only used for the mobile marquee loop */
.logo-row .dup{display:none;}

/* ---------- Sponsor carousel (all screen sizes) ---------- */
.sp-track{overflow:hidden;width:100%;padding-block:20px;margin-block:8px 0;}
.sp-strip{display:flex;align-items:center;gap:56px;list-style:none;padding:0;margin:0;
  width:max-content;animation:logoMarquee 30s linear infinite;}
.sp-strip img{height:96px;width:auto;filter:grayscale(1);opacity:.8;transition:.2s;flex-shrink:0;display:block;}
.sp-strip img:hover{filter:grayscale(0);opacity:1;}
.sp-label{font-family:'Sora',sans-serif;font-size:10px;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);white-space:nowrap;flex-shrink:0;
  border:1px solid var(--border);border-radius:40px;padding:5px 14px;}
.partners-cta{text-align:left;margin-top:36px;}

/* ---------- Why: reel + cards ---------- */
.why-layout{display:grid;grid-template-columns:340px 1fr;gap:clamp(28px,4vw,48px);align-items:start;}
.reel{position:sticky;top:100px;display:flex;flex-direction:column;gap:16px;}
.reel-frame{position:relative;aspect-ratio:9/16;border-radius:var(--radius);overflow:hidden;
  background:var(--ink);box-shadow:var(--shadow-lg);border:1px solid var(--line);}
.reel-video{width:100%;height:100%;object-fit:cover;display:block;}
.reel-badge{position:absolute;top:14px;left:14px;background:var(--cta);color:#fff;font-family:'Sora',sans-serif;
  font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:30px;}
.reel-play{position:absolute;inset:0;margin:auto;width:72px;height:72px;border:0;cursor:pointer;
  border-radius:50%;background:var(--white);transition:transform .15s,opacity .2s;}
.reel-play::after{content:"";position:absolute;inset:0;margin:auto;width:0;height:0;border-style:solid;
  border-width:15px 0 15px 24px;border-color:transparent transparent transparent var(--cta);transform:translateX(3px);}
.reel-play:hover{transform:scale(1.08);}
.reel-frame.playing .reel-play{opacity:0;pointer-events:none;}
.reel-cap{font-size:14px;color:var(--muted);text-align:center;}
.reel .btn{width:100%;}

.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:32px 28px;
  box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;border-top:4px solid var(--teal);}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.card h3{font-size:20px;font-weight:700;margin-bottom:10px;letter-spacing:-.01em;}
.card p{color:var(--muted);font-size:15px;}
.card-icon{display:block;width:48px;height:48px;margin-bottom:18px;border-radius:12px;background-color:var(--teal);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:26px;mask-size:26px;}
.icon-handshake{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 17l2 2a1 1 0 0 0 3-3'/%3E%3Cpath d='M14 14l2.5 2.5a1 1 0 0 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 0 1-1.41 0l-2.12-2.12a1 1 0 0 1 0-1.41l2.5-2.5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 17l2 2a1 1 0 0 0 3-3'/%3E%3Cpath d='M14 14l2.5 2.5a1 1 0 0 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 0 1-1.41 0l-2.12-2.12a1 1 0 0 1 0-1.41l2.5-2.5'/%3E%3C/svg%3E");}
.icon-globe{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h20M12 2a15 15 0 0 1 0 20a15 15 0 0 1 0-20'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h20M12 2a15 15 0 0 1 0 20a15 15 0 0 1 0-20'/%3E%3C/svg%3E");}
.icon-users{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");}
.icon-spark{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v6M12 16v6M2 12h6M16 12h6M5 5l3 3M16 16l3 3M19 5l-3 3M8 16l-3 3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v6M12 16v6M2 12h6M16 12h6M5 5l3 3M16 16l3 3M19 5l-3 3M8 16l-3 3'/%3E%3C/svg%3E");}
.icon-bulb{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7c.6.5 1 1.2 1 2h6c0-.8.4-1.5 1-2A7 7 0 0 0 12 2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7c.6.5 1 1.2 1 2h6c0-.8.4-1.5 1-2A7 7 0 0 0 12 2z'/%3E%3C/svg%3E");}
.card-grid .card:nth-child(2){border-top-color:var(--amber);}
.card-grid .card:nth-child(3){border-top-color:var(--cta);}
.card-grid .card:nth-child(4){border-top-color:var(--teal);}
.card-grid .card:nth-child(5){border-top-color:var(--amber);}
.card-grid .card:nth-child(6){border-top-color:var(--cta);}
.card-grid .card:nth-child(2) .card-icon{background-color:var(--amber);}
.card-grid .card:nth-child(3) .card-icon{background-color:var(--cta);}
.card-grid .card:nth-child(5) .card-icon{background-color:var(--amber);}
.card-grid .card:nth-child(6) .card-icon{background-color:var(--cta);}
.icon-store{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");}

/* ---------- Stats ---------- */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;}
.stats-row li{display:flex;flex-direction:column;gap:8px;}
.stat-num{font-size:clamp(44px,6vw,72px);font-weight:800;line-height:1;letter-spacing:-.03em;}
.stat-label{font-size:14px;text-transform:uppercase;letter-spacing:.1em;color:#9DAAA5;}

/* ---------- Speakers ---------- */
.speaker-scroll{display:flex;gap:22px;overflow-x:auto;padding-bottom:16px;scroll-snap-type:x proximity;
  -ms-overflow-style:none;scrollbar-width:none;cursor:grab;}
.speaker-scroll.dragging{cursor:grabbing;scroll-snap-type:none;user-select:none;}
.speaker-scroll.dragging a{pointer-events:none;}
.speaker-scroll img{-webkit-user-drag:none;user-select:none;}
.speaker-scroll::-webkit-scrollbar{display:none;width:0;height:0;}
.speaker-card{flex:0 0 auto;width:240px;scroll-snap-align:start;}
.speaker-photo{display:block;width:100%;aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;
  background:linear-gradient(135deg,var(--teal),var(--ink-2));margin-bottom:16px;}
.speaker-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .25s ease;}
.speaker-card:hover .speaker-photo img{filter:grayscale(0);}
.speaker-card h3{font-size:18px;font-weight:700;}
.speaker-role{color:var(--muted);font-size:14px;display:flex;flex-direction:column;gap:2px;}
.speaker-role .spk-title{color:var(--ink);font-weight:600;}
.speaker-role .spk-unit{color:var(--muted);}
.speaker-role .spk-company{color:var(--ink);font-weight:600;}
.speaker-soon .speaker-photo{background:repeating-linear-gradient(45deg,var(--paper),var(--paper) 12px,#ECF1EF 12px,#ECF1EF 24px);
  display:flex;align-items:center;justify-content:center;}
.speaker-more{display:block;color:inherit;cursor:pointer;}
.speaker-more:hover h3{color:var(--teal);}
.topics-bar{margin-top:40px;padding-top:32px;border-top:1px solid var(--border);}
.topic-pills{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
.topic-pills li{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:500;color:var(--ink);}
.topic-num{font-family:'Sora',sans-serif;font-size:11px;font-weight:800;color:#fff;background:var(--teal);border-radius:4px;padding:2px 7px;flex-shrink:0;}
.topic-pills li:nth-child(2) .topic-num{background:var(--amber);}
.topic-pills li:nth-child(3) .topic-num{background:var(--cta);}

/* ---------- Networking (interactive matchmaking) ---------- */
/* Light paper background to separate this section from the white speakers section above. */
.networking{background:var(--paper);border-block:1px solid var(--line);}
.net-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,64px);align-items:center;}
.net-copy p{color:var(--muted);font-size:16px;margin-bottom:22px;}
.check-list{display:flex;flex-direction:column;gap:14px;margin-bottom:30px;}
.check-list li{position:relative;padding-left:34px;font-size:16px;}
.check-list li::before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;
  background-color:var(--teal);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/14px no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/14px no-repeat;}
.net-visual{position:relative;width:100%;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);
  background-color:var(--ink);
  background-image:
    linear-gradient(rgba(14,19,17,.50), rgba(14,19,17,.50)),
    url("../assets/grid.svg"),
    linear-gradient(160deg, var(--ink), var(--ink-2));
  background-size:cover;background-position:center;background-repeat:no-repeat;}
.net-nodes{position:absolute;inset:0;}
.net-node{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;z-index:3;}
.net-dot{width:30px;height:30px;border-radius:50%;background:var(--white);border:3px solid var(--teal);transition:transform .15s,border-color .15s,background .15s;}
.net-name{font-size:12px;font-weight:600;color:#C7D2CD;white-space:nowrap;background:var(--ink-2);padding:2px 8px;border-radius:20px;}
.net-node:hover .net-dot,.net-node.is-a .net-dot{transform:scale(1.25);background:var(--cta);border-color:var(--cta);}
.net-node.is-b .net-dot{transform:scale(1.2);background:var(--amber);border-color:var(--amber);}
.net-node.is-a .net-name,.net-node.is-b .net-name{color:var(--white);}
.net-link{position:absolute;height:3px;background:#000000;transform-origin:left center;left:0;top:0;width:0;opacity:0;transition:opacity .18s;z-index:2;border-radius:3px;}
.net-link.show{opacity:1;}
/* AI matchmaking graph sits on a dark panel — use a white connecting line */
.net-visual .net-link{background:#FFFFFF;}
/* Popup now sits OUTSIDE the graph box (below it) so it never covers the
   connecting line or the delegate dots/names. Space is reserved so the
   layout doesn't jump when it appears. */
.net-visual-wrap{display:flex;flex-direction:column;gap:18px;}
.net-popup{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;
  background:var(--white);color:var(--ink);border:1px solid var(--line);
  border-radius:14px;padding:14px 22px;text-align:center;box-shadow:var(--shadow);opacity:0;pointer-events:none;
  transform:translateY(8px);transition:opacity .18s,transform .18s;min-height:66px;}
.net-popup.show{opacity:1;transform:translateY(0);}
.net-tag{display:inline-block;background:var(--teal);color:#fff;font-family:'Sora',sans-serif;font-size:11px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;padding:4px 12px;border-radius:30px;}
.net-score{font-family:'Sora',sans-serif;font-size:34px;font-weight:800;line-height:1;color:var(--cta);}
.net-score small{font-size:18px;}
.net-pair{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:600;}
.net-pair .net-x{color:var(--amber);font-weight:800;}
.net-hint{position:absolute;left:0;right:0;bottom:14px;text-align:center;z-index:3;font-size:13px;color:#9DAAA5;transition:opacity .2s;}
.net-visual.active .net-hint{opacity:0;}

/* ---------- Tickets ---------- */
.tickets .section-head{max-width:760px;}
.tickets .kicker{color:var(--white);}
.tickets .section-sub{color:#F3F6F5;}
.ticket-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;align-items:stretch;}
.ticket-grid-2{grid-template-columns:repeat(2,1fr);gap:26px;max-width:880px;margin-inline:auto;}
.ticket-grid-3{grid-template-columns:repeat(3,1fr);gap:22px;}
.ticket-teal{border-top:6px solid var(--teal);}
.ticket-red{border-top:6px solid var(--cta);}
.ticket-amber{border-top:6px solid var(--amber);}
.ticket-teal .ticket-name{color:var(--ink);}
.ticket-red .ticket-name{color:var(--cta);}
.ticket-amber .ticket-name{color:var(--ink);}
.ticket-amber .btn-white:hover{background:var(--amber);border-color:var(--amber);}
.ticket{background:var(--white);color:var(--ink);border-radius:var(--radius);padding:30px 26px;display:flex;
  flex-direction:column;position:relative;border:1px solid var(--line);}
.ticket-featured{border:2px solid var(--cta);box-shadow:var(--shadow-lg);}
.ticket-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--cta);color:var(--white);
  font-size:12px;font-weight:700;padding:5px 14px;border-radius:30px;letter-spacing:.04em;font-family:'Sora',sans-serif;white-space:nowrap;}
.ticket-name{font-size:17px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;}
.ticket-price{font-size:46px;font-weight:800;margin:8px 0 18px;letter-spacing:-.02em;}
.ticket-price .cur{font-size:26px;font-weight:700;color:var(--muted);margin-right:2px;}
.ticket-features{display:flex;flex-direction:column;gap:10px;margin-bottom:26px;flex:1;}
.ticket-features li{font-size:14px;color:#33403B;padding-left:26px;position:relative;}
.ticket-features li::before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;background-color:var(--teal);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;}
.ticket .btn{width:100%;}
.ticket-note{text-align:center;margin-top:30px;color:#FFFFFF;font-size:15px;}
.ticket-note a{color:#FFFFFF;text-decoration:underline;}
.ticket-price-wrap{display:flex;align-items:baseline;gap:10px;margin:8px 0 4px;}
.ticket-price-old{font-size:22px;font-weight:600;color:var(--muted);text-decoration:line-through;}
.ticket-price-old .cur{font-size:14px;}
.ticket-avail{font-size:12px;font-weight:600;margin-bottom:18px;padding:5px 10px;border-radius:6px;display:inline-block;}
.ticket-avail-on{background:#E6F7F4;color:#1A7A68;}
.ticket-avail-off{background:var(--paper);color:var(--ink);font-weight:700;}
.ticket-locked{opacity:.72;}
.ticket-locked .btn{pointer-events:none;background:var(--paper);color:var(--muted);border-color:var(--border);}
.btn-glow{animation:btnGlow 1.8s ease-in-out infinite;}
@keyframes btnGlow{0%,100%{box-shadow:0 0 0 0 rgba(238,66,35,.5);}50%{box-shadow:0 0 0 12px rgba(238,66,35,0);}}

/* ---------- Partners ---------- */
.partners-cta{margin-top:18px;}

/* ---------- Testimonials ---------- */
.quote-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:48px;}
/* Rotating testimonials: only the front slide (pos-0) is shown; the others
   are hidden behind it and cross-fade in when it's their turn. */
.quote-slider{position:relative;}
.quote-slide{transition:opacity .45s ease,visibility .45s ease;}
.quote-slide.pos-1,.quote-slide.pos-2{position:absolute;top:0;left:0;right:0;
  opacity:0;visibility:hidden;pointer-events:none;}
.quote-slide.pos-0{position:relative;opacity:1;visibility:visible;z-index:3;pointer-events:auto;}
.quote-dots{display:flex;justify-content:center;gap:10px;margin-top:36px;}
.quote-dot{width:10px;height:10px;border-radius:50%;border:0;cursor:pointer;padding:0;
  background:rgba(255,255,255,.45);transition:background .2s ease,transform .2s ease;}
.quote-dot:hover{background:rgba(255,255,255,.75);}
.quote-dot.is-active{background:var(--white);transform:scale(1.2);}
.testimonials .kicker{color:var(--white);}
.quote-card{background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:36px 32px;box-shadow:var(--shadow);}
.quote-card blockquote{font-size:19px;line-height:1.5;font-family:'Sora',sans-serif;font-weight:600;margin-bottom:22px;color:var(--ink);}
.quote-author{font-weight:700;display:flex;flex-direction:column;color:var(--ink);}
.quote-author span{font-weight:400;color:var(--muted);font-size:14px;margin-top:2px;}

/* ---------- Past event results + full-bleed gallery ---------- */
.past-event{padding-bottom:0;}
.results-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;
  margin-bottom:clamp(40px,6vw,72px);}
.results-row li{display:flex;flex-direction:column;gap:8px;}
.results-row .stat-num{font-size:clamp(40px,5.5vw,64px);font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--ink);}
.results-row .stat-label{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);}
/* full screen width: break out of the centered container.
   (html,body overflow-x:hidden above absorbs the scrollbar-width overflow.) */
.event-gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:0;
  width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;}
.event-gallery li{position:relative;overflow:hidden;aspect-ratio:1/1;}
.event-gallery img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .4s ease,filter .3s ease;}
.event-gallery li:hover img{transform:scale(1.06);filter:grayscale(0);}

/* ---------- Final CTA ---------- */
.final-cta{padding-block:clamp(70px,9vw,120px);text-align:center;}
/* Clean solid white — no grid/animated background. */
.final-cta-plain{background:var(--white);color:var(--ink);}
.final-cta-plain .final-title{color:var(--ink);}
.final-cta-plain .btn-ghost{color:var(--ink);border-color:var(--ink);}
.final-cta-plain .btn-ghost:hover{background:var(--ink);color:var(--white);}
.final-title{font-size:clamp(30px,5vw,60px);line-height:1.05;letter-spacing:-.02em;font-weight:800;margin-bottom:16px;}
.final-sub{font-size:clamp(15px,2vw,19px);font-weight:600;color:var(--muted);margin-bottom:34px;}
.final-cta-plain .final-sub{color:var(--muted);}
.final-cta .hero-actions{justify-content:center;}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:#9DAAA5;padding-top:64px;}
/* Back-to-top button — fixed in the bottom-right corner */
.to-top{position:fixed;right:24px;bottom:24px;z-index:900;width:48px;height:48px;border-radius:50%;border:0;cursor:pointer;
  background:var(--teal);box-shadow:var(--shadow-lg);
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity .2s ease,visibility .2s ease,transform .2s ease,filter .15s ease;}
.to-top.show{opacity:1;visibility:visible;transform:translateY(0);}
.to-top.show:hover{transform:translateY(-3px);filter:brightness(1.07);}
/* hidden on mobile / touch-width devices */
@media(max-width:860px){.to-top{display:none;}}
.to-top::after{content:"";position:absolute;inset:0;margin:auto;width:20px;height:20px;background-color:#fff;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19V5'/%3E%3Cpath d='M5 12l7-7 7 7'/%3E%3C/svg%3E") center/20px no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19V5'/%3E%3Cpath d='M5 12l7-7 7 7'/%3E%3C/svg%3E") center/20px no-repeat;}
/* Social icons */
.social-list{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap;}
/* Footer email subscribe — sits under the social icons */
.footer-subscribe{display:flex;gap:8px;margin-top:22px;flex-wrap:wrap;max-width:330px;}
.footer-subscribe input{flex:1;min-width:0;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);
  color:#fff;border-radius:var(--radius-sm);padding:11px 14px;font:inherit;font-size:14px;transition:border-color .15s;}
.footer-subscribe input::placeholder{color:rgba(255,255,255,.45);}
.footer-subscribe input:focus{outline:none;border-color:var(--teal);}
.footer-subscribe .btn{padding:11px 18px;font-size:14px;}
.footer-sub-note{flex-basis:100%;color:var(--teal);font-size:13px;margin:2px 0 0;}
.social-link{display:block;width:36px;height:36px;border-radius:9px;background:var(--ink-2);position:relative;transition:background .15s ease;}
.social-link:hover{background:var(--teal);}
.social-link::after{content:"";position:absolute;inset:0;margin:auto;width:18px;height:18px;background-color:#9DAAA5;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:18px;mask-size:18px;
  transition:background-color .15s ease;}
.social-link:hover::after{background-color:#fff;}
.social-linkedin::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M20.45 20.45h-3.56v-5.57c0-1.33-.03-3.04-1.85-3.04-1.86 0-2.14 1.45-2.14 2.94v5.67H9.35V9h3.41v1.56h.05c.48-.9 1.64-1.85 3.37-1.85 3.6 0 4.27 2.37 4.27 5.46v6.28zM5.34 7.43a2.06 2.06 0 1 1 0-4.13 2.06 2.06 0 0 1 0 4.13zM7.12 20.45H3.56V9h3.56v11.45zM22.22 0H1.77C.79 0 0 .77 0 1.73v20.54C0 23.23.79 24 1.77 24h20.45c.98 0 1.78-.77 1.78-1.73V1.73C24 .77 23.2 0 22.22 0z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M20.45 20.45h-3.56v-5.57c0-1.33-.03-3.04-1.85-3.04-1.86 0-2.14 1.45-2.14 2.94v5.67H9.35V9h3.41v1.56h.05c.48-.9 1.64-1.85 3.37-1.85 3.6 0 4.27 2.37 4.27 5.46v6.28zM5.34 7.43a2.06 2.06 0 1 1 0-4.13 2.06 2.06 0 0 1 0 4.13zM7.12 20.45H3.56V9h3.56v11.45zM22.22 0H1.77C.79 0 0 .77 0 1.73v20.54C0 23.23.79 24 1.77 24h20.45c.98 0 1.78-.77 1.78-1.73V1.73C24 .77 23.2 0 22.22 0z'/%3E%3C/svg%3E");}
.social-facebook::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M24 12.07C24 5.44 18.63.07 12 .07S0 5.44 0 12.07c0 5.99 4.39 10.95 10.13 11.85v-8.38H7.08v-3.47h3.05V9.43c0-3.01 1.79-4.67 4.53-4.67 1.31 0 2.69.24 2.69.24v2.95h-1.51c-1.49 0-1.96.93-1.96 1.87v2.25h3.33l-.53 3.47h-2.8v8.38C19.61 23.02 24 18.06 24 12.07z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M24 12.07C24 5.44 18.63.07 12 .07S0 5.44 0 12.07c0 5.99 4.39 10.95 10.13 11.85v-8.38H7.08v-3.47h3.05V9.43c0-3.01 1.79-4.67 4.53-4.67 1.31 0 2.69.24 2.69.24v2.95h-1.51c-1.49 0-1.96.93-1.96 1.87v2.25h3.33l-.53 3.47h-2.8v8.38C19.61 23.02 24 18.06 24 12.07z'/%3E%3C/svg%3E");}
.social-instagram::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2.16c3.2 0 3.58.01 4.85.07 3.25.15 4.77 1.69 4.92 4.92.06 1.27.07 1.65.07 4.85s-.01 3.58-.07 4.85c-.15 3.23-1.66 4.77-4.92 4.92-1.27.06-1.64.07-4.85.07s-3.58-.01-4.85-.07c-3.26-.15-4.77-1.7-4.92-4.92C2.17 15.58 2.16 15.2 2.16 12s.01-3.58.07-4.85C2.38 3.92 3.9 2.38 7.15 2.23 8.42 2.17 8.8 2.16 12 2.16zM12 0C8.74 0 8.33.01 7.05.07 2.7.27.27 2.69.07 7.05.01 8.33 0 8.74 0 12s.01 3.67.07 4.95c.2 4.36 2.62 6.78 6.98 6.98C8.33 23.99 8.74 24 12 24s3.67-.01 4.95-.07c4.35-.2 6.78-2.62 6.98-6.98.06-1.28.07-1.69.07-4.95s-.01-3.67-.07-4.95c-.2-4.35-2.62-6.78-6.98-6.98C15.67.01 15.26 0 12 0zm0 5.84a6.16 6.16 0 1 0 0 12.32 6.16 6.16 0 0 0 0-12.32zM12 16a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm6.41-11.85a1.44 1.44 0 1 0 0 2.88 1.44 1.44 0 0 0 0-2.88z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2.16c3.2 0 3.58.01 4.85.07 3.25.15 4.77 1.69 4.92 4.92.06 1.27.07 1.65.07 4.85s-.01 3.58-.07 4.85c-.15 3.23-1.66 4.77-4.92 4.92-1.27.06-1.64.07-4.85.07s-3.58-.01-4.85-.07c-3.26-.15-4.77-1.7-4.92-4.92C2.17 15.58 2.16 15.2 2.16 12s.01-3.58.07-4.85C2.38 3.92 3.9 2.38 7.15 2.23 8.42 2.17 8.8 2.16 12 2.16zM12 0C8.74 0 8.33.01 7.05.07 2.7.27.27 2.69.07 7.05.01 8.33 0 8.74 0 12s.01 3.67.07 4.95c.2 4.36 2.62 6.78 6.98 6.98C8.33 23.99 8.74 24 12 24s3.67-.01 4.95-.07c4.35-.2 6.78-2.62 6.98-6.98.06-1.28.07-1.69.07-4.95s-.01-3.67-.07-4.95c-.2-4.35-2.62-6.78-6.98-6.98C15.67.01 15.26 0 12 0zm0 5.84a6.16 6.16 0 1 0 0 12.32 6.16 6.16 0 0 0 0-12.32zM12 16a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm6.41-11.85a1.44 1.44 0 1 0 0 2.88 1.44 1.44 0 0 0 0-2.88z'/%3E%3C/svg%3E");}
.social-youtube::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M23.5 6.19a3.02 3.02 0 0 0-2.12-2.14C19.5 3.55 12 3.55 12 3.55s-7.5 0-9.38.5A3.02 3.02 0 0 0 .5 6.19C0 8.07 0 12 0 12s0 3.93.5 5.81a3.02 3.02 0 0 0 2.12 2.14c1.88.5 9.38.5 9.38.5s7.5 0 9.38-.5a3.02 3.02 0 0 0 2.12-2.14C24 15.93 24 12 24 12s0-3.93-.5-5.81zM9.55 15.57V8.43L15.82 12l-6.27 3.57z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M23.5 6.19a3.02 3.02 0 0 0-2.12-2.14C19.5 3.55 12 3.55 12 3.55s-7.5 0-9.38.5A3.02 3.02 0 0 0 .5 6.19C0 8.07 0 12 0 12s0 3.93.5 5.81a3.02 3.02 0 0 0 2.12 2.14c1.88.5 9.38.5 9.38.5s7.5 0 9.38-.5a3.02 3.02 0 0 0 2.12-2.14C24 15.93 24 12 24 12s0-3.93-.5-5.81zM9.55 15.57V8.43L15.82 12l-6.27 3.57z'/%3E%3C/svg%3E");}
.social-tiktok::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12.53.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.08-.14 1.62.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12.53.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.08-.14 1.62.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z'/%3E%3C/svg%3E");}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.footer-credits{display:flex;gap:18px;flex-wrap:wrap;}
.footer-credits a{color:#9DAAA5;text-decoration:underline;}
.footer-credits a:hover{color:var(--teal);}
.footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:48px;}
.footer-brand .brand-logo{margin-bottom:18px;}
.footer-brand p{font-size:14px;max-width:340px;margin-bottom:10px;}
.footer-org{color:#6F7E79;font-size:13px;}
.footer-nav ul{display:flex;flex-direction:column;gap:12px;}
.footer-nav a{font-size:14px;}.footer-nav a:hover,.footer-contact a:hover{color:var(--teal);}
.footer-contact p{font-size:14px;margin-bottom:10px;}
.footer-bottom{border-top:1px solid var(--line-dark);padding-block:22px;}
.footer-bottom .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}
.footer-bottom p{font-size:13px;color:#6F7E79;}

/* ===================================================================
   INNER PAGES — shared components (About, Speakers, Agenda, etc.)
   =================================================================== */
/* Page hero (compact banner — uses .brand-gradient for the homepage look) */
.page-hero{position:relative;overflow:hidden;padding-block:clamp(64px,10vw,120px);}
.page-hero .container{position:relative;z-index:1;}
/* alternating off-white section to separate neighbours */
.section-alt{background:var(--paper);border-block:1px solid var(--line);}
/* section eyebrow that recolours per section for variety */
.kicker-amber{color:var(--amber);}
.kicker-white{color:var(--white);}
.page-hero .breadcrumb{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  color:rgba(255,255,255,.85);margin-bottom:14px;}
.page-hero .breadcrumb a{text-decoration:underline;}
.page-title{font-size:clamp(34px,6vw,68px);line-height:1.02;letter-spacing:-.02em;font-weight:800;color:var(--white);max-width:900px;}
.page-hero .page-lead{font-size:clamp(16px,2vw,20px);color:#ffffff;max-width:760px;margin-top:18px;}

/* Prose / two-column intro */
.prose p{color:var(--muted);font-size:17px;margin-top:14px;margin-bottom:18px;}
.prose p:last-child{margin-bottom:0;}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);align-items:center;}
.split-media{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);background:var(--paper);aspect-ratio:4/3;}
.split-media img{width:100%;height:100%;object-fit:cover;}

/* Value / mission cards reuse .card-grid + .card from the homepage */
.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}

/* Timeline (past events 2019 -> 2026) */
.timeline{position:relative;margin-top:20px;padding-left:4px;}
.timeline::before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:var(--line);}
.timeline-item{position:relative;padding-left:42px;padding-bottom:32px;}
.timeline-item:last-child{padding-bottom:0;}
.timeline-item::before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;
  background:var(--white);border:4px solid var(--teal);}
.timeline-item:nth-child(2n)::before{border-color:var(--amber);}
.timeline-item:nth-child(3n)::before{border-color:var(--cta);}
.timeline-year{font-family:'Sora',sans-serif;font-weight:800;font-size:22px;letter-spacing:-.01em;}
.timeline-item h3{font-size:18px;font-weight:700;margin:4px 0 6px;}
.timeline-item p{color:var(--muted);font-size:15px;}

/* Speakers grid (full roster page) */
.speakers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.spk-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;}
.spk-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.spk-photo{display:block;width:100%;aspect-ratio:1/1;overflow:hidden;background:linear-gradient(135deg,var(--teal),var(--ink-2));}
.spk-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .25s ease,transform .4s ease;}
.spk-card:hover .spk-photo img{filter:grayscale(0);transform:scale(1.05);}
.spk-body{padding:18px 18px 22px;border-top:4px solid var(--teal);}
.spk-card:nth-child(3n) .spk-body{border-top-color:var(--amber);}
.spk-card:nth-child(3n+1) .spk-body{border-top-color:var(--cta);}
.spk-body h3{font-size:18px;font-weight:700;letter-spacing:-.01em;}
.spk-role{color:var(--muted);font-size:14px;margin-top:6px;display:flex;flex-direction:column;gap:2px;}
.spk-role .spk-title{color:var(--ink);font-weight:600;}
.spk-role .spk-unit{color:var(--muted);}
.spk-role .spk-company{color:var(--ink);font-weight:600;}
.spk-soon .spk-photo{background:repeating-linear-gradient(45deg,var(--paper),var(--paper) 12px,#ECF1EF 12px,#ECF1EF 24px);}
.spk-soon .spk-body{display:flex;flex-direction:column;justify-content:center;text-align:center;min-height:96px;}

/* Logo card grid (Partners page) */
.logo-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.logo-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  min-height:130px;display:flex;align-items:center;justify-content:center;padding:24px;
  box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;}
.logo-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.logo-card img{max-height:64px;width:auto;filter:grayscale(1);opacity:.85;transition:.2s;}
.logo-card:hover img{filter:grayscale(0);opacity:1;}

/* Sponsorship tier cards */
.tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;}
.tier{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:32px 28px;
  display:flex;flex-direction:column;box-shadow:var(--shadow);border-top:6px solid var(--teal);}
.tier:nth-child(2){border-top-color:var(--amber);}
.tier:nth-child(3){border-top-color:var(--cta);}
.tier-name{font-family:'Sora',sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);}
.tier h3{font-size:24px;font-weight:800;letter-spacing:-.01em;margin:6px 0 16px;}
.tier-features{display:flex;flex-direction:column;gap:10px;margin-bottom:26px;flex:1;}
.tier-features li{font-size:15px;color:#33403B;padding-left:26px;position:relative;}
.tier-features li::before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;background-color:var(--teal);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;}
.tier .btn{width:100%;}

/* Topic pills band */
.topic-list{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.topic-list li{background:var(--white);border:1px solid var(--line);border-radius:40px;padding:10px 20px;
  font-family:'Sora',sans-serif;font-weight:600;font-size:15px;}
.grid-bg-dark .topic-list li{background:rgba(255,255,255,.08);border-color:var(--line-dark);color:var(--white);}

/* ---------- Agenda timetable ---------- */
.agenda-tabs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,44px);}
.agenda-tab{background:var(--white);border:1px solid var(--line);border-radius:40px;padding:12px 26px;cursor:pointer;
  font-family:'Sora',sans-serif;font-weight:700;font-size:15px;color:var(--ink);transition:.15s;}
.agenda-tab:hover{border-color:var(--teal);}
.agenda-tab.is-active{background:var(--cta);border-color:var(--cta);color:var(--white);}
.agenda-day{display:none;}
.agenda-day.is-active{display:block;}
.agenda-list{display:flex;flex-direction:column;gap:14px;max-width:860px;margin-inline:auto;}
/* Coming Soon tab only — schedule shown as a blurred, unreadable teaser */
.agenda-day[data-day="3"] .agenda-list{filter:blur(3px);user-select:none;-webkit-user-select:none;pointer-events:none;}
.agenda-row{display:grid;grid-template-columns:130px 1fr;gap:20px;background:var(--white);border:1px solid var(--line);
  border-left:4px solid var(--teal);border-radius:var(--radius);padding:20px 24px;box-shadow:var(--shadow);}
.agenda-row:nth-child(3n) {border-left-color:var(--amber);}
.agenda-row:nth-child(3n+1){border-left-color:var(--cta);}
.agenda-time{font-family:'Sora',sans-serif;font-weight:700;font-size:15px;color:var(--teal);white-space:nowrap;}
.agenda-info h3{font-size:18px;font-weight:700;letter-spacing:-.01em;}
.agenda-info p{color:var(--muted);font-size:14px;margin-top:4px;}
.agenda-tag{display:inline-block;font-family:'Sora',sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:var(--muted);border:1px solid var(--line);border-radius:30px;padding:3px 10px;margin-top:10px;}

/* ---------- News / articles ---------- */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.news-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;}
.news-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.news-media{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--paper);}
.news-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.news-card:hover .news-media img{transform:scale(1.05);}
.news-body{padding:22px 22px 26px;display:flex;flex-direction:column;flex:1;}
.news-meta{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--teal);margin-bottom:10px;}
.news-body h3{font-size:19px;font-weight:700;line-height:1.25;letter-spacing:-.01em;margin-bottom:10px;}
.news-body p{color:var(--muted);font-size:15px;flex:1;}
.news-link{margin-top:16px;font-family:'Sora',sans-serif;font-weight:700;font-size:14px;color:var(--cta);}
.news-card:hover .news-link{text-decoration:underline;}

/* ---------- Legal pages (Terms / Privacy) ---------- */
.legal{max-width:780px;margin-inline:auto;}
.legal .updated{color:var(--muted);font-size:14px;margin-bottom:28px;}
.legal h2{font-family:'Sora',sans-serif;font-size:23px;font-weight:800;letter-spacing:-.01em;margin:34px 0 12px;}
.legal h3{font-size:18px;font-weight:700;margin:22px 0 8px;}
.legal p{font-size:16px;color:#33403B;margin-bottom:16px;}
.legal ul{margin:0 0 18px;display:flex;flex-direction:column;gap:8px;}
.legal ul li{position:relative;padding-left:24px;font-size:16px;color:#33403B;}
.legal ul li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:50%;background:var(--teal);}
.legal a{color:var(--teal);text-decoration:underline;}

/* ---------- Single news article ---------- */
.article{max-width:760px;margin-inline:auto;}
.article-meta{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;color:var(--muted);font-size:14px;margin-bottom:20px;}
.article-cat{font-family:'Sora',sans-serif;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--cta);background:rgba(238,66,35,.1);border-radius:30px;padding:4px 12px;}
.article-hero{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);margin-bottom:clamp(28px,4vw,44px);}
.article-hero img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover;}
.article-body{font-size:17px;color:#33403B;}
.article-body p{margin-bottom:20px;}
.article-body h2{font-family:'Sora',sans-serif;font-size:26px;font-weight:800;letter-spacing:-.01em;margin:34px 0 14px;color:var(--ink);}
.article-body h3{font-size:20px;font-weight:700;margin:26px 0 10px;color:var(--ink);}
.article-body ul{margin:0 0 20px;padding-left:0;display:flex;flex-direction:column;gap:10px;}
.article-body ul li{position:relative;padding-left:26px;}
.article-body ul li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;background:var(--teal);}
.article-body blockquote{border-left:4px solid var(--teal);background:var(--paper);border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  padding:18px 22px;margin:0 0 24px;font-family:'Sora',sans-serif;font-size:19px;font-weight:600;color:var(--ink);}
.article-body a{color:var(--teal);text-decoration:underline;}
.article-share{display:flex;align-items:center;gap:12px;margin-top:36px;padding-top:24px;border-top:1px solid var(--line);}
.article-share span{font-weight:600;font-size:14px;}
.article-share .social-list{display:flex;flex-direction:row;align-items:center;gap:10px;list-style:none;margin:0;padding:0;}
.article-share .social-list li{list-style:none;margin:0;padding:0;}
.article-share .social-list li::before{display:none;content:none;}
.article-back{display:inline-flex;align-items:center;gap:7px;font-family:'Sora',sans-serif;font-weight:700;font-size:14px;color:var(--cta);margin-bottom:18px;}
.article-back:hover{text-decoration:underline;}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,64px);align-items:start;}
.contact-form{display:flex;flex-direction:column;gap:16px;}
/* display:flex overrides the default [hidden] rule, so restore it explicitly */
.contact-form[hidden],.social-auth[hidden],.or-divider[hidden]{display:none;}
.field{display:flex;flex-direction:column;gap:7px;}
.field label{font-size:14px;font-weight:600;}
.field input,.field select,.field textarea{font-family:inherit;font-size:15px;color:var(--ink);background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius-sm);padding:13px 15px;transition:border-color .15s,box-shadow .15s;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(36,185,163,.15);}
.field textarea{resize:vertical;min-height:130px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.contact-form .btn{align-self:flex-start;}
.contact-aside{display:flex;flex-direction:column;gap:22px;}
.contact-item{display:flex;gap:14px;align-items:flex-start;}
.contact-item .ci-icon{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:var(--paper);position:relative;}
.contact-item .ci-icon::after{content:"";position:absolute;inset:0;margin:auto;width:22px;height:22px;background-color:var(--teal);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:22px;mask-size:22px;}
.ci-mail::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E");}
.ci-phone::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.69 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.33 1.85.56 2.81.69A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.69 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.33 1.85.56 2.81.69A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");}
.ci-pin::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");}
.contact-item h3{font-size:16px;font-weight:700;}
.contact-item p,.contact-item a{font-size:15px;color:var(--muted);}
.contact-item a:hover{color:var(--teal);}
.map-embed{margin-top:8px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);aspect-ratio:16/9;}
.map-embed iframe{width:100%;height:100%;border:0;display:block;}
.form-note{display:none;margin-top:4px;background:rgba(36,185,163,.12);border:1px solid var(--teal);color:var(--ink);
  border-radius:var(--radius-sm);padding:12px 16px;font-size:14px;}
.form-note.show{display:block;}

/* ===================================================================
   TICKETS / CHECKOUT
   =================================================================== */
.checkout-grid{display:grid;grid-template-columns:1.4fr .9fr;gap:clamp(28px,4vw,48px);align-items:start;}
/* selectable pass cards */
.pass-list{display:flex;flex-direction:column;gap:18px;}
.pass{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;background:var(--white);
  border:2px solid var(--line);border-radius:var(--radius);padding:24px 26px;box-shadow:var(--shadow);transition:border-color .15s;}
.pass.selected{border-color:var(--teal);}
/* standard (red) pass card: transparent border until selected, then red */
.pass-red{border-color:transparent;}
.pass-red.selected{border-color:var(--cta);}
.pass-locked{opacity:.55;pointer-events:none;background:var(--paper);border-color:var(--line)!important;}
.pass-locked .pass-price{color:var(--muted);}
.pass-unlock-note{font-size:13px;color:var(--muted);font-weight:600;margin-top:6px;}
.pass-info h3{font-size:20px;font-weight:800;letter-spacing:-.01em;}
.pass-info .pass-badge{display:inline-block;background:var(--cta);color:#fff;font-family:'Sora',sans-serif;font-size:11px;
  font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 10px;border-radius:30px;margin-bottom:8px;}
.pass-info ul{margin-top:10px;display:flex;flex-direction:column;gap:6px;}
.pass-info li{font-size:14px;color:#33403B;padding-left:24px;position:relative;}
.pass-info li::before{content:"";position:absolute;left:0;top:3px;width:15px;height:15px;background-color:var(--teal);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat;}
.pass-side{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:12px;}
.pass-price{font-family:'Sora',sans-serif;font-size:30px;font-weight:800;letter-spacing:-.02em;}
.pass-price .cur{font-size:18px;color:var(--muted);margin-right:1px;}
/* quantity stepper */
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:30px;overflow:hidden;}
.qty button{width:38px;height:38px;border:0;background:var(--paper);font-size:20px;line-height:1;cursor:pointer;color:var(--ink);transition:background .15s;}
.qty button:hover{background:var(--line);}
.qty span{min-width:40px;text-align:center;font-family:'Sora',sans-serif;font-weight:700;font-size:16px;}

/* checkout linear flow (steps stacked) */
.checkout{max-width:820px;margin-inline:auto;}
.step-block{margin-bottom:clamp(36px,5vw,56px);}

/* attendee blocks */
.attendee{border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;margin-bottom:16px;background:var(--white);box-shadow:var(--shadow);}
.attendee[hidden]{display:none;}
.attendee-head{font-family:'Sora',sans-serif;font-weight:800;font-size:15px;margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.attendee-head .pill{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--paper);color:var(--muted);border-radius:30px;padding:3px 10px;}
.attendee-head .pill-ticket{background:rgba(36,185,163,.14);color:#127d6c;}
.attendee-head .pill-ticket[hidden]{display:none;}

/* payment method radios */
.pay-methods{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px;}
.pay-opt{position:relative;border:2px solid var(--line);border-radius:var(--radius);padding:18px 20px;cursor:pointer;transition:border-color .15s;}
.pay-opt:hover{border-color:var(--teal);}
.pay-opt input{position:absolute;opacity:0;pointer-events:none;}
.pay-opt h4{font-family:'Sora',sans-serif;font-weight:700;font-size:16px;margin-bottom:4px;}
.pay-opt p{font-size:13px;color:var(--muted);}
.pay-opt.selected{border-color:var(--cta);}
.pay-fields{margin-bottom:22px;}
.pay-fields[hidden]{display:none;}

/* generated invoice */
.invoice[hidden]{display:none;}
.invoice{border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,4vw,40px);background:var(--white);box-shadow:var(--shadow);margin-top:22px;}
.inv-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;border-bottom:2px solid var(--ink);padding-bottom:20px;margin-bottom:22px;}
.inv-brand img{height:54px;width:auto;}
.inv-title{text-align:right;}
.inv-title h3{font-family:'Sora',sans-serif;font-size:26px;font-weight:800;letter-spacing:-.01em;}
.inv-title .inv-no{color:var(--muted);font-size:14px;margin-top:4px;}
.inv-parties{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:22px;}
.inv-party h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px;font-family:'Sora',sans-serif;}
.inv-party p{font-size:14px;color:#33403B;line-height:1.5;}
.inv-meta{display:flex;flex-wrap:wrap;gap:8px 28px;margin-bottom:18px;font-size:14px;color:#33403B;}
.inv-meta strong{color:var(--ink);}
.inv-table{width:100%;border-collapse:collapse;margin-bottom:18px;}
.inv-table th{text-align:left;font-family:'Sora',sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line);padding:10px 8px;}
.inv-table td{font-size:15px;padding:12px 8px;border-bottom:1px solid var(--line);color:#33403B;}
.inv-table .num{text-align:right;}
.inv-summary{display:flex;flex-direction:column;gap:6px;align-items:flex-end;margin-bottom:10px;}
.inv-srow{display:flex;justify-content:space-between;gap:30px;min-width:240px;font-size:15px;color:#33403B;}
.inv-srow span:first-child{color:var(--muted);}
#invDisc{color:var(--teal);font-weight:600;}
.inv-total{display:flex;justify-content:flex-end;gap:30px;font-family:'Sora',sans-serif;font-weight:800;font-size:20px;margin-bottom:18px;}
.inv-valid{background:rgba(238,66,35,.08);border:1px solid rgba(238,66,35,.3);color:#b3331a;border-radius:var(--radius-sm);padding:12px 16px;font-size:14px;font-weight:600;}
.inv-actions{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap;}
@media print{
  /* While printing, JS moves #invoice into #printArea (a direct child of body)
     and adds .printing-invoice to body. We hide every other top-level node so
     no leftover layout height can generate blank trailing pages. */
  body.printing-invoice > *{display:none !important;}
  body.printing-invoice > #printArea{display:block !important;}
  body{margin:0;}
  #printArea #invoice{display:block !important;border:0;box-shadow:none;margin:0;padding:0;}
  .inv-actions{display:none !important;}
}

/* order summary */
.summary{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;
  box-shadow:var(--shadow);}
.summary h3{font-size:18px;font-weight:800;margin-bottom:18px;}
.summary-row{display:flex;justify-content:space-between;gap:12px;font-size:15px;padding:9px 0;color:#33403B;}
.summary-row.muted{color:var(--muted);}
.summary-discount span:last-child{color:var(--teal);font-weight:600;}
.summary-divider{border-top:1px solid var(--line);margin:8px 0;}
.summary-total{display:flex;justify-content:space-between;align-items:baseline;font-family:'Sora',sans-serif;font-weight:800;font-size:22px;margin-top:6px;}
.summary .btn{width:100%;margin-top:20px;}
.summary-note{font-size:12px;color:var(--muted);text-align:center;margin-top:12px;}
.summary-empty{color:var(--muted);font-size:15px;}

/* ===================================================================
   MODALS (auth choice / login / register)
   =================================================================== */
.modal-overlay{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:20px;
  background:rgba(14,19,17,.55);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;}
.modal-overlay.open{opacity:1;visibility:visible;}
.modal{background:var(--white);border-radius:18px;width:100%;max-width:440px;max-height:92vh;overflow-y:auto;
  box-shadow:var(--shadow-lg);position:relative;transform:translateY(12px) scale(.98);transition:transform .25s ease;}
.modal-overlay.open .modal{transform:translateY(0) scale(1);}
.modal-head{display:flex;align-items:center;justify-content:center;position:relative;padding:24px 24px 6px;}
.modal-head h2{font-size:21px;font-weight:800;letter-spacing:-.01em;text-align:center;}
.modal-close{position:absolute;top:18px;right:18px;width:34px;height:34px;border:0;border-radius:50%;background:var(--paper);
  cursor:pointer;transition:background .15s;}
.modal-close:hover{background:var(--line);}
.modal-close::after{content:"";position:absolute;inset:0;margin:auto;width:16px;height:16px;background-color:var(--ink);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E") center/16px no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E") center/16px no-repeat;}
.modal-body{padding:14px 26px 26px;}
.modal-trust{background:rgba(36,185,163,.12);color:#127d6c;font-weight:600;font-size:14px;text-align:center;
  padding:10px;border-radius:10px;margin-bottom:18px;}
/* benefits list (auth choice) */
.benefit-list{display:flex;flex-direction:column;gap:16px;margin-bottom:22px;}
.benefit{display:flex;align-items:center;gap:14px;font-size:15px;color:var(--ink);}
.benefit .b-icon{flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:var(--paper);position:relative;}
.benefit .b-icon::after{content:"";position:absolute;inset:0;margin:auto;width:20px;height:20px;background-color:var(--ink);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:20px;mask-size:20px;}
.b-shield::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E");}
.b-clock::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E");}
.b-tag::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41 13.42 20.6a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41 13.42 20.6a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'/%3E%3C/svg%3E");}
.b-ai::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v2M12 19v2M3 12h2M19 12h2M5.6 5.6l1.4 1.4M17 17l1.4 1.4M18.4 5.6 17 7M7 17l-1.4 1.4'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v2M12 19v2M3 12h2M19 12h2M5.6 5.6l1.4 1.4M17 17l1.4 1.4M18.4 5.6 17 7M7 17l-1.4 1.4'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3C/svg%3E");}
/* highlight the priority benefit (AI matchmaking) */
.benefit-key{font-weight:700;color:var(--ink);}
.benefit-key .b-icon{background:rgba(238,66,35,.12);}
.benefit-key .b-icon::after{background-color:var(--cta);}
.modal .btn{width:100%;}
.btn-soft{background:var(--paper);color:var(--ink);border-color:var(--paper);}
.btn-soft:hover{background:var(--line);border-color:var(--line);}
.modal-foot{text-align:center;font-size:14px;color:var(--muted);margin-top:18px;}
/* register success confirmation */
.reg-confirm{text-align:center;padding:14px 6px 6px;}
.reg-confirm h3{font-family:'Sora','Noto Sans Georgian',sans-serif;font-size:20px;font-weight:800;margin-bottom:8px;}
.reg-confirm p{font-size:15px;color:var(--muted);line-height:1.55;}
.reg-confirm p b{color:var(--ink);font-weight:700;}
.reg-confirm-ic{display:block;width:54px;height:54px;margin:0 auto 16px;border-radius:50%;background:#E6F7F4;position:relative;}
.reg-confirm-ic::after{content:"";position:absolute;inset:0;margin:auto;width:26px;height:26px;background-color:var(--teal);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 6 12 13 2 6'/%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 6 12 13 2 6'/%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3C/svg%3E") center/contain no-repeat;}
.modal-foot a{color:var(--cta);font-weight:700;cursor:pointer;}
.modal-stack{display:flex;flex-direction:column;gap:12px;}
/* auth method tabs */
.auth-tabs{display:flex;background:var(--paper);border-radius:30px;padding:4px;margin-bottom:18px;}
.auth-tab{flex:1;border:0;background:none;padding:9px;border-radius:26px;cursor:pointer;font-family:'Sora',sans-serif;
  font-weight:700;font-size:14px;color:var(--muted);transition:.15s;}
.auth-tab.is-active{background:var(--white);color:var(--ink);box-shadow:var(--shadow);}
.auth-panel{display:none;}
.auth-panel.is-active{display:block;}
/* social buttons */
.social-auth{display:flex;flex-direction:column;gap:10px;}
.btn-social{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--white);border:1px solid var(--line);
  color:var(--ink);border-radius:var(--radius-sm);padding:12px;font-family:'Sora',sans-serif;font-weight:700;font-size:14px;cursor:pointer;transition:.15s;width:100%;}
.btn-social:hover{background:var(--paper);}
.btn-social .s-ic{width:20px;height:20px;background-size:20px;background-repeat:no-repeat;background-position:center;}
.s-google{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23FFC107' d='M43.6 20.5H42V20H24v8h11.3C33.7 32.4 29.3 35 24 35c-6.1 0-11-4.9-11-11s4.9-11 11-11c2.8 0 5.4 1.1 7.3 2.8l5.7-5.7C33.6 6.2 29 4 24 4 12.9 4 4 12.9 4 24s8.9 20 20 20 20-8.9 20-20c0-1.3-.1-2.3-.4-3.5z'/%3E%3Cpath fill='%23FF3D00' d='m6.3 14.7 6.6 4.8C14.7 16 19 13 24 13c2.8 0 5.4 1.1 7.3 2.8l5.7-5.7C33.6 6.2 29 4 24 4 16.3 4 9.7 8.3 6.3 14.7z'/%3E%3Cpath fill='%234CAF50' d='M24 44c5.2 0 9.9-2 13.4-5.2l-6.2-5.2C29.2 35 26.7 36 24 36c-5.3 0-9.7-2.6-11.3-7l-6.5 5C9.5 39.6 16.2 44 24 44z'/%3E%3Cpath fill='%231976D2' d='M43.6 20.5H42V20H24v8h11.3c-.8 2.2-2.2 4.1-4.1 5.6l6.2 5.2C40.9 36 44 30.6 44 24c0-1.3-.1-2.3-.4-3.5z'/%3E%3C/svg%3E");}
.s-facebook{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231877F2' d='M24 12c0-6.6-5.4-12-12-12S0 5.4 0 12c0 6 4.4 11 10.1 11.9v-8.4H7.1V12h3V9.4c0-3 1.8-4.6 4.5-4.6 1.3 0 2.7.2 2.7.2v2.9h-1.5c-1.5 0-1.9.9-1.9 1.8V12h3.3l-.5 3.5h-2.8v8.4C19.6 23 24 18 24 12z'/%3E%3C/svg%3E");}
.s-apple{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M16.4 12.7c0-2.3 1.9-3.4 2-3.5-1.1-1.6-2.8-1.8-3.4-1.8-1.4-.1-2.8.9-3.5.9-.7 0-1.8-.8-3-.8-1.5 0-2.9.9-3.7 2.3-1.6 2.7-.4 6.8 1.1 9 .7 1.1 1.6 2.3 2.8 2.3 1.1 0 1.5-.7 2.9-.7 1.3 0 1.7.7 2.9.7 1.2 0 2-1.1 2.7-2.2.9-1.2 1.2-2.5 1.2-2.5s-2.3-.9-2.5-3.4zM14.2 5.4c.6-.8 1-1.8.9-2.9-.9 0-2 .6-2.6 1.3-.6.7-1.1 1.7-.9 2.7 1 .1 2-.5 2.6-1.1z'/%3E%3C/svg%3E");}
.or-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted);font-size:13px;}
.or-divider::before,.or-divider::after{content:"";flex:1;height:1px;background:var(--line);}
.forgot{text-align:right;font-size:13px;margin-top:-6px;}
.forgot a{color:var(--teal);cursor:pointer;}
.forgot a:hover{text-decoration:underline;}
/* password field with show/hide eye toggle */
.pw-field{position:relative;}
.pw-field input{width:100%;padding-right:46px;}
.pw-eye{position:absolute;top:0;right:0;height:100%;width:44px;border:0;background:none;cursor:pointer;}
.pw-eye::after{content:"";position:absolute;inset:0;margin:auto;width:20px;height:20px;background-color:var(--muted);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center/20px no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center/20px no-repeat;}
.pw-eye:hover::after{background-color:var(--teal);}
.pw-eye.shown::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24'/%3E%3Cline x1='1' y1='1' x2='23' y2='23'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24'/%3E%3Cline x1='1' y1='1' x2='23' y2='23'/%3E%3C/svg%3E");}
.reset-intro{font-size:14px;color:var(--muted);margin-bottom:14px;}
.login-demo{font-size:13px;background:rgba(36,185,163,.12);color:#127d6c;border-radius:8px;padding:9px 12px;margin-bottom:6px;}
.login-error{font-size:13px;color:var(--cta);font-weight:600;margin-top:-4px;}
.sms-timer{font-size:13px;color:var(--muted);margin-top:8px;}
.sms-timer b{color:var(--ink);font-variant-numeric:tabular-nums;}
.sms-expired{font-size:13px;color:var(--muted);margin-top:8px;}
.sms-expired a{color:var(--teal);font-weight:700;text-decoration:underline;cursor:pointer;}
.login-success{font-size:16px;font-weight:700;color:#127d6c;text-align:center;padding:18px 6px;}
.login-demo[hidden],.sms-timer[hidden],.sms-expired[hidden],.login-error[hidden],.login-success[hidden]{display:none;}
.login-error[hidden]{display:none;}
.check-row{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--muted);}
.check-row input{margin-top:2px;}
.check-row a{color:var(--teal);text-decoration:underline;}
.check-row.check-error{color:var(--cta);}
.check-row.check-error input{outline:2px solid var(--cta);outline-offset:2px;}

/* Team grid */
.team-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px;}
@media(max-width:1100px){.team-grid{grid-template-columns:repeat(4,1fr);}}
@media(max-width:760px){.team-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:520px){.team-grid{grid-template-columns:repeat(2,1fr);}}
.team-card{text-align:center;}
.team-photo{display:block;width:100%;aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;
  background:linear-gradient(135deg,var(--teal),var(--ink-2));margin-bottom:14px;}
.team-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .25s ease;}
.team-card:hover .team-photo img{filter:grayscale(0);}
.team-card h3{font-size:17px;font-weight:700;}
.team-card p{color:var(--muted);font-size:14px;}

/* Organizers row (About → team) */
.organizers-row{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:clamp(32px,5vw,56px);}
.organizer{background:var(--white);border:1px solid var(--line);border-left:4px solid var(--teal);
  border-radius:var(--radius);padding:28px 26px;box-shadow:var(--shadow);}
.organizer:nth-child(2){border-left-color:var(--cta);}
.organizer h3{font-size:19px;font-weight:700;margin-bottom:8px;}
.organizer p{color:var(--muted);font-size:15px;}
.organizer a{color:var(--teal);text-decoration:underline;}

/* anchored sections clear the sticky header when jumped to */
[id]{scroll-margin-top:120px;}

/* Past-events gallery on inner pages: give it breathing room + rounded full-bleed band */
.gallery-band{margin-top:clamp(36px,5vw,64px);}
.gallery-band .event-gallery{gap:6px;}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .split{grid-template-columns:1fr;}
  .mini-grid{grid-template-columns:1fr;}
  .speakers-grid{grid-template-columns:repeat(2,1fr);}
  .logo-cards{grid-template-columns:repeat(3,1fr);}
  .tier-grid{grid-template-columns:1fr;max-width:460px;margin-inline:auto;}
  .organizers-row{grid-template-columns:1fr;}
  .news-grid{grid-template-columns:repeat(2,1fr);}
  .contact-grid{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .news-grid{grid-template-columns:1fr;}
  .agenda-row{grid-template-columns:1fr;gap:6px;}
  .field-row{grid-template-columns:1fr;}
}
@media(max-width:860px){
  .checkout-grid{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .pay-methods{grid-template-columns:1fr;}
  .inv-parties{grid-template-columns:1fr;}
}
@media(max-width:520px){
  .pass{grid-template-columns:1fr;}
  .pass-side{text-align:left;align-items:flex-start;}
}
@media(max-width:560px){
  .logo-cards{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:480px){
  .speakers-grid{grid-template-columns:1fr;}
}
@media(max-width:1024px){
  .ticket-grid{grid-template-columns:repeat(2,1fr);}
  .ticket-featured{transform:none;}
}
@media(max-width:860px){
  .nav-toggle{display:flex;margin-left:4px;}
  /* tighter spacing between elements on mobile */
  .header-inner{gap:8px;}
  /* logo scales with viewport width so it always fits the row without distortion */
  .brand-logo{height:clamp(40px,12vw,56px);}
  .site-header.scrolled .brand-logo{height:38px;}
  /* show the Buy Tickets CTA in the top bar on mobile */
  .header-cta{display:inline-flex;margin-left:auto;padding:9px 16px;font-size:13px;}
  /* the top-bar Sign in link is hidden on mobile; it moves into the burger menu */
  .account-link{display:none;}
  /* show the sign-in item inside the burger menu */
  .nav-signin-mobile{display:block;}
  /* top-bar chip is hidden on mobile (like the account link); the burger shows it */
  .is-auth .account-user{display:none;}
  .is-auth .nav-user-mobile{display:block;}
  /* anchored to the header's bottom edge so it follows the header height
     (no stray border line, no gap when the header shrinks on scroll) */
  .main-nav{position:absolute;top:100%;left:0;right:0;background:var(--white);
    box-shadow:0 12px 24px rgba(14,19,17,.12);
    max-height:0;overflow:hidden;transition:max-height .3s ease;margin-left:0;}
  .main-nav.open{max-height:80vh;overflow:auto;border-bottom:1px solid var(--line);}
  .nav-list{flex-direction:column;align-items:stretch;gap:0;padding:10px var(--pad) 24px;}
  .nav-list>li{border-bottom:1px solid var(--line);}
  .nav-list>li>a{display:block;padding:16px 0;font-size:17px;}
  /* collapsible About submenu — opens on tap via .submenu-open */
  .nav-list .has-sub>a{position:relative;}
  .nav-list .has-sub>a::after{content:"+";position:absolute;right:0;top:16px;font-weight:400;font-size:20px;line-height:1;}
  .nav-list .has-sub.submenu-open>a::after{content:"\2013";}
  .sub-list{position:static;max-height:0;overflow:hidden;opacity:1;visibility:visible;transform:none;
    box-shadow:none;background:transparent;padding:0 0 0 12px;transition:max-height .25s ease;}
  .has-sub.submenu-open .sub-list{max-height:260px;padding-bottom:10px;}
  .sub-list li a{color:var(--muted);}
  /* language switch as a proper inline pill button */
  .nav-list>li.nav-lang{border-bottom:0;}
  .nav-list .nav-lang a{display:inline-block;border:1px solid var(--line);padding:7px 16px;border-radius:6px;margin:12px 0;}
  .nav-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-toggle.active span:nth-child(2){opacity:0;}
  .nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .net-grid{grid-template-columns:1fr;}
  .net-visual-wrap{order:-1;}
  /* hide the decorative hero points on smaller screens to avoid overlap */
  .hero-net{display:none;}
  .footer-inner{grid-template-columns:1fr;gap:30px;}
  .why-layout{grid-template-columns:1fr;}
  .reel{position:static;width:100%;max-width:320px;margin-inline:auto;}
}
@media(max-width:860px){
  .event-gallery{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:560px){
  .card-grid{grid-template-columns:1fr;}
  .ticket-grid{grid-template-columns:1fr;}
  .stats-row{grid-template-columns:repeat(2,1fr);gap:30px 16px;}
  .results-row{grid-template-columns:repeat(2,1fr);gap:28px 16px;}
  .event-gallery{grid-template-columns:repeat(2,1fr);}
  .quote-grid{grid-template-columns:1fr;}
  .cd-unit{min-width:0;flex:1;}
  .countdown{gap:8px;}
  .cd-num{font-size:30px;}
  /* Sponsors/partners: infinite marquee on phones (duplicated logos make it seamless) */
  .partners{overflow:hidden;}
  .partners .logo-row-big{flex-wrap:nowrap;justify-content:flex-start;width:max-content;
    gap:48px;animation:logoMarquee 16s linear infinite;}
  .partners .logo-row-big .dup{display:block;}
}
@keyframes logoMarquee{
  from{transform:translateX(0);}
  to  {transform:translateX(-50%);}
}
