/* The Getaway: the dealership site's look and tokens (styles.css), dressed for weddings. */
.gw-tag{color:var(--silver);font-weight:650;font-size:14px;letter-spacing:.08em;text-transform:uppercase;border-left:1px solid var(--line-on-dark);padding-left:14px}
/* The home page reads like a wedding magazine: an ivory page, serif headlines, photos that dissolve
   into the page at their edges, captions that fade out of their photos. */
:root{--gw-ivory:#faf7f2;--gw-serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif}
body:has(.gw-mag),.gw-mag{background:var(--gw-ivory)}
.gw-mag h2{font-family:var(--gw-serif);font-weight:500;font-size:clamp(28px,3.4vw,40px);line-height:1.12;margin:4px 0 20px;letter-spacing:-.005em}
.gw-mag h2 em,.gw-hero h1 em{font-style:italic}
.gw-kicker{margin:0;color:var(--red);text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:700}
.gw-hero{position:relative}
.gw-hero-img{display:block;position:relative;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.gw-hero-img img{width:100%;height:80vw;object-fit:cover;object-position:50% 62%}
.gw-hero-copy{position:relative;margin-top:-36px;padding-bottom:12px}
.gw-hero h1{font-family:var(--gw-serif);font-weight:500;font-size:clamp(34px,6vw,66px);line-height:1.04;max-width:15ch;margin:8px 0 12px;letter-spacing:-.01em}
.gw-eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700;margin:0}
.gw-lede{font-size:clamp(17px,2vw,20px);max-width:52ch;color:inherit}
.gw-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.gw-cta span{color:var(--muted);font-weight:600}
@media(min-width:800px){
  .gw-hero-img img{height:min(90vh,800px)}
  .gw-hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,9,14,.85) 0,rgba(9,9,14,.5) 36%,rgba(9,9,14,0) 60%)}
  .gw-hero-copy{position:absolute;left:0;right:0;top:clamp(70px,16vh,170px);margin:0 auto;padding:0 16px;color:#fff}
  .gw-hero h1{color:#fff}.gw-hero .gw-eyebrow{color:var(--silver)}.gw-hero .gw-lede{color:var(--on-dark)}.gw-hero .gw-cta span{color:var(--on-dark-muted)}
}
.btn.gw-red,button.gw-red{background:var(--red)}
.btn.gw-red:hover,button.gw-red:hover{background:var(--red-2)}
.gw-sec{padding:48px 16px}
.gw-always{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
@media(min-width:800px){.gw-always{gap:18px;grid-template-columns:repeat(4,1fr)}}
.gw-detail{position:relative;margin:0;border-radius:var(--r-lg);overflow:hidden;background:var(--night)}
.gw-detail img{width:100%;aspect-ratio:4/5;object-fit:cover}
.gw-detail:nth-child(1) img{object-position:90% 50%}
.gw-detail:nth-child(4) img{object-position:72% 50%}
.gw-detail::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,9,14,0) 45%,rgba(9,9,14,.55) 70%,rgba(9,9,14,.92) 100%)}
.gw-detail figcaption{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:14px 16px 16px;color:#fff;font-family:var(--gw-serif);font-style:italic;font-size:clamp(15px,1.5vw,18px);line-height:1.3}
.gw-pkgs{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.gw-pkg{background:#fff;border:1px solid #ebe5da;border-radius:var(--r-lg);padding:26px;box-shadow:0 12px 30px rgba(20,21,26,.06)}
.gw-pkg h3{margin:0;font-family:var(--gw-serif);font-weight:500;font-size:26px}
.gw-price{font-family:var(--gw-serif);font-size:40px;font-weight:500;margin:2px 0 6px;color:var(--navy)}
.gw-pkg ul{padding-left:20px;margin:12px 0 20px}
.gw-small,.gw-hint{color:var(--muted);font-size:14px;margin:4px 0 8px}
/* Photos that dissolve into the ivory page at the top and bottom. */
.gw-wide{line-height:0;-webkit-mask-image:linear-gradient(transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(transparent,#000 14%,#000 86%,transparent)}
.gw-wide img{width:100%;height:min(66vw,640px);object-fit:cover;object-position:50% 60%}
.gw-steps ol{list-style:none;padding:0;margin:0;display:grid;gap:22px;counter-reset:step}
@media(min-width:800px){.gw-steps ol{grid-template-columns:repeat(3,1fr);gap:32px}}
.gw-steps li{counter-increment:step;max-width:40ch}
.gw-steps li::before{content:counter(step);display:block;font-family:var(--gw-serif);font-style:italic;font-size:44px;line-height:1;color:var(--red);margin-bottom:8px}
.gw-steps strong{display:block;font-family:var(--gw-serif);font-weight:500;font-size:21px;margin-bottom:4px}
/* The booking call to action, set on the night sky of the send-off photo. */
.gw-book-cta{position:relative;line-height:0;text-align:center;color:#fff}
.gw-book-cta picture{display:block;-webkit-mask-image:linear-gradient(transparent 0,rgba(0,0,0,.2) 5%,rgba(0,0,0,.55) 11%,rgba(0,0,0,.85) 17%,#000 23%,#000 68%,rgba(0,0,0,.85) 76%,rgba(0,0,0,.5) 86%,rgba(0,0,0,.18) 94%,transparent);mask-image:linear-gradient(transparent 0,rgba(0,0,0,.2) 5%,rgba(0,0,0,.55) 11%,rgba(0,0,0,.85) 17%,#000 23%,#000 68%,rgba(0,0,0,.85) 76%,rgba(0,0,0,.5) 86%,rgba(0,0,0,.18) 94%,transparent)}
.gw-book-cta img{width:100%;height:max(600px,min(70vw,840px));object-fit:cover;object-position:38% 62%}
@media(min-width:800px){.gw-book-cta img{object-position:50% 62%}}
.gw-book-cta-in{position:absolute;left:16px;right:16px;top:20%;line-height:1.5}
.gw-book-cta h2{color:#fff;font-size:clamp(30px,4.6vw,54px);margin:0 0 6px;text-shadow:0 2px 24px rgba(0,0,0,.5)}
.gw-book-cta p{margin:0 0 18px;color:var(--on-dark);font-size:18px}
.gw-book-cta .btn{font-size:17px;padding:14px 24px}
.gw-faq details{border-bottom:1px solid #e6dfd3;padding:14px 0}
.gw-faq summary{font-family:var(--gw-serif);font-size:19px;cursor:pointer}
.gw-terms ol{padding-left:22px}.gw-terms h2{font-size:18px;margin:22px 0 4px}
/* Booking */
.gw-book{max-width:760px;padding-bottom:40px}
.gw-form fieldset{border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;margin:0 0 18px;min-width:0}
.gw-form legend{font-weight:750;font-size:18px;padding:0 6px}
.gw-form label{display:block;font-weight:650;margin:14px 0 6px}
.gw-form input:not([type=radio]):not([type=checkbox]),.gw-form select,.gw-form textarea{width:100%;font:inherit;font-size:16px;padding:12px;border:1px solid #c7cad4;border-radius:var(--r-md);background:#fff}
.gw-opt{color:var(--muted);font-weight:400;font-size:14px}
.gw-chip{background:var(--soft);color:var(--ink);border:1px solid var(--line);padding:6px 12px;margin:4px 6px 0 0;border-radius:var(--r-pill);font-weight:600;font-size:14px}
.gw-chip:hover{background:#e9ebf2}
.gw-note{min-height:1.5em;margin:6px 0 0;font-weight:600}
.gw-yes{color:var(--green)}.gw-no{color:var(--red)}
.gw-choose{display:grid;gap:10px;margin-top:14px}
.gw-form .gw-opt-card{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--r);padding:14px;margin:0;font-weight:400;cursor:pointer}
.gw-opt-card:has(input:checked){border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}
.gw-opt-card input{margin-top:4px;width:20px;height:20px}
.gw-opt-card b,.gw-picked b,.gw-song b{display:block}
.gw-results{display:grid;gap:6px;margin-top:8px}
.gw-song{display:flex;gap:12px;align-items:center;text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line);font-weight:400;padding:8px}
.gw-song:hover{background:var(--soft)}
.gw-song img,.gw-picked img{border-radius:var(--r-xs)}
.gw-picked{padding-left:22px;display:grid;gap:6px;margin:6px 0}
.gw-picked:empty{display:none}
.gw-picked li{display:flex;gap:10px;align-items:center}
.gw-picked span{flex:1;min-width:0}
.gw-x{background:none;color:var(--red);padding:6px 8px;font-weight:600;font-size:14px}
.gw-x:hover{background:var(--tint-red)}
.gw-agree{margin:6px 0 10px}.gw-agree summary{cursor:pointer;font-weight:650;color:var(--navy)}
.gw-agree ol{font-size:14px;color:var(--muted);padding-left:20px;max-height:340px;overflow:auto}
.gw-form .gw-check{display:flex;gap:10px;align-items:center;font-weight:600}
.gw-check input{width:20px;height:20px}
.gw-total{font-weight:650;font-size:17px}
.gw-form button[type=submit]{width:100%;font-size:18px;padding:16px}
.error{background:var(--tint-red);color:var(--red-2);padding:12px 14px;border-radius:var(--r-md);font-weight:600}
.gw-sum{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;margin:20px 0}
.gw-sum dt{font-weight:650;color:var(--muted)}.gw-sum dd{margin:0}
.gw-songlist{margin:0;padding-left:20px}.gw-songlist span{color:var(--muted)}
.gw-adm{border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 18px;margin:14px 0}
.gw-adm header{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.gw-adm h2{margin:0;font-size:19px}
.gw-st{font-weight:700;font-size:14px;padding:3px 10px;border-radius:var(--r-pill);background:var(--soft)}
.gw-adm-paid .gw-st,.gw-adm-confirmed .gw-st{background:var(--tint-green);color:var(--green-ink)}
.gw-adm-cancelled{opacity:.55}
