:root{
  --bg:#080506;
  --bg-2:#0d0809;
  --panel:#120b0d;
  --panel-2:#17100e;
  --text:#f1ece4;
  --muted:#b5aaa0;
  --red:#a50e20;
  --red-bright:#d21d2f;
  --gold:#a88950;
  --gold-light:#d1b97d;
  --line:rgba(201,171,106,.23);
  --line-red:rgba(189,25,44,.35);
  --shadow:0 28px 90px rgba(0,0,0,.55);
  --max:1180px;
  --header-h:86px;
  --radius:18px;
  --radius-small:14px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 18px)}
body{margin:0;background:
  radial-gradient(circle at 18% 14%,rgba(104,116,119,.09),transparent 28%),
  radial-gradient(circle at 82% 32%,rgba(87,96,101,.075),transparent 24%),
  radial-gradient(circle at 42% 74%,rgba(115,16,28,.075),transparent 32%),
  linear-gradient(180deg,#0a0809 0%,#100c0d 45%,#080607 100%);background-attachment:fixed;color:var(--text);font-family:Georgia,"Times New Roman",serif;line-height:1.55;overflow-x:hidden}
body.modal-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{color:inherit}
img{max-width:100%;display:block}
.shell{width:min(calc(100% - 44px),var(--max));margin-inline:auto}
.skip-link{position:fixed;left:12px;top:10px;z-index:999;background:#fff;color:#000;padding:9px 12px;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.page-texture{position:fixed;inset:-18%;pointer-events:none;z-index:0;opacity:.92;background:
  radial-gradient(ellipse at 14% 24%,rgba(210,218,216,.085) 0 9%,rgba(135,145,146,.04) 20%,transparent 43%),
  radial-gradient(ellipse at 77% 18%,rgba(198,203,207,.07) 0 8%,rgba(128,134,138,.035) 19%,transparent 41%),
  radial-gradient(ellipse at 61% 66%,rgba(176,181,183,.06) 0 10%,transparent 38%),
  radial-gradient(ellipse at 18% 82%,rgba(113,16,28,.12) 0 7%,transparent 32%),
  repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.018) 0 1px,transparent 1px 8px);filter:blur(7px);animation:pageFog 34s ease-in-out infinite alternate;mix-blend-mode:screen}
main,.site-footer{position:relative;z-index:1}
@keyframes pageFog{0%{transform:translate3d(-2%,0,0) scale(1)}50%{transform:translate3d(3%,-1%,0) scale(1.035)}100%{transform:translate3d(-1%,2%,0) scale(1.02)}}

