
/* Smiley Town · Grand Edition visual and interaction upgrade */
:root{
  --grand-black:#030303; --grand-black-2:#090806; --grand-panel:#120e0a; --grand-panel-2:#1b140d;
  --grand-gold:#d7ae62; --grand-gold-bright:#fff1c8; --grand-gold-soft:#dec897; --grand-border:rgba(215,174,98,.22);
  --grand-cool:#9f9a8d; --grand-shadow:0 2rem 6rem rgba(0,0,0,.45); --grand-radius:2.25rem;
}
body{background:radial-gradient(circle at 50% -8%,rgba(215,174,98,.16),transparent 30rem),radial-gradient(circle at 90% 12%,rgba(255,232,180,.07),transparent 24rem),linear-gradient(180deg,#030303 0,#090806 28%,#0d0a07 60%,#030303 100%)}
.site-header{background:linear-gradient(180deg,rgba(3,3,3,.98),rgba(14,10,6,.92));border-bottom:1px solid var(--grand-border)}
.dream-hero{min-height:calc(100svh - var(--header-h));display:grid;align-items:center;background:radial-gradient(circle at 22% 10%,rgba(215,174,98,.24),transparent 26rem),radial-gradient(circle at 75% 30%,rgba(255,243,204,.10),transparent 20rem),linear-gradient(135deg,#030303 0,#120e0a 48%,#26190b 100%)}

.commerce-hero{background:linear-gradient(180deg,#070707,#100d0a 64%,#070707);border-bottom:1px solid rgba(215,174,98,.12)}
.hero h1{font-weight:700;letter-spacing:-.035em}.hero-lede{max-width:68ch;line-height:1.65;letter-spacing:-.01em}.hero-visual{position:relative}.hero-visual::before{content:"";position:absolute;width:75%;aspect-ratio:1;border-radius:999px;background:radial-gradient(circle,rgba(215,174,98,.22),transparent 62%);filter:blur(14px);z-index:-1}.hero-meta span{background:linear-gradient(180deg,rgba(27,20,13,.92),rgba(12,9,6,.92));border-color:rgba(215,174,98,.24)}
.solid-btn{background:linear-gradient(180deg,#fff1c8 0,#d7ae62 58%,#a87830 100%);box-shadow:0 .9rem 2.1rem rgba(215,174,98,.24), inset 0 1px rgba(255,255,255,.65)}
.ghost-btn,.quiet-btn{background:rgba(18,14,10,.88);border-color:rgba(215,174,98,.24)}
.info-card,.feature-card,.directory-card,.panel,.table-card,.story-card,.sidebar-card,.metric-card{background:linear-gradient(180deg,rgba(21,16,11,.98),rgba(10,8,6,.98));border:1px solid rgba(215,174,98,.18);box-shadow:0 1.4rem 3.4rem rgba(0,0,0,.34)}
.info-card:hover,.directory-card:hover,.feature-card:hover,.story-card:hover{transform:translateY(-4px);box-shadow:0 2rem 5rem rgba(0,0,0,.45);transition:transform .22s ease, box-shadow .22s ease}
.card-grid .info-card{min-height:13rem}.section-head h2{max-width:18ch;line-height:1.1}.story-slice{background:radial-gradient(circle at 30% 0,rgba(215,174,98,.16),transparent 24rem),linear-gradient(180deg,#0a0806,#15100b 52%,#080706)}
.grand-marquee{overflow:hidden;border-block:1px solid rgba(215,174,98,.18);background:#080706;color:#ead8af;white-space:nowrap}.grand-marquee div{display:inline-flex;gap:2rem;animation:grandScroll 30s linear infinite;padding:1rem 0}.grand-marquee span{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:#d7ae62}@keyframes grandScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.immersive-stage{position:relative;min-height:72vh;display:grid;align-items:end;overflow:hidden;border-radius:var(--grand-radius);background:radial-gradient(circle at 35% 20%,rgba(255,241,200,.18),transparent 20rem),radial-gradient(circle at 70% 70%,rgba(215,174,98,.16),transparent 25rem),linear-gradient(135deg,#050505,#1a1209 60%,#050505);border:1px solid rgba(215,174,98,.24);box-shadow:var(--grand-shadow);padding:var(--s4)}
.immersive-stage::before{content:"";position:absolute;inset:8% 5%;border:1px solid rgba(255,241,200,.16);border-radius:inherit;pointer-events:none}.immersive-stage h2{font-size:clamp(2.25rem,5vw,4.5rem);line-height:1.08;color:var(--heading);letter-spacing:-.035em;max-width:12ch;margin:0}.immersive-stage p{max-width:56ch;color:var(--muted);line-height:1.7}.immersive-stage .layer{position:relative;z-index:1}
.grand-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--s2)}.grand-tabs button{min-height:44px;border-radius:999px;border:1px solid rgba(215,174,98,.22);background:#15100b;color:#e8d7b1;padding:.7rem 1rem;font-weight:500}.grand-tabs button.is-active{background:linear-gradient(180deg,#fff1c8,#d7ae62);color:#1a1209;font-weight:600}
.grand-panel{display:none}.grand-panel.is-active{display:block}.grand-panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:var(--s2)}
.booking-widget,.route-widget,.calendar-widget,.support-widget,.filter-widget{background:linear-gradient(180deg,rgba(17,14,11,.98),rgba(9,8,7,.98));border:1px solid rgba(215,174,98,.22);border-radius:2rem;padding:var(--s3);box-shadow:var(--shadow)}
.booking-widget form,.route-widget form,.support-widget form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s1)}.booking-widget .wide,.route-widget .wide,.support-widget .wide{grid-column:1/-1}.estimate-output,.route-output-grand,.support-output,.calendar-output{margin-top:var(--s2);padding:var(--s2);border-radius:1.3rem;background:#0d0a07;border:1px solid rgba(215,174,98,.16);color:var(--gold-2)}.estimate-output strong{display:block;font-size:clamp(2rem,4vw,4rem);color:#fff1c8;letter-spacing:-.06em}.commerce-table td input,.commerce-table td select{width:100%}
.filter-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:var(--s2)}.filter-row button,.calendar-row button{min-height:44px;border:1px solid rgba(215,174,98,.22);background:#14100c;color:#ecdcb7;border-radius:999px;padding:.7rem 1rem;font-weight:500}.filter-row button.is-active,.calendar-row button.is-active{background:linear-gradient(180deg,#fff1c8,#d7ae62);color:#1a1209;font-weight:600}
.calendar-row{display:flex;gap:.6rem;overflow:auto;padding-bottom:.4rem}.event-card{display:grid;grid-template-columns:5rem 1fr;gap:1rem;padding:1rem;border-radius:1.2rem;background:#12100d;border:1px solid rgba(215,174,98,.16);margin-top:.8rem}.event-card time{color:#fff1c8;font-weight:600}.event-card h3{margin:0;color:var(--heading)}.event-card p{margin:.25rem 0;color:var(--muted);line-height:1.55}
.checkout-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:var(--s2)}.checkout-steps span{padding:.75rem;border-radius:1rem;text-align:center;background:#12100d;border:1px solid rgba(215,174,98,.14);color:var(--muted);font-size:.9rem}.checkout-steps span.is-active{background:linear-gradient(180deg,#fff1c8,#d7ae62);color:#1a1209;font-weight:600}
.premium-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(215,174,98,.42),transparent);margin-block:var(--s4)}
.enterprise-badge{display:inline-flex;min-height:2.2rem;align-items:center;border:1px solid rgba(215,174,98,.18);border-radius:999px;padding:.3rem .8rem;color:#cdbb95;background:#0d0a07;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.page-commerce .hero h1{font-size:clamp(2.5rem,5vw,5.4rem);max-width:12ch}.page-commerce .section-head h2{font-size:clamp(2rem,3.8vw,4.2rem);max-width:18ch}.page-commerce .info-card,.page-commerce .table-card,.page-commerce .sidebar-card,.page-commerce .panel{background:linear-gradient(180deg,#13110e,#0c0b09);border-color:rgba(215,174,98,.14)}
.grand-depth{border-top:1px solid rgba(215,174,98,.12);border-bottom:1px solid rgba(215,174,98,.12);background:linear-gradient(180deg,rgba(16,12,8,.5),rgba(5,5,5,.4))}
@media(max-width:760px){.immersive-stage{min-height:62vh;padding:var(--s3);border-radius:1.5rem}.booking-widget form,.route-widget form,.support-widget form{grid-template-columns:1fr}.checkout-steps{grid-template-columns:1fr 1fr}.event-card{grid-template-columns:1fr}.grand-marquee div{animation-duration:18s}.hero-meta{grid-template-columns:1fr}.card-grid .info-card{min-height:auto}}
