:root{
  --ink:#040305;
  --paper:#FDFDFD;
  --white:#FFFFFF;
  --yellow:#FFD200;
  --yellow-hover:#FFDB2E;
  --purple:#901BF7;
  --purple-dark:#7A0FD6;
  --muted:rgba(4,3,5,.7);
  --border-soft:rgba(10,7,16,.1);
  --border-card:rgba(4,3,5,1);
  --radius:24px;
  --radius-sm:20px;
  --radius-pill:999px;
  --shadow-btn:0 6px 0 0 var(--ink);
  --shadow-btn-hover:0 9px 0 0 var(--ink);
  --maxw:1180px;
  --font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-head: "Archivo", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box;}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--paper);line-height:1.55;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:var(--font-head);font-weight:900;letter-spacing:-.02em;line-height:1.12;margin:0 0 .5em;}
h1{font-size:clamp(30px,4.4vw,43px);}
h2{font-size:clamp(24px,3vw,34px);}
h3{font-size:19px;}
p{margin:0 0 1em;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px;}

/* ---------- buttons: real values from aisummiteurope.eu — pill, flat ink shadow (no blur), no border on primary ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;padding:15px 26px;border-radius:var(--radius-pill);font-weight:700;font-size:16px;transition:background-color .15s,color .15s,border-color .15s,transform .15s,box-shadow .15s;}
.btn-primary{background:var(--yellow);color:var(--ink);border:none;box-shadow:var(--shadow-btn);}
.btn-primary:hover{background:var(--yellow-hover);transform:translateY(-3px);box-shadow:var(--shadow-btn-hover);}
.btn-primary:active{transform:translateY(2px);box-shadow:0 2px 0 0 var(--ink);}
.btn-secondary{background:var(--white);color:var(--ink);border:1.6px solid var(--ink);box-shadow:var(--shadow-btn);}
.btn-secondary:hover{background:var(--paper);transform:translateY(-3px);box-shadow:var(--shadow-btn-hover);}
.btn-outline{background:transparent;color:var(--ink);border:1.6px solid var(--ink);box-shadow:var(--shadow-btn);}
.btn-outline:hover{background:rgba(4,3,5,.04);transform:translateY(-3px);box-shadow:var(--shadow-btn-hover);}
.btn-ghost{background:var(--yellow);border:none;color:var(--ink);padding:10px 12px;font-size:12px;box-shadow:var(--shadow-btn);}
.btn-ghost:hover{transform:translateY(-2px);box-shadow:var(--shadow-btn-hover);}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(253,253,253,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-soft);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;}
.logo-badge{font-family:var(--font-head);font-weight:900;letter-spacing:-.02em;font-size:16px;}
.logo-accent{color:var(--purple);}

/* ---------- hero: paper bg, ink text, plain uppercase eyebrow (no pill) ---------- */
.hero{background:var(--paper);color:var(--ink);padding:64px 0 72px;}
.hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start;}
.hero-main h1{margin-top:16px;color:var(--ink);font-weight:900;}
.hero-main h1 .hl{color:var(--purple);}
.badge-pill{display:inline-block;text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--ink);background:var(--white);border:1.6px solid var(--ink);border-radius:var(--radius-pill);padding:8px 20px;}
.hero-sub{color:var(--muted);font-size:16px;line-height:24px;max-width:560px;}
.hero-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 16px;}
.hero-note{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--ink);}
.icon-clock{width:16px;height:16px;color:var(--purple);flex-shrink:0;}

.hero-dates-card{border:0.8px solid var(--border-soft);border-radius:var(--radius-sm);padding:24px;background:var(--white);margin-top:28px;max-width:520px;}
.dates-label{text-transform:uppercase;font-size:12px;letter-spacing:.08em;color:var(--muted);font-weight:700;margin-bottom:16px;}
.date-row{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--border-soft);}
.date-row:first-of-type{border-top:none;padding-top:0;}
.icon-cal{width:20px;height:20px;color:var(--purple);flex-shrink:0;margin-top:2px;}
.date-row div{display:flex;flex-direction:column;gap:2px;}
.date-row strong{font-family:var(--font-head);font-size:16px;font-weight:800;color:var(--ink);}
.date-row span{font-size:13px;color:var(--muted);}
.date-row .loc{color:var(--muted);}

/* ---------- hero photo collage: two overlapping rotated photos, right column ---------- */
.hero-visual{position:relative;min-height:420px;display:none;}
.hero-photo{position:absolute;width:72%;border-radius:var(--radius);overflow:hidden;box-shadow:0 24px 48px rgba(4,3,5,.18);}
.hero-photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;}
.hero-photo-1{top:0;right:0;transform:rotate(-4deg);z-index:2;}
.hero-photo-2{bottom:0;left:0;transform:rotate(6deg);z-index:1;width:60%;}
@media (min-width:861px){.hero-visual{display:block;}}

