    :root{
        --bg:#050505;
        --bg-2:#0a0a0a;
        --card:#0d0d0f;
        --card-2:#101014;
        --blue:#005ce6;
        --blue-light:#3385ff;
        --silver:#c8ccd4;
        --text:#e8eaee;
        --muted:#9aa0aa;
        --line:rgba(255,255,255,0.08);
    }
    *{box-sizing:border-box;margin:0;padding:0;}
    html{scroll-behavior:smooth;}
    body{
        font-family:'Helvetica Neue',Arial,sans-serif;
        background:var(--bg);
        color:var(--text);
        line-height:1.6;
        overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none;}
    .wrap{max-width:1200px;margin:0 auto;padding:0 24px;}
    .blue{color:var(--blue-light);}

    /* Hexagon texture used across dark sections */
    .hex-bg{
        background-color:var(--bg);
        background-image:
            radial-gradient(circle at 15% 20%, rgba(0,92,230,0.10), transparent 45%),
            radial-gradient(circle at 85% 0%, rgba(0,92,230,0.08), transparent 40%),
            url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='100' viewBox='0 0 56 100'%3E%3Cpath d='M28 66L0 50V16L28 0l28 16v34L28 66zM28 100L0 84V50l28 16 28-16v34L28 100z' fill='none' stroke='%23151a24' stroke-width='1'/%3E%3C/svg%3E");
    }

    /* ---------- Header ---------- */
    header{
        position:sticky;top:0;z-index:50;
        background:rgba(5,5,5,0.85);
        backdrop-filter:blur(10px);
        border-bottom:1px solid var(--line);
    }
    .nav{display:flex;align-items:center;justify-content:space-between;height:74px;}
    .brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:1px;font-size:1.15rem;text-transform:uppercase;}
    .brand img{height:44px;width:auto;}
    .nav-links{display:flex;gap:32px;align-items:center;}
    .nav-links a{color:var(--muted);font-size:.9rem;letter-spacing:1px;text-transform:uppercase;transition:color .2s;}
    .nav-links a:hover{color:var(--text);}
    .btn{
        display:inline-flex;align-items:center;gap:9px;
        background:var(--blue);color:#fff;font-weight:700;
        padding:12px 22px;border-radius:8px;letter-spacing:.5px;
        transition:transform .15s, box-shadow .2s, background .2s;
        box-shadow:0 6px 20px rgba(0,92,230,.25);
    }
    .btn:hover{background:var(--blue-light);transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,92,230,.4);}
    .btn svg{width:18px;height:18px;}
    .nav-toggle{display:none;background:none;border:0;color:#fff;cursor:pointer;}

    /* ---------- Hero ---------- */
    .hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);}
    .hero-inner{display:flex;align-items:center;min-height:88vh;padding:70px 0;gap:40px;}
    .hero-copy{max-width:640px;}
    .eyebrow{display:inline-block;color:var(--blue-light);letter-spacing:3px;text-transform:uppercase;font-size:.8rem;font-weight:700;margin-bottom:18px;border-left:3px solid var(--blue);padding-left:12px;}
    .hero h1{font-size:clamp(2.4rem,6vw,4.2rem);line-height:1.05;text-transform:uppercase;letter-spacing:1px;margin-bottom:20px;font-weight:800;}
    .hero h1 .light{color:var(--silver);font-weight:300;}
    .hero p.lead{font-size:1.15rem;color:var(--muted);max-width:520px;margin-bottom:16px;}
    .badges{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 32px;}
    .badge{border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:.82rem;letter-spacing:1px;text-transform:uppercase;color:var(--silver);background:rgba(255,255,255,.02);}
    .badge b{color:var(--blue-light);}
    .hero-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
    .btn-ghost{border:1px solid var(--line);padding:12px 22px;border-radius:8px;color:var(--text);letter-spacing:.5px;transition:border-color .2s,background .2s;}
    .btn-ghost:hover{border-color:var(--blue);background:rgba(0,92,230,.08);}
    .hero-glow{position:absolute;right:-10%;top:50%;transform:translateY(-50%);width:620px;height:620px;background:radial-gradient(circle,rgba(0,92,230,.22),transparent 62%);filter:blur(20px);pointer-events:none;}

    /* ---------- Section shell ---------- */
    section{padding:88px 0;}
    .section-head{text-align:center;max-width:720px;margin:0 auto 56px;}
    .section-head .eyebrow{border:0;padding:0;}
    .section-head h2{font-size:clamp(1.9rem,4vw,2.7rem);text-transform:uppercase;letter-spacing:1px;font-weight:800;margin-bottom:14px;}
    .section-head p{color:var(--muted);font-size:1.05rem;}
    .rule{width:60px;height:3px;background:var(--blue);margin:16px auto 0;border-radius:2px;}

    /* ---------- Services (from flyer) ---------- */
    .services{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
    .service{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:36px 30px;text-align:center;transition:transform .2s,border-color .2s,box-shadow .2s;}
    .service:hover{transform:translateY(-4px);border-color:rgba(0,92,230,.5);box-shadow:0 14px 40px rgba(0,92,230,.15);}
    .service .ico{width:60px;height:60px;margin:0 auto 20px;color:var(--blue-light);}
    .service h3{text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;font-size:1.15rem;}
    .service p{color:var(--muted);font-size:.98rem;}

    /* ---------- Pricing ---------- */
    .pricing{background:var(--bg-2);}
    .price-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
    .price-card{position:relative;background:linear-gradient(180deg,var(--card-2),var(--card));border:1px solid var(--line);border-radius:14px;padding:28px 22px;display:flex;flex-direction:column;transition:transform .2s,border-color .2s,box-shadow .2s;}
    .price-card:hover{transform:translateY(-5px);border-color:rgba(0,92,230,.55);box-shadow:0 16px 44px rgba(0,92,230,.18);}
    .price-card.feature{border-color:rgba(0,92,230,.6);box-shadow:0 0 0 1px rgba(0,92,230,.35),0 18px 50px rgba(0,92,230,.22);}
    .tag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--blue);color:#fff;font-size:.66rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:5px 12px;border-radius:999px;white-space:nowrap;}
    .price-card h3{text-transform:uppercase;letter-spacing:.5px;font-size:1.02rem;margin-bottom:4px;min-height:2.4em;display:flex;align-items:center;}
    .price-card .from{color:var(--muted);font-size:.72rem;letter-spacing:2px;text-transform:uppercase;}
    .price-card .amt{font-size:2.3rem;font-weight:800;color:#fff;margin:2px 0 2px;}
    .price-card .seat{color:var(--blue-light);font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:18px;}
    .price-card ul{list-style:none;margin-top:auto;border-top:1px solid var(--line);padding-top:16px;}
    .price-card li{position:relative;padding-left:22px;margin-bottom:9px;font-size:.9rem;color:var(--text);}
    .price-card li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;background:var(--blue);border-radius:50%;box-shadow:0 0 8px rgba(0,92,230,.7);}
    .price-card .book{margin-top:20px;text-align:center;border:1px solid var(--line);border-radius:8px;padding:10px;font-size:.82rem;letter-spacing:1px;text-transform:uppercase;color:var(--silver);transition:background .2s,border-color .2s,color .2s;}
    .price-card .book:hover{background:var(--blue);border-color:var(--blue);color:#fff;}

    /* Seater pricing strip */
    .seater{margin-top:32px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:26px 30px;display:flex;align-items:center;flex-wrap:wrap;gap:20px;justify-content:space-between;}
    .seater .lead-txt{max-width:280px;}
    .seater .lead-txt b{color:#fff;}
    .seater .lead-txt span{display:block;color:var(--blue-light);font-size:.85rem;margin-top:4px;}
    .seater .tiers{display:flex;flex-wrap:wrap;gap:14px;}
    .tier{background:var(--bg-2);border:1px solid var(--line);border-radius:10px;padding:12px 18px;text-align:center;min-width:96px;}
    .tier .n{font-size:.72rem;letter-spacing:1px;color:var(--muted);text-transform:uppercase;}
    .tier .p{font-size:1.25rem;font-weight:800;color:#fff;}
    .tier .p b{color:var(--blue-light);}

    /* ---------- Why choose ---------- */
    .why{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
    .why-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:32px 28px;}
    .why-card .ico{width:44px;height:44px;color:var(--blue-light);margin-bottom:16px;}
    .why-card h3{text-transform:uppercase;letter-spacing:.5px;font-size:1.05rem;margin-bottom:8px;}
    .why-card p{color:var(--muted);font-size:.96rem;}

    /* ---------- Areas ---------- */
    .areas-grid{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:820px;margin:0 auto;}
    .area-chip{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:11px 22px;font-size:.95rem;letter-spacing:.5px;color:var(--text);transition:border-color .2s,background .2s,transform .15s;}
    .area-chip:hover{border-color:var(--blue);background:rgba(0,92,230,.1);transform:translateY(-2px);}
    .areas-note{text-align:center;color:var(--muted);margin-top:26px;font-size:.98rem;}
    .areas-note a{color:var(--blue-light);font-weight:700;}

    /* ---------- FAQ ---------- */
    .faq{max-width:820px;margin:0 auto;}
    .faq-item{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:14px;overflow:hidden;transition:border-color .2s;}
    .faq-item[open]{border-color:rgba(0,92,230,.5);}
    .faq-item summary{list-style:none;cursor:pointer;padding:20px 26px;font-weight:700;font-size:1.02rem;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:16px;}
    .faq-item summary::-webkit-details-marker{display:none;}
    .faq-item summary::after{content:"+";color:var(--blue-light);font-size:1.5rem;font-weight:400;line-height:1;transition:transform .2s;}
    .faq-item[open] summary::after{transform:rotate(45deg);}
    .faq-item p{padding:0 26px 22px;color:var(--muted);font-size:.98rem;}

    /* ---------- CTA band ---------- */
    .band{background:linear-gradient(90deg,var(--blue),#0047b3);text-align:center;padding:64px 24px;}
    .band h2{font-size:clamp(1.7rem,4vw,2.6rem);text-transform:uppercase;letter-spacing:1px;color:#fff;margin-bottom:10px;font-weight:800;}
    .band p{color:rgba(255,255,255,.85);margin-bottom:26px;font-size:1.05rem;}
    .band .btn{background:#fff;color:var(--blue);box-shadow:0 8px 26px rgba(0,0,0,.3);}
    .band .btn:hover{background:#f0f4ff;}

    /* ---------- Contact ---------- */
    .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
    .contact-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:44px 40px;}
    .contact-card h2{text-transform:uppercase;letter-spacing:1px;font-size:2rem;margin-bottom:8px;}
    .contact-card p{color:var(--muted);margin-bottom:26px;}
    .wa-line{display:flex;align-items:center;gap:16px;background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:18px 22px;margin-bottom:18px;transition:border-color .2s,background .2s;}
    .wa-line:hover{border-color:#25D366;background:rgba(37,211,102,.06);}
    .wa-line .wa-ico{width:44px;height:44px;flex:0 0 44px;color:#25D366;}
    .wa-line .num{font-size:1.6rem;font-weight:800;letter-spacing:1px;color:#fff;}
    .wa-line small{display:block;color:var(--muted);font-size:.78rem;letter-spacing:2px;text-transform:uppercase;font-weight:400;}
    .hours{color:var(--muted);font-size:.92rem;}
    .hours b{color:var(--text);}
    .contact-side{text-align:center;}
    .contact-side img{max-width:260px;width:70%;margin:0 auto;filter:drop-shadow(0 0 30px rgba(0,92,230,.35));}
    .contact-side .tag-line{margin-top:18px;color:var(--muted);letter-spacing:2px;text-transform:uppercase;font-size:.82rem;}

    /* ---------- Footer ---------- */
    footer{border-top:1px solid var(--line);padding:40px 0;text-align:center;}
    .foot-brand{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:14px;}
    .foot-brand img{height:38px;}
    .foot-brand span{font-weight:700;letter-spacing:1px;text-transform:uppercase;}
    footer p{color:var(--muted);font-size:.86rem;}
    footer .heart{color:var(--blue-light);}

    /* ---------- Responsive ---------- */
    @media(max-width:960px){
        .price-grid{grid-template-columns:repeat(2,1fr);}
        .services,.why{grid-template-columns:1fr;}
        .contact-grid{grid-template-columns:1fr;}
        .contact-side{order:-1;}
    }
    @media(max-width:760px){
        .nav-links{
            position:absolute;top:74px;left:0;right:0;
            flex-direction:column;gap:0;background:rgba(5,5,5,.98);
            border-bottom:1px solid var(--line);
            max-height:0;overflow:hidden;transition:max-height .3s;
        }
        .nav-links.open{max-height:400px;}
        .nav-links a{padding:16px 24px;width:100%;border-top:1px solid var(--line);}
        .nav-links .btn{margin:16px 24px;justify-content:center;}
        .nav-toggle{display:block;}
        .hero-inner{min-height:auto;}
    }
    @media(max-width:560px){
        .price-grid{grid-template-columns:1fr;}
        .contact-card{padding:32px 24px;}
    }

    /* ---------- Breadcrumb / town pages ---------- */
    .crumb{padding:14px 0;font-size:.85rem;color:var(--muted);}
    .crumb a{color:var(--muted);}
    .crumb a:hover{color:var(--blue-light);}
    .crumb span{color:var(--silver);}
    .prose{max-width:820px;margin:0 auto;}
    .prose p{color:var(--muted);font-size:1.05rem;margin-bottom:18px;}
    .prose h2{font-size:clamp(1.6rem,3.5vw,2.2rem);text-transform:uppercase;letter-spacing:.5px;margin:10px 0 14px;}
    .prose strong{color:var(--text);}
    .town-links{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:8px;}
    .town-links a{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:10px 20px;font-size:.92rem;color:var(--text);transition:border-color .2s,background .2s,transform .15s;}
    .town-links a:hover{border-color:var(--blue);background:rgba(0,92,230,.1);transform:translateY(-2px);}
