/* K&W Cafeteria — 2026 redesign */
:root{
  --red:#c42b2c; --red-deep:#9e1f22; --red-soft:#f6dcd7;
  --gold:#c99700; --gold-soft:#f4e6bd;
  --ink:#1f1a17; --ink-2:#4a423c; --muted:#6d625a;
  --cream:#fbf5ea; --paper:#fffdf8; --line:#e8dcc6; --tan:#efe4cf;
  --radius:14px; --radius-lg:22px;
  --shadow:0 1px 2px rgba(31,26,23,.06),0 8px 24px -10px rgba(31,26,23,.18);
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --wrap:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);font-size:17px;line-height:1.65;color:var(--ink);background:var(--cream)}
img{max-width:100%;height:auto;display:block}
a{color:var(--red-deep);text-underline-offset:3px}
a:hover{color:var(--red)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.12;margin:0 0 .5em;letter-spacing:-.01em;font-variation-settings:"SOFT" 60,"WONK" 0}
h1{font-size:clamp(2.3rem,5.2vw,4rem)}
h2{font-size:clamp(1.8rem,3.6vw,2.7rem)}
h3{font-size:clamp(1.3rem,2.2vw,1.6rem)}
h4{font-size:1.15rem}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 14px;z-index:999}
.skip:focus{left:10px;top:10px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-weight:700;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
.eyebrow::before{content:"";width:26px;height:2px;background:currentColor}
.lede{font-size:1.15rem;color:var(--ink-2);max-width:62ch}
.center{text-align:center}.center .lede{margin-left:auto;margin-right:auto}.center .eyebrow::after{content:"";width:26px;height:2px;background:currentColor}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--sans);font-weight:700;font-size:.98rem;line-height:1;padding:15px 24px;border-radius:999px;border:2px solid transparent;text-decoration:none;cursor:pointer;transition:transform .15s,background .15s,color .15s,border-color .15s}
.btn:hover{transform:translateY(-1px)}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red-deep);color:#fff}
.btn-ink{background:var(--ink);color:#fff}.btn-ink:hover{background:#000;color:#fff}
.btn-line{border-color:currentColor;color:var(--ink);background:transparent}.btn-line:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-white{background:#fff;color:var(--red-deep)}.btn-white:hover{background:var(--cream);color:var(--red-deep)}
.btn-ghost-w{border-color:rgba(255,255,255,.7);color:#fff}.btn-ghost-w:hover{background:#fff;color:var(--ink)}
.btn svg{width:18px;height:18px}
.btns{display:flex;flex-wrap:wrap;gap:12px}

/* gingham divider */
.gingham{height:14px;background-color:#fff;background-image:linear-gradient(90deg,rgba(196,43,44,.55) 50%,transparent 50%),linear-gradient(rgba(196,43,44,.55) 50%,transparent 50%);background-size:14px 14px}

/* utility + header */
.util{background:var(--ink);color:#e9e1d6;font-size:.86rem}
.util .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:40px}
.util a{color:#e9e1d6;text-decoration:none}.util a:hover{color:#fff}
.util nav{display:flex;gap:22px}
.util .since{font-family:var(--serif);font-style:italic;color:var(--gold-soft)}
.site-head{position:sticky;top:0;z-index:50;background:rgba(255,253,248,.96);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;gap:28px;min-height:84px}
.logo img{width:118px;height:auto}
.mainnav{display:flex;align-items:center;gap:4px;margin-left:auto}
.mainnav>a,.mainnav .dd>button{font:600 .98rem var(--sans);color:var(--ink);text-decoration:none;padding:10px 13px;border-radius:999px;background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.mainnav>a:hover,.mainnav .dd>button:hover,.mainnav>a[aria-current="page"]{background:var(--tan);color:var(--ink)}
.dd{position:relative}
.dd-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:220px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:8px;display:none}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{display:block}
.dd-menu a{display:block;padding:10px 12px;border-radius:9px;color:var(--ink);text-decoration:none;font-weight:500}
.dd-menu a:hover{background:var(--cream)}
.dd>button svg{width:14px;height:14px}
.head-cta{margin-left:10px}
.burger{display:none;margin-left:auto;background:none;border:0;padding:10px;cursor:pointer;color:var(--ink)}
.burger svg{width:28px;height:28px}
.drawer{position:fixed;inset:0;z-index:100;display:none}
.drawer.open{display:block}
.drawer .scrim{position:absolute;inset:0;background:rgba(31,26,23,.5)}
.drawer .panel{position:absolute;right:0;top:0;bottom:0;width:min(360px,88vw);background:var(--paper);padding:22px;overflow:auto;display:flex;flex-direction:column;gap:4px}
.drawer .panel a{color:var(--ink);text-decoration:none;font-weight:600;padding:12px 6px;border-bottom:1px solid var(--line)}
.drawer .panel a.sub{font-weight:500;padding-left:20px;color:var(--ink-2)}
.drawer .panel .btn{margin-top:16px;border-bottom:0;color:#fff}
.drawer .close{align-self:flex-end;background:none;border:0;cursor:pointer;padding:6px}
.drawer .close svg{width:26px;height:26px}

/* hero */
.hero{position:relative;background:var(--ink);color:#fff;overflow:hidden}
.hero .bg{position:absolute;inset:0}
.hero .bg img{width:100%;height:100%;object-fit:cover;opacity:.55}
.hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,15,12,.92) 0%,rgba(20,15,12,.6) 50%,rgba(20,15,12,.15) 100%)}
.hero .wrap{position:relative;padding-top:clamp(70px,11vw,140px);padding-bottom:clamp(70px,11vw,140px)}
.hero h1{max-width:15ch;color:#fff}
.hero .lede{color:#efe7dc;max-width:52ch}
.hero .eyebrow{color:var(--gold-soft)}
.hero-sm .wrap{padding-top:clamp(56px,8vw,96px);padding-bottom:clamp(56px,8vw,96px)}
.hero .sub{font-family:var(--serif);font-style:italic;font-size:1.4rem;color:var(--gold-soft);margin:-6px 0 14px}

/* home split hero */
.home-hero{background:var(--paper);border-bottom:1px solid var(--line)}
.home-hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;padding-top:64px;padding-bottom:72px}
.home-hero h1{font-size:clamp(2.6rem,5.6vw,4.6rem)}
.home-hero h1 em{font-style:italic;color:var(--red)}
.hero-photo{position:relative}
.hero-photo .main{border-radius:var(--radius-lg);aspect-ratio:4/5;object-fit:cover;width:100%;box-shadow:var(--shadow)}
.hero-photo .badge{position:absolute;left:-28px;bottom:36px;background:var(--red);color:#fff;border-radius:50%;width:132px;height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:var(--serif);box-shadow:var(--shadow);transform:rotate(-8deg)}
.hero-photo .badge small{font:700 .7rem var(--sans);letter-spacing:.16em;text-transform:uppercase}
.hero-photo .badge b{font-size:2.3rem;line-height:1}
.hero-photo .inset{position:absolute;right:-18px;top:-22px;width:42%;border-radius:var(--radius);border:6px solid var(--paper);box-shadow:var(--shadow);aspect-ratio:1;object-fit:cover}
.stats{display:flex;gap:30px;margin-top:34px;padding-top:26px;border-top:1px dashed var(--line);flex-wrap:wrap}
.stats div b{display:block;font-family:var(--serif);font-size:2rem;color:var(--red);line-height:1}
.stats div span{font-size:.88rem;color:var(--muted)}

/* sections */
.sec{padding:clamp(64px,9vw,110px) 0}
.sec-paper{background:var(--paper)}
.sec-tan{background:var(--tan)}
.sec-ink{background:var(--ink);color:#efe7dc}
.sec-ink h2,.sec-ink h3{color:#fff}
.sec-red{background:var(--red);color:#fff}
.sec-red h2,.sec-red h3{color:#fff}
.sec-red .eyebrow{color:#fff}
.sec-head{margin-bottom:44px}
.deco{position:relative;background-color:var(--ink);isolation:isolate}
.deco::before{content:"";position:absolute;inset:0;background-image:url(../images/art-deco-pattern.png);background-size:160px;opacity:.07;z-index:-1}
.quilt{background-image:url(../images/quilt-pattern.png);background-size:25px;background-color:var(--cream)}

/* order strip */
.order-strip{background:var(--red);color:#fff}
.order-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:28px;padding-bottom:28px;flex-wrap:wrap}
.order-strip h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:0;color:#fff}
.order-strip p{margin:4px 0 0;color:#ffe7e3}

/* tiles */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tile{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:3/4;color:#fff;text-decoration:none;display:block;background:var(--ink)}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(20,15,12,.85))}
.tile span{position:absolute;left:20px;right:20px;bottom:18px;z-index:2;font-family:var(--serif);font-size:1.55rem;display:flex;justify-content:space-between;align-items:center}
.tile span svg{width:22px;height:22px}
.tile:hover img{transform:scale(1.05)}
.tile:hover{color:#fff}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}
.split.rev .split-media{order:2}
.split-media img{border-radius:var(--radius-lg);width:100%;aspect-ratio:5/4;object-fit:cover;box-shadow:var(--shadow)}
.split-media.tall img{aspect-ratio:4/5}

/* ticket steps */
.tickets{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ticket{position:relative;background:var(--paper);border-radius:12px;padding:30px 24px 26px;box-shadow:var(--shadow);border-top:6px solid var(--red)}
.ticket::before,.ticket::after{content:"";position:absolute;top:54px;width:22px;height:22px;border-radius:50%;background:var(--cream)}
.ticket::before{left:-11px}.ticket::after{right:-11px}
.sec-tan .ticket::before,.sec-tan .ticket::after{background:var(--tan)}
.ticket .no{font-family:var(--serif);font-size:.9rem;color:var(--red);letter-spacing:.12em;text-transform:uppercase;font-weight:700;border-bottom:2px dashed var(--line);padding-bottom:14px;margin-bottom:16px;display:flex;justify-content:space-between}
.ticket .no b{font-size:1.6rem;line-height:1;color:var(--ink)}
.ticket h3{font-size:1.3rem}
.ticket p{font-size:.96rem;color:var(--ink-2);margin:0}

/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cards.c2{grid-template-columns:repeat(2,1fr)}
.cards.c4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.card .ph{aspect-ratio:4/3;object-fit:cover;width:100%}
.card .body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.card .body p{color:var(--ink-2);font-size:.97rem}
.card .body .btn{margin-top:auto;align-self:flex-start}
.card .tag{font:700 .72rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.note svg{width:16px;height:16px;flex:none}
.note{display:inline-flex;align-items:center;gap:8px;background:var(--gold-soft);color:#6b5000;font-weight:600;font-size:.88rem;padding:6px 12px;border-radius:999px;margin-bottom:14px;align-self:flex-start}
.icon-feature{display:flex;gap:18px;align-items:flex-start}
.icon-feature img{width:64px;height:64px;flex:none}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.feature{background:var(--paper);border-radius:var(--radius);padding:30px;border:1px solid var(--line)}
.feature img{width:58px;height:58px;margin-bottom:16px}
.feature p{color:var(--ink-2);margin:0}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gallery img{border-radius:12px;aspect-ratio:1;object-fit:cover;width:100%}
.gallery.g-wide img{aspect-ratio:4/3}

/* quote */
.quote{max-width:820px;margin:0 auto;text-align:center}
.quote blockquote{margin:0;font-family:var(--serif);font-size:clamp(1.6rem,3.4vw,2.5rem);line-height:1.25;color:#fff;font-style:italic}
.quote cite{display:block;margin-top:22px;font-style:normal;color:var(--gold-soft);font-size:.95rem;letter-spacing:.06em}

/* reviews */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.review{background:var(--paper);border-radius:var(--radius);padding:26px;border:1px solid var(--line);display:flex;flex-direction:column}
.review .stars{color:var(--gold);letter-spacing:2px;margin-bottom:10px}
.review p{font-family:var(--serif);font-size:1.12rem;line-height:1.45;flex:1}
.review small{color:var(--muted);font-weight:600}

/* locations */
.loc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.loc{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.loc .ph{position:relative;aspect-ratio:16/10;overflow:hidden}
.loc .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.loc:hover .ph img{transform:scale(1.04)}
.loc .ph span{position:absolute;left:14px;top:14px;background:var(--red);color:#fff;font:700 .72rem var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border-radius:999px}
.loc .body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.loc h3{font-size:1.35rem;margin-bottom:6px}
.loc h3 a{color:var(--ink);text-decoration:none}
.loc address{font-style:normal;color:var(--ink-2);font-size:.95rem}
.loc .meta{display:flex;flex-direction:column;gap:4px;margin:12px 0 16px;font-size:.93rem}
.loc .meta a{font-weight:600;text-decoration:none}
.loc .links{margin-top:auto;display:flex;gap:16px;font-weight:700;font-size:.9rem}
.loc .links a{text-decoration:none}
.ic{display:inline-flex;align-items:center;gap:8px}
.ic svg{width:16px;height:16px;flex:none;color:var(--red)}

/* location detail */
.visit{display:grid;grid-template-columns:1fr 1.25fr;gap:28px;align-items:stretch}
.visit-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px}
.visit-card h3{margin-bottom:16px}
.visit-card dl{margin:0;display:grid;gap:18px}
.visit-card dt{font:700 .75rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:4px}
.visit-card dd{margin:0}
.hours{width:100%;border-collapse:collapse;font-size:.95rem}
.hours td{padding:6px 0;border-bottom:1px dashed var(--line)}
.hours td:last-child{text-align:right;font-weight:600}
.map{border-radius:var(--radius-lg);overflow:hidden;min-height:380px;border:1px solid var(--line);background:var(--tan)}
.map iframe{width:100%;height:100%;min-height:380px;border:0;display:block}
.breakfast{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--radius-lg);overflow:hidden;background:var(--paper);box-shadow:var(--shadow)}
.breakfast img{width:100%;height:100%;object-fit:cover;min-height:300px}
.breakfast .txt{padding:clamp(28px,4vw,48px)}
.breakfast .txt hr{border:0;border-top:2px dashed var(--line);margin:20px 0;width:60%}
.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:-34px;position:relative;z-index:3}
.quick-links a{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 22px;display:flex;justify-content:space-between;align-items:center;font-weight:700;color:var(--ink);text-decoration:none;border-bottom:4px solid var(--red)}
.quick-links a:hover{background:var(--red);color:#fff}
.quick-links svg{width:20px;height:20px}

/* pricing */
.prices{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.price{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px 22px;text-align:center;position:relative}
.price h3{font-size:1.2rem;min-height:2.5em;display:flex;align-items:center;justify-content:center}
.price .amt{font-family:var(--serif);font-size:2.6rem;color:var(--red);line-height:1;margin:6px 0}
.price .amt small{font-size:.9rem;color:var(--muted);font-family:var(--sans)}
.price p{font-size:.93rem;color:var(--ink-2);margin:12px 0 0}
.price.feat{border:2px solid var(--red)}

/* steps list */
.numbered{counter-reset:n;display:grid;gap:22px;padding:0;margin:0;list-style:none}
.numbered>li{counter-increment:n;display:grid;grid-template-columns:52px 1fr;gap:18px;align-items:start}
.numbered>li::before{content:counter(n);width:52px;height:52px;border-radius:50%;background:var(--red);color:#fff;font-family:var(--serif);font-size:1.4rem;display:flex;align-items:center;justify-content:center}
.numbered h3{font-size:1.25rem;margin-bottom:4px}
.numbered p{margin:0;color:var(--ink-2)}
.checklist{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.checklist li{padding-left:30px;position:relative}
.checklist li::before{content:"";position:absolute;left:0;top:7px;width:16px;height:16px;border-radius:50%;background:var(--red-soft);box-shadow:inset 0 0 0 5px var(--red)}

/* catering options */
.opt{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.opt .card .body h3{margin-bottom:8px}
.dl{display:inline-flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;margin-top:auto}
.dl svg{width:18px;height:18px}

/* menu categories */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cat{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:1;background:var(--ink)}
.cat img{width:100%;height:100%;object-fit:cover;opacity:.9;transition:transform .5s}
.cat:hover img{transform:scale(1.05)}
.cat h3{position:absolute;left:0;right:0;bottom:0;margin:0;padding:40px 18px 16px;color:#fff;background:linear-gradient(transparent,rgba(20,15,12,.85));font-size:1.4rem}
.days{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 34px}
.days span{font-weight:700;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;padding:9px 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--paper)}
.fav-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.fav{background:var(--paper);border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}
.fav img{aspect-ratio:4/3;object-fit:cover;width:100%}
.fav div{padding:14px 16px}
.fav b{font-family:var(--serif);font-size:1.1rem;font-weight:600;display:block}
.fav small{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}

/* deals */
.deals{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.deal{background:var(--paper);border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column}
.deal .ph{position:relative}
.deal .ph img{aspect-ratio:4/3;object-fit:cover;width:100%}
.deal .ph h3{position:absolute;left:14px;bottom:14px;max-width:calc(100% - 28px);margin:0;background:var(--red);color:#fff;padding:10px 14px;border-radius:10px;font-size:1.2rem;display:inline-block;width:auto}
.deal .body{padding:20px 22px 24px}
.deal .body p{margin:0;color:var(--ink-2)}

/* forms */
.form-wrap{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(24px,4vw,44px);box-shadow:var(--shadow)}
.form-wrap h4{font-family:var(--sans);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin:24px 0 12px}
.form-wrap h4:first-child{margin-top:0}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fgrid .full{grid-column:1/-1}
label.f{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.9rem}
.f input,.f select,.f textarea{font:inherit;font-weight:400;font-size:1rem;padding:13px 14px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);width:100%}
.f textarea{min-height:130px;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}
.form-wrap .btn{margin-top:20px}
.form-msg{display:none;margin-top:16px;padding:14px 16px;border-radius:10px;background:var(--gold-soft);color:#5c4500;font-weight:600}
.form-msg.show{display:block}
.contact-box{display:grid;gap:14px}
.contact-box .row{display:flex;gap:14px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.contact-box .row svg{width:24px;height:24px;color:var(--red);flex:none;margin-top:2px}
.contact-box .row b{display:block}

/* cta band */
.cta-band{border-radius:var(--radius-lg);padding:clamp(32px,5vw,56px);display:grid;grid-template-columns:1.4fr auto;gap:26px;align-items:center;background:var(--red);color:#fff;position:relative;overflow:hidden}
.cta-band h2{color:#fff;margin-bottom:8px}
.cta-band p{margin:0;color:#ffe7e3}
.cta-band::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;border:30px solid rgba(255,255,255,.08)}
.promo-banner img{border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow)}

/* footer */
.site-foot{background:var(--ink);color:#cfc5b8;font-size:.95rem}
.site-foot .top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.4fr;gap:40px;padding:72px 0 48px}
.site-foot img.flogo{width:150px;margin-bottom:18px}
.site-foot h4{color:#fff;font-family:var(--sans);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px}
.site-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.site-foot a{color:#cfc5b8;text-decoration:none}.site-foot a:hover{color:#fff}
.social{display:flex;gap:10px;margin-top:18px}
.social a{width:40px;height:40px;border-radius:50%;border:1px solid #4a423c;display:flex;align-items:center;justify-content:center}
.social a:hover{background:var(--red);border-color:var(--red)}
.social svg{width:18px;height:18px}
.foot-locs{display:block!important;columns:2;column-gap:20px}
.foot-locs li{break-inside:avoid;margin-bottom:9px}
.foot-locs small{display:block;color:#8f857a}
.site-foot .bottom{border-top:1px solid #3a332e;padding:22px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.85rem;color:#8f857a}
.mobile-order{display:none}

/* responsive */
@media (max-width:1080px){
  .mainnav,.head-cta{display:none}
  .burger{display:block}
  .tiles,.tickets,.prices,.cat-grid,.fav-grid,.cards.c4{grid-template-columns:repeat(2,1fr)}
  .loc-grid,.deals,.reviews,.cards,.features{grid-template-columns:repeat(2,1fr)}
  .site-foot .top{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  body{font-size:16px}
  .util .since{display:none}
  .util nav{gap:16px;font-size:.8rem}
  .util .wrap{justify-content:center}
  .site-head .wrap{min-height:70px}
  .logo img{width:96px}
  .home-hero .wrap,.split,.visit,.breakfast,.opt,.cta-band{grid-template-columns:1fr}
  .split.rev .split-media{order:0}
  .home-hero .wrap{padding-top:36px;gap:40px}
  .hero-photo{margin:0 10px}
  .stats{gap:14px;flex-wrap:nowrap}.stats div b{font-size:1.5rem}.stats div span{font-size:.75rem;display:block;line-height:1.3}
  .hero-photo .badge{left:-8px;width:104px;height:104px}.hero-photo .badge b{font-size:1.8rem}
  .hero-photo .inset{right:-8px}
  .tiles{grid-template-columns:1fr 1fr;gap:12px}
  .tile span{font-size:1.2rem;left:14px;bottom:12px}
  .tickets,.prices,.loc-grid,.deals,.reviews,.cards,.cards.c2,.features,.quick-links{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .fgrid{grid-template-columns:1fr}
  .site-foot .top{grid-template-columns:1fr;padding-top:52px}
  .foot-locs{columns:1}
  .quick-links{margin-top:-26px}
  .mobile-order{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:60;box-shadow:0 10px 30px rgba(0,0,0,.25)}
  .site-foot .bottom{padding-bottom:90px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
[id]{scroll-margin-top:100px}
