/* Robert Fossett's Circus & Events — shared styles */
:root{
  --ink:#0a0d1a; --ink-2:#0e1222; --cream:#f4ede1; --gold:#d8b46a; --gold-hi:#f0d28f;
  --red:#b8282e; --red-hi:#cf3036; --muted:#c9c2b6; --muted-2:#a8a196; --error:#f08a8e;
  --serif:'Bodoni Moda',Georgia,serif; --sans:'Hanken Grotesk',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--cream);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--gold)}a:hover{color:var(--gold-hi)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
::selection{background:var(--red);color:#fff8ee}
input::placeholder,textarea::placeholder{color:#7d786f}
input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.8)}
[hidden]{display:none!important}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;text-decoration:none;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;border-radius:2px;transition:background .25s;cursor:pointer}
.btn-red{background:var(--red);color:#fff8ee;border:0}
.btn-red:hover{background:var(--red-hi);color:#fff8ee}
.btn-outline{border:1px solid rgba(216,180,106,.7);color:var(--cream);background:transparent}
.btn-outline:hover{background:rgba(216,180,106,.14);color:var(--cream)}
.btn-block{display:flex;min-height:54px;font-size:13px}
.btn-grow{flex:1;min-height:48px}

/* nav */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:50;font-family:var(--sans);color:var(--cream)}
.nav-bar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(16px,4vw,48px);height:84px;background:rgba(10,13,26,0);border-bottom:1px solid rgba(244,237,225,0);transition:background .4s ease,height .3s ease,border-color .4s ease}
.site-nav.solid .nav-bar,.site-nav.scrolled .nav-bar,.site-nav.open .nav-bar{background:rgba(10,13,26,.88);border-bottom-color:rgba(244,237,225,.10);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.site-nav.scrolled .nav-bar{height:68px}
.brand{display:flex;flex-direction:column;line-height:1;text-decoration:none;color:var(--cream)}
.brand:hover{color:var(--cream)}
.brand-1{font-family:var(--serif);font-size:23px;font-weight:600;font-style:italic}
.brand-2{font-size:10px;font-weight:600;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-top:6px}
.nav-desktop{display:flex;gap:30px}
.nav-link{position:relative;font-size:14px;font-weight:500;letter-spacing:.02em;color:var(--muted);text-decoration:none;padding:10px 0}
.nav-link:hover,.nav-link[aria-current=page]{color:#fff}
.nav-underline{position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--gold)}
.nav-ctas{display:flex;gap:10px}
.menu-btn{display:none;align-items:center;gap:10px;min-height:44px;min-width:44px;padding:0 4px 0 12px;background:none;border:0;color:var(--cream);font:600 12px var(--sans);letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
.menu-icon{display:flex;flex-direction:column;gap:6px;width:22px}
.menu-icon span{height:1px;background:var(--gold)}
.mobile-menu{position:fixed;inset:0;z-index:1;background:var(--ink);padding:104px 24px 40px;display:flex;flex-direction:column;gap:40px;overflow-y:auto}
.mnav{display:flex;flex-direction:column}
.mnav-link{font-family:var(--serif);font-size:36px;color:var(--cream);text-decoration:none;padding:12px 0;border-bottom:1px solid rgba(244,237,225,.1)}
.mnav-link[aria-current=page]{color:var(--gold)}
.mobile-ctas{display:grid;gap:12px}
.mobile-social{display:flex;gap:24px;font-size:14px}
.mobile-social a{color:var(--muted);text-decoration:none}
.bottom-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:49;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(10,13,26,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid rgba(244,237,225,.1)}
@media (max-width:979px){
  .nav-bar,.site-nav.scrolled .nav-bar{height:64px}
  .nav-desktop,.nav-ctas{display:none}
  .menu-btn{display:flex}
  .bottom-bar{display:flex}
  body.menu-open .bottom-bar{display:none}
  body.menu-open{overflow:hidden}
}
@media (min-width:980px){.mobile-menu{display:none!important}}

/* home: festoon bulbs and curtain */
.bulbs{position:absolute;top:88px;left:-2%;right:-2%;height:80px;pointer-events:none}
.bulbs svg{position:absolute;inset:0;width:100%;height:70px}
.bulb{position:absolute;width:7px;height:7px;border-radius:50%;transform:translate(-50%,0);background:#ffdca0;box-shadow:0 0 10px 3px rgba(255,200,120,.55),0 0 26px 6px rgba(255,190,100,.18);animation-name:twinkle;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
.curtain{position:fixed;inset:0;z-index:200;display:flex;justify-content:space-between;overflow:hidden;animation:fadeOut .4s ease 2s forwards;cursor:pointer}
.curtain-panel{width:50.5%;height:100%;background:linear-gradient(90deg,rgba(0,0,0,.4),rgba(0,0,0,0) 18%,rgba(0,0,0,0) 82%,rgba(0,0,0,.4)),repeating-linear-gradient(90deg,#4e0c11 0px,#8f1c23 26px,#b8282e 38px,#7c1820 54px,#4e0c11 70px)}
.curtain-l{box-shadow:inset -3px 0 0 var(--gold);animation:curtainL 1.6s cubic-bezier(.76,0,.24,1) .45s forwards}
.curtain-r{box-shadow:inset 3px 0 0 var(--gold);animation:curtainR 1.6s cubic-bezier(.76,0,.24,1) .45s forwards}
.curtain-valance{position:absolute;top:0;left:0;right:0;height:56px;background:linear-gradient(180deg,#3d0a0e,#6e1419);border-bottom:2px solid var(--gold);box-shadow:0 10px 30px rgba(0,0,0,.5);animation:fadeOut .5s ease 1.2s forwards}
@media (prefers-reduced-motion:reduce){.curtain{display:none}}

/* pills (filters, layout tabs, enquiry chips) */
.pill{border:1px solid rgba(244,237,225,.25);background:transparent;color:var(--cream)}
.pill[aria-pressed=true],.pill[aria-selected=true]{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.pill-round{min-height:44px;padding:0 16px;font:600 13px var(--sans);border-radius:999px;cursor:pointer}

/* enquiry form */
.enq-card{background:var(--ink-2);border:1px solid rgba(216,180,106,.28);border-radius:2px;padding:clamp(24px,4vw,48px)}
.enq-form{display:flex;flex-direction:column;gap:36px}
.enq-fs{margin:0;padding:0;border:0;display:flex;flex-direction:column;gap:14px;min-width:0}
.enq-legend{padding:0;margin-bottom:14px;font-family:var(--serif);font-size:24px}
.enq-legend span{color:var(--gold);font-style:italic;margin-right:10px}
.needs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:10px}
.need{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:96px;padding:16px;text-align:left;border:1px solid rgba(244,237,225,.2);background:transparent;color:var(--cream);border-radius:2px;cursor:pointer;font-family:var(--sans);transition:background .2s,border-color .2s}
.need[aria-pressed=true]{border-color:var(--gold);background:rgba(216,180,106,.12)}
.need-label{font-size:16px;font-weight:600}
.need-desc{font-size:13px;line-height:1.45;color:#b9b2a6}
.follow{display:flex;flex-direction:column;gap:10px;padding:16px;border-left:1px solid var(--gold);background:rgba(216,180,106,.05)}
.follow-q{font-size:14px;font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.enq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px}
.enq-label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;color:var(--muted)}
.enq-sub{font-size:13px;font-weight:600;color:var(--muted);margin-top:6px}
.enq-input{min-height:50px;padding:0 14px;background:var(--ink);border:1px solid rgba(244,237,225,.2);border-radius:2px;color:var(--cream);font:400 16px var(--sans);width:100%}
.enq-input[aria-invalid=true]{border-color:var(--error)}
.enq-textarea{padding:14px;font:400 16px/1.5 var(--sans);resize:vertical}
.enq-err{margin:0;font-size:14px;color:var(--error)}
.enq-submit{min-height:58px;font-size:14px}
.enq-done{display:flex;flex-direction:column;gap:20px;padding:24px 0}
.enq-diamond{width:14px;height:14px;background:var(--gold);transform:rotate(45deg);box-shadow:0 0 24px rgba(216,180,106,.8)}
.enq-thanks{margin:0;font-family:var(--serif);font-weight:500;font-size:44px;line-height:1}
.enq-p{margin:0;font-size:17px;line-height:1.6;color:var(--muted)}
.enq-summary{margin:0;padding:18px;border:1px solid rgba(244,237,225,.1);font-size:15px;line-height:1.6;color:var(--muted)}
.enq-reset{align-self:flex-start;min-height:48px;padding:0 4px;background:none;border:0;border-bottom:1px solid var(--gold);color:var(--cream);font:600 13px var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer}

/* hover states */
.hv1:hover{background:#cf3036 !important}
.hv2:hover{background:rgba(216,180,106,.16) !important}
.hv3:hover{border-color:rgba(216,180,106,.6) !important}
.hv4:hover{background:rgba(216,180,106,.14) !important}
.hv5:hover{color:#d8b46a !important}
