/* GigWest Venue Guide 0.9.0, photo-led backstage identity.
   Homepage redesign based on the approved mockup. Safe overrides only.
   The venue directory, submission forms, admin and API are unchanged. */
:root {
  --paper:#F6F2E8;
  --ink:#192322;
  --coral:#F37954;
  --teal:#167D7B;
  --lime:#E3EB80;
  --navy:#192322;
  --muted:#5B6561;
}
html{background:var(--paper)}
body{background:var(--paper);color:var(--ink)}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.container{max-width:1540px;padding-inline:clamp(22px,4.8vw,76px)}
.banner{display:none}
.header{background:#F7F3EA;border-bottom:2px solid #192322;box-shadow:none}
.header-inner{min-height:76px}
.logo .brand-name{color:#192322}
.logo .brand-subtitle{color:#3F5551}
.nav{gap:clamp(16px,2.4vw,37px)}
.nav button{color:#283936;font-size:.76rem;font-weight:900;letter-spacing:.01em}
.nav button:hover,.nav button.current{color:#D76343}
.nav .nav-cta{background:var(--coral);color:#192322;border:2px solid #192322;box-shadow:3px 4px 0 #192322;border-radius:30px;transform:none!important;padding:12px 21px}
.nav .nav-cta:hover{background:#FF9671;box-shadow:1px 2px 0 #192322}
.btn.primary{background:var(--coral);color:#172321;border-color:#192322;font-weight:900}
.btn.yellow{background:var(--lime);color:var(--ink);border-color:var(--ink)}
.chip.active{background:#196B6C;color:white;border-color:#196B6C}
/* Above the fold: typography and image, not giant decorative illustrations. */
.hero{background:radial-gradient(ellipse at 26% 27%,#FFF9F0 0%,#F6F2E8 70%);overflow:hidden;color:var(--ink)}
.hero .container.hero-layout{display:grid;grid-template-columns:minmax(0, .96fr) minmax(0,1.16fr);align-items:center;gap:clamp(18px,2.4vw,50px);min-height:0;padding-top:clamp(46px,5vw,78px);padding-bottom:clamp(28px,3vw,50px)}
.hero-copy{padding:0;display:block;z-index:1;min-width:0}
.hero-brow{display:flex;gap:11px;align-items:center;font-size:.69rem;color:#167D7B;letter-spacing:.135em;font-weight:950;line-height:1.35}
.hero-brow-mark{width:10px;height:10px;display:block;border-radius:50%;background:var(--coral);box-shadow:0 0 0 3px #F3795440;flex:none}
.hero h1{display:flex;flex-direction:column;align-items:flex-start;font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-stretch:condensed;font-weight:900;letter-spacing:-.015em;line-height:.82;font-size:clamp(3.5rem,6.6vw,7.4rem);margin:31px 0 19px;white-space:nowrap}
.hero-know{display:block;color:#192322}
.hero-room{display:block;color:var(--coral);text-shadow:none;transform:none;margin:9px 0 0;letter-spacing:-.025em}
.hero-room::after{left:0;width:100%;bottom:-13px;height:0;border-bottom:5px solid var(--teal);transform:rotate(-1deg)}
.hero-period{color:#192322}
.hero-smallline{display:block;font-family:'Caveat',Georgia,serif;font-size:clamp(2.05rem,3.35vw,3.25rem);font-style:italic;font-weight:700;color:#0D7777;letter-spacing:-.01em;transform:rotate(-2deg);line-height:1.05;margin:31px 0 22px 5px;max-width:95%}
.hero-copy .hero-description{max-width:580px;font-size:clamp(.96rem,1.12vw,1.12rem);line-height:1.52;color:#2F3936;margin:0 0 25px}
.hero-copy .hero-description strong{color:#172320}
.hero-search-form{width:100%;max-width:625px;background:#fffdf8;border:2px solid #192322;border-radius:11px;box-shadow:4px 5px 0 #192322;transform:none;margin:0}
.hero-search-input{display:flex;align-items:center;gap:10px;padding:5px 6px 5px 17px;min-height:60px;color:#172823}
.hero-search-input .search-glass{flex-shrink:0}
.hero-search-input input{flex:1;min-width:0;border:none!important;outline:none!important;background:transparent;font-size:.92rem;color:#1A2825;padding:8px 0}
.hero-search-input input::placeholder{color:#6B716C;opacity:1}
.hero-search-input button{flex-shrink:0;white-space:nowrap;border:0;box-shadow:none;border-radius:7px;background:var(--coral);color:var(--ink);font-weight:950;letter-spacing:.01em;font-size:.78rem;padding:14px 18px;min-height:47px}
.hero-search-input button:hover{background:#FF9978}
.hero-benefits{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:22px;font-size:.64rem;font-weight:950;color:#31554D;letter-spacing:.055em}
.hero-benefits span{white-space:nowrap}
.backstage-visual{min-width:0;display:flex;justify-content:center;align-items:center;position:relative;width:100%;margin:0}
.backstage-visual img{display:block;width:100%;height:auto;max-height:600px;object-fit:contain;filter:drop-shadow(0 15px 15px #1727210D)}
/* Feature strip, same order and proportions as the approved concept. */
.quick-guide{background:var(--paper);padding:0 0 54px}
.quick-guide>.container{border-top:1px solid #73817A;padding-top:20px}
.quick-guide-intro{display:flex;align-items:center;gap:13px;font-size:.71rem;letter-spacing:.17em;font-weight:950;color:#192322;margin-bottom:23px}
.quick-dot{background:var(--lime);border-radius:50%;width:15px;height:15px;flex:none}
.quick-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.quick-card{display:grid;grid-template-columns:74px 2px minmax(0,1fr);gap:18px;align-items:center;padding:18px 20px;min-height:154px;border:2px solid #233531;border-radius:14px;background:#FFFAF1;box-shadow:4px 5px 0 #1A2C2980}
.quick-card.quick-stage{background:#DFEEE7}
.quick-icon{display:flex;align-items:center;justify-content:center;color:#126F6D}
.quick-icon svg{width:66px;max-width:100%;height:68px}
.quick-divider{height:85%;width:2px;background:#F37954}
.quick-copy h3{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(1.36rem,1.9vw,2rem);color:#192322;letter-spacing:-.015em;font-weight:900;line-height:1;white-space:normal;margin:0 0 9px}
.quick-copy p{font-size:.9rem;line-height:1.42;color:#3D4944;margin:0}
/* The directory is the actual product. Keep it prominent and easy to browse. */
.directory{background:#FFFCF5}
.directory:before{display:none}
.directory.section{padding-top:62px}
.directory .intro{margin-bottom:22px}
.directory .intro h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(2.9rem,5vw,5.1rem);line-height:.93;letter-spacing:-.025em;margin:14px 0 14px}
.directory .intro h2 em{font-style:normal;transform:none;color:#F37954}
.directory .intro p{max-width:640px;font-size:1rem;color:#50605A;margin:0}
.directory-controls{padding-top:18px;border-top:1px solid #DFE3D8}
.searchrow{border:2px solid #24352F;background:#FFF;box-shadow:4px 5px 0 #1D302C;transform:none}
.card{border:1px solid #C9D0C6;background:white;border-radius:10px;box-shadow:3px 5px 0 #1D302C24;transform:none!important;overflow:hidden}
.card:hover{transform:translateY(-3px)!important}
.card-art{border-radius:0}
.card-content h3{color:#1D2A27}
.card-link{background:#F1F6EC;color:#1F3833}
/* Public action section: high contrast, fewer gimmicks. */
.community{background:#F37954;color:#192322}
.community::before{display:none}
.community .container{min-height:0;padding-top:66px;padding-bottom:68px}
.community h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(3.1rem,5.5vw,5.2rem);line-height:.9;color:#182724;letter-spacing:-.015em}
.community h2 em{font-family:'Barlow Condensed',Impact,sans-serif;font-style:normal;font-size:1em;font-weight:900;transform:none;color:#FFFAEC;letter-spacing:-.018em;line-height:1.05;display:inline}
.community p{max-width:650px;line-height:1.5;color:#25362F}
.community-stamp{border:2px solid #1F3C33;background:#E3EB80;color:#1C3834;transform:rotate(4deg)}
.btn.coral{border-radius:30px;border-color:#1E302B;background:#E3EB80;color:#21342E;transform:none!important;box-shadow:4px 4px 0 #1E302B}
.footer{background:#14201F;color:#F6F2E8}
.footer .logo .brand-name,.footer .logo .brand-subtitle{color:#F6F2E8}
/* Global readability and non-home pages */
.page-head{background:#F6F2E8}
.page-head h1{color:#192322}
.feature h3,.panel h3,.info h3{color:#192322}
.feature p,.panel p{color:#3B4D47}
@media(min-width:1540px){.hero h1{font-size:clamp(7rem,7vw,8.4rem)}}
@media(max-width:1150px){
  .hero .container.hero-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.07fr);gap:12px}
  .hero h1{font-size:clamp(3.45rem,6.55vw,7rem)}
  .hero-search-input button{padding-inline:12px}
  .quick-card{grid-template-columns:52px 2px minmax(0,1fr);gap:11px;padding:16px 13px}
  .quick-icon svg{width:51px;height:55px}
  .quick-copy h3{font-size:1.55rem}
  .quick-copy p{font-size:.82rem}
}
@media(max-width:760px){
  .header-inner{min-height:66px}
  .nav{display:none}
  .mobile-share{display:inline-flex!important;background:#E3EB80!important;border-color:#BAC762!important;color:#1C302B!important;box-shadow:none!important}
  .hero .container.hero-layout{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-height:0;padding-top:35px;padding-bottom:14px}
  .hero-copy{padding:0}
  .hero-brow{font-size:.63rem}
  .hero h1{font-size:clamp(4.2rem,15vw,7rem);line-height:.83;margin:25px 0 14px;letter-spacing:-.015em}
  .hero-room{margin-top:5px}
  .hero-room::after{bottom:-8px;border-bottom-width:4px}
  .hero-smallline{font-size:clamp(2rem,7.5vw,3.2rem);margin:25px 0 18px 5px;transform:rotate(-1deg)}
  .hero-copy .hero-description{font-size:.96rem;margin-bottom:22px;max-width:560px}
  .hero-search-form{max-width:none}
  .hero-search-input{min-height:57px}
  .hero-benefits{margin-top:17px;gap:6px 12px;font-size:.57rem}
  .backstage-visual{width:100%;max-width:640px;margin:-4px auto 8px}
  .backstage-visual img{max-height:430px}
  .quick-guide{padding-bottom:40px}
  .quick-guide>.container{padding-top:19px}
  .quick-guide-intro{font-size:.61rem;letter-spacing:.11em;margin-bottom:17px}
  .quick-guide-grid{grid-template-columns:1fr;gap:12px}
  .quick-card{grid-template-columns:66px 2px minmax(0,1fr);padding:15px 20px;min-height:116px}
  .quick-icon svg{width:60px;height:58px}
  .quick-copy h3{font-size:1.65rem}
  .quick-copy p{font-size:.86rem}
  .directory.section{padding-top:45px}
  .directory .intro h2{font-size:clamp(2.95rem,9vw,4.5rem)}
  .community h2{font-size:clamp(3rem,10vw,4.5rem);line-height:.95}
  .community h2 em{display:inline;max-width:none;font-size:1em;transform:none;line-height:.95;letter-spacing:-.015em}
  .community .container{padding-top:52px;padding-bottom:56px}
  .mobile-nav{background:#F7F3EAF7;border-top:1px solid #BFC9C0}
  .mobile-nav button.active{color:#D65E3D}
}
@media(max-width:490px){
  .container{padding-left:18px;padding-right:18px}
  .hero h1{font-size:clamp(3.7rem,16.3vw,5rem);margin-top:22px}
  .hero-smallline{font-size:clamp(1.95rem,8vw,2.7rem)}
  .hero-copy .hero-description{font-size:.94rem;line-height:1.48}
  .hero-search-input{gap:8px;padding:4px 5px 4px 10px}
  .hero-search-input .search-glass{width:18px;height:18px}
  .hero-search-input input{font-size:.76rem;padding:8px 0}
  .hero-search-input button{padding:10px 9px;min-height:43px;font-size:.62rem}
  .hero-benefits{font-size:.54rem;letter-spacing:.025em;gap:6px 11px}
  .quick-card{grid-template-columns:50px 2px minmax(0,1fr);gap:11px;padding:14px;min-height:100px}
  .quick-icon svg{width:48px;height:54px}
  .quick-copy h3{font-size:1.42rem;margin-bottom:5px}
  .quick-copy p{font-size:.8rem;line-height:1.35}
  .quick-guide-intro{font-size:.55rem;letter-spacing:.06em;gap:9px}
  .directory .intro h2{font-size:clamp(2.65rem,11vw,4rem)}
  .community h2{font-size:clamp(2.9rem,11vw,3.6rem)}
}
@media(prefers-reduced-motion:reduce){.backstage-visual img{filter:none}}
