  :root{
    --ivory:#F9EFE1;
    --ivory-warm:#F1E3CD;
    --terracotta:#B5573D;
    --terracotta-dark:#8F4530;
    --teal:#1F5C4E;
    --gold:#D0A65C;
    --gold-dark:#A3792E;
    --ink:#2B2320;
    --border:rgba(43,35,32,0.14);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--ivory);
    color:var(--ink);
    font-family:'Jost',sans-serif;
    font-size:16px;
    line-height:1.65;
  }
  h1,h2,h3{
    font-family:'Spectral',serif;
    margin:0 0 .5em;
    line-height:1.15;
  }
  h2{font-size:clamp(2.2rem,4.6vw,3rem); font-weight:700;}
  p{margin:0 0 1em;}
  a{color:var(--terracotta);text-decoration:none;}
  a:hover{color:var(--terracotta-dark);}
  .wrap{max-width:1080px;margin:0 auto;padding:0 24px;}
  .eyebrow{
    font-family:'Jost',sans-serif;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:.78rem;
  }
  section{padding:72px 0;}
  img{max-width:100%;}

  /* nav */
  header{
    position:sticky;top:0;z-index:50;
    background:rgba(249,239,225,0.94);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--border);
  }
  nav{display:flex;align-items:center;justify-content:flex-end;padding:14px 24px;max-width:1080px;margin:0 auto;position:relative;min-height:36px;}
  .sub-bar{
    background:var(--teal);color:var(--ivory);
    text-align:center;padding:8px 24px;
    font-family:'Jost',sans-serif;font-weight:500;font-size:.82rem;
  }
  .sub-bar .dot{margin:0 10px;color:var(--gold);}
  .brand{font-family:'Spectral',serif;font-weight:700;font-size:1.15rem;color:var(--ink);
    position:absolute;left:24px;top:2px;z-index:22;}
  .brand span{color:var(--terracotta);}
  .brand-logo{height:84px;width:auto;display:block;filter:drop-shadow(0 6px 10px rgba(43,35,32,.18));}
  .footer-logo{height:72px;width:auto;display:block;margin-bottom:12px;}
  .nav-links{display:flex;gap:28px;list-style:none;margin:0;padding:0;}
  .nav-links a{color:var(--ink);font-weight:500;font-size:.95rem;}
  .nav-links a:hover{color:var(--terracotta);}
  .nav-cta{
    background:var(--terracotta);color:var(--ivory)!important;
    padding:9px 18px;border-radius:999px;font-weight:600;font-size:.9rem;
  }
  .menu-toggle{display:none;background:none;border:none;font-size:1.6rem;cursor:pointer;color:var(--ink);}
  @media (max-width:900px){
    .brand{top:6px;}
    .brand-logo{height:46px;}
    .nav-links{
      position:absolute;top:100%;left:0;right:0;background:var(--ivory);
      flex-direction:column;gap:0;border-bottom:1px solid var(--border);
      display:none;z-index:20;
    }
    .nav-links.open{display:flex;}
    .nav-links li{border-top:1px solid var(--border);}
    .nav-links a{display:block;padding:14px 24px;}
    .nav-links a.nav-cta{display:inline-block;width:auto;margin:10px 24px;padding:9px 26px;}
    .menu-toggle{display:block;position:relative;z-index:21;}
  }

  /* hero */
  .hero{
    position:relative;overflow:hidden;
    color:var(--ivory);
    text-align:center;
    padding:120px 0 104px;
  }
  .hero::before{
    content:"";position:absolute;inset:-2%;z-index:0;
    background:url('images/hero-market-night.jpg') center/cover no-repeat;
  }
  .hero-video{
    position:absolute;inset:0;width:100%;height:100%;
    object-fit:cover;z-index:1;
  }
  .hero::after{
    content:"";position:absolute;inset:0;z-index:2;
    background:linear-gradient(180deg,rgba(31,92,78,.32) 0%, rgba(20,58,49,.62) 100%);
  }
  .hero .wrap{position:relative;z-index:3;}
  .hero .eyebrow{color:var(--gold);display:block;margin-bottom:18px;text-shadow:0 2px 6px rgba(0,0,0,.65);}
  .hero h1{font-size:clamp(2.1rem,5vw,3.4rem);color:var(--ivory);}
  .hero .tagline{font-family:'Spectral',serif;font-size:1.2rem;font-weight:500;max-width:640px;margin:0 auto 32px;opacity:.92;}
  .btn{
    display:inline-block;background:var(--terracotta);color:var(--ivory);
    padding:14px 30px;border-radius:999px;font-weight:600;font-size:1rem;
    border:none;cursor:pointer;
  }
  .btn:hover{background:var(--terracotta-dark);color:var(--ivory);}
  .btn-ghost{
    display:inline-block;background:transparent;color:var(--ivory);
    border:1.5px solid rgba(249,239,225,.55);padding:13px 28px;border-radius:999px;
    font-weight:600;
  }
  .hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
  .countdown{margin:0 auto 34px;display:flex;flex-direction:column;align-items:center;gap:10px;}
  .cd-boxes{display:flex;gap:12px;justify-content:center;}
  .cd-box{min-width:78px;padding:12px 10px 10px;border-radius:14px;background:rgba(43,35,32,.38);border:1px solid rgba(249,239,225,.28);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
  .cd-box b{display:block;font-family:'Spectral',serif;font-weight:700;font-size:2.1rem;line-height:1;color:var(--ivory);font-variant-numeric:tabular-nums;}
  .cd-box span{display:block;margin-top:6px;font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);}
  .cd-label{font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ivory);opacity:.85;}
  .cd-msg{font-family:'Spectral',serif;font-size:1.3rem;font-weight:600;color:var(--ivory);}
  @media (max-width:480px){.cd-box{min-width:68px;padding:10px 8px 8px;}.cd-box b{font-size:1.75rem;}}
  @media (max-width:480px){
    .hero-actions{flex-direction:column;align-items:stretch;}
  }
  .btn-ghost:hover{border-color:var(--ivory);color:var(--ivory);}

  /* about */
  .about{text-align:center;}
  .about .eyebrow{color:var(--terracotta);}
  .about-img{
    width:100%;max-width:820px;height:320px;object-fit:cover;border-radius:16px;
    margin:28px auto 36px;display:block;box-shadow:0 14px 30px rgba(43,35,32,.18);
  }
  @media (max-width:600px){.about-img{height:220px;}}
  .about p.lead{font-size:1.1rem;max-width:680px;margin:0 auto 1em;}
  .about p.invite{font-size:1.3rem;line-height:1.6;max-width:660px;margin:0 auto;text-wrap:balance;}
  @media (max-width:600px){.about p.invite{font-size:1.15rem;}}
  .about .after-note{margin-top:36px;}
  .note{
    max-width:620px;margin:36px auto 0;padding:34px 32px;
    background:var(--ivory-warm);
    border-top:2px solid var(--gold);border-bottom:2px solid var(--gold);
    text-align:center;
  }
  .note .motto-rule{display:block;margin:0 auto 18px;}
  .note .motto-text{
    font-family:'Spectral',serif;font-style:italic;font-weight:600;
    font-size:1.2rem;line-height:1.55;color:var(--ink);margin:0;
  }
  .note .soon-line{
    display:block;margin-top:20px;padding-top:16px;border-top:1px solid var(--border);
    font-family:'Jost',sans-serif;font-style:normal;font-weight:600;
    font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--terracotta);
  }

  /* when-where */
  .when-where{background:var(--ivory-warm);}
  .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:36px;}
  @media (max-width:700px){.grid-2{grid-template-columns:1fr;}}
  .card{background:var(--ivory);border:1px solid var(--border);border-radius:14px;padding:28px;}
  .card h3{font-size:1.2rem;color:var(--terracotta);}
  .wn-tag{
    display:inline-flex;align-items:center;position:relative;
    font-family:'Jost',sans-serif;font-weight:700;text-transform:uppercase;
    letter-spacing:.1em;font-size:.78rem;color:var(--ivory);
    padding:8px 20px 8px 24px;margin-bottom:18px;
    clip-path:polygon(14px 0%,100% 0%,100% 100%,14px 100%,0% 50%);
    filter:drop-shadow(0 3px 0 rgba(43,35,32,.18));
  }
  .wn-tag::before{
    content:"";position:absolute;left:7px;top:50%;transform:translateY(-50%);
    width:5px;height:5px;border-radius:50%;background:var(--ivory);opacity:.85;
  }
  .card:nth-child(1) .wn-tag{background:var(--terracotta);}
  .card:nth-child(2) .wn-tag{background:var(--teal);}
  .hours-list{margin:14px 0 0;}
  .hours-list>div{
    display:flex;justify-content:space-between;align-items:baseline;gap:12px;
    padding:7px 0;border-bottom:1px solid var(--border);font-size:.9rem;
  }
  .hours-list>div:last-child{border-bottom:none;}
  .hours-list dt{font-weight:600;color:var(--ink);margin:0;}
  .hours-list dd{margin:0;color:var(--ink);opacity:.8;white-space:nowrap;}
  .soon{font-style:italic;opacity:.8;font-size:.95rem;}

  /* vendors */
  .vendors .eyebrow{color:var(--terracotta);}
  .vendors{text-align:center;}
  .stats{display:flex;justify-content:center;gap:22px;margin:32px 0 40px;flex-wrap:wrap;}
  @media (max-width:700px){
    .stats{flex-direction:column;align-items:stretch;}
    .stat{min-width:0;width:100%;}
  }
  .stat{
    background:var(--ivory-warm);border:1px solid var(--border);border-radius:16px;
    padding:26px 36px;min-width:160px;border-top:4px solid var(--teal);
  }
  .stat:nth-child(1){border-top-color:var(--terracotta);}
  .stat:nth-child(2){border-top-color:var(--teal);}
  .stat:nth-child(3){border-top-color:var(--gold);}
  .stat b{display:block;font-family:'Spectral',serif;font-size:2.5rem;color:var(--ink);}
  .stat:nth-child(1) b{color:var(--terracotta);}
  .stat:nth-child(2) b{color:var(--teal);}
  .stat:nth-child(3) b{color:var(--gold-dark);}
  .stat span{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;}
  button.stat{font:inherit;color:inherit;cursor:pointer;transition:transform .2s,box-shadow .2s;}
  button.stat:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(43,35,32,.12);}
  button.stat:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
  .stat .stat-more{display:block;margin-top:10px;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--terracotta-dark);}
  .stat .stat-more::after{content:' \25BE';display:inline-block;transition:transform .2s;}
  button.stat[aria-expanded="true"] .stat-more::after{transform:rotate(180deg);}
  .vendor-panel{margin:-12px auto 40px;max-width:980px;padding-top:22px;border-top:3px solid var(--accent,var(--teal));animation:panelIn .35s ease;}
  #panel-craft{--accent:var(--terracotta);}
  #panel-food{--accent:var(--teal);}
  @keyframes panelIn{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}
  .stats{position:relative;}
  .stats.has-open .stat:not([aria-expanded="true"]){opacity:.55;}
  .stats.has-open .stat:not([aria-expanded="true"]):hover{opacity:1;}
  button.stat{position:relative;}
  button.stat:nth-child(1){--accent:var(--terracotta);}
  button.stat:nth-child(2){--accent:var(--teal);}
  button.stat[aria-expanded="true"]{background:var(--accent);border-color:var(--accent);color:var(--ivory);transform:translateY(-3px);box-shadow:0 12px 26px rgba(43,35,32,.18);}
  button.stat[aria-expanded="true"] b,button.stat[aria-expanded="true"] .stat-more{color:var(--ivory) !important;}
  button.stat[aria-expanded="true"]::after{content:'';position:absolute;left:50%;bottom:-11px;width:20px;height:20px;background:var(--accent);transform:translateX(-50%) rotate(45deg);border-radius:3px;}
  @media (max-width:700px){button.stat[aria-expanded="true"]::after{display:none;}}
  button.stat{padding-bottom:44px;}
  .stat .stat-more::after{content:'' !important;position:absolute;left:50%;bottom:18px;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateX(-50%) rotate(45deg);transition:transform .25s,bottom .25s;}
  button.stat[aria-expanded="true"] .stat-more::after{transform:translateX(-50%) rotate(-135deg) !important;bottom:13px;}
  .vendor-panel h3{font-size:1.3rem;margin-bottom:18px;}
  .vendor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;}
  .vendor-card{background:var(--ivory-warm);border:1px solid var(--border);border-radius:14px;padding:22px 18px;display:flex;flex-direction:column;align-items:center;gap:8px;}
  .v-medal{width:88px;height:88px;border-radius:50%;border:2px solid var(--gold);box-shadow:0 0 0 4px var(--ivory-warm),0 0 0 5px rgba(208,166,92,.45);display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--ivory);font-family:'Spectral',serif;font-weight:700;font-size:2rem;color:var(--teal);margin-bottom:6px;}
  .v-medal img{width:100%;height:100%;object-fit:cover;}
  .vendor-card h4{font-family:'Spectral',serif;font-size:1.15rem;margin:0;}
  .vendor-card .v-type{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--terracotta);}
  .vendor-card p{font-size:.9rem;line-height:1.5;margin:0;opacity:.85;}
  .vendor-card a{font-size:.85rem;font-weight:600;color:var(--teal);margin-top:auto;padding-top:4px;}
  .vendor-card.v-soon{border-style:dashed;justify-content:center;background:transparent;}
  .vendor-card.v-soon p{font-family:'Spectral',serif;font-style:italic;font-size:1.05rem;}
  .pill-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:8px;}
  .pill{
    background:var(--teal);color:var(--ivory);border-radius:999px;
    padding:7px 16px;font-size:.85rem;font-weight:500;
  }
  blockquote{
    font-family:'Spectral',serif;font-size:1.25rem;font-style:italic;color:var(--teal);
    max-width:600px;margin:36px auto 0;
  }
  .food-gallery{
    max-width:820px;margin:40px auto 0;
  }
  .food-gallery img{
    width:100%;height:320px;object-fit:cover;border-radius:14px;
    box-shadow:0 14px 30px rgba(43,35,32,.18);
  }
  @media (max-width:600px){
    .food-gallery img{height:220px;}
  }

  /* attractions teaser strip */
  .teaser-strip{background:var(--terracotta);color:var(--ivory);text-align:center;}
  .partners{text-align:center;background:var(--ivory-warm);border-top:1px solid var(--border);}
  .partners .eyebrow{color:var(--terracotta);}
  .partners .lead{max-width:640px;margin:0 auto;}
  .partner-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;margin-top:36px;}
  .partner-card{background:var(--ivory);border:1px solid var(--border);border-radius:16px;padding:24px 28px;width:290px;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;}
  .partner-card img{height:190px;width:auto;max-width:100%;object-fit:contain;}
  .partner-card span{font-family:'Spectral',serif;font-weight:600;font-size:1.05rem;}
  a.partner-card{color:var(--ink);text-decoration:none;transition:transform .2s,box-shadow .2s;}
  a.partner-card:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(43,35,32,.12);}
  .partner-card img.pc-tile{height:auto;width:100%;max-height:190px;border-radius:10px;}
  .partners .partner-cta{margin-top:28px;font-size:.92rem;opacity:.8;}
  .partners .partner-cta a{color:var(--terracotta-dark);font-weight:600;}
  #sponsor-form{scroll-margin-top:120px;}
  .teaser-strip h2{color:var(--ivory);font-size:clamp(1.45rem,3.2vw,2.1rem);line-height:1.3;max-width:860px;margin-left:auto;margin-right:auto;text-wrap:balance;}
  .teaser-strip p{max-width:620px;margin:0 auto;opacity:.95;}
  .ornament{display:block;margin:0 auto 20px;}

  /* get involved / forms */
  .get-involved{text-align:center;}
  .get-involved .eyebrow{color:var(--terracotta);}
  .forms-list{display:flex;flex-direction:column;margin-top:44px;text-align:left;}
  .form-row{
    display:grid;grid-template-columns:230px 1fr;gap:36px;
    padding:36px 0;border-top:1px solid var(--border);align-items:start;
  }
  .form-row:last-child{border-bottom:1px solid var(--border);}
  @media (max-width:760px){.form-row{grid-template-columns:1fr;gap:16px;}}
  .form-icon{
    width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    font-family:'Spectral',serif;font-style:italic;font-weight:700;font-size:1.35rem;
    background:var(--ivory);border:2px solid var(--border);margin-bottom:14px;
  }
  .form-row:nth-child(1) .form-icon{color:var(--terracotta);border-color:var(--terracotta);}
  .form-row:nth-child(2) .form-icon{color:var(--teal);border-color:var(--teal);}
  .form-row:nth-child(3) .form-icon{color:var(--gold-dark);border-color:var(--gold);}
  .form-row:nth-child(4) .form-icon{color:var(--ink);border-color:var(--ink);}
  .form-row:nth-child(5) .form-icon{color:var(--teal-dark);border-color:var(--teal-dark);}
  .form-info h3{font-size:1.3rem;margin-bottom:6px;}
  .form-info .form-sub{font-size:.92rem;opacity:.8;}
  .form-info .form-price + .form-sub{margin-top:10px;}
  .form-info .form-note{margin-top:10px;font-size:.9rem;line-height:1.5;padding:10px 12px;border-left:3px solid var(--gold);background:rgba(208,166,92,.12);border-radius:0 8px 8px 0;}
  .form-closed{text-align:center;padding:28px 12px;}
  .form-closed strong{display:block;font-family:'Spectral',serif;font-size:1.25rem;color:var(--terracotta-dark);margin-bottom:6px;}
  .form-closed p{margin:0;opacity:.8;}
  .form-info .form-price{
    display:inline-block;font-size:.82rem;font-weight:600;letter-spacing:.02em;
    color:var(--terracotta-dark);background:rgba(181,87,61,.1);
    padding:4px 11px;border-radius:999px;
  }
  .form-fields{background:var(--ivory-warm);border:1px solid var(--border);border-radius:14px;padding:24px;}
  .form-fields label{display:block;font-size:.85rem;font-weight:600;margin:12px 0 5px;}
  .form-fields label:first-of-type{margin-top:0;}
  .form-fields input,.form-fields textarea,.form-fields select{
    width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;
    font-family:'Jost',sans-serif;font-size:.95rem;background:var(--ivory);color:var(--ink);
  }
  .form-fields input[type="file"]{padding:8px 10px;font-size:.85rem;}
  .form-fields select{appearance:auto;cursor:pointer;}
  .file-pick{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
  .file-pick .file-btn{position:relative;display:inline-block;margin:0;padding:9px 18px;border-radius:999px;border:1px solid var(--teal);color:var(--teal);font-size:.88rem;font-weight:600;cursor:pointer;background:var(--ivory);}
  .file-pick .file-btn:hover{background:var(--teal);color:var(--ivory);}
  .file-pick .file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;}
  .file-pick .file-name{font-size:.85rem;opacity:.75;}
  .form-fields textarea{min-height:70px;resize:vertical;}
  .form-fields button{margin-top:16px;}
  .success-msg{
    display:none;margin-top:14px;padding:12px;border-radius:8px;
    background:var(--teal);color:var(--ivory);font-size:.9rem;
  }
  .success-msg.show{display:block;}
  .success-msg.error{background:#F6E0D8;color:#8F4530;border-color:#B5573D;}
  .hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;opacity:0;}

  /* footer */
  footer{background:var(--ink);color:var(--ivory);padding:56px 24px 28px;}
  .footer-grid{
    display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:32px;
    text-align:left;padding-bottom:36px;border-bottom:1px solid rgba(249,239,225,.14);
  }
  @media (max-width:760px){.footer-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:480px){.footer-grid{grid-template-columns:1fr;}}
  .footer-col .brand2{font-family:'Spectral',serif;font-weight:700;font-size:1.2rem;margin-bottom:8px;}
  .footer-col h4{
    font-family:'Jost',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.1em;
    font-size:.78rem;color:var(--gold);margin:0 0 10px;
  }
  @media (min-width:761px){.footer-col:not(:first-child) h4{margin-top:89px;}}
  .footer-col p{font-size:.88rem;opacity:.78;margin-bottom:4px;line-height:1.55;}
  .footer-col .soon{opacity:.65;}
  footer a{color:var(--gold);}
  footer a.footer-mail{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(249,239,225,.4);}
  footer a.footer-mail span{white-space:nowrap;}
  .footer-social{display:flex;gap:10px;margin-top:12px;}
  .footer-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(249,239,225,.3);color:var(--ivory);transition:background .2s,border-color .2s,color .2s;}
  .footer-social a:hover{background:var(--gold);border-color:var(--gold);color:var(--ink);}
  @media (min-width:761px){footer a.footer-mail{white-space:nowrap;}}
  .footer-bottom{text-align:center;padding-top:22px;}
  .footer-bottom p{font-size:.82rem;opacity:.65;margin:0;}

  /* homepage teaser link to events page */
  .teaser-btn{display:inline-block;margin-top:22px;background:var(--ivory);color:var(--terracotta-dark);font-weight:600;font-size:.95rem;padding:12px 26px;border-radius:999px;text-decoration:none;transition:background .2s,color .2s;}
  .teaser-btn:hover{background:var(--gold);color:var(--ink);}
  .nav-links a[aria-current="page"]{color:var(--terracotta);}

  /* ===== Events & Workshops page ===== */
  .page-hero{background:var(--ivory-warm);border-bottom:1px solid var(--border);text-align:center;padding:72px 0 56px;}
  .page-hero .eyebrow{color:var(--terracotta);}
  .page-hero h1{font-size:clamp(2.2rem,5vw,3.2rem);margin:6px 0 14px;text-wrap:balance;}
  .page-hero .lead{max-width:640px;margin:0 auto;font-size:1.08rem;}
  .page-hero .hero-facts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;}
  .page-hero .hero-facts span{background:var(--ivory);border:1px solid var(--border);border-radius:999px;padding:6px 14px;font-size:.85rem;font-weight:500;}
  .booking{padding:56px 0 64px;}
  .booking .wrap{max-width:900px;}
  .booking h2{text-align:center;margin-bottom:8px;}
  .booking .booking-sub{text-align:center;max-width:620px;margin:0 auto 28px;opacity:.85;}
  .tt-placeholder{border:2px dashed var(--border);border-radius:18px;background:#fffaf2;padding:48px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;}
  .tt-placeholder img{width:64px;height:auto;opacity:.9;}
  .tt-placeholder strong{font-family:'Spectral',serif;font-size:1.3rem;}
  .tt-placeholder p{margin:0;max-width:480px;opacity:.8;}
  .booking-help{margin-top:18px;text-align:center;font-size:.92rem;opacity:.8;}
  .booking-help a{color:var(--terracotta-dark);font-weight:600;}
  .faq{padding:0 0 72px;}
  .faq .wrap{max-width:760px;}
  .faq h2{text-align:center;margin-bottom:20px;}
  .faq details{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px 20px;margin-bottom:10px;}
  .faq summary{font-weight:600;cursor:pointer;}
  .faq details p{margin:10px 0 0;}

  /* flyer line-art decorations */
  footer .deco-skyline{display:block;width:min(720px,90%);height:auto;margin:-8px auto 40px;opacity:.9;}
  .teaser-strip{position:relative;overflow:hidden;}
  .teaser-strip .wrap{position:relative;z-index:1;}
  .lights-set{position:absolute;inset:0;pointer-events:none;z-index:0;}
  .lights-set.l{transform:scaleX(-1);}
  .lights-set .ls{position:absolute;right:0;height:auto;transform-origin:100% 86.67%;}
  .lights-set .ls.a{--w:clamp(120px,24.6vw,420px);width:var(--w);top:calc(var(--w) * -0.4232);transform:rotate(-24deg);}
  .lights-set .ls.b{--w:clamp(100px,19.5vw,330px);width:var(--w);top:calc(var(--w) * 0.1163);transform:rotate(8deg);}

  /* about: animated skyline scene (draw-on + scroll dusk) */
  @property --sk-tw{syntax:'<number>';inherits:false;initial-value:0;}
  .skyline-scene{--p:0;--l:0;--c:0;--sk-light:#F6C870;--sk-line:color-mix(in srgb,var(--gold) calc(var(--c)*100%),var(--teal));padding:8px 24px 0;}
  .sk-band{--bg:color-mix(in srgb,var(--ink) calc(var(--p)*100%),var(--ivory-warm));--fr:color-mix(in srgb,var(--gold) calc(var(--c)*100%),#CDB79A);
    max-width:700px;margin:48px auto 0;padding:40px 32px 28px;border-radius:22px;background:var(--bg);border:1px solid var(--fr);
    box-shadow:inset 0 0 0 9px var(--bg),inset 0 0 0 10px var(--fr),0 18px 40px -24px rgba(43,35,32,calc(.25 + var(--p)*.35));}
  @media (max-width:620px){.skyline-scene{padding:0 16px;}.sk-band{padding:30px 14px 18px;border-radius:16px;margin-top:36px;box-shadow:inset 0 0 0 6px var(--bg),inset 0 0 0 7px var(--fr),0 14px 30px -20px rgba(43,35,32,.4);}}
  .sk-svg{display:block;width:100%;height:auto;overflow:visible;}
  .sk-ln{stroke:var(--sk-line);stroke-dasharray:1;stroke-dashoffset:1;}
  .sk-win{fill:color-mix(in srgb,var(--sk-light) calc(var(--l)*100%),var(--sk-line));}
  .sk-win.x{fill:var(--sk-light);opacity:var(--l);}
  .sk-lamp{fill:color-mix(in srgb,var(--sk-light) calc(var(--l)*100%),var(--sk-line));}
  .sk-bulb{fill:color-mix(in srgb,var(--sk-light) calc(var(--l)*100%),var(--sk-line));opacity:calc(1 - var(--sk-tw)*var(--l)*.65);animation:sk-tw 2.6s ease-in-out infinite;}
  .sk-glow{fill:var(--sk-light);opacity:calc(var(--l)*.85);}
  .sk-halo{opacity:var(--l);}
  @keyframes sk-tw{0%,100%{--sk-tw:0}50%{--sk-tw:1}}
  .sk-win:not(.x),.sk-lamp,.sk-bulb{visibility:hidden;}
  .sk-drawn .sk-ln{stroke-dashoffset:0;transition:stroke-dashoffset .75s cubic-bezier(.77,0,.18,1) var(--d);}
  .sk-filled .sk-win:not(.x),.sk-filled .sk-lamp,.sk-filled .sk-bulb{visibility:visible;}
  .sk-filled .sk-win:not(.x),.sk-filled .sk-lamp{animation:sk-pop .4s cubic-bezier(.22,1,.36,1) both;}
  @keyframes sk-pop{from{opacity:0}to{opacity:1}}
  @media (prefers-reduced-motion:reduce){.sk-ln{stroke-dashoffset:0!important;transition:none!important}.sk-win:not(.x),.sk-lamp,.sk-bulb{visibility:visible}.sk-bulb{animation:none}}