/* ---------- stats band: full-width dark ink strip, yellow bold numbers ---------- */
.stats-band{background:var(--ink);padding:36px 0;}
.stats-band-grid{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;}
.stats-band-grid div{display:flex;flex-direction:column;gap:4px;min-width:120px;}
.stats-band-grid strong{font-family:var(--font-head);font-size:36px;font-weight:900;color:var(--yellow);}
.stats-band-grid span{color:rgba(255,255,255,.72);font-size:13px;font-weight:600;}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr;}}

/* ---------- sections ---------- */
.section{padding:72px 0;}
.section.alt{background:var(--white);}
.section-sub{color:var(--muted);max-width:680px;}

/* ---------- cards: real values — thin 1.6px ink border, NO shadow, radius 24px (only buttons get the hard shadow) ---------- */
.grid-5{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px;margin-top:28px;}
.card{background:var(--white);border:1.6px solid var(--ink);border-radius:var(--radius);padding:24px;transition:transform .2s ease;}
.card:hover{transform:translateY(-3px);}
.card .num{color:var(--purple);font-weight:800;font-size:13px;}
.card .tag{display:inline-block;background:var(--purple);color:#fff;font-size:11px;padding:2px 10px;border-radius:var(--radius-pill);margin-left:6px;vertical-align:middle;font-weight:700;}

.grid-speakers{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:22px;margin-top:28px;}
.grid-speakers figure{margin:0;}
.grid-speakers img{border-radius:var(--radius-sm);aspect-ratio:1/1;object-fit:cover;}
.grid-speakers figcaption{margin-top:10px;}
.grid-speakers figcaption strong{display:block;font-size:15px;font-weight:700;}
.grid-speakers figcaption span{font-size:13px;color:var(--muted);}

.tickets-subhead{margin-top:48px;}
.grid-tickets{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:20px;}
.ticket-card{border:1.6px solid var(--ink);border-radius:var(--radius);padding:24px;background:var(--white);position:relative;transition:transform .2s ease;}
.ticket-card:hover{transform:translateY(-3px);}
.ticket-card.featured{border-color:var(--purple);border-width:2px;}
.best-value{position:absolute;top:-14px;right:16px;background:var(--purple);color:#fff;font-size:11px;padding:5px 12px;border-radius:var(--radius-pill);font-weight:700;}
.tdate{color:var(--muted);font-size:13px;margin-bottom:8px;font-weight:600;}
.tprice{font-size:26px;font-weight:900;font-family:var(--font-head);}
.tprice span{font-size:14px;color:var(--muted);text-decoration:line-through;font-weight:400;margin-left:6px;}
.tsub{font-size:12px;color:var(--muted);margin-top:-8px;}
.ticket-card ul{margin:14px 0;padding-left:18px;font-size:13px;color:var(--muted);}
.ticket-card ul li{margin-bottom:4px;}
.fine-print{font-size:12px;color:var(--muted);margin-top:24px;}

.grid-hotels{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-top:24px;}
.grid-hotels img{border-radius:var(--radius-sm);aspect-ratio:4/3;object-fit:cover;}
.grid-hotels figcaption{font-size:13px;color:var(--muted);margin-top:8px;font-weight:600;}

.grid-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:24px;}
.grid-gallery img{border-radius:var(--radius-sm);aspect-ratio:4/3;object-fit:cover;}

.grid-testimonials{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:24px;}
blockquote{margin:0;background:var(--white);border:1.6px solid var(--ink);border-radius:var(--radius);padding:24px;}
blockquote p{font-size:15px;font-style:italic;}
blockquote cite{font-size:13px;color:var(--muted);font-style:normal;font-weight:600;}

.faq-list{margin-top:24px;display:flex;flex-direction:column;gap:10px;max-width:760px;}
.faq-list details{border:1.6px solid var(--ink);border-radius:var(--radius-sm);padding:16px 18px;background:var(--white);}
.faq-list summary{font-weight:700;cursor:pointer;}
.faq-list p{margin-top:10px;color:var(--muted);font-size:14px;}

.site-footer{background:var(--ink);color:rgba(255,255,255,.72);padding:44px 0;}
.footer-inner{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:flex-start;}
.footer-inner strong{color:#fff;}
.footer-inner nav{display:flex;gap:16px;flex-wrap:wrap;}
.footer-inner a{color:rgba(255,255,255,.72);}
.footer-inner a:hover{color:var(--yellow);}
.footer-contact,.footer-legal{width:100%;font-size:12px;color:rgba(255,255,255,.45);margin-top:10px;}

@media (max-width:640px){
  .hero{padding:48px 0 36px;}
  .hero-stats{gap:12px;}
  .section{padding:48px 0;}
}