.site-header{position:fixed;inset:0 0 auto;z-index:70;height:var(--header-h);background:linear-gradient(180deg,rgba(5,3,4,.96),rgba(5,3,4,.8));border-bottom:1px solid rgba(174,26,40,.28);backdrop-filter:blur(14px);transition:.25s}
.site-header.scrolled{height:74px;background:rgba(5,3,4,.97);box-shadow:0 14px 45px rgba(0,0,0,.4)}
.header-inner{height:100%;width:min(calc(100% - 40px),1320px);margin:auto;display:flex;align-items:center;gap:20px}
.brand{width:155px;flex:0 0 155px;align-self:stretch;display:grid;place-items:center;overflow:hidden}
.brand img{width:150px;height:76px;object-fit:contain;mix-blend-mode:screen;filter:contrast(1.05) saturate(1.08)}
.site-header.scrolled .brand img{height:64px}
.site-nav{margin-left:auto;display:flex;align-items:center;gap:14px}
.site-nav>a{font-family:Georgia,"Times New Roman",serif;font-size:12px;text-transform:uppercase;letter-spacing:.095em;color:#d8c8a3;position:relative;padding:13px 0;white-space:nowrap}
.site-nav>a::after{content:"";position:absolute;left:0;right:100%;bottom:8px;height:1px;background:var(--red-bright);transition:.25s}
.site-nav>a:hover,.site-nav>a.active{color:#fff1c9}
.site-nav>a:hover::after,.site-nav>a.active::after{right:0}
.header-ticket-button{display:inline-flex;white-space:nowrap;flex:0 0 auto}
.menu-toggle{display:none;margin-left:auto;width:46px;height:42px;border:1px solid var(--line);border-radius:var(--radius-small);background:#10090a;padding:10px;cursor:pointer}
.menu-toggle span{display:block;height:2px;background:var(--gold-light);margin:5px 0;transition:.25s}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.button{min-height:45px;display:inline-flex;align-items:center;justify-content:center;border:1px solid;border-radius:999px;padding:12px 22px;text-transform:uppercase;letter-spacing:.09em;font-size:12px;font-weight:700;cursor:pointer;transition:.22s;position:relative;isolation:isolate;background:none}
.button::before{content:"";position:absolute;inset:4px;border:1px solid rgba(255,255,255,.05);border-radius:999px;pointer-events:none}
.button:hover{transform:translateY(-2px)}
.button-primary{background:linear-gradient(180deg,#7d101c,#49080e);border-color:#c92a38;color:#fff;box-shadow:inset 0 0 26px rgba(230,34,50,.12),0 8px 28px rgba(118,0,12,.18)}
.button-primary:hover{background:linear-gradient(180deg,#a41222,#650b14);border-color:#f14b57}
.button-ghost{background:rgba(8,5,5,.72);border-color:var(--gold);color:var(--gold-light)}
.button-ghost:hover{background:#17100c;color:#f3dca0}
.button-small{min-height:38px;padding:9px 15px;font-size:10px}
.text-link{border:0;background:none;padding:0;color:var(--gold-light);font-weight:700;cursor:pointer}
.text-link:hover{color:#fff2c4}

.hero{position:relative;min-height:820px;padding-top:var(--header-h);overflow:hidden;display:flex;align-items:center;background:#050304}
.hero-backdrop{position:absolute;inset:0;background-image:linear-gradient(rgba(5,3,3,.35),rgba(5,3,3,.55)),url("assets/hero-full.webp");background-size:cover;background-position:center;filter:blur(18px) saturate(.9);transform:scale(1.05);opacity:.72}
.hero-photo{position:absolute;z-index:1;right:0;top:var(--header-h);height:calc(100% - var(--header-h));width:74%;object-fit:contain;object-position:right center;filter:saturate(.94) contrast(1.06) brightness(.84);background:transparent}
.hero-shade{position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,#070405 0%,rgba(7,4,5,.97) 20%,rgba(7,4,5,.72) 43%,rgba(7,4,5,.16) 70%,rgba(7,4,5,.15) 100%),linear-gradient(0deg,#080506 0%,transparent 35%)}
.hero-content{position:relative;z-index:4;padding-top:68px;padding-bottom:80px}
.eyebrow{margin:0 0 11px;text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:var(--gold-light);font-weight:700}
.hero h1{margin:0;font-family:"Nosifer",Georgia,"Times New Roman",serif;font-size:clamp(54px,6.7vw,92px);line-height:1.03;letter-spacing:-.055em;font-weight:400;text-transform:uppercase;text-shadow:0 3px 0 #2b090d,0 7px 28px rgba(0,0,0,.85),0 0 26px rgba(147,11,27,.22);color:#ccb170;max-width:720px}
.hero h1 span{font-size:.72em;color:#b71327;text-shadow:0 2px 0 #390008,0 0 22px rgba(203,15,37,.48),0 8px 24px #000}
.hero-brandline{margin:22px 0 9px;color:#d52439;letter-spacing:.12em;font-size:18px;font-weight:700}
.hero-copy{max-width:520px;margin:0;color:#ded4ca;font-size:16px;text-shadow:0 2px 15px #000}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.fog{position:absolute;z-index:3;pointer-events:none;width:70%;height:38%;background:radial-gradient(ellipse at center,rgba(180,180,180,.12),transparent 65%);filter:blur(22px);opacity:.55}
.fog-one{left:-15%;bottom:7%;animation:drift 13s ease-in-out infinite alternate}
.fog-two{right:-15%;top:20%;animation:drift 18s ease-in-out infinite alternate-reverse}
@keyframes drift{to{transform:translateX(8%) scale(1.08)}}

/* Opening-night countdown */
.opening-countdown{position:relative;padding:26px 0 30px;border-top:1px solid rgba(174,26,40,.26);border-bottom:1px solid rgba(201,171,106,.16);background:linear-gradient(90deg,rgba(30,8,11,.86),rgba(9,6,7,.96) 35%,rgba(9,6,7,.96) 65%,rgba(30,8,11,.86));box-shadow:inset 0 18px 50px rgba(0,0,0,.2),inset 0 -18px 50px rgba(0,0,0,.22);overflow:hidden}
.opening-countdown::before{content:"";position:absolute;inset:-70% -10%;pointer-events:none;background:radial-gradient(ellipse at center,rgba(176,181,183,.075),transparent 44%);filter:blur(20px);animation:countdownFog 18s ease-in-out infinite alternate}
@keyframes countdownFog{to{transform:translateX(5%) scale(1.06)}}
.countdown-shell{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:36px}
.countdown-copy{min-width:260px}
.countdown-copy .eyebrow{margin-bottom:5px}
.countdown-copy h2{margin:0;color:#d3bd87;font-size:clamp(25px,3vw,39px);line-height:1.02;font-weight:700;text-shadow:0 2px 16px #000}
.countdown-clock{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}
.countdown-unit{width:88px;min-height:82px;display:grid;place-items:center;align-content:center;border:1px solid rgba(201,171,106,.32);border-radius:var(--radius-small);background:linear-gradient(180deg,rgba(24,14,15,.94),rgba(10,6,7,.94));box-shadow:inset 0 0 0 4px rgba(4,3,3,.62),inset 0 0 0 5px rgba(201,171,106,.055),0 12px 30px rgba(0,0,0,.22)}
.countdown-unit strong{font-size:31px;line-height:1;color:#e0c27c;font-weight:400;font-variant-numeric:tabular-nums}
.countdown-unit span{margin-top:4px;color:#a99d92;font:9px Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.14em}
.countdown-divider{color:#7f1928;font-size:28px;line-height:1;opacity:.72}
.opening-countdown.countdown-complete{display:none}

.section{padding:105px 0;position:relative}
.section-dark{background:linear-gradient(180deg,rgba(7,4,5,.76),rgba(15,10,11,.7) 50%,rgba(7,4,5,.76));border-block:1px solid rgba(180,24,39,.15);backdrop-filter:blur(1px)}
.section-blood{background:radial-gradient(circle at 50% 0%,rgba(135,13,25,.18),transparent 44%),rgba(9,5,6,.7);border-block:1px solid rgba(180,24,39,.16);backdrop-filter:blur(1px)}
.trailer-section{background:linear-gradient(180deg,#090607,#050304);border-block:1px solid var(--line-red)}
.faq-section{background:linear-gradient(180deg,rgba(7,4,5,.74),rgba(10,8,9,.66))}
.section-heading{max-width:720px;margin-bottom:40px}
.section-heading.centered{text-align:center;margin-inline:auto}
.section-heading h2,.visit-grid h2{margin:0 0 12px;font-size:clamp(39px,5vw,64px);line-height:1.02;font-weight:700;color:#ccb47a;text-shadow:0 1px 0 #000}
.section-heading p:last-child{margin:0;color:var(--muted);font-family:Arial,Helvetica,sans-serif;font-size:14px}

.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.experience-card{position:relative;overflow:hidden;min-height:450px;padding:42px 38px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#100c0b}
.experience-card::before{content:"";position:absolute;inset:0;background-position:center;background-size:cover;opacity:.18;filter:saturate(.65)}
.day-card::before{background-image:url("assets/wendigo-day-card.webp")}
.night-card::before{background-image:url("assets/wendigo-night.webp")}
.experience-card::after{content:"";position:absolute;inset:7px;border:1px solid rgba(214,184,119,.12);border-radius:calc(var(--radius) - 6px);pointer-events:none}
.experience-card>*{position:relative;z-index:2}
.experience-symbol{font-size:31px;color:var(--gold-light)}
.card-kicker{margin:22px 0 7px;text-transform:uppercase;color:var(--gold-light);letter-spacing:.13em;font-size:12px}
.day-card .day-title{font-size:18px;font-weight:700;letter-spacing:.16em;color:#f0d793;text-shadow:0 0 18px rgba(211,177,101,.18)}
.night-card .card-kicker,.night-card .price-row strong{color:#ed243b}
.experience-card h3{font-size:30px;line-height:1.06;margin:0 0 14px;color:#eee2ca}
.experience-card>p:not(.card-kicker){color:#c0b5ab;font-family:Arial,Helvetica,sans-serif;font-size:14px}
.onsite-reminder{margin:22px 0 0;padding:14px 16px;border:1px solid rgba(216,184,112,.25);border-radius:14px;background:rgba(55,40,15,.22);color:#d8cdb8!important;font-size:12px!important;line-height:1.55!important}
.onsite-reminder strong{color:#f0d793;font-family:Georgia,"Times New Roman",serif;font-size:13px;letter-spacing:.02em}
.night-onsite-note{margin:18px 0 14px;padding:13px 15px;border:1px solid rgba(191,37,55,.30);border-radius:var(--radius-small);background:rgba(79,10,18,.18);color:#cfc3b7!important;font-size:12px!important;line-height:1.55!important}
.night-onsite-note strong{color:#f0c3c8;font-family:Georgia,"Times New Roman",serif;font-size:13px}
.feature-list{list-style:none;margin:25px 0;padding:0;font-family:Arial,Helvetica,sans-serif;color:#ddd1c5;font-size:13px}
.feature-list li{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.feature-list li::before{content:"✦";color:var(--gold);font-size:9px;margin-right:9px}
.price-row{display:flex;align-items:end;gap:12px;margin:26px 0 7px}
.price-row strong{font-size:48px;line-height:1;color:var(--gold-light)}
.price-row span{font:11px Arial,Helvetica,sans-serif;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;margin-bottom:7px}

.attraction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.photo-card{background:#0c0809;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 52px rgba(0,0,0,.28);overflow:hidden;transition:.25s}
.photo-card:hover{transform:translateY(-5px);border-color:rgba(207,174,106,.5)}
.photo-wrap{height:300px;overflow:hidden;background:#000}
.photo-wrap img{width:100%;height:100%;object-fit:cover;transition:.45s}
.photo-card:first-child .photo-wrap img{object-position:center}
.photo-card:hover img{transform:scale(1.035)}
.photo-card-copy{padding:26px 25px 28px;text-align:center}
.photo-card h3{margin:0 0 9px;color:var(--gold-light);font-size:25px;text-transform:uppercase;letter-spacing:.03em}
.photo-card p{margin:0;color:var(--muted);font:13px/1.55 Arial,Helvetica,sans-serif}

.date-layout{display:grid;grid-template-columns:1fr 250px;gap:20px;align-items:stretch}
.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.date-card{min-height:128px;display:grid;place-items:center;align-content:center;gap:2px;border:1px solid var(--gold);border-radius:var(--radius-small);background:linear-gradient(180deg,#130d0b,#0a0607);box-shadow:inset 0 0 0 4px #090607,inset 0 0 0 5px rgba(201,171,106,.12);cursor:default}
.date-card span,.date-card small{color:var(--gold-light);letter-spacing:.12em;font-size:11px}
.date-card strong{font-size:40px;line-height:1;color:#d2b777;font-weight:400}
.date-card.halloween{border-color:#ad1a2d;box-shadow:inset 0 0 0 4px #090607,inset 0 0 0 5px rgba(196,23,44,.2),0 0 24px rgba(159,0,20,.09)}
.date-card.halloween small{color:#e64b5c;font-size:9px}
.ticket-callout{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,#140d0e,#0b0708);display:grid;place-items:center;align-content:center;text-align:center;padding:25px}
.ticket-callout small{text-transform:uppercase;letter-spacing:.13em;color:var(--gold-light)}
.ticket-callout strong{font-size:56px;color:#dc2036;line-height:1.1;margin:6px 0}
.ticket-callout p{font:12px Arial,Helvetica,sans-serif;color:var(--muted)}
.day-ticket-note{width:min(900px,100%);margin:26px auto 0;display:flex;align-items:center;justify-content:center;gap:15px;padding:17px 22px;border:1px solid rgba(214,184,119,.24);border-radius:18px;background:linear-gradient(90deg,rgba(80,55,16,.22),rgba(22,16,8,.58),rgba(80,55,16,.18));box-shadow:inset 0 0 24px rgba(203,164,74,.035)}
.day-ticket-note .day-ticket-icon{flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(224,192,120,.4);border-radius:50%;color:#f0d793;font-size:22px;background:rgba(73,52,14,.25)}
.day-ticket-note strong{display:block;margin-bottom:3px;color:#f0d793;font-family:Georgia,"Times New Roman",serif;font-size:17px;letter-spacing:.035em}
.day-ticket-note p{margin:0;color:#c8bca9;font:13px/1.55 Arial,Helvetica,sans-serif}
.day-ticket-note b{color:#fff0c5;text-transform:uppercase;letter-spacing:.035em}

.tickets-section{padding-top:92px;padding-bottom:92px}
.ticket-heading{margin-bottom:26px}
.schedule-lines{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px auto 0;width:min(860px,100%)}
.schedule-line{display:grid;grid-template-columns:auto auto;justify-content:center;align-items:baseline;column-gap:12px;row-gap:3px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--radius-small);background:rgba(12,8,9,.58)}
.schedule-line strong{text-transform:uppercase;letter-spacing:.11em;font-size:12px}
.schedule-line span{font-size:15px;color:#f0e4cb;font-weight:700}
.schedule-line small{grid-column:1/-1;color:#aa9d91;font:11px/1.45 Arial,Helvetica,sans-serif}
.night-schedule strong{color:#e85a67}.day-schedule strong{color:#f0d793}
.compact-date-layout{grid-template-columns:1fr 220px;gap:16px}
.compact-date-grid{gap:8px}
.compact-ticket-callout{min-height:128px;padding:18px}
.compact-ticket-callout strong{font-size:46px;margin:2px 0}
.compact-ticket-callout p{margin:2px 0 12px;line-height:1.45}.compact-ticket-callout p b{color:#f1d8a4}

.trailer-frame{width:100%;aspect-ratio:16/9;background:#000;border:1px solid var(--line);box-shadow:0 35px 100px #000;position:relative;overflow:hidden}
.trailer-frame::after{content:"";position:absolute;inset:8px;border:1px solid rgba(208,180,119,.12);pointer-events:none}
.trailer-frame iframe{width:100%;height:100%;border:0;display:block}
.gallery-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-auto-rows:245px;gap:12px;margin-top:18px}
.gallery-item{border:1px solid var(--line);padding:0;background:#000;overflow:hidden;cursor:zoom-in}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.35s;filter:saturate(.88) brightness(.83)}
.gallery-item:hover img{transform:scale(1.04);filter:saturate(1) brightness(1)}
.gallery-wide{grid-row:span 2}
.gallery-wide img{object-fit:contain;background:#030203}
.media-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:22px}

.new-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.new-card{border:1px solid var(--line);border-radius:var(--radius);background:#0d0809;min-height:330px;overflow:hidden;display:flex;flex-direction:column;position:relative}
.new-card img{width:100%;height:180px;object-fit:cover;filter:saturate(.85) brightness(.78)}
.new-card>div:last-child{padding:22px 20px 24px}
.new-card h3{margin:0 0 9px;color:var(--gold-light);font-size:20px;line-height:1.12;text-transform:uppercase}
.new-card p{margin:0;color:var(--muted);font:12.5px/1.5 Arial,Helvetica,sans-serif}
.art-card{background:radial-gradient(circle at 50% 30%,rgba(160,12,31,.32),transparent 34%),linear-gradient(135deg,#19090c,#070405)}
.art-texture{height:180px;display:flex;align-items:center;justify-content:center;gap:8px;background:radial-gradient(circle at 50% 48%,rgba(175,12,35,.18),transparent 42%),repeating-linear-gradient(45deg,transparent 0 8px,rgba(255,255,255,.015) 8px 9px)}
.mystery-mark{position:relative;width:142px;height:142px;display:grid;place-items:center}
.mystery-diamond{position:absolute;width:94px;height:94px;border:1px solid rgba(209,185,125,.48);transform:rotate(45deg);box-shadow:0 0 30px rgba(153,12,31,.18),inset 0 0 22px rgba(201,171,106,.05)}
.mystery-diamond::before,.mystery-diamond::after{content:"";position:absolute;background:#a88950;opacity:.6}
.mystery-diamond::before{width:8px;height:8px;border-radius:50%;left:-5px;top:-5px;box-shadow:94px 0 0 #a88950,0 94px 0 #a88950,94px 94px 0 #a88950}
.mystery-question{position:relative;z-index:2;font-family:Georgia,"Times New Roman",serif;font-size:104px;line-height:1;color:#bc1830;text-shadow:0 0 18px rgba(195,18,46,.38),0 4px 0 #330309}

.partner-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}
.partner-card{border:1px solid var(--line);border-radius:var(--radius);background:#0c0809;padding:14px 14px 18px;text-align:center;display:flex;flex-direction:column;min-width:0;transition:.22s;overflow:hidden}
.partner-card:hover{transform:translateY(-4px);border-color:var(--gold);background:#120c0d}
.partner-logo{height:150px;display:grid;place-items:center;background:#070506;overflow:hidden;border-radius:var(--radius-small)}
.partner-logo img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}
.partner-card strong{font-size:16px;line-height:1.2;color:#d9c187;margin:14px 0 6px}
.partner-card span{font:10px Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#887d72;margin-top:auto}

.park-section{padding:76px 0;background:linear-gradient(135deg,rgba(14,9,8,.78),rgba(18,12,10,.64));border-block:1px solid rgba(201,171,106,.18)}
.park-feature{display:grid;grid-template-columns:230px 1fr;gap:46px;align-items:center}
.park-logo-panel{min-height:230px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius);background:rgba(8,6,6,.72);box-shadow:var(--shadow)}
.park-logo-panel img{width:180px;height:180px;object-fit:contain}
.park-copy h2{margin:0 0 14px;color:#ccb47a;font-size:clamp(34px,4vw,52px);line-height:1.03}
.park-copy p{max-width:720px;color:#bfb3a8;font:14px/1.7 Arial,Helvetica,sans-serif}
.park-copy .button{margin-top:10px}

.faq-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:start}
.faq-list{display:grid;gap:10px}
details{border:1px solid var(--line);border-radius:var(--radius-small);background:rgba(10,7,8,.52);overflow:hidden}
summary{cursor:pointer;list-style:none;position:relative;padding:18px 50px 18px 18px;color:#dfcca0;font-size:17px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:18px;top:11px;color:var(--gold);font-size:28px;font-family:Arial,Helvetica,sans-serif;font-weight:300}
details[open] summary::after{content:"−"}
details p{margin:-2px 50px 20px 18px;color:var(--muted);font:13px/1.6 Arial,Helvetica,sans-serif}

.visit-section{background:linear-gradient(90deg,rgba(13,8,8,.8),rgba(19,10,11,.72));border-top:1px solid var(--line-red);backdrop-filter:blur(1px)}
.visit-grid{display:grid;grid-template-columns:1fr 300px;gap:60px;align-items:center}
.address{font:18px/1.6 Arial,Helvetica,sans-serif;color:var(--muted)}
.address strong{color:var(--text)}
.visit-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:24px}
.host-card{border:1px solid var(--line);border-radius:var(--radius);background:#090607;min-height:280px;display:grid;place-items:center;align-content:center;gap:9px;text-align:center;padding:25px;box-shadow:var(--shadow)}
.host-card span{font:10px Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.17em;color:var(--muted)}
.host-card img{width:165px;height:165px;object-fit:contain}
.host-card strong{color:var(--gold-light);font-size:18px}

.site-footer{background:rgba(4,3,3,.88);border-top:1px solid rgba(201,171,106,.18);padding:30px 0;backdrop-filter:blur(4px)}
.footer-grid{display:grid;grid-template-columns:150px 1fr 120px;align-items:center;gap:30px}
.footer-brand img{width:145px;height:105px;object-fit:contain;mix-blend-mode:screen}
.footer-copy{display:grid;gap:3px}
.footer-copy strong{color:#d1b776;letter-spacing:.1em}
.footer-copy span,.footer-copy small{font:12px Arial,Helvetica,sans-serif;color:var(--muted)}
.footer-host{display:grid;justify-items:center;gap:3px;text-align:center}
.footer-host span{font:9px Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.footer-host img{width:74px;height:74px;object-fit:contain}

.social-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.social-links a{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:7px 11px;border:1px solid rgba(201,171,106,.22);border-radius:999px;color:#cdb985;background:rgba(10,7,7,.45);font:10px Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.08em;transition:.2s}
.social-links a:hover{border-color:#c92a38;color:#fff;background:rgba(93,10,18,.24)}
.social-links svg{width:16px;height:16px;fill:currentColor}
.social-links a span{color:inherit;font:inherit}


.modal,.lightbox{position:fixed;inset:0;z-index:120;display:grid;place-items:center;visibility:hidden;opacity:0;transition:.2s}
.modal.active,.lightbox.active{visibility:visible;opacity:1}
.modal-backdrop,.lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.86);backdrop-filter:blur(5px)}
.modal-card{position:relative;z-index:2;width:min(calc(100% - 32px),560px);padding:38px;background:#110b0c;border:1px solid rgba(208,180,119,.35);border-radius:var(--radius);box-shadow:0 40px 120px #000}
.modal-card h2{font-size:36px;line-height:1;margin:0 0 12px;color:#d2b879}
.modal-card>p{color:var(--muted);font:13px Arial,Helvetica,sans-serif}
.modal-close,.lightbox-close{position:absolute;z-index:5;right:18px;top:12px;border:0;background:none;color:#d7c49c;font:32px Arial,Helvetica,sans-serif;cursor:pointer}
.provider-list{display:grid;gap:9px;margin:25px 0}
.provider-list a{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius-small);background:#090607}
.provider-list a:hover{border-color:var(--gold);background:#120b0c}
.provider-list span{color:var(--gold-light);font:11px Arial,Helvetica,sans-serif}
.modal-note{display:block;padding:12px 14px;border:1px solid rgba(201,171,106,.16);border-radius:var(--radius-small);background:rgba(201,171,106,.04);color:#a99c90;font:11px/1.5 Arial,Helvetica,sans-serif}.modal-note strong{color:#d9c187}
.lightbox figure{position:relative;z-index:2;margin:0;width:min(calc(100% - 42px),1200px);height:min(82vh,850px);display:grid;grid-template-rows:1fr auto;gap:10px;place-items:center}
.lightbox figure img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 30px 100px #000;border:1px solid rgba(201,171,106,.28)}
.lightbox figcaption{color:#d2c6ba;font:12px Arial,Helvetica,sans-serif;text-align:center}

@media(max-width:1120px){
  .site-nav{gap:11px}.site-nav>a{font-size:10px}.brand{width:135px;flex-basis:135px}.brand img{width:132px}
  .date-grid{grid-template-columns:repeat(4,1fr)}
  .partner-grid{grid-template-columns:repeat(3,1fr)}
  .new-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:860px){
  :root{--header-h:76px}
  .countdown-shell{display:grid;grid-template-columns:1fr;gap:18px;text-align:center}
  .countdown-copy{min-width:0}
  .countdown-clock{justify-content:center}
  .site-header.scrolled{height:68px}
  .header-inner{width:min(calc(100% - 22px),1320px);gap:9px}
  .brand{width:112px;flex-basis:112px}.brand img{height:66px;width:110px}
  .header-ticket-button{display:inline-flex;margin-left:auto;min-height:38px;padding:9px 14px;font-size:9px}
  .menu-toggle{display:block;margin-left:0}
  .site-nav{position:absolute;top:100%;left:14px;right:14px;margin:0;padding:12px;display:grid;grid-template-columns:1fr;background:rgba(8,5,6,.985);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 28px 70px rgba(0,0,0,.7);transform:translateY(-8px);opacity:0;visibility:hidden;transition:.2s}
  .site-nav.open{transform:none;opacity:1;visibility:visible}
  .site-nav>a{font-size:13px;padding:13px 14px;border-bottom:1px solid rgba(255,255,255,.06)}
  .site-nav>a::after{display:none}
  .site-nav .button{display:none}
  .hero{min-height:760px;align-items:end}
  .hero-photo{top:var(--header-h);width:100%;height:52%;object-position:center top}
  .hero-shade{background:linear-gradient(0deg,#080506 3%,rgba(8,5,6,.96) 34%,rgba(8,5,6,.52) 67%,rgba(8,5,6,.27) 100%)}
  .hero-content{padding-top:320px;padding-bottom:86px}
  .hero h1{font-size:clamp(46px,10.8vw,72px)}
  .hero-copy{max-width:600px}
  .experience-grid,.faq-layout,.visit-grid,.about-grid{grid-template-columns:1fr}
  .attraction-grid{grid-template-columns:1fr}
  .photo-card{display:grid;grid-template-columns:.9fr 1.1fr}.photo-wrap{height:270px}.photo-card-copy{text-align:left;display:grid;align-content:center}
  .date-layout{grid-template-columns:1fr}.ticket-callout{min-height:190px}.schedule-lines{grid-template-columns:1fr}.park-feature{grid-template-columns:190px 1fr;gap:30px}.park-logo-panel{min-height:190px}.park-logo-panel img{width:145px;height:145px}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.gallery-wide{grid-row:span 1;grid-column:1/-1}.gallery-wide img{object-fit:contain}
  .partner-grid{grid-template-columns:repeat(2,1fr)}
  .visit-grid{gap:28px}.host-card{justify-self:start;width:min(100%,320px)}
  .footer-grid{grid-template-columns:120px 1fr 90px;gap:18px}
}

@media(max-width:600px){
  .shell{width:min(calc(100% - 26px),var(--max))}
  .opening-countdown{padding:22px 0 25px}
  .countdown-copy h2{font-size:27px}
  .countdown-clock{gap:5px}
  .countdown-unit{width:66px;min-height:70px;border-radius:12px}
  .countdown-unit strong{font-size:25px}
  .countdown-unit span{font-size:7px;letter-spacing:.1em}
  .countdown-divider{font-size:21px}
  .section{padding:76px 0}
  .hero{min-height:790px}
  .hero-photo{height:43%;top:var(--header-h);object-fit:contain;object-position:center top}
  .hero-content{padding-top:295px;padding-bottom:84px}
  .hero h1{font-size:43px}.hero-brandline{font-size:15px}.hero-copy{font-size:14px}
  .hero-actions{display:grid;grid-template-columns:1fr;width:min(100%,340px)}
  .button{width:100%}
  .section-heading h2,.visit-grid h2{font-size:40px}
  .experience-card{min-height:auto;padding:30px 23px}.experience-card h3{font-size:26px}
  .photo-card{display:block}.photo-wrap{height:260px}.photo-card-copy{text-align:center}
  .date-grid{grid-template-columns:repeat(2,1fr);gap:8px}.date-card{min-height:108px}.date-card strong{font-size:36px}.compact-ticket-callout{min-height:170px}.schedule-line{grid-template-columns:1fr;text-align:center;gap:2px}.schedule-line small{grid-column:auto}.park-feature{grid-template-columns:1fr;gap:20px}.park-logo-panel{min-height:170px}.park-logo-panel img{width:135px;height:135px}.park-copy{text-align:center}.park-copy p{margin-left:auto;margin-right:auto}
  .gallery-grid{grid-template-columns:1fr;grid-auto-rows:230px}.gallery-wide{grid-column:auto}.gallery-item img{object-fit:cover}.gallery-wide img{object-fit:contain}
  .new-grid{grid-template-columns:1fr}.new-card{min-height:0}
  .partner-grid{grid-template-columns:1fr 1fr}.partner-logo{height:125px}.partner-card{padding:10px 10px 15px}.partner-card strong{font-size:14px}
  .faq-layout{gap:25px}.faq-layout .section-heading{margin-bottom:0}
  .footer-grid{grid-template-columns:1fr;text-align:center;justify-items:center}.footer-copy{justify-items:center}.footer-brand img{width:170px}.footer-host{border-top:1px solid var(--line);padding-top:18px;width:100%}.social-links{justify-content:center}.day-ticket-note{align-items:flex-start;text-align:left;padding:16px}.day-ticket-note .day-ticket-icon{width:40px;height:40px}.day-ticket-note strong{font-size:15px}
  .modal-card{padding:32px 22px}.modal-card h2{font-size:30px}
}

@media(max-width:390px){
  .brand{width:94px;flex-basis:94px}.brand img{width:92px}.header-ticket-button{padding:8px 11px;font-size:8px;letter-spacing:.06em}.menu-toggle{width:42px;height:40px}
  .hero h1{font-size:38px}
  .partner-grid{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.fog,.opening-countdown::before{animation:none}.photo-card,.photo-wrap img,.gallery-item img,.partner-card,.button{transition:none}
}

.about-section{position:relative;background:linear-gradient(180deg,rgba(11,7,8,.66),rgba(17,9,10,.78));border-top:1px solid rgba(201,171,106,.12);border-bottom:1px solid rgba(201,171,106,.12)}
.about-section::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 25%,rgba(112,8,20,.10),transparent 30%),radial-gradient(circle at 85% 70%,rgba(150,100,35,.06),transparent 28%)}
.about-section .shell{position:relative;z-index:1}
.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.about-card{position:relative;padding:30px 30px 28px;border:1px solid rgba(201,171,106,.22);border-radius:var(--radius);background:linear-gradient(145deg,rgba(19,12,12,.9),rgba(8,6,7,.92));box-shadow:inset 0 0 0 5px rgba(4,3,3,.7),inset 0 0 0 6px rgba(201,171,106,.055),0 22px 55px rgba(0,0,0,.24);overflow:hidden}
.about-card::before{content:"";position:absolute;top:0;left:26px;right:26px;height:1px;background:linear-gradient(90deg,transparent,rgba(211,177,101,.48),transparent)}
.about-card h3{margin:0 0 12px;color:var(--gold-light);font-size:22px;line-height:1.1}
.about-card p{margin:0 0 10px;color:#c3b8ac;font:14px/1.72 Arial,Helvetica,sans-serif}
.about-card p:last-child{margin-bottom:0}
.patron-card{border-color:rgba(151,27,38,.38);background:linear-gradient(145deg,rgba(27,10,12,.94),rgba(8,6,7,.94))}
.patron-card h3{color:#df5965}

@media(max-width:860px){.about-grid{grid-template-columns:1fr}}
@media(max-width:600px){.about-card{padding:24px 22px}.about-card h3{font-size:20px}}

/* V10 — mobile-only centered content + compact persistent ticket button */
@media(max-width:860px){
  .section-heading{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
  }

  main h2,
  main h3{
    text-align:center;
  }

  .hero-content{
    text-align:center;
  }
  .hero h1,
  .hero-copy{
    margin-left:auto;
    margin-right:auto;
  }
  .hero-actions,
  .visit-actions{
    justify-content:center;
  }
  .hero-actions{
    margin-left:auto;
    margin-right:auto;
  }

  .experience-card{
    text-align:center;
  }
  .experience-card .feature-list{
    width:max-content;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
    text-align:left;
  }
  .experience-card .text-link{
    display:block;
    width:max-content;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
  }

  .photo-card-copy,
  .photo-card-copy h3,
  .about-card h3,
  .new-card h3,
  .partner-card strong{
    text-align:center;
  }

  .ticket-callout{
    text-align:center;
  }
  .ticket-callout .button,
  .park-copy .button{
    display:flex;
    width:max-content;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
  }

  .park-copy{
    text-align:center;
  }
  .park-copy p{
    margin-left:auto;
    margin-right:auto;
  }

  .faq-layout .section-heading{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
  }

  .visit-grid > div:first-child{
    text-align:center;
  }
  .visit-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
  }

  /* Keep exactly one compact Buy Tickets button visible beside the hamburger. */
  .header-inner{
    flex-wrap:nowrap;
  }
  .header-ticket-button{
    width:auto !important;
    min-width:0;
    min-height:34px;
    padding:7px 11px;
    font-size:8px;
    line-height:1;
    letter-spacing:.055em;
    flex:0 0 auto;
    margin-left:auto;
  }
  .menu-toggle{
    width:42px;
    height:40px;
    flex:0 0 42px;
    margin-left:0;
  }
}

@media(max-width:600px){
  .header-ticket-button{
    width:auto !important;
    min-height:32px;
    padding:7px 10px;
    font-size:7.5px;
  }
  .hero-actions{
    margin-left:auto;
    margin-right:auto;
  }
  .visit-actions{
    width:min(100%,340px);
    margin-left:auto;
    margin-right:auto;
  }
}

@media(max-width:390px){
  .brand{
    width:86px;
    flex-basis:86px;
  }
  .brand img{
    width:84px;
  }
  .header-ticket-button{
    padding:6px 8px;
    font-size:7px;
    letter-spacing:.035em;
  }
  .menu-toggle{
    width:40px;
    height:38px;
    flex-basis:40px;
  }
}

/* V11 — dedicated Gallery & Trailer page */
.gallery-page{background-color:var(--bg)}
.gallery-hero{position:relative;min-height:560px;padding-top:var(--header-h);display:flex;align-items:end;overflow:hidden;background:#050304}
.gallery-hero-bg{position:absolute;inset:0;background-image:url("assets/gallery-05.webp");background-size:cover;background-position:center 45%;filter:saturate(.9) contrast(1.08) brightness(.62);transform:scale(1.02)}
.gallery-hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,3,4,.92) 0%,rgba(5,3,4,.62) 42%,rgba(5,3,4,.28) 100%),linear-gradient(0deg,#080506 0%,transparent 48%),radial-gradient(circle at 70% 35%,transparent 0 22%,rgba(4,2,3,.46) 75%)}
.gallery-hero-content{position:relative;z-index:4;padding-bottom:72px}
.gallery-hero h1{margin:0 0 10px;font-family:"Nosifer",Georgia,"Times New Roman",serif;font-size:clamp(52px,7vw,96px);font-weight:400;line-height:.95;letter-spacing:-.045em;color:#c8ad6f;text-transform:uppercase;text-shadow:0 4px 28px #000,0 0 26px rgba(155,10,25,.25)}
.gallery-hero h1 span{display:block;font-family:Georgia,"Times New Roman",serif;font-size:.38em;letter-spacing:.16em;color:#e0c78e;margin-top:12px}
.gallery-hero-content>p:not(.eyebrow){margin:0 0 24px;color:#d4c9be;font:15px/1.6 Arial,Helvetica,sans-serif}
.gallery-trailer-section{padding-top:88px;background:linear-gradient(180deg,rgba(8,5,6,.72),rgba(11,7,8,.84));border-bottom:1px solid rgba(201,171,106,.12)}
.gallery-trailer-frame{width:min(100%,980px);aspect-ratio:16/9;margin:0 auto;position:relative;border:1px solid rgba(201,171,106,.32);border-radius:var(--radius);padding:7px;background:#050304;box-shadow:0 38px 100px rgba(0,0,0,.6);overflow:hidden}
.gallery-trailer-frame::after{content:"";position:absolute;inset:13px;border:1px solid rgba(201,171,106,.09);border-radius:calc(var(--radius) - 8px);pointer-events:none}
.gallery-trailer-frame iframe{width:100%;height:100%;display:block;border:0;border-radius:calc(var(--radius) - 8px)}
.gallery-trailer-actions{display:flex;justify-content:center;margin-top:24px}
.gallery-photo-section{padding-top:92px;background:linear-gradient(180deg,rgba(10,7,8,.68),rgba(7,5,6,.76))}
.gallery-shell-wide{width:min(calc(100% - 34px),1320px)}
.masonry-gallery{columns:4 250px;column-gap:14px}
.gallery-tile{display:block;width:100%;margin:0 0 14px;padding:0;border:1px solid rgba(201,171,106,.22);border-radius:var(--radius);background:#080506;overflow:hidden;cursor:zoom-in;break-inside:avoid;box-shadow:0 14px 38px rgba(0,0,0,.28);transition:transform .22s,border-color .22s,box-shadow .22s}
.gallery-tile:hover{transform:translateY(-3px);border-color:rgba(209,185,125,.62);box-shadow:0 22px 54px rgba(0,0,0,.42)}
.gallery-tile img{width:100%;height:auto;display:block;transition:filter .22s,transform .35s;filter:saturate(.94) contrast(1.025)}
.gallery-tile:hover img{filter:saturate(1.05) contrast(1.04);transform:scale(1.012)}
.gallery-return-section{padding:10px 0 84px}
.gallery-return-inner{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.lightbox-nav{position:absolute;z-index:6;top:50%;transform:translateY(-50%);width:54px;height:54px;border:1px solid rgba(201,171,106,.32);border-radius:999px;background:rgba(10,7,8,.78);color:#e2cc96;font:42px/1 Arial,Helvetica,sans-serif;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(5px)}
.lightbox-prev{left:22px}.lightbox-next{right:22px}
.lightbox-nav:hover{border-color:#c92a38;color:#fff;background:rgba(87,9,17,.72)}
.gallery-page .lightbox figure{height:min(88vh,900px);width:min(calc(100% - 180px),1320px)}
.gallery-page .lightbox figure img{border-radius:var(--radius-small)}
.gallery-page .lightbox figcaption{min-height:18px;color:#cbb98c}
@media(max-width:860px){
  .gallery-hero{min-height:520px}
  .gallery-hero-content{text-align:center;padding-bottom:58px}
  .gallery-hero-content .button{margin-inline:auto}
  .gallery-hero h1{font-size:clamp(46px,11vw,72px)}
  .masonry-gallery{columns:2 220px;column-gap:11px}
  .gallery-tile{margin-bottom:11px}
  .gallery-page .lightbox figure{width:min(calc(100% - 100px),1100px)}
  .lightbox-prev{left:10px}.lightbox-next{right:10px}
}
@media(max-width:600px){
  .gallery-hero{min-height:500px}
  .gallery-hero-bg{background-position:58% center}
  .gallery-hero-content{padding-bottom:48px}
  .gallery-hero h1{font-size:44px}
  .gallery-hero h1 span{font-size:.42em;letter-spacing:.1em}
  .gallery-trailer-section{padding-top:72px}
  .gallery-photo-section{padding-top:72px}
  .gallery-shell-wide{width:min(calc(100% - 18px),1320px)}
  .masonry-gallery{columns:2 140px;column-gap:8px}
  .gallery-tile{margin-bottom:8px;border-radius:12px}
  .gallery-return-inner{display:grid;grid-template-columns:1fr;width:min(calc(100% - 26px),340px)}
  .gallery-page .lightbox figure{width:calc(100% - 34px);height:min(82vh,760px)}
  .lightbox-nav{top:auto;bottom:22px;transform:none;width:46px;height:46px;font-size:34px}
  .lightbox-prev{left:calc(50% - 56px)}.lightbox-next{right:calc(50% - 56px)}
  .lightbox-close{right:10px;top:6px;font-size:38px}
}
@media(max-width:390px){
  .masonry-gallery{columns:1}
  .gallery-shell-wide{width:min(calc(100% - 22px),1320px)}
}


/* V15 launch-readiness refinements */
:where(a,button,summary,[tabindex]):focus-visible{outline:3px solid #f0cd7e;outline-offset:3px}
.gallery-tile:focus-visible{outline-offset:4px}
@media (forced-colors:active){.button,.menu-toggle,.date-card,.experience-card,.photo-card,.partner-card{border:1px solid ButtonText}}

/* =========================================================
   ENHANCED VISUAL V2 — STATIC ATMOSPHERE PASS
   No continuous animation; layout and functionality preserved.
   ========================================================= */

:root{
  --bg:#050304;
  --bg-2:#0a0607;
  --panel:#0f090a;
  --panel-2:#160c0d;
  --text:#f2e6d3;
  --muted:#bcae9c;
  --red:#a70c1d;
  --red-bright:#d32935;
  --gold:#a98245;
  --gold-light:#d7b972;
  --gold-pale:#ead7a2;
  --line:rgba(205,160,82,.34);
  --line-red:rgba(192,29,39,.46);
  --shadow:0 26px 78px rgba(0,0,0,.64);
}

html{scroll-behavior:smooth}

body{
  background:
    radial-gradient(ellipse at 50% 0%,rgba(112,8,20,.16) 0%,transparent 30%),
    radial-gradient(ellipse at 15% 28%,rgba(127,22,23,.07) 0%,transparent 26%),
    radial-gradient(ellipse at 88% 46%,rgba(120,18,22,.065) 0%,transparent 25%),
    radial-gradient(ellipse at 42% 82%,rgba(129,16,26,.05) 0%,transparent 26%),
    linear-gradient(180deg,#070405 0%,#0b0708 36%,#050304 100%);
  background-attachment:fixed;
  color:var(--text);
  font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;
}

/* Static grunge / mist veil */
.page-texture{
  inset:0;
  opacity:.68;
  filter:none;
  animation:none !important;
  mix-blend-mode:screen;
  background:
    radial-gradient(ellipse at -3% 13%,rgba(218,218,207,.12) 0 6%,rgba(142,137,126,.065) 13%,transparent 29%),
    radial-gradient(ellipse at 103% 21%,rgba(212,211,202,.105) 0 7%,rgba(140,133,126,.052) 15%,transparent 30%),
    radial-gradient(ellipse at -1% 58%,rgba(195,193,184,.095) 0 6%,transparent 25%),
    radial-gradient(ellipse at 101% 70%,rgba(198,195,187,.09) 0 6%,transparent 26%),
    radial-gradient(ellipse at 28% 5%,rgba(135,19,29,.09),transparent 26%),
    radial-gradient(ellipse at 76% 4%,rgba(135,19,29,.085),transparent 25%),
    repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.014) 0 1px,transparent 1px 7px);
}

/* Additional static fog kept to the page edges only */
body::before,
body::after{
  content:"";
  position:fixed;
  z-index:0;
  top:0;
  bottom:0;
  width:min(18vw,250px);
  pointer-events:none;
  opacity:.34;
  filter:blur(8px);
  background:
    radial-gradient(ellipse at 25% 12%,rgba(220,216,204,.18),transparent 38%),
    radial-gradient(ellipse at 68% 38%,rgba(195,193,184,.14),transparent 40%),
    radial-gradient(ellipse at 20% 71%,rgba(200,198,187,.13),transparent 38%),
    radial-gradient(ellipse at 80% 92%,rgba(205,201,190,.11),transparent 36%);
}
body::before{left:-7vw}
body::after{right:-7vw;transform:scaleX(-1)}

main,.site-footer{position:relative;z-index:1}

.site-header{
  background:linear-gradient(180deg,rgba(4,2,3,.985),rgba(8,4,5,.91));
  border-bottom:1px solid rgba(153,23,31,.42);
  box-shadow:0 12px 45px rgba(0,0,0,.25),inset 0 -1px 0 rgba(205,160,82,.08);
  backdrop-filter:blur(9px);
  transition:none;
}
.site-header.scrolled{
  background:rgba(5,3,4,.985);
  box-shadow:0 12px 46px rgba(0,0,0,.56),0 1px 0 rgba(154,25,33,.34);
}
.brand img{
  filter:saturate(1.18) contrast(1.12) drop-shadow(0 0 8px rgba(170,10,22,.18));
}
.site-nav>a{
  font-family:"Cinzel",Georgia,serif;
  color:#d5bc83;
  text-shadow:0 1px 8px rgba(0,0,0,.8);
  transition:none;
}
.site-nav>a::after{transition:none;background:linear-gradient(90deg,transparent,#c72730,transparent)}

.button{
  font-family:"Cinzel",Georgia,serif;
  border-width:1px;
  box-shadow:inset 0 0 0 1px rgba(231,194,118,.045);
  transition:none;
}
.button:hover{transform:none}
.button-primary{
  background:
    radial-gradient(ellipse at 50% 0%,rgba(217,58,53,.18),transparent 62%),
    linear-gradient(180deg,#75101a,#3d080d);
  border-color:#b92934;
  color:#f7e0b7;
  text-shadow:0 1px 6px #000;
  box-shadow:inset 0 0 24px rgba(209,25,38,.12),0 0 18px rgba(122,0,12,.19),0 8px 24px rgba(0,0,0,.28);
}
.button-primary:hover{background:linear-gradient(180deg,#85131e,#49090f);border-color:#cd3a43}
.button-ghost{
  background:linear-gradient(180deg,rgba(18,11,9,.88),rgba(8,5,5,.86));
  border-color:rgba(192,151,75,.64);
  color:#dcc184;
  text-shadow:0 1px 5px #000;
}
.button-ghost:hover{background:#140d0c;color:#edd6a2}

/* Hero: gold ENTER + bleeding red IF YOU DARE, with static smoke */
.hero{
  background:#030203;
  min-height:820px;
}
.hero-backdrop{
  filter:blur(20px) saturate(.92) contrast(1.05);
  opacity:.64;
}
.hero-photo{
  filter:saturate(1.03) contrast(1.10) brightness(.78);
}
.hero-shade{
  background:
    radial-gradient(circle at 70% 25%,rgba(170,15,24,.105),transparent 27%),
    linear-gradient(90deg,#050304 0%,rgba(5,3,4,.985) 18%,rgba(5,3,4,.79) 43%,rgba(6,3,4,.20) 72%,rgba(5,3,4,.20) 100%),
    linear-gradient(0deg,#060405 0%,rgba(6,4,5,.24) 28%,transparent 50%);
}
.hero-content{padding-top:60px}
.hero .eyebrow{font-family:"Cinzel",Georgia,serif;color:#c8a45d}
.hero h1{
  font-family:"Cinzel",Georgia,"Times New Roman",serif;
  font-size:clamp(58px,7vw,102px);
  font-weight:700;
  line-height:.94;
  letter-spacing:-.045em;
  color:#c9a765;
  text-shadow:0 2px 0 #30200f,0 5px 22px rgba(0,0,0,.88),0 0 22px rgba(164,93,21,.10);
}
.hero h1 span{
  display:inline-block;
  margin-top:8px;
  font-family:"Nosifer",Georgia,serif;
  font-size:.59em;
  line-height:1.14;
  letter-spacing:-.06em;
  color:#b91826;
  text-shadow:0 2px 0 #350006,0 0 16px rgba(190,15,31,.38),0 8px 24px #000;
}
.hero-brandline{
  font-family:"Cinzel",Georgia,serif;
  color:#d12734;
  letter-spacing:.18em;
  text-shadow:0 0 12px rgba(167,12,29,.16);
}
.hero-copy{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:18px;
  line-height:1.48;
  color:#dfd0b8;
}
.fog{
  animation:none !important;
  filter:blur(25px);
  opacity:.48;
}
.fog-one{
  left:-12%;bottom:0;
  background:radial-gradient(ellipse at center,rgba(212,209,199,.15),rgba(159,157,149,.07) 31%,transparent 66%);
}
.fog-two{
  right:-12%;top:13%;
  background:radial-gradient(ellipse at center,rgba(214,211,200,.13),rgba(157,154,147,.06) 31%,transparent 66%);
}

/* Countdown: static framed strip */
.opening-countdown{
  background:
    radial-gradient(ellipse at 50% 0%,rgba(125,17,26,.13),transparent 55%),
    linear-gradient(90deg,rgba(19,8,9,.95),rgba(6,4,5,.98) 42%,rgba(6,4,5,.98) 58%,rgba(19,8,9,.95));
  border-top-color:rgba(171,29,37,.42);
  border-bottom-color:rgba(195,153,79,.25);
}
.opening-countdown::before{animation:none !important;background:none}
.countdown-copy h2{
  font-family:"Cinzel",Georgia,serif;
  color:#ceb06c;
  text-transform:uppercase;
  letter-spacing:.025em;
}
.countdown-unit{
  border-color:rgba(197,153,76,.42);
  background:linear-gradient(180deg,#140b0c,#070405);
  box-shadow:inset 0 0 0 4px #050304,inset 0 0 0 5px rgba(207,169,93,.09),0 14px 30px rgba(0,0,0,.30);
}
.countdown-unit strong{color:#d7b96e;font-family:"Cinzel",Georgia,serif}

/* Sections: smaller, darker, more poster-like */
.section{padding:88px 0}
.section-dark,.section-blood,.faq-section,.visit-section,.park-section{
  backdrop-filter:none;
}
.section-dark{
  background:
    radial-gradient(ellipse at 50% 0%,rgba(117,13,22,.07),transparent 46%),
    linear-gradient(180deg,rgba(6,4,5,.88),rgba(12,8,9,.84) 50%,rgba(6,4,5,.90));
  border-block-color:rgba(168,28,37,.20);
}
.section-blood{
  background:radial-gradient(ellipse at 50% 0%,rgba(124,13,24,.16),transparent 48%),rgba(7,4,5,.84);
  border-block-color:rgba(169,27,36,.24);
}
.section-heading h2,.visit-grid h2,.park-copy h2{
  font-family:"Cinzel",Georgia,serif;
  color:#c9a863;
  text-transform:uppercase;
  letter-spacing:.015em;
  text-shadow:0 1px 0 #000,0 5px 18px rgba(0,0,0,.6);
}
.section-heading .eyebrow,.park-copy .eyebrow{
  font-family:"Cinzel",Georgia,serif;
  color:#b72c32;
}

/* Shared static distressed card treatment */
.experience-card,
.photo-card,
.about-card,
.new-card,
.partner-card,
.park-logo-panel,
.host-card,
details,
.date-card,
.schedule-line,
.ticket-callout,
.day-ticket-note,
.modal-card{
  border-color:rgba(196,151,73,.36);
  background-color:#0b0708;
  box-shadow:inset 0 0 0 1px rgba(232,191,111,.035),0 20px 58px rgba(0,0,0,.35);
}
.experience-card::after,
.about-card::after,
.new-card::after,
.partner-card::after,
.park-logo-panel::after,
.host-card::after{
  content:"";
  position:absolute;
  inset:7px;
  border:1px solid rgba(220,179,96,.08);
  border-radius:calc(var(--radius) - 6px);
  pointer-events:none;
}

.experience-card{
  background:
    radial-gradient(ellipse at 50% 5%,rgba(156,112,42,.08),transparent 37%),
    linear-gradient(150deg,#120c0b,#080607 60%,#0d0809);
}
.night-card{
  background:
    radial-gradient(ellipse at 72% 18%,rgba(141,15,25,.20),transparent 36%),
    linear-gradient(150deg,#150a0c,#080607 62%,#100708);
}
.day-card{
  background:
    radial-gradient(ellipse at 30% 17%,rgba(126,102,41,.14),transparent 39%),
    linear-gradient(150deg,#12100b,#080706 62%,#0f0c08);
}
.experience-card h3,.photo-card h3,.about-card h3,.new-card h3,.partner-card strong{
  font-family:"Cinzel",Georgia,serif;
}
.card-kicker{font-family:"Cinzel",Georgia,serif;letter-spacing:.11em}
.price-row strong,.ticket-callout strong,.date-card strong{font-family:"Cinzel",Georgia,serif}

.photo-card{
  background:linear-gradient(180deg,#0f090a,#070405);
  transition:none;
}
.photo-card:hover{transform:none;border-color:rgba(196,151,73,.36)}
.photo-card img{filter:saturate(.92) contrast(1.05) brightness(.76);transition:none}
.photo-card:hover img{transform:none}
.photo-card-copy{background:linear-gradient(180deg,rgba(14,9,9,.86),rgba(7,5,6,.98))}
.photo-card h3{color:#d0af67}
.photo-card p{color:#bfb09e}

.about-card{
  background:
    radial-gradient(ellipse at 50% 0%,rgba(120,15,23,.055),transparent 45%),
    linear-gradient(145deg,#110a0b,#070506);
}
.about-card::before{background:linear-gradient(90deg,transparent,rgba(205,159,79,.56),transparent)}
.about-card h3{color:#d1af66}

.new-card{
  background:linear-gradient(180deg,#0f090a,#070405);
  transition:none;
}
.new-card img{filter:saturate(.93) contrast(1.04) brightness(.72)}
.new-card h3{color:#d0ad64}

.date-card{
  border-color:rgba(190,145,69,.56);
  background:linear-gradient(180deg,#120b0a,#070405);
  box-shadow:inset 0 0 0 4px #050304,inset 0 0 0 5px rgba(197,153,76,.10),0 15px 32px rgba(0,0,0,.28);
}
.date-card span,.date-card small{font-family:"Cinzel",Georgia,serif;color:#c6a45d}
.date-card strong{color:#d9bc78}
.date-card.halloween{border-color:rgba(183,31,43,.62);box-shadow:inset 0 0 0 4px #050304,inset 0 0 0 5px rgba(183,31,43,.15),0 15px 34px rgba(80,0,7,.22)}

.partner-card{
  position:relative;
  background:linear-gradient(180deg,#0e0909,#070405);
  transition:none;
}
.partner-card:hover{transform:none;border-color:rgba(196,151,73,.36);background:linear-gradient(180deg,#0e0909,#070405)}
.partner-logo{background:#050304;border:1px solid rgba(204,158,78,.10)}

.park-section{
  background:
    radial-gradient(ellipse at 18% 50%,rgba(129,79,27,.06),transparent 35%),
    linear-gradient(135deg,rgba(11,7,7,.95),rgba(15,9,8,.92));
  border-block-color:rgba(199,154,75,.22);
}
.park-logo-panel,.host-card{position:relative;background:linear-gradient(180deg,#0d0808,#060405)}

.faq-section{background:linear-gradient(180deg,rgba(6,4,5,.91),rgba(9,6,7,.94))}
details{background:linear-gradient(180deg,#0e0909,#070506)}
summary{font-family:"Cinzel",Georgia,serif;color:#d1b36f}
details p{color:#bdae9b}

.visit-section{
  background:
    radial-gradient(ellipse at 15% 50%,rgba(132,15,24,.07),transparent 35%),
    linear-gradient(90deg,rgba(11,7,7,.96),rgba(14,8,9,.94));
  border-top-color:rgba(175,28,38,.40);
}
.site-footer{
  background:#040203;
  border-top-color:rgba(201,155,75,.24);
  backdrop-filter:none;
}

/* Gallery gets the same static dark/fog treatment */
.gallery-hero-bg{filter:saturate(.92) contrast(1.05) brightness(.66)}
.gallery-hero-shade{
  background:
    radial-gradient(ellipse at 50% 30%,rgba(128,13,22,.12),transparent 40%),
    linear-gradient(180deg,rgba(5,3,4,.22),rgba(5,3,4,.90));
}
.gallery-page .fog{animation:none !important}
.gallery-tile img{filter:saturate(.92) contrast(1.04) brightness(.78);transition:none}
.gallery-tile:hover img{transform:none;filter:saturate(.92) contrast(1.04) brightness(.78)}

/* Kill all continuous visual movement in this enhanced branch. */
.page-texture,.fog,.opening-countdown::before{animation:none !important}
@media(prefers-reduced-motion:no-preference){
  .page-texture,.fog,.opening-countdown::before{animation:none !important}
}

@media(max-width:860px){
  body::before,body::after{width:25vw;opacity:.24}
  .site-nav>a{font-family:"Cinzel",Georgia,serif}
  .hero h1{font-size:clamp(49px,13vw,74px)}
  .hero h1 span{font-size:.55em;line-height:1.2}
  .hero-copy{font-size:17px}
  .section-heading h2,.visit-grid h2,.park-copy h2{text-align:center}
}

@media(max-width:600px){
  body::before,body::after{width:34vw;opacity:.20}
  .section{padding:70px 0}
  .hero h1{letter-spacing:-.055em}
  .hero h1 span{margin-top:6px}
}

/* =========================================================
   Enhanced Visual V3 — heavier STATIC perimeter fog
   No animation; visual-only pass.
   ========================================================= */

/* Denser fog curtains that stay around the viewport edges. */
body::before,
body::after{
  width:min(28vw,390px);
  opacity:.50;
  filter:blur(12px);
  background:
    radial-gradient(ellipse at 18% 7%,rgba(235,232,219,.22) 0 7%,rgba(170,168,158,.10) 17%,transparent 39%),
    radial-gradient(ellipse at 72% 23%,rgba(217,215,204,.18) 0 8%,rgba(157,155,147,.08) 19%,transparent 42%),
    radial-gradient(ellipse at 24% 43%,rgba(229,226,214,.17) 0 7%,rgba(165,162,153,.08) 18%,transparent 41%),
    radial-gradient(ellipse at 77% 61%,rgba(214,212,200,.18) 0 8%,rgba(151,150,142,.07) 19%,transparent 41%),
    radial-gradient(ellipse at 20% 80%,rgba(227,224,212,.17) 0 7%,rgba(160,158,149,.075) 17%,transparent 40%),
    radial-gradient(ellipse at 68% 97%,rgba(220,216,205,.15) 0 7%,rgba(153,151,143,.065) 18%,transparent 39%);
}
body::before{left:-9vw}
body::after{right:-9vw;transform:scaleX(-1)}

/* Static fog spilling in from the top and bottom of the viewport. */
.page-texture::before,
.page-texture::after{
  content:"";
  position:fixed;
  left:-6vw;
  width:112vw;
  pointer-events:none;
  z-index:0;
  filter:blur(14px);
  opacity:.36;
}
.page-texture::before{
  top:-8vh;
  height:30vh;
  background:
    radial-gradient(ellipse at 12% 42%,rgba(229,226,214,.20),transparent 34%),
    radial-gradient(ellipse at 38% 18%,rgba(204,201,191,.13),transparent 30%),
    radial-gradient(ellipse at 67% 28%,rgba(219,216,205,.16),transparent 33%),
    radial-gradient(ellipse at 91% 45%,rgba(226,223,211,.19),transparent 34%);
}
.page-texture::after{
  bottom:-10vh;
  height:34vh;
  background:
    radial-gradient(ellipse at 8% 54%,rgba(224,221,210,.18),transparent 34%),
    radial-gradient(ellipse at 31% 78%,rgba(202,200,190,.12),transparent 31%),
    radial-gradient(ellipse at 61% 66%,rgba(218,215,204,.16),transparent 34%),
    radial-gradient(ellipse at 90% 50%,rgba(229,225,213,.19),transparent 35%);
}

/* A faint haze at the left/right edges of every major content section. */
.section,
.opening-countdown,
.site-footer{
  box-shadow:
    inset 70px 0 90px -80px rgba(221,218,207,.16),
    inset -70px 0 90px -80px rgba(221,218,207,.16);
}

/* Slight smoky seam between sections without moving anything. */
.section{
  background-image:
    radial-gradient(ellipse at 0% 50%,rgba(210,207,196,.035),transparent 21%),
    radial-gradient(ellipse at 100% 50%,rgba(210,207,196,.035),transparent 21%);
  background-blend-mode:screen;
}

/* Let the hero feel more enveloped without obscuring its content. */
.hero::before,
.hero::after{
  content:"";
  position:absolute;
  z-index:3;
  pointer-events:none;
  width:34%;
  height:72%;
  bottom:-8%;
  filter:blur(18px);
  opacity:.32;
}
.hero::before{
  left:-10%;
  background:
    radial-gradient(ellipse at 40% 40%,rgba(225,222,211,.18),transparent 42%),
    radial-gradient(ellipse at 68% 72%,rgba(194,192,183,.12),transparent 44%);
}
.hero::after{
  right:-10%;
  background:
    radial-gradient(ellipse at 62% 38%,rgba(225,222,211,.16),transparent 42%),
    radial-gradient(ellipse at 32% 74%,rgba(194,192,183,.11),transparent 44%);
}

/* Keep all V3 fog explicitly static. */
body::before,
body::after,
.page-texture,
.page-texture::before,
.page-texture::after,
.hero::before,
.hero::after{
  animation:none !important;
  transform-style:flat;
}
body::after{transform:scaleX(-1)}

@media(max-width:860px){
  body::before,body::after{width:36vw;opacity:.38;filter:blur(10px)}
  .page-texture::before,.page-texture::after{opacity:.27}
}

@media(max-width:600px){
  body::before,body::after{width:44vw;opacity:.31}
  .section,.opening-countdown,.site-footer{
    box-shadow:
      inset 44px 0 62px -58px rgba(221,218,207,.14),
      inset -44px 0 62px -58px rgba(221,218,207,.14);
  }
}

/* =========================================================
   Enhanced Visual V4 — static distressed frames + card light
   Visual-only. No layout/function changes. No animation.
   ========================================================= */

/* Give section headings a subtle pocket of smoke/light like the AI concept. */
.section-heading,
.gallery-page .section-heading{
  position:relative;
  isolation:isolate;
}
.section-heading::before,
.gallery-page .section-heading::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:50%;
  top:50%;
  width:min(720px,86vw);
  height:130px;
  transform:translate(-50%,-50%);
  pointer-events:none;
  background:
    radial-gradient(ellipse at 38% 56%,rgba(221,216,202,.085),transparent 35%),
    radial-gradient(ellipse at 63% 44%,rgba(192,187,176,.055),transparent 37%),
    radial-gradient(ellipse at 50% 50%,rgba(122,14,23,.075),transparent 52%);
  filter:blur(9px);
  opacity:.88;
}

/* More carved/aged heading finish without reducing readability. */
.section-heading h2,
.park-copy h2,
.visit-grid h2,
.faq-layout h2{
  text-shadow:
    0 1px 0 rgba(255,224,157,.10),
    0 3px 0 rgba(20,5,5,.86),
    0 0 16px rgba(154,15,25,.12);
}

/* A shared ornamental frame treatment for the major content boxes. */
.experience-card,
.photo-card,
.about-card,
.new-card,
.partner-card,
.date-card,
.ticket-callout,
.day-ticket-note,
.schedule-line,
.park-logo-panel,
.host-card,
details,
.modal-card,
.gallery-trailer-frame,
.gallery-tile{
  border-color:rgba(190,143,67,.48);
  box-shadow:
    inset 0 0 0 1px rgba(244,211,139,.035),
    inset 0 0 28px rgba(0,0,0,.46),
    0 16px 42px rgba(0,0,0,.34),
    0 0 0 1px rgba(84,15,17,.18);
  background-clip:padding-box;
}

/* Distressed-looking corners made with static CSS light chips instead of moving FX. */
.experience-card,
.photo-card,
.about-card,
.new-card,
.partner-card,
.ticket-callout,
.day-ticket-note,
.schedule-line,
.park-logo-panel,
.host-card,
details{
  background-image:
    linear-gradient(135deg,rgba(225,184,102,.20) 0 1px,transparent 1px 17px,rgba(92,48,23,.18) 17px 18px,transparent 18px),
    linear-gradient(225deg,rgba(225,184,102,.14) 0 1px,transparent 1px 21px,rgba(92,48,23,.12) 21px 22px,transparent 22px),
    linear-gradient(315deg,rgba(146,28,29,.12) 0 1px,transparent 1px 18px),
    linear-gradient(45deg,rgba(146,28,29,.10) 0 1px,transparent 1px 23px);
  background-size:46px 46px,58px 58px,52px 52px,64px 64px;
  background-position:left top,right top,right bottom,left bottom;
  background-repeat:no-repeat;
}

/* Reapply the intended base fills above the corner texture using inset lighting. */
.experience-card{background-color:#0b0707}
.day-card{
  background-color:#0d0b07;
  box-shadow:
    inset 0 1px 0 rgba(239,210,140,.055),
    inset 0 0 80px rgba(139,104,37,.10),
    inset 0 -70px 80px rgba(0,0,0,.36),
    0 18px 48px rgba(0,0,0,.38),
    0 0 26px rgba(123,95,35,.045);
}
.night-card{
  background-color:#0e0708;
  box-shadow:
    inset 0 1px 0 rgba(239,210,140,.04),
    inset 0 0 88px rgba(146,18,28,.14),
    inset 0 -74px 86px rgba(0,0,0,.42),
    0 18px 48px rgba(0,0,0,.40),
    0 0 28px rgba(130,10,20,.07);
}

/* Stronger warm/cold light pools within the main cards, still completely static. */
.day-card::before,
.night-card::before,
.photo-card::before,
.new-card::before,
.about-card::before,
.partner-card::before,
.ticket-callout::before,
.park-logo-panel::before,
.host-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  z-index:0;
}
.day-card::before{
  background:
    radial-gradient(ellipse at 26% 8%,rgba(221,176,73,.14),transparent 35%),
    radial-gradient(ellipse at 82% 86%,rgba(111,73,21,.065),transparent 32%);
}
.night-card::before{
  background:
    radial-gradient(ellipse at 74% 10%,rgba(184,22,37,.20),transparent 34%),
    radial-gradient(ellipse at 12% 82%,rgba(108,10,18,.08),transparent 35%);
}
.photo-card::before,
.new-card::before{
  background:
    linear-gradient(180deg,rgba(186,25,34,.035),transparent 32%),
    radial-gradient(ellipse at 50% 100%,rgba(163,111,41,.05),transparent 42%);
}
.about-card::before{
  background:
    radial-gradient(ellipse at 22% 0%,rgba(178,25,34,.075),transparent 38%),
    radial-gradient(ellipse at 85% 100%,rgba(168,115,42,.045),transparent 34%);
}
.partner-card::before,
.park-logo-panel::before,
.host-card::before{
  background:radial-gradient(ellipse at 50% 10%,rgba(207,166,86,.075),transparent 45%);
}
.ticket-callout::before{
  background:
    radial-gradient(ellipse at 50% 15%,rgba(183,26,38,.16),transparent 42%),
    radial-gradient(ellipse at 50% 90%,rgba(202,156,72,.045),transparent 40%);
}

/* Keep actual card content above the static light layers. */
.experience-card > *,
.photo-card > *,
.about-card > *,
.new-card > *,
.partner-card > *,
.ticket-callout > *,
.park-logo-panel > *,
.host-card > *{
  position:relative;
  z-index:2;
}

/* More integrated photos: dark edges, lower saturation, warmer red/gold mids. */
.photo-wrap{
  position:relative;
  background:#050304;
}
.photo-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  box-shadow:
    inset 0 0 35px 7px rgba(0,0,0,.58),
    inset 0 -46px 48px rgba(4,2,3,.62),
    inset 0 1px 0 rgba(220,171,88,.08);
}
.photo-card img,
.new-card img,
.gallery-tile img{
  filter:saturate(.82) contrast(1.08) brightness(.72) sepia(.045);
}
.photo-card .photo-wrap::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 78% 26%,rgba(174,24,32,.07),transparent 40%),
    linear-gradient(180deg,transparent 50%,rgba(17,7,6,.25));
  mix-blend-mode:screen;
}

/* Date cards resemble small aged plaques rather than clean UI squares. */
.date-card{
  background-color:#0b0707;
  border-color:rgba(188,142,67,.55);
  box-shadow:
    inset 0 0 0 4px #060405,
    inset 0 0 0 5px rgba(216,172,86,.11),
    inset 0 0 30px rgba(113,61,25,.055),
    0 13px 30px rgba(0,0,0,.32);
}
.date-card.halloween{
  border-color:rgba(184,35,45,.66);
  box-shadow:
    inset 0 0 0 4px #060405,
    inset 0 0 0 5px rgba(192,38,50,.14),
    inset 0 0 34px rgba(141,10,21,.09),
    0 13px 32px rgba(50,0,5,.34);
}

/* A thin antique-gold seam helps major groupings read like the AI design. */
.experience-grid,
.attraction-grid,
.about-grid,
.new-grid,
.partner-grid,
.date-layout{
  position:relative;
}
.experience-grid::before,
.attraction-grid::before,
.about-grid::before,
.new-grid::before,
.partner-grid::before,
.date-layout::before{
  content:"";
  position:absolute;
  pointer-events:none;
  left:4%;
  right:4%;
  top:-13px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(207,162,79,.20),rgba(162,27,33,.16),rgba(207,162,79,.20),transparent);
}

/* Preserve V3's no-motion decision. */
.experience-card::before,
.night-card::before,
.day-card::before,
.photo-card::before,
.photo-wrap::before,
.photo-wrap::after,
.about-card::before,
.new-card::before,
.partner-card::before,
.ticket-callout::before,
.park-logo-panel::before,
.host-card::before,
.section-heading::before,
.experience-grid::before,
.attraction-grid::before,
.about-grid::before,
.new-grid::before,
.partner-grid::before,
.date-layout::before{
  animation:none !important;
}

@media(max-width:860px){
  .section-heading::before{height:100px;opacity:.68}
  .experience-grid::before,
  .attraction-grid::before,
  .about-grid::before,
  .new-grid::before,
  .partner-grid::before,
  .date-layout::before{left:10%;right:10%;top:-10px}
}

/* ==== Enhanced Visual V5: hero refinement + restore visible experience imagery ==== */

/* Hero section: push it closer to the cinematic AI reference without changing structure. */
.hero{
  min-height: 860px;
  background:
    radial-gradient(circle at 20% 26%, rgba(140, 14, 30, 0.22), transparent 28%),
    radial-gradient(circle at 75% 18%, rgba(119, 18, 28, 0.18), transparent 24%),
    linear-gradient(180deg, #050304 0%, #070405 58%, #090506 100%);
}
.hero-backdrop{
  filter: blur(14px) saturate(.96) contrast(1.03) brightness(.68);
  transform: scale(1.035);
  opacity: .86;
}
.hero-photo{
  width: 76%;
  filter: saturate(.92) contrast(1.08) brightness(.78) drop-shadow(0 30px 50px rgba(0,0,0,.46));
}
.hero-shade{
  background:
    linear-gradient(90deg,#060304 0%,rgba(6,3,4,.98) 17%,rgba(6,3,4,.82) 40%,rgba(6,3,4,.32) 68%,rgba(6,3,4,.18) 100%),
    linear-gradient(0deg,#090506 0%,rgba(9,5,6,.15) 38%,transparent 74%),
    radial-gradient(circle at 19% 42%, rgba(161,24,39,.12), transparent 28%),
    radial-gradient(circle at 64% 24%, rgba(223,132,58,.06), transparent 20%);
}
.hero-content{
  max-width: 590px;
  padding-top: 72px;
  padding-bottom: 94px;
}
.hero-content::before{
  content: "";
  position: absolute;
  inset: 22px auto 26px -26px;
  width: min(640px, 100% + 52px);
  border-radius: 26px;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.055), transparent 14%),
    radial-gradient(circle at 76% 78%, rgba(168, 28, 38, .08), transparent 18%),
    linear-gradient(180deg, rgba(10,6,7,.42), rgba(8,5,6,.08) 58%, rgba(8,5,6,0));
  border: 1px solid rgba(206,168,95,.08);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
  z-index: -1;
}
.hero .eyebrow{
  color: #d3b477;
  text-shadow: 0 2px 10px rgba(0,0,0,.7);
}
.hero h1{
  color: #d6b26d;
  font-family: "Cinzel", Georgia, "Times New Roman", serif;
  font-size: clamp(58px, 6.3vw, 94px);
  line-height: .90;
  letter-spacing: .01em;
  text-shadow:
    0 2px 0 rgba(57,25,8,.8),
    0 8px 20px rgba(0,0,0,.85),
    0 0 18px rgba(212,174,90,.10);
}
.hero h1 span{
  display: inline-block;
  margin-top: 10px;
  font-family: "Nosifer", Georgia, "Times New Roman", serif;
  font-size: .66em;
  letter-spacing: -.045em;
  color: #b81328;
  text-shadow:
    0 2px 0 #390008,
    0 0 20px rgba(203,15,37,.52),
    0 8px 24px rgba(0,0,0,.9);
}
.hero-brandline{
  color: #df2a42;
  text-shadow: 0 0 16px rgba(160, 12, 28, .26);
}
.hero-copy{
  color: #ebe0d1;
  font-size: 17px;
  line-height: 1.7;
  max-width: 540px;
}
.hero-actions{
  margin-top: 30px;
  margin-bottom: 6px;
}
.hero-actions .button{
  min-height: 48px;
  padding-inline: 22px;
  box-shadow: 0 10px 28px rgba(0,0,0,.22);
}

/* Give the countdown a little clearer separation so it does not visually fight the hero buttons. */
.opening-countdown{
  margin-top: 0;
  padding-top: 30px;
  border-top-color: rgba(191,34,46,.34);
}
.opening-countdown::after{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(245,205,126,.02), transparent 24%, transparent 72%, rgba(148,26,37,.03));
}
.countdown-shell{position: relative; z-index: 1;}

/* Experience cards: bring the photos back more visibly, but keep them darker and integrated. */
.experience-card{
  min-height: 465px;
}
.day-card::before,
.night-card::before{
  content: "";
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  opacity: .46;
  filter: saturate(.86) contrast(1.03) brightness(.58);
}
.day-card::before{
  background-image:
    linear-gradient(180deg, rgba(6,5,4,.22) 0%, rgba(6,5,4,.50) 44%, rgba(6,5,4,.80) 100%),
    radial-gradient(circle at 24% 10%, rgba(216,174,82,.18), transparent 24%),
    url("assets/wendigo-day-card.webp");
}
.night-card::before{
  background-image:
    linear-gradient(180deg, rgba(5,3,4,.20) 0%, rgba(5,3,4,.44) 40%, rgba(5,3,4,.82) 100%),
    radial-gradient(circle at 74% 12%, rgba(177,22,39,.24), transparent 24%),
    url("assets/wendigo-night.webp");
}
.experience-card::after{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(0,0,0,.00) 12%, rgba(0,0,0,.08) 38%, rgba(0,0,0,.28) 72%, rgba(0,0,0,.52) 100%),
    linear-gradient(90deg, rgba(0,0,0,.16), rgba(0,0,0,.00) 38%, rgba(0,0,0,.12) 100%);
  box-shadow: inset 0 0 45px rgba(0,0,0,.26), inset 0 -80px 90px rgba(0,0,0,.36);
}
.day-card,
.night-card{
  overflow: hidden;
}
.day-card{
  box-shadow:
    inset 0 1px 0 rgba(239,210,140,.06),
    inset 0 0 70px rgba(139,104,37,.12),
    inset 0 -70px 80px rgba(0,0,0,.36),
    0 18px 48px rgba(0,0,0,.38),
    0 0 26px rgba(123,95,35,.06);
}
.night-card{
  box-shadow:
    inset 0 1px 0 rgba(239,210,140,.04),
    inset 0 0 86px rgba(146,18,28,.18),
    inset 0 -76px 90px rgba(0,0,0,.46),
    0 18px 48px rgba(0,0,0,.42),
    0 0 30px rgba(130,10,20,.10);
}
.experience-card > *{
  position: relative;
  z-index: 3;
}
.experience-card .feature-list,
.experience-card .onsite-reminder,
.experience-card .night-onsite-note,
.experience-card > p:not(.card-kicker){
  text-shadow: 0 1px 10px rgba(0,0,0,.72);
}
.experience-card .text-link{
  text-shadow: 0 1px 12px rgba(0,0,0,.75);
}

@media (max-width: 980px){
  .hero{
    min-height: 790px;
  }
  .hero-photo{
    width: 100%;
    height: 54%;
    object-position: center top;
  }
  .hero-content{
    max-width: 640px;
    padding-top: 330px;
    padding-bottom: 86px;
  }
  .hero-content::before{
    inset: 10px -8px 26px -8px;
    width: auto;
  }
}

@media (max-width: 640px){
  .hero{
    min-height: 800px;
  }
  .hero-content{
    padding-top: 306px;
    padding-bottom: 82px;
  }
  .hero h1{
    font-size: 43px;
  }
  .hero h1 span{
    font-size: .60em;
    margin-top: 6px;
  }
  .hero-copy{
    font-size: 15px;
    line-height: 1.6;
  }
  .experience-card{
    min-height: auto;
  }
}

/* ==== Enhanced Visual V6: left hero + real transparent fog imagery ==== */

/* Restore the desktop hero composition to the stronger left-aligned version. */
@media (min-width: 861px){
  .hero{
    min-height: 820px;
  }
  .hero-photo{
    width: 72%;
    object-position: right center;
  }
  .hero-content{
    max-width: none;
    width: min(calc(100% - 44px), var(--max));
    margin-inline: auto;
    padding-top: 68px;
    padding-bottom: 84px;
    text-align: left;
  }
  .hero-content::before{
    display:none;
  }
  .hero .eyebrow,
  .hero h1,
  .hero-brandline,
  .hero-copy{
    margin-left:0;
    margin-right:auto;
    text-align:left;
  }
  .hero h1{
    max-width: 610px;
    font-size: clamp(58px, 6vw, 88px);
  }
  .hero-copy{
    max-width: 500px;
  }
  .hero-actions{
    justify-content:flex-start;
    margin-left:0;
    margin-right:0;
  }
}

/* Replace the flat-looking perimeter haze with a real transparent fog image. */
body::before,
body::after{
  content:"";
  position:fixed;
  z-index:0;
  top:-6vh;
  bottom:-6vh;
  width:min(34vw,470px);
  pointer-events:none;
  opacity:.82;
  filter:blur(2px);
  background-image:url("assets/fog-wisp.webp"),url("assets/fog-wisp.webp"),url("assets/fog-wisp.webp");
  background-repeat:no-repeat;
  background-size:145% auto,125% auto,155% auto;
  background-position:left 4%,left 48%,left 92%;
  mix-blend-mode:screen;
}
body::before{left:-13vw}
body::after{right:-13vw;transform:scaleX(-1)}

/* Real fog at the top and bottom of the viewport, kept behind page content. */
.page-texture::before,
.page-texture::after{
  content:"";
  position:fixed;
  left:-8vw;
  width:116vw;
  pointer-events:none;
  z-index:0;
  opacity:.62;
  filter:blur(2px);
  background-image:url("assets/fog-wisp.webp"),url("assets/fog-wisp.webp");
  background-repeat:no-repeat;
  background-size:65% auto,62% auto;
  mix-blend-mode:screen;
}
.page-texture::before{
  top:-78px;
  height:270px;
  background-position:left top,right -30px top 38px;
}
.page-texture::after{
  bottom:-92px;
  height:300px;
  background-position:left bottom,right bottom 32px;
  transform:rotate(180deg);
}

/* Fog pools underneath the main card groups. The cards themselves stay above it. */
.experience-grid,
.attraction-grid,
.about-grid,
.date-layout,
.new-grid,
.partner-grid{
  isolation:isolate;
}
.experience-grid > *,
.attraction-grid > *,
.about-grid > *,
.date-layout > *,
.new-grid > *,
.partner-grid > *{
  position:relative;
  z-index:2;
}
.experience-grid::after,
.attraction-grid::after,
.about-grid::after,
.date-layout::after,
.new-grid::after,
.partner-grid::after{
  content:"";
  position:absolute;
  z-index:0;
  pointer-events:none;
  left:-7%;
  right:-7%;
  bottom:-70px;
  height:190px;
  opacity:.88;
  filter:blur(1.5px);
  background-image:url("assets/fog-wisp.webp"),url("assets/fog-wisp.webp");
  background-repeat:no-repeat;
  background-size:68% auto,62% auto;
  background-position:left bottom,right bottom 18px;
  mix-blend-mode:screen;
}

/* Additional side wisps around larger section blocks, still below all text/cards. */
#experiences::before,
#attractions::before,
#about::before,
#tickets::before,
#new-2026::before,
#partners::before,
.park-section::before,
.faq-section::before,
.visit-section::before{
  content:"";
  position:absolute;
  z-index:0;
  pointer-events:none;
  inset:8% -5% auto -5%;
  height:180px;
  opacity:.30;
  background-image:url("assets/fog-wisp.webp"),url("assets/fog-wisp.webp");
  background-repeat:no-repeat;
  background-size:42% auto,42% auto;
  background-position:left center,right center;
  mix-blend-mode:screen;
}
.section > .shell,
.park-section > .shell,
.faq-section > .shell,
.visit-section > .shell{
  position:relative;
  z-index:1;
}

/* Actual fog inside the Day/Night photos, light enough not to wash out the copy. */
.experience-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  border-radius:inherit;
  background-image:
    linear-gradient(180deg,rgba(0,0,0,.02) 8%,rgba(0,0,0,.08) 38%,rgba(0,0,0,.30) 78%,rgba(0,0,0,.50) 100%),
    url("assets/fog-wisp.webp");
  background-repeat:no-repeat,no-repeat;
  background-size:100% 100%,135% auto;
  background-position:center,bottom -30px center;
  opacity:1;
  box-shadow:inset 0 0 42px rgba(0,0,0,.24),inset 0 -70px 84px rgba(0,0,0,.35);
}
.experience-card > *{z-index:3}

/* Blend attraction photos into the fog instead of ending at a hard rectangular edge. */
.photo-card .photo-wrap::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background-image:
    linear-gradient(180deg,transparent 48%,rgba(8,4,5,.20) 70%,rgba(8,4,5,.48) 100%),
    url("assets/fog-wisp.webp");
  background-repeat:no-repeat,no-repeat;
  background-size:100% 100%,130% auto;
  background-position:center,bottom -45px center;
  opacity:.72;
}

/* Static only: no fog motion anywhere in this build. */
.fog,
.page-texture,
.opening-countdown::before,
body::before,
body::after,
.page-texture::before,
.page-texture::after,
.experience-grid::after,
.attraction-grid::after,
.about-grid::after,
.date-layout::after,
.new-grid::after,
.partner-grid::after,
#experiences::before,
#attractions::before,
#about::before,
#tickets::before,
#new-2026::before,
#partners::before,
.park-section::before,
.faq-section::before,
.visit-section::before{
  animation:none !important;
}

/* The original hero fog elements also use the real image now. */
.hero .fog{
  width:58%;
  height:34%;
  background:url("assets/fog-wisp.webp") center/contain no-repeat;
  filter:blur(1px);
  opacity:.42;
  mix-blend-mode:screen;
}
.hero .fog-one{left:-10%;bottom:-2%;transform:none}
.hero .fog-two{right:-9%;top:12%;transform:scaleX(-1)}

@media(max-width:860px){
  body::before,body::after{
    width:48vw;
    opacity:.60;
  }
  body::before{left:-24vw}
  body::after{right:-24vw}
  .experience-grid::after,
  .attraction-grid::after,
  .about-grid::after,
  .date-layout::after,
  .new-grid::after,
  .partner-grid::after{
    left:-12%;
    right:-12%;
    bottom:-52px;
    height:150px;
    opacity:.70;
  }
}

/* ==== Enhanced Visual V8: restore heading contrast + section refinement ==== */

/* Bring back the red small heading / gold main heading contrast. */
.section-heading p,
.section-heading .eyebrow,
.ornate-heading p,
.ornate-heading .eyebrow,
.park-copy .eyebrow,
.visit-card .eyebrow,
.stay-connected .eyebrow,
.countdown-copy .eyebrow,
.modal-card .eyebrow,
.gallery-hero-content .eyebrow{
  color:#d54249;
  text-shadow:0 1px 8px rgba(0,0,0,.45), 0 0 12px rgba(134,10,22,.12);
}

.section-heading h2,
.ornate-heading h2,
.park-copy h2,
.visit-card h2,
.countdown-copy h2,
.modal-card h2,
.gallery-hero-content h1{
  color:#dfbf84;
}

/* Next refinement pass: Attractions feel more framed and theatrical. */
.attraction-grid{
  gap:22px;
}
.photo-card{
  background:
    linear-gradient(180deg, rgba(22,13,13,.96), rgba(8,6,7,.98));
  box-shadow:
    0 24px 54px rgba(0,0,0,.48),
    inset 0 0 0 1px rgba(255,240,210,.03),
    inset 0 0 0 6px rgba(8,5,6,.78),
    inset 0 0 0 7px rgba(183,146,79,.12),
    inset 0 0 60px rgba(133,15,26,.06);
}
.photo-wrap{
  border-radius: calc(var(--radius, 20px) - 4px);
  margin:12px 12px 0;
  overflow:hidden;
  border:1px solid rgba(183,146,79,.18);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
}
.photo-wrap::before{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:38%;
  background:url("assets/fog-wisp.webp") bottom center/cover no-repeat;
  opacity:.18;
  pointer-events:none;
  z-index:1;
}
.photo-wrap::after{
  z-index:2;
  background:
    linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.48)),
    radial-gradient(circle at 50% 18%, rgba(213,176,106,.06), transparent 26%);
}
.photo-wrap img{
  filter:saturate(.9) brightness(.8) contrast(1.03);
}
.photo-card-copy{
  gap:12px;
  padding:18px 18px 22px;
}
.photo-card h3{
  color:#e0bf84;
}
.photo-card p{
  max-width:24ch;
}

/* Dates & Tickets: more readable and more like framed medieval plaques. */
.tickets-section .ornate-heading{margin-bottom:22px}
.ticket-reference-layout{
  align-items:stretch;
  gap:22px;
}
.reference-dates{
  gap:14px;
}
.date-card{
  min-height:148px;
  background:
    linear-gradient(180deg, rgba(28,17,14,.97), rgba(11,7,8,.99));
  box-shadow:
    0 18px 40px rgba(0,0,0,.38),
    inset 0 0 0 1px rgba(255,240,208,.03),
    inset 0 0 0 6px rgba(7,5,6,.74),
    inset 0 0 0 7px rgba(183,146,79,.11),
    inset 0 0 40px rgba(214,176,106,.05);
}
.date-card strong{
  text-shadow:0 1px 0 rgba(78,46,15,.72), 0 8px 18px rgba(0,0,0,.32);
}
.ticket-callout{
  background:
    radial-gradient(circle at 50% 12%, rgba(173,20,33,.12), transparent 28%),
    linear-gradient(180deg, rgba(23,13,13,.96), rgba(8,6,7,.99));
  padding:22px 20px 24px;
}
.ticket-lines{
  gap:10px;
}
.ticket-lines span{
  display:block;
  padding:8px 0;
  border-bottom:1px solid rgba(183,146,79,.14);
}
.ticket-lines span:last-child{border-bottom:none}
.ticket-callout p{
  color:#e6d6bd;
}

/* Keep contrast clear on smaller screens too. */
@media (max-width: 640px){
  .section-heading p,
  .section-heading .eyebrow,
  .ornate-heading p,
  .ornate-heading .eyebrow,
  .park-copy .eyebrow,
  .visit-card .eyebrow,
  .stay-connected .eyebrow,
  .countdown-copy .eyebrow,
  .modal-card .eyebrow,
  .gallery-hero-content .eyebrow{
    color:#d94a4f;
  }
  .photo-wrap{margin:10px 10px 0}
}

/* ==== Enhanced Visual V9: About / Partners / FAQ refinement ==== */

/* About Us cards: more storybook / plaque feeling */
.about-section .ornate-heading{margin-bottom:24px}
.about-grid{
  gap:22px;
}
.about-card{
  background:
    radial-gradient(circle at 50% 12%, rgba(214,176,106,.05), transparent 26%),
    linear-gradient(180deg, rgba(24,15,14,.97), rgba(8,6,7,.99));
  box-shadow:
    0 24px 54px rgba(0,0,0,.44),
    inset 0 0 0 1px rgba(255,239,209,.03),
    inset 0 0 0 6px rgba(8,5,6,.76),
    inset 0 0 0 7px rgba(183,146,79,.11),
    inset 0 0 48px rgba(128,17,27,.05);
}
.about-card h3{
  margin-bottom:12px;
  color:#e1c188;
}
.about-card p{
  color:#e7d9c4;
  line-height:1.28;
}
.about-card::after{
  opacity:.62;
}
.patron-card{
  background:
    radial-gradient(circle at 50% 10%, rgba(157,21,34,.12), transparent 28%),
    linear-gradient(180deg, rgba(24,14,16,.97), rgba(8,6,7,.99));
}
.patron-card .button,
.patron-card .button-outline,
.patron-card .text-link{
  margin-top:6px;
}

/* Partners section: make logos feel like mounted crests / plaques */
.partner-grid{
  gap:20px;
}
.partner-card{
  padding:14px;
  background:
    radial-gradient(circle at 50% 10%, rgba(214,176,106,.06), transparent 28%),
    linear-gradient(180deg, rgba(23,14,13,.97), rgba(8,6,7,.99));
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.partner-card:hover{
  transform:translateY(-3px);
  border-color:rgba(211,171,96,.5);
  box-shadow:
    0 28px 58px rgba(0,0,0,.48),
    inset 0 0 0 1px rgba(255,239,210,.03),
    inset 0 0 0 6px rgba(8,5,6,.76),
    inset 0 0 0 7px rgba(183,146,79,.12),
    0 0 20px rgba(130,10,20,.08);
}
.partner-logo{
  height:124px;
  border-radius:14px;
  background:
    radial-gradient(circle at 50% 22%, rgba(214,176,106,.12), transparent 34%),
    linear-gradient(180deg, rgba(19,13,12,.94), rgba(8,6,7,.98));
  border:1px solid rgba(183,146,79,.22);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.02),
    inset 0 0 26px rgba(0,0,0,.22);
}
.partner-card strong{
  margin-top:2px;
  color:#e0bf84;
}
.partner-card span{
  color:#d3b88e;
}

/* FAQ section: older carved rows and clearer answer area */
.faq-section .ornate-heading{margin-bottom:22px}
.faq-list{
  gap:14px;
}
.faq-list details{
  background:
    radial-gradient(circle at 50% 10%, rgba(214,176,106,.04), transparent 26%),
    linear-gradient(180deg, rgba(20,12,12,.96), rgba(8,6,7,.99));
  box-shadow:
    0 18px 42px rgba(0,0,0,.34),
    inset 0 0 0 1px rgba(255,239,210,.03),
    inset 0 0 0 6px rgba(8,5,6,.76),
    inset 0 0 0 7px rgba(183,146,79,.10);
}
.faq-list summary{
  padding:20px 56px 20px 20px;
  color:#e2c48d;
  background:
    linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,0));
}
.faq-list summary::after{
  right:18px;
  top:14px;
  font-size:30px;
  color:#ddb977;
  text-shadow:0 2px 10px rgba(0,0,0,.42);
}
.faq-list details[open] summary{
  border-bottom:1px solid rgba(183,146,79,.18);
}
.faq-list details p{
  padding:16px 20px 20px;
  color:#e6d8c3;
  background:
    linear-gradient(180deg, rgba(214,176,106,.03), rgba(0,0,0,0));
}

/* Georgian Bay Park and visit area get matching support so the lower page stays cohesive */
.park-feature{
  background:
    radial-gradient(circle at 18% 24%, rgba(214,176,106,.05), transparent 22%),
    linear-gradient(180deg, rgba(22,14,13,.97), rgba(8,6,7,.99));
}
.visit-card,
.stay-connected,
.host-card{
  background:
    radial-gradient(circle at 50% 12%, rgba(214,176,106,.04), transparent 26%),
    linear-gradient(180deg, rgba(22,13,13,.97), rgba(8,6,7,.99));
}

@media (max-width: 860px){
  .partner-logo{height:116px}
}

@media (max-width: 640px){
  .about-grid,
  .partner-grid,
  .faq-list{gap:16px}
  .partner-logo{height:118px}
  .faq-list summary{padding:18px 52px 18px 18px}
  .faq-list details p{padding:14px 18px 18px}
}

/* ==== Enhanced Visual V10: final polish + mobile/tablet optimization ==== */

/* Global consistency / readability polish */
.hero-copy,
.photo-card p,
.new-card p,
.about-card p,
.ticket-callout p,
.ticket-lines,
.visit-card p,
.stay-connected p,
.faq-list details p,
.address,
.small-copy,
.partner-card span,
.park-copy p {
  text-wrap: pretty;
}

.hero-actions,
.center-button-row,
.gallery-trailer-actions,
.gallery-return-inner,
.visit-actions {
  flex-wrap: wrap;
}

.hero-actions .button,
.visit-actions .button,
.center-button-row .button,
.gallery-trailer-actions .button,
.gallery-return-inner .button {
  min-width: 160px;
}

.countdown-clock {
  justify-content: center;
}

.provider-list a,
.social-links a {
  min-height: 46px;
}

/* Slightly cleaner section rhythm */
.section {
  padding-top: 26px;
  padding-bottom: 30px;
}

/* Tablet optimization */
@media (max-width: 1100px) {
  .site-nav {
    gap: 14px;
  }

  .hero-content {
    max-width: 540px;
  }

  .ticket-reference-layout {
    grid-template-columns: 1fr;
  }

  .ticket-callout {
    max-width: 760px;
    margin-inline: auto;
  }

  .partner-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .visit-grid {
    grid-template-columns: 1fr 1fr;
  }

  .host-card {
    grid-column: 1 / -1;
    max-width: 460px;
    margin-inline: auto;
  }
}

/* Mobile + tablet centering where it makes sense */
@media (max-width: 860px) {
  .hero {
    min-height: 760px;
  }

  .hero-content,
  .countdown-copy,
  .experience-card,
  .photo-card-copy,
  .new-card > div,
  .about-card,
  .partner-card,
  .park-copy,
  .visit-card,
  .stay-connected,
  .host-card,
  .footer-copy,
  .footer-host,
  .gallery-hero-content {
    text-align: center;
  }

  .hero-content {
    max-width: 680px;
    margin-inline: auto;
    padding-left: 12px;
    padding-right: 12px;
  }

  .hero-copy {
    margin-inline: auto;
  }

  .hero-actions,
  .visit-actions,
  .social-links,
  .gallery-trailer-actions,
  .gallery-return-inner,
  .center-button-row {
    justify-content: center;
  }

  .hero-actions .button,
  .visit-actions .button,
  .social-links a,
  .gallery-trailer-actions .button,
  .gallery-return-inner .button,
  .center-button-row .button {
    width: min(100%, 260px);
  }

  .countdown-shell {
    align-items: center;
    text-align: center;
  }

  .countdown-copy,
  .countdown-copy h2 {
    width: 100%;
  }

  .countdown-clock {
    width: 100%;
    justify-content: center;
  }

  .countdown-unit {
    min-width: 76px;
  }

  .reference-grid,
  .attraction-grid,
  .about-grid,
  .visit-grid,
  .ticket-reference-layout,
  .partner-grid,
  .new-grid {
    gap: 18px;
  }

  .photo-card p,
  .new-card p,
  .about-card p,
  .park-copy p,
  .ticket-callout p,
  .faq-list details p,
  .address,
  .small-copy {
    margin-left: auto;
    margin-right: auto;
  }

  .photo-card-copy,
  .new-card > div,
  .about-card,
  .visit-card,
  .stay-connected,
  .host-card {
    align-items: center;
    justify-items: center;
  }

  .partner-card {
    justify-content: center;
  }

  .park-feature {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .park-logo-panel {
    margin-inline: auto;
    width: min(100%, 260px);
  }

  .footer-grid {
    justify-items: center;
    text-align: center;
  }

  .footer-brand {
    margin-inline: auto;
  }

  .site-nav a {
    text-align: center;
  }

  .gallery-hero-content p:not(.eyebrow) {
    margin-left: auto;
    margin-right: auto;
  }
}

/* Phone optimization */
@media (max-width: 640px) {
  body {
    overflow-x: hidden;
  }

  .section {
    padding-top: 24px;
    padding-bottom: 26px;
  }

  .header-inner {
    gap: 10px;
  }

  .brand img {
    width: 88px;
  }

  .menu-toggle {
    width: 44px;
    height: 44px;
  }

  .hero {
    min-height: 700px;
  }

  .hero-content {
    padding-top: 290px;
    padding-bottom: 72px;
  }

  .hero h1 {
    font-size: 40px;
    line-height: .92;
  }

  .hero-brandline {
    font-size: 16px;
    letter-spacing: .11em;
  }

  .hero-copy {
    font-size: 15px;
    max-width: 34ch;
  }

  .hero-actions {
    gap: 10px;
  }

  .hero-actions .button,
  .visit-actions .button,
  .gallery-trailer-actions .button,
  .gallery-return-inner .button,
  .center-button-row .button {
    width: 100%;
    min-width: 0;
  }

  .countdown-copy h2 {
    font-size: 26px;
  }

  .countdown-clock {
    gap: 8px;
  }

  .countdown-divider {
    display: none;
  }

  .countdown-unit {
    min-width: calc(50% - 8px);
    flex: 1 1 calc(50% - 8px);
  }

  .countdown-unit strong {
    font-size: 28px;
  }

  .experience-card,
  .about-card,
  .visit-card,
  .stay-connected,
  .host-card,
  .ticket-callout {
    padding-left: 16px;
    padding-right: 16px;
  }

  .feature-list,
  .compact-list {
    gap: 4px;
  }

  .reference-dates {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .date-card {
    min-height: 128px;
  }

  .partner-grid,
  .new-grid,
  .about-grid,
  .attraction-grid,
  .visit-grid {
    grid-template-columns: 1fr;
  }

  .partner-card,
  .photo-card-copy,
  .new-card > div,
  .about-card,
  .visit-card,
  .stay-connected,
  .host-card,
  .park-copy {
    text-align: center;
  }

  .social-links {
    gap: 8px;
  }

  .social-links a {
    width: 100%;
    justify-content: center;
  }

  .provider-list a {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 6px;
  }

  .modal-card {
    padding: 24px 16px 20px;
  }

  .modal-card h2 {
    font-size: 28px;
  }

  .gallery-hero {
    min-height: 350px;
  }

  .gallery-hero-content {
    padding: 22px 0;
  }

  .gallery-hero-content h1 {
    font-size: 38px;
  }

  .gallery-hero-content p:not(.eyebrow) {
    font-size: 18px;
  }

  .masonry-gallery {
    columns: 2 140px;
    column-gap: 10px;
  }

  .lightbox figure {
    width: min(calc(100% - 20px), 1120px);
  }

  .lightbox-nav {
    top: auto;
    bottom: 16px;
    transform: none;
    width: 42px;
    height: 52px;
  }

  .lightbox-prev {
    left: 12px;
  }

  .lightbox-next {
    right: 12px;
  }
}

/* ==== Enhanced Visual V11: Real Build V1 title color pass ==== */

/* 1) Bring back the Real Build V1-style yellow → orange → red glow in the hero title. */
.hero h1{
  color: transparent;
  background: linear-gradient(180deg, #f0d798 6%, #e0a75c 52%, #b84425 100%);
  -webkit-background-clip: text;
  background-clip: text;
  text-shadow:
    0 2px 0 rgba(52, 25, 8, .72),
    0 10px 28px rgba(0, 0, 0, .86),
    0 0 18px rgba(214, 153, 58, .16);
}

.hero h1 span{
  color: transparent;
  background: linear-gradient(180deg, #f3cf7b 0%, #de8b49 48%, #9c1520 100%);
  -webkit-background-clip: text;
  background-clip: text;
  text-shadow:
    0 2px 0 rgba(56, 0, 8, .82),
    0 0 20px rgba(214, 93, 44, .22),
    0 10px 26px rgba(0, 0, 0, .92);
}

/* 2) Use the same warmer yellow-gold family more consistently throughout the page. */
.section-heading h2,
.ornate-heading h2,
.park-copy h2,
.visit-card h2,
.countdown-copy h2,
.modal-card h2,
.gallery-hero-content h1,
.photo-card h3,
.new-card h3,
.about-card h3,
.partner-card strong,
.experience-card h3,
.card-kicker,
.ticket-lines,
.host-card strong,
.footer-copy strong,
summary{
  color: transparent;
  background: linear-gradient(180deg, #efd8a0 4%, #d7a75f 58%, #9c6a2d 100%);
  -webkit-background-clip: text;
  background-clip: text;
  text-shadow:
    0 1px 0 rgba(63, 34, 10, .72),
    0 8px 18px rgba(0, 0, 0, .44);
}

/* Keep the special red emphasis where it helps. */
.hero-brandline,
.night-card .card-kicker,
.night-card .price-row strong{
  color: #e04a52;
}

/* Slightly warm up the section gold accents and dividers. */
.section-heading::after,
.ornate-heading::after,
.section-heading::before,
.ornate-heading::before,
summary::after,
.countdown-divider{
  color: #d8aa60;
}

.site-nav a,
.button-ghost,
.button-outline,
.social-links a,
.provider-list a{
  color: #e0be7d;
}

/* 3) Countdown: make the large numbers red while keeping the smaller labels as-is. */
.countdown-unit strong{
  color: #cf3a44;
  text-shadow:
    0 1px 0 rgba(61, 0, 8, .78),
    0 0 16px rgba(151, 10, 26, .18),
    0 8px 18px rgba(0, 0, 0, .34);
}

/* Gallery hero gets the same title family too. */
.gallery-hero h1{
  color: transparent;
  background: linear-gradient(180deg, #f1d89f 6%, #dba25a 54%, #b44527 100%);
  -webkit-background-clip: text;
  background-clip: text;
  text-shadow:
    0 2px 0 rgba(52, 25, 8, .70),
    0 10px 28px rgba(0, 0, 0, .84),
    0 0 18px rgba(214, 153, 58, .14);
}

.gallery-hero h1 span{
  color: #e3c88f;
}

/* ==== Enhanced Visual V12: brighter Real Build V1 title palette pass ==== */

:root{
  --rb1-gold-top:#e4c58d;
  --rb1-gold-mid:#b8894f;
  --rb1-gold-bottom:#795124;
  --rb1-red-top:#d84643;
  --rb1-red-mid:#9f171d;
  --rb1-red-bottom:#6d0b11;
}

/* Hero title: match Real Build V1 more closely. */
.hero h1{
  color:transparent;
  background:linear-gradient(180deg,var(--rb1-gold-top),var(--rb1-gold-mid) 62%,var(--rb1-gold-bottom));
  -webkit-background-clip:text;
  background-clip:text;
  text-shadow:0 2px 0 rgba(0,0,0,.22), 0 8px 22px rgba(0,0,0,.82), 0 0 18px rgba(209,155,82,.14);
}
.hero h1 span{
  color:transparent;
  background:linear-gradient(180deg,var(--rb1-red-top),var(--rb1-red-mid) 65%,var(--rb1-red-bottom));
  -webkit-background-clip:text;
  background-clip:text;
  text-shadow:0 2px 0 rgba(57,0,8,.78), 0 6px 14px rgba(124,0,0,.20), 0 10px 24px rgba(0,0,0,.88);
}

/* Use the brighter Real Build V1 gold family consistently across all titles. */
.section-heading h2,
.ornate-heading h2,
.park-copy h2,
.visit-card h2,
.countdown-copy h2,
.modal-card h2,
.gallery-hero-content h1,
.photo-card h3,
.new-card h3,
.about-card h3,
.partner-card strong,
.experience-card h3,
.card-kicker,
.ticket-lines,
.host-card strong,
.footer-copy strong,
summary,
.ticket-callout strong,
.provider-list a strong,
.date-card strong,
.price-row strong,
.countdown-unit strong,
.gallery-hero h1,
.visit-grid h2,
.park-copy h2,
.hero-brandline,
.partner-card .partner-name,
.footer-host strong{
  color:transparent !important;
  background:linear-gradient(180deg,var(--rb1-gold-top),var(--rb1-gold-mid) 62%,var(--rb1-gold-bottom));
  -webkit-background-clip:text;
  background-clip:text;
  text-shadow:0 2px 0 rgba(0,0,0,.20), 0 8px 18px rgba(0,0,0,.42);
}

/* Restore red special emphasis where it belongs. */
.hero-brandline,
.night-card .card-kicker,
.night-card .price-row strong,
.section-heading .eyebrow,
.ornate-heading .eyebrow,
.park-copy .eyebrow,
.visit-card .eyebrow,
.stay-connected .eyebrow,
.countdown-copy .eyebrow,
.modal-card .eyebrow,
.gallery-hero-content .eyebrow,
.date-card span,
.hero .eyebrow,
.gallery-hero .eyebrow{
  color:transparent !important;
  background:linear-gradient(180deg,var(--rb1-red-top),var(--rb1-red-mid) 65%,var(--rb1-red-bottom));
  -webkit-background-clip:text;
  background-clip:text;
  text-shadow:0 2px 0 rgba(57,0,8,.52), 0 4px 12px rgba(0,0,0,.28);
}

/* Countdown numbers: keep them red, but use the brighter Real Build V1 red. */
.countdown-unit strong{
  background:linear-gradient(180deg,var(--rb1-red-top),var(--rb1-red-mid) 65%,var(--rb1-red-bottom));
  -webkit-background-clip:text;
  background-clip:text;
  text-shadow:0 1px 0 rgba(61,0,8,.72), 0 0 14px rgba(151,10,26,.12), 0 8px 18px rgba(0,0,0,.34);
}

/* Keep the small countdown labels unchanged and readable. */
.countdown-unit span{
  color:#a99d92;
  background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
  text-shadow:none;
}

/* Make sure secondary key headings missed in V11 get the same brighter treatment. */
.experience-card .day-title,
.experience-card .night-title,
.new-card .card-title,
.about-card .card-title,
.partner-card .card-title,
.gallery-hero h1 span,
.footer-copy .site-title,
.ticket-callout .ticket-title,
.park-logo-panel + .park-copy h2,
.lightbox figcaption{
  color:transparent;
  background:linear-gradient(180deg,var(--rb1-gold-top),var(--rb1-gold-mid) 62%,var(--rb1-gold-bottom));
  -webkit-background-clip:text;
  background-clip:text;
}

/* ==== Enhanced Visual V13: slight brightness lift for title gradients ==== */

:root{
  --rb1-gold-top:#edd4a3;
  --rb1-gold-mid:#c69758;
  --rb1-gold-bottom:#885827;
  --rb1-red-top:#e2544e;
  --rb1-red-mid:#b31f24;
  --rb1-red-bottom:#7c0f14;
}

.hero h1,
.hero h1 span,
.section-heading h2,
.ornate-heading h2,
.park-copy h2,
.visit-card h2,
.countdown-copy h2,
.modal-card h2,
.gallery-hero-content h1,
.photo-card h3,
.new-card h3,
.about-card h3,
.partner-card strong,
.experience-card h3,
.card-kicker,
.ticket-lines,
.host-card strong,
.footer-copy strong,
summary,
.ticket-callout strong,
.provider-list a strong,
.date-card strong,
.price-row strong,
.countdown-unit strong,
.gallery-hero h1,
.visit-grid h2,
.hero-brandline,
.lightbox figcaption,
.section-heading .eyebrow,
.ornate-heading .eyebrow,
.park-copy .eyebrow,
.visit-card .eyebrow,
.stay-connected .eyebrow,
.countdown-copy .eyebrow,
.modal-card .eyebrow,
.gallery-hero-content .eyebrow,
.date-card span,
.hero .eyebrow,
.gallery-hero .eyebrow{
  filter: brightness(1.07);
}

/* Slightly stronger glow to help the brighter text read better. */
.hero h1{
  text-shadow:0 2px 0 rgba(0,0,0,.20), 0 8px 22px rgba(0,0,0,.80), 0 0 20px rgba(228,178,92,.18);
}
.hero h1 span{
  text-shadow:0 2px 0 rgba(57,0,8,.70), 0 6px 14px rgba(124,0,0,.20), 0 10px 24px rgba(0,0,0,.86), 0 0 14px rgba(219,84,78,.12);
}
.section-heading h2,
.ornate-heading h2,
.park-copy h2,
.visit-card h2,
.countdown-copy h2,
.modal-card h2,
.gallery-hero-content h1,
.photo-card h3,
.new-card h3,
.about-card h3,
.partner-card strong,
.experience-card h3,
.card-kicker,
.ticket-lines,
.host-card strong,
.footer-copy strong,
summary,
.ticket-callout strong,
.provider-list a strong,
.date-card strong,
.price-row strong,
.countdown-unit strong,
.gallery-hero h1,
.visit-grid h2{
  text-shadow:0 2px 0 rgba(0,0,0,.18), 0 8px 18px rgba(0,0,0,.38), 0 0 12px rgba(226,181,96,.08);
}

/* ==== Enhanced Visual V14: Real Build V1 brightness match + mobile countdown fix ==== */

:root{
  --rb1-gold-top:#e4c58d;
  --rb1-gold-mid:#b8894f;
  --rb1-gold-bottom:#795124;
  --rb1-red-top:#d84643;
  --rb1-red-mid:#9f171d;
  --rb1-red-bottom:#6d0b11;
}

/* Match Real Build V1 title colors more closely and reduce the heavy darkness. */
.hero h1,
.section-heading h2,
.ornate-heading h2,
.park-copy h2,
.visit-card h2,
.countdown-copy h2,
.modal-card h2,
.gallery-hero-content h1,
.photo-card h3,
.new-card h3,
.about-card h3,
.partner-card strong,
.experience-card h3,
.card-kicker,
.ticket-lines,
.host-card strong,
.footer-copy strong,
summary,
.ticket-callout strong,
.provider-list a strong,
.date-card strong,
.price-row strong,
.gallery-hero h1,
.visit-grid h2,
.lightbox figcaption{
  filter:none;
  color:transparent !important;
  background:linear-gradient(180deg,var(--rb1-gold-top),var(--rb1-gold-mid) 62%,var(--rb1-gold-bottom));
  -webkit-background-clip:text;
  background-clip:text;
  text-shadow:
    0 2px 0 rgba(0,0,0,.22),
    0 6px 14px rgba(0,0,0,.22),
    0 0 10px rgba(228,197,141,.08);
}

.hero h1 span,
.hero-brandline,
.night-card .card-kicker,
.night-card .price-row strong,
.section-heading .eyebrow,
.ornate-heading .eyebrow,
.park-copy .eyebrow,
.visit-card .eyebrow,
.stay-connected .eyebrow,
.countdown-copy .eyebrow,
.modal-card .eyebrow,
.gallery-hero-content .eyebrow,
.date-card span,
.hero .eyebrow,
.gallery-hero .eyebrow{
  filter:none;
  color:transparent !important;
  background:linear-gradient(180deg,var(--rb1-red-top),var(--rb1-red-mid) 65%,var(--rb1-red-bottom));
  -webkit-background-clip:text;
  background-clip:text;
  text-shadow:
    0 2px 0 rgba(57,0,8,.30),
    0 4px 10px rgba(124,0,0,.14),
    0 0 10px rgba(216,70,67,.08);
}

/* Keep the special hero styling bright and close to Real Build V1. */
.hero h1{
  text-shadow:
    0 2px 0 rgba(0,0,0,.22),
    0 8px 18px rgba(0,0,0,.28),
    0 0 14px rgba(228,197,141,.12);
}
.hero h1 span{
  text-shadow:
    0 2px 0 rgba(57,0,8,.32),
    0 6px 12px rgba(124,0,0,.14),
    0 0 14px rgba(216,70,67,.12);
}

/* Countdown numbers stay red, but brighter and cleaner. */
.countdown-unit strong{
  filter:none;
  color:transparent !important;
  background:linear-gradient(180deg,var(--rb1-red-top),var(--rb1-red-mid) 65%,var(--rb1-red-bottom));
  -webkit-background-clip:text;
  background-clip:text;
  text-shadow:
    0 1px 0 rgba(61,0,8,.26),
    0 4px 10px rgba(0,0,0,.20),
    0 0 10px rgba(216,70,67,.10);
}
.countdown-unit span{
  color:#a99d92;
  background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
  text-shadow:none;
}

/* Mobile countdown fix: cleaner responsive layout on phones. */
@media (max-width: 860px){
  .countdown-shell{
    padding-left:16px;
    padding-right:16px;
  }
  .countdown-clock{
    justify-content:center;
    gap:8px;
  }
  .countdown-unit{
    width:72px;
    min-height:72px;
  }
  .countdown-unit strong{font-size:27px}
  .countdown-unit span{font-size:8px;letter-spacing:.11em}
}

@media (max-width: 640px){
  .countdown-clock{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 92px));
    justify-content:center;
    gap:10px;
    width:100%;
    max-width:220px;
    margin-inline:auto;
  }
  .countdown-divider{
    display:none;
  }
  .countdown-unit{
    width:auto;
    min-width:0;
    min-height:78px;
    padding:8px 6px;
  }
  .countdown-unit strong{
    font-size:28px;
  }
  .countdown-unit span{
    font-size:8px;
    letter-spacing:.12em;
  }
}

@media (max-width: 420px){
  .countdown-copy h2{
    font-size:24px;
  }
  .countdown-clock{
    grid-template-columns:repeat(2, minmax(0, 84px));
    max-width:198px;
    gap:8px;
  }
  .countdown-unit{
    min-height:72px;
  }
  .countdown-unit strong{font-size:25px}
  .countdown-unit span{font-size:7px}
}

/* ==== Enhanced Visual V15: brighter hero palette + medieval IF YOU DARE ==== */

:root{
  --rb1-gold-top:#f1dcaf;
  --rb1-gold-mid:#d2a869;
  --rb1-gold-bottom:#92622f;
  --rb1-red-top:#ee6660;
  --rb1-red-mid:#c52d31;
  --rb1-red-bottom:#8d151b;
}

/* Make ENTER and IF YOU DARE share the same medieval family, with brighter color. */
.hero h1{
  font-family:"Cinzel", Georgia, "Times New Roman", serif !important;
  font-weight:700;
  letter-spacing:.01em;
  line-height:.90;
  color:transparent !important;
  background:linear-gradient(180deg, var(--rb1-gold-top) 0%, var(--rb1-gold-mid) 60%, var(--rb1-gold-bottom) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  text-shadow:
    0 2px 0 rgba(0,0,0,.18),
    0 6px 14px rgba(0,0,0,.24),
    0 0 14px rgba(241,220,175,.14);
}
.hero h1 span{
  display:inline-block;
  margin-top:8px;
  font-family:"Cinzel", Georgia, "Times New Roman", serif !important;
  font-weight:700;
  font-size:.66em;
  letter-spacing:.02em;
  line-height:.92;
  color:transparent !important;
  background:linear-gradient(180deg, var(--rb1-red-top) 0%, var(--rb1-red-mid) 62%, var(--rb1-red-bottom) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  text-shadow:
    0 2px 0 rgba(55, 0, 8, .22),
    0 5px 12px rgba(0,0,0,.22),
    0 0 14px rgba(238,102,96,.14);
}

/* Brighten the rest of the page titles to match the updated hero better. */
.section-heading h2,
.ornate-heading h2,
.park-copy h2,
.visit-card h2,
.countdown-copy h2,
.modal-card h2,
.gallery-hero-content h1,
.photo-card h3,
.new-card h3,
.about-card h3,
.partner-card strong,
.experience-card h3,
.card-kicker,
.ticket-lines,
.host-card strong,
.footer-copy strong,
summary,
.ticket-callout strong,
.provider-list a strong,
.date-card strong,
.price-row strong,
.gallery-hero h1,
.visit-grid h2,
.lightbox figcaption{
  color:transparent !important;
  background:linear-gradient(180deg, var(--rb1-gold-top) 0%, var(--rb1-gold-mid) 60%, var(--rb1-gold-bottom) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  text-shadow:
    0 2px 0 rgba(0,0,0,.16),
    0 5px 12px rgba(0,0,0,.18),
    0 0 10px rgba(241,220,175,.08);
}

.section-heading .eyebrow,
.ornate-heading .eyebrow,
.park-copy .eyebrow,
.visit-card .eyebrow,
.stay-connected .eyebrow,
.countdown-copy .eyebrow,
.modal-card .eyebrow,
.gallery-hero-content .eyebrow,
.date-card span,
.hero .eyebrow,
.gallery-hero .eyebrow,
.hero-brandline,
.night-card .card-kicker,
.night-card .price-row strong{
  color:transparent !important;
  background:linear-gradient(180deg, var(--rb1-red-top) 0%, var(--rb1-red-mid) 62%, var(--rb1-red-bottom) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  text-shadow:
    0 1px 0 rgba(55,0,8,.18),
    0 4px 10px rgba(0,0,0,.18),
    0 0 10px rgba(238,102,96,.08);
}

/* Countdown numbers stay red and bright. */
.countdown-unit strong{
  color:transparent !important;
  background:linear-gradient(180deg, var(--rb1-red-top) 0%, var(--rb1-red-mid) 62%, var(--rb1-red-bottom) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  text-shadow:
    0 1px 0 rgba(55,0,8,.18),
    0 4px 10px rgba(0,0,0,.16),
    0 0 10px rgba(238,102,96,.08);
}

/* Keep mobile countdown behavior from V14 intact, with a touch more spacing. */
@media (max-width: 640px){
  .countdown-clock{
    grid-template-columns:repeat(2, minmax(0, 94px));
    max-width:226px;
    gap:10px;
  }
  .countdown-unit{
    min-height:80px;
  }
}


/* ==== Enhanced Visual V16: brighter hero image + mobile FAQ repair ==== */

/* Hero: keep the atmosphere, but stop the fog/shade from making the attraction image too dark. */
.hero-backdrop{
  filter:blur(14px) saturate(.98) contrast(1.02) brightness(.76);
  opacity:.82;
}

.hero-photo{
  filter:saturate(.98) contrast(1.06) brightness(.92) drop-shadow(0 30px 50px rgba(0,0,0,.38));
}

.hero-shade{
  background:
    linear-gradient(90deg,
      #060304 0%,
      rgba(6,3,4,.97) 17%,
      rgba(6,3,4,.78) 39%,
      rgba(6,3,4,.22) 66%,
      rgba(6,3,4,.08) 100%),
    linear-gradient(0deg,#090506 0%,rgba(9,5,6,.10) 34%,transparent 70%),
    radial-gradient(circle at 19% 42%,rgba(161,24,39,.10),transparent 28%),
    radial-gradient(circle at 72% 22%,rgba(223,132,58,.08),transparent 22%);
}

/* Real fog stays visible around the edges, but is lighter over the hero artwork. */
.hero .fog{
  opacity:.25;
  mix-blend-mode:screen;
}
.hero .fog-one{
  opacity:.30;
}
.hero .fog-two{
  opacity:.20;
}

/* Keep the page-edge fog from visually washing over the hero too strongly. */
.hero{
  isolation:isolate;
}

/* FAQ: use a reliable solid color for the question itself.
   This avoids background-clip text disappearing on some mobile browsers. */
.faq-list summary,
.faq-list summary:visited,
.faq-list details[open] summary{
  color:#efd19a !important;
  -webkit-text-fill-color:#efd19a !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,0));
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
  text-shadow:0 2px 0 rgba(0,0,0,.18),0 5px 12px rgba(0,0,0,.22);
}

.faq-list summary::after{
  color:#d9ad66 !important;
  -webkit-text-fill-color:#d9ad66 !important;
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
}

@media (max-width: 860px){
  .hero-photo{
    filter:saturate(.98) contrast(1.04) brightness(.94) drop-shadow(0 20px 36px rgba(0,0,0,.30));
  }

  .hero-shade{
    background:
      linear-gradient(0deg,
        #080506 2%,
        rgba(8,5,6,.91) 32%,
        rgba(8,5,6,.36) 62%,
        rgba(8,5,6,.12) 100%);
  }

  .hero .fog-one{opacity:.22}
  .hero .fog-two{opacity:.14}

  .faq-list summary{
    display:block;
    min-height:58px;
    padding:18px 50px 18px 18px;
    font-size:16px;
    line-height:1.35;
    text-align:left;
  }
  .faq-list summary::after{
    top:13px;
    right:16px;
  }
}

@media (max-width: 480px){
  .faq-list summary{
    padding:17px 46px 17px 16px;
    font-size:15px;
    line-height:1.4;
  }
  .faq-list details p{
    padding:14px 16px 18px;
    font-size:13px;
    line-height:1.6;
    text-align:left;
  }
}


/* ==== V17 Publishing Candidate: desktop Attractions centering ==== */

/* Center the content in the "What Waits Inside" attraction cards on desktop. */
#attractions .photo-card-copy{
  text-align:center;
  align-items:center;
  justify-items:center;
}

#attractions .photo-card h3,
#attractions .photo-card p{
  margin-left:auto;
  margin-right:auto;
}

#attractions .photo-card p{
  max-width:30ch;
}

/* Keep images themselves full-width and visually balanced. */
#attractions .photo-wrap{
  margin-left:12px;
  margin-right:12px;
}

@media (max-width: 640px){
  #attractions .photo-wrap{
    margin-left:10px;
    margin-right:10px;
  }
}


/* ==== Cloudflare Ready V2: responsive partner logo sizing ==== */

/*
  Partner logos should preserve their complete artwork rather than filling
  the plaque. Width/height are automatic and the plaque provides padding.
*/
#partners .partner-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  height:150px;
  padding:14px;
  overflow:hidden;
}

#partners .partner-logo img{
  display:block;
  width:auto !important;
  height:auto !important;
  max-width:90% !important;
  max-height:90% !important;
  object-fit:contain !important;
  object-position:center !important;
  flex:0 0 auto;
}

/* Beach Booster's source artwork reaches close to its image edges.
   Give it a little more usable space without allowing it to crop. */
#partners .partner-logo img[src*="partner-beachbooster"]{
  max-width:96% !important;
  max-height:96% !important;
}

/* Oasis is slightly wider than square, so let it use the plaque width. */
#partners .partner-logo img[src*="partner-oasis-ontario"]{
  max-width:94% !important;
}

/* Woodland Beach Market is portrait-oriented; prioritize its height. */
#partners .partner-logo img[src*="partner-woodland-beach-market"]{
  max-width:78% !important;
  max-height:94% !important;
}

@media (max-width:1100px){
  #partners .partner-logo{
    height:160px;
    padding:16px;
  }
}

@media (max-width:860px){
  #partners .partner-card{
    width:100%;
    max-width:560px;
    margin-inline:auto;
  }

  #partners .partner-logo{
    width:100%;
    height:auto;
    min-height:180px;
    aspect-ratio:16 / 9;
    padding:18px 22px;
  }

  #partners .partner-logo img{
    max-width:88% !important;
    max-height:86% !important;
  }

  #partners .partner-logo img[src*="partner-beachbooster"]{
    max-width:94% !important;
    max-height:92% !important;
  }

  #partners .partner-logo img[src*="partner-oasis-ontario"]{
    max-width:92% !important;
  }

  #partners .partner-logo img[src*="partner-woodland-beach-market"]{
    max-width:64% !important;
    max-height:91% !important;
  }
}

@media (max-width:480px){
  #partners .partner-logo{
    min-height:160px;
    padding:16px 18px;
  }

  #partners .partner-logo img{
    max-width:90% !important;
    max-height:88% !important;
  }

  #partners .partner-logo img[src*="partner-beachbooster"]{
    max-width:96% !important;
    max-height:94% !important;
  }

  #partners .partner-logo img[src*="partner-woodland-beach-market"]{
    max-width:68% !important;
    max-height:92% !important;
  }
}


/* ==== Cloudflare Ready V3: remove extra ornamental medieval flare ==== */

/* Keep the medieval typography/colors, but remove decorative corner overlays
   and extra ornamental seams that can look misaligned at different sizes. */
.section-heading::after,
.ornate-heading::after,
.section-heading::before,
.ornate-heading::before{
  content:none !important;
  display:none !important;
}

.experience-grid::after,
.attraction-grid::after,
.about-grid::after,
.new-grid::after,
.partner-grid::after,
.date-layout::after,
.faq-list::before{
  content:none !important;
  display:none !important;
}

/* Remove decorative pseudo-frame corners added around cards/panels. */
.about-card::after,
.partner-card::after,
.ticket-callout::after,
.visit-card::after,
.stay-connected::after,
.host-card::after,
details::after,
.date-card::after,
.park-feature::after,
.modal-card::after,
.countdown-shell::after{
  content:none !important;
  display:none !important;
}

/* Keep a single clean border/frame instead of layered inset outlines. */
.experience-card,
.photo-card,
.new-card,
.about-card,
.partner-card,
.ticket-callout,
.visit-card,
.stay-connected,
.host-card,
details,
.date-card,
.park-feature,
.gallery-tile,
.home-trailer-card,
.home-thumb,
.modal-card,
.countdown-shell{
  box-shadow:
    0 18px 42px rgba(0,0,0,.38),
    inset 0 0 0 1px rgba(255,239,204,.025) !important;
}

/* Clean, consistent border strength across desktop/tablet/mobile. */
.experience-card,
.photo-card,
.new-card,
.about-card,
.partner-card,
.ticket-callout,
.visit-card,
.stay-connected,
.host-card,
details,
.date-card,
.park-feature,
.gallery-tile,
.home-trailer-card,
.home-thumb,
.modal-card{
  border-color:rgba(184,146,79,.34) !important;
}

/* Preserve the experience-card image shading while avoiding an extra frame. */
.experience-card::after{
  content:"" !important;
  display:block !important;
  position:absolute;
  inset:0 !important;
  pointer-events:none;
  border:0 !important;
  border-radius:inherit;
  background:
    linear-gradient(180deg, rgba(0,0,0,0) 12%, rgba(0,0,0,.08) 38%, rgba(0,0,0,.28) 72%, rgba(0,0,0,.50) 100%),
    linear-gradient(90deg, rgba(0,0,0,.14), rgba(0,0,0,0) 38%, rgba(0,0,0,.10) 100%) !important;
  box-shadow:inset 0 0 38px rgba(0,0,0,.22), inset 0 -70px 82px rgba(0,0,0,.32) !important;
  z-index:1;
}

.experience-card > *{
  position:relative;
  z-index:2;
}

/* Keep partner logo improvements from V2 intact. */
#partners .partner-logo{
  border-color:rgba(184,146,79,.22);
  box-shadow:inset 0 0 18px rgba(0,0,0,.18);
}
