/* =========================================================================
   ReflekTent — site stylesheet (Nov 2026 rebuild)
   Replaces the Carrd export. Brand type: Bruno Ace display, Inter body.
   Layout: full-bleed alternating bands, night dark for product and proof,
   mylar silver for reasoning sections. One red, used only for action.
   ========================================================================= */

:root{
	--ink:#0B0B13;
	--ink-2:#10101C;
	--ink-3:#1B1B29;
	--silver:#E7E9EC;
	--silver-2:#F4F5F7;
	--red:#E03127;
	--red-hot:#F0463B;
	--ember:#FF8A00;
	--amber:#F9A13A;
	--green:#157A3F;
	--text:#FFFFFF;
	--dim:#A8ADB8;
	--ink-text:#15151F;
	--ink-dim:#4A4F5C;
	--line:rgba(255,255,255,.12);
	--line-dark:rgba(16,16,28,.14);
	--display:'Bruno Ace','Bruno Ace SC','Inter',sans-serif;
	--body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
	color-scheme:dark;
}

*{box-sizing:border-box}
[hidden]{display:none !important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none !important;transition:none !important}}
body{
	margin:0;background:var(--ink);color:var(--text);
	font-family:var(--body);font-size:17px;line-height:1.6;
	-webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4{margin:0;line-height:1.05;text-wrap:balance}
p{margin:0}
button{font:inherit}
:focus-visible{outline:3px solid var(--ember);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.wrap{max-width:1180px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.band{width:100%}
.band-dark{background:var(--ink)}
.band-dark2{background:var(--ink-2)}
.band-light{background:var(--silver);color:var(--ink-text)}
.pad{padding-block:clamp(54px,7.5vw,100px)}

.eyebrow{
	font-family:var(--body);text-transform:uppercase;letter-spacing:.2em;
	font-weight:700;font-size:13.5px;color:var(--red-hot);margin-bottom:14px;
}
.band-light .eyebrow{color:var(--red)}
.h2{font-family:var(--body);font-size:clamp(28px,4.6vw,48px);font-weight:900;text-transform:uppercase;letter-spacing:-.01em;line-height:1.08}
.lede{font-size:clamp(16px,1.9vw,19px);color:var(--dim);max-width:62ch;margin-top:16px}
.band-light .lede{color:var(--ink-dim)}

/* ---------- announcement + nav ---------- */
.announce{background:var(--red);color:#fff;font-size:13.5px;font-weight:600;text-transform:uppercase;letter-spacing:.1em}
.announce .wrap{display:flex;gap:8px 26px;justify-content:center;flex-wrap:wrap;padding-block:9px}
.announce span{white-space:nowrap}

.nav{position:sticky;top:0;z-index:60;background:rgba(11,11,19,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:16px;padding-block:12px}
.nav .logo{width:170px;flex:none}
.navlinks{display:flex;gap:26px;margin-left:auto;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.1em}
.navlinks a{text-decoration:none;color:var(--dim);transition:color .15s}
.navlinks a:hover,.navlinks a:focus-visible{color:#fff}
.navtoggle{display:none;margin-left:auto;background:none;border:0;padding:8px;cursor:pointer}
.navtoggle span{display:block;width:26px;height:2.5px;background:#fff;margin:5px 0;transition:transform .25s,opacity .25s}
.navtoggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.navtoggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.navtoggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.navdrawer{display:none;border-top:1px solid var(--line);background:var(--ink-2)}
.navdrawer.is-open{display:block}
.navdrawer a{display:block;padding:14px 0;text-decoration:none;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:15px;border-bottom:1px solid var(--line)}
.navdrawer a:last-child{border-bottom:0}
@media (max-width:900px){
	.navlinks{display:none}
	.navtoggle{display:block}
	.nav .logo{width:145px}
}

/* ---------- buttons ---------- */
.btn{
	display:inline-flex;align-items:center;justify-content:center;
	background:var(--red);color:#fff;text-decoration:none;
	font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:15px;
	padding:16px 34px;border-radius:999px;border:0;cursor:pointer;
	transition:background .15s,transform .15s;text-align:center;
}
.btn:hover{background:var(--red-hot);transform:translateY(-1px)}
.btn-sm{padding:10px 20px;font-size:13px}
.btn-full{width:100%}
.btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.45)}
.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
.band-light .btn-ghost{color:var(--ink-text);border-color:rgba(16,16,28,.3)}
.band-light .btn-ghost:hover{background:rgba(16,16,28,.07)}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--ink-2);overflow:hidden}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 42%}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,11,19,.90) 0%,rgba(11,11,19,.72) 42%,rgba(11,11,19,.30) 100%)}
.hero .wrap{position:relative;z-index:1;padding-block:clamp(52px,8vw,108px)}
.hero-inner{max-width:640px}
.hero h1{
	font-family:var(--display);
	font-size:clamp(30px,5.2vw,58px);
	line-height:1.12;text-transform:uppercase;letter-spacing:-.01em;
	text-shadow:0 2px 24px rgba(0,0,0,.55);
}
.hero h1 em{font-style:normal;color:var(--red-hot)}
.hero-sub{font-size:clamp(16px,2vw,20px);color:#D7DAE0;margin-top:20px;max-width:46ch;text-shadow:0 1px 14px rgba(0,0,0,.6)}
.rating{display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:14.5px;color:#D7DAE0;background:rgba(11,11,19,.5);border:1px solid var(--line);border-radius:999px;padding:6px 14px;margin-bottom:18px;text-decoration:none}
.stars{color:var(--ember);letter-spacing:2px}
.pricerow{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:26px 0 6px}
.price{font-family:var(--body);font-weight:900;font-size:clamp(30px,4.2vw,42px);letter-spacing:-.02em}
.price-note{font-size:14.5px;color:#C3C8D1}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.microtrust{display:flex;gap:7px 20px;flex-wrap:wrap;margin-top:18px;font-size:13.5px;color:#C3C8D1;text-transform:uppercase;letter-spacing:.07em}
.microtrust span{display:flex;align-items:center;gap:7px}
.tick{width:14px;height:14px;flex:0 0 14px;color:var(--ember)}

/* ---------- stat strip ---------- */
.stats{background:var(--ink-2);border-block:1px solid var(--line)}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);padding-block:0}
.stat{padding:22px 10px;text-align:center}
.stat b{display:block;font-weight:900;font-size:clamp(20px,2.8vw,28px);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.stat small{text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--dim)}
@media (max-width:700px){.stats .wrap{grid-template-columns:1fr 1fr}}

/* ---------- grids ---------- */
.cols{display:grid;gap:clamp(20px,3vw,40px)}
.c2{grid-template-columns:1fr 1fr}
.c3{grid-template-columns:repeat(3,1fr)}
.c4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.c2,.c3{grid-template-columns:1fr}.c4{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.c4{grid-template-columns:1fr}}

/* ---------- comparison table ---------- */
.tablewrap{overflow-x:auto;margin-top:32px;border:1px solid var(--line-dark);border-radius:14px;background:#fff}
.ctable{border-collapse:collapse;width:100%;min-width:620px;font-size:15.5px}
.ctable th,.ctable td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line-dark);vertical-align:middle}
.ctable thead th{text-transform:uppercase;letter-spacing:.1em;font-size:13px;color:var(--ink-dim);font-weight:700;background:var(--silver-2)}
.ctable thead th.own{color:#fff;background:var(--ink-2)}
.ctable tbody td:first-child{font-weight:600;color:var(--ink-text)}
.ctable td.own{background:rgba(224,49,39,.06);font-weight:600;color:var(--ink-text)}
.ctable tbody tr:last-child td{border-bottom:0}
.yes{color:var(--green);font-weight:700}
.no{color:#A8321C}

/* ---------- how it works ---------- */
.hiw{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:32px}
.hiw figure{margin:0;min-width:0}
.hiw img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px}
.hiw figcaption{margin-top:12px;font-size:15px;color:var(--ink-dim)}
.hiw b{display:block;color:var(--ink-text);font-weight:800;font-size:16px;margin-bottom:3px}
@media (max-width:900px){.hiw{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.hiw{grid-template-columns:1fr}}

/* ---------- fit checker ---------- */
.fitgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,3.4vw,46px);align-items:start}
@media (max-width:900px){.fitgrid{grid-template-columns:1fr}}
.fitcard{background:var(--ink-2);border:1px solid var(--line);border-radius:20px;padding:clamp(20px,3vw,32px);min-width:0}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.field label{text-transform:uppercase;letter-spacing:.12em;font-size:12.5px;font-weight:700;color:var(--dim)}
select,input[type=number],input[type=email],input[type=text]{
	width:100%;background:#fff;color:var(--ink-text);border:1px solid transparent;
	border-radius:10px;padding:13px 14px;font-family:var(--body);font-size:16px;
}
.dims{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.result{display:none;margin-top:4px;border-radius:14px;padding:17px 19px}
.result.is-shown{display:block}
.result h3{font-weight:900;text-transform:uppercase;font-size:18px;margin-bottom:6px}
.result p{font-size:15px;color:var(--dim)}
.r-good{background:rgba(60,200,120,.14);border:1px solid rgba(60,200,120,.4)}
.r-good h3{color:#5FE39A}
.r-snug{background:rgba(255,138,0,.13);border:1px solid rgba(255,138,0,.45)}
.r-snug h3{color:var(--ember)}
.r-bad{background:rgba(224,49,39,.14);border:1px solid rgba(224,49,39,.5)}
.r-bad h3{color:var(--red-hot)}
.capture{margin-top:15px;padding-top:15px;border-top:1px solid var(--line)}
.inline-form{display:flex;gap:9px;flex-wrap:wrap}
.inline-form input{flex:1 1 200px;min-width:0}
.formnote{font-size:13.5px;color:var(--dim);margin-top:9px;min-height:1.2em}
.formnote.success{color:#5FE39A}
.formnote.error{color:var(--red-hot)}
.hp-field{position:absolute !important;left:-9999px !important;width:1px !important;height:1px !important;overflow:hidden !important}
.factbox{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}
.factbox div{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:14px;padding:18px;min-width:0}
.factbox b{display:block;font-weight:800;text-transform:uppercase;font-size:14px;margin-bottom:5px}
.factbox span{font-size:14.5px;color:var(--dim)}
.reftables{margin-top:26px}
.reftables summary{cursor:pointer;font-weight:700;padding:10px 0}
.ftab{width:100%;border-collapse:collapse;font-size:14px;margin-top:10px}
.ftab th,.ftab td{border:1px solid var(--line);padding:7px 9px;text-align:left}
.ftab th{background:rgba(255,255,255,.07);text-transform:uppercase;font-size:12.5px;letter-spacing:.07em}
.reftables .cols{margin-top:14px}

/* ---------- product block ---------- */
.prodgrid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(22px,3.4vw,48px);align-items:start}
@media (max-width:980px){.prodgrid{grid-template-columns:1fr}}
.prodmedia{display:flex;flex-direction:column;gap:14px;min-width:0}
.prodmedia video{width:100%;border-radius:16px;background:#000;display:block}
.thumbs{display:flex;gap:9px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
.thumbs a{flex:0 0 auto;scroll-snap-align:start;border-radius:10px;overflow:hidden;width:104px;height:104px;display:block}
.thumbs img{width:100%;height:100%;object-fit:cover;transition:opacity .15s}
.thumbs a:hover img{opacity:.8}
.buypanel{background:linear-gradient(170deg,var(--ink-3),var(--ink-2));border:1px solid var(--line);border-radius:20px;padding:clamp(22px,3vw,34px);min-width:0;position:sticky;top:84px}
@media (max-width:980px){.buypanel{position:static}}
.specs{list-style:none;padding:0;margin:20px 0;display:flex;flex-direction:column;gap:9px}
.specs li{display:flex;justify-content:space-between;gap:16px;border-bottom:1px dashed var(--line);padding-bottom:8px;font-size:15.5px}
.specs span:first-child{color:var(--dim);text-transform:uppercase;letter-spacing:.08em;font-size:13px}
.specs span:last-child{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.acc{margin-top:18px}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{cursor:pointer;list-style:none;padding:15px 0;font-weight:700;font-size:16px;display:flex;justify-content:space-between;align-items:center;gap:14px}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-size:22px;color:var(--red-hot);line-height:1}
.acc details[open] summary::after{content:"\2013"}
.acc .ans{padding-bottom:15px;color:var(--dim);font-size:15px}
.acc .ans p{margin-bottom:9px}
.acc .ans p:last-child{margin-bottom:0}
.acc .ans a{color:#fff}

/* ---------- guarantee row ---------- */
.guard{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:32px}
.guard div{background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:14px;padding:19px;min-width:0}
.guard b{display:block;font-weight:800;text-transform:uppercase;font-size:15px;margin-bottom:5px}
.guard span{font-size:14.5px;color:var(--dim)}
@media (max-width:860px){.guard{grid-template-columns:1fr 1fr}}
@media (max-width:460px){.guard{grid-template-columns:1fr}}

/* ---------- reviews ---------- */
.revgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
@media (max-width:980px){.revgrid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.revgrid{grid-template-columns:1fr}}
.rev{background:#fff;border:1px solid var(--line-dark);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:11px;min-width:0}
.rev p{font-size:15.5px;color:var(--ink-text);line-height:1.6}
.rev .who{margin-top:auto;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-dim)}

/* ---------- founder ---------- */
.founder{display:grid;grid-template-columns:260px 1fr;gap:clamp(20px,3vw,44px);align-items:center}
.founder img{width:100%;border-radius:18px}
.founder p+p{margin-top:14px}
@media (max-width:760px){.founder{grid-template-columns:1fr}.founder img{max-width:210px}}

/* ---------- lifestyle band ---------- */
.shots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:30px}
.shots img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px}
@media (max-width:760px){.shots{grid-template-columns:1fr 1fr}}

/* ---------- mailing list ---------- */
.capband{background:var(--red);color:#fff}
.capband .wrap{padding-block:clamp(44px,6vw,76px)}
.capband .eyebrow{color:rgba(255,255,255,.85)}
.capband .lede{color:rgba(255,255,255,.9)}
.capband .inline-form{margin-top:22px;max-width:540px}
.capband .btn{background:var(--ink-2)}
.capband .btn:hover{background:#000}
.capband .formnote{color:rgba(255,255,255,.9)}
.capband .formnote.success{color:#fff;font-weight:700}

/* ---------- footer ---------- */
.foot{background:var(--ink);border-top:1px solid var(--line);font-size:14.5px;color:var(--dim)}
.foot .wrap{padding-block:34px;display:flex;gap:16px 30px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.foot a{text-decoration:none}
.foot a:hover{color:#fff}
.foot .links{display:flex;gap:20px;flex-wrap:wrap}
.foot .social{display:flex;gap:14px;align-items:center}
.foot .social svg{width:22px;height:22px;fill:currentColor}

/* ---------- sticky buy bar ---------- */
.buybar{
	position:fixed;left:0;right:0;bottom:0;z-index:70;
	background:rgba(11,11,19,.95);backdrop-filter:blur(14px);
	border-top:1px solid var(--line);
	transform:translateY(115%);transition:transform .28s ease;
	padding-left:max(16px,env(safe-area-inset-left,0px));
	padding-right:max(16px,env(safe-area-inset-right,0px));
	padding-bottom:env(safe-area-inset-bottom,0px);
}
.buybar.is-shown{transform:none}
.buybar .inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:14px;padding-block:11px}
.buybar b{display:block;font-weight:900;font-size:19px;line-height:1.1}
.buybar small{font-size:12.5px;color:var(--dim)}
.buybar .btn{margin-left:auto;white-space:nowrap}
@media (max-width:460px){.buybar small{display:none}}

/* ---------- email popup ---------- */
.popup-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;z-index:9999;opacity:0;pointer-events:none;transition:opacity .25s ease;padding:16px}
.popup-overlay.is-visible{opacity:1;pointer-events:auto}
.popup{position:relative;background:var(--ink-2);border:1px solid var(--line);color:#fff;max-width:27rem;width:100%;padding:38px 28px 28px;border-radius:18px;text-align:center}
.popup h2{font-size:24px;font-weight:900;text-transform:uppercase;margin-bottom:10px}
.popup p{color:var(--dim);margin-bottom:20px;font-size:15.5px}
.popup .inline-form{flex-direction:column}
.popup .inline-form input{flex:1 1 auto}
.popup-close{position:absolute;top:8px;right:12px;background:none;border:0;font-size:28px;line-height:1;cursor:pointer;color:var(--dim)}
.popup-close:hover{color:#fff}
.popup-dismiss{margin-top:14px;background:none;border:0;text-decoration:underline;color:var(--dim);cursor:pointer;font-size:14px}

/* ---------- referral banner ---------- */
.ref-banner{
	position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);
	width:calc(100% - 2rem);max-width:34rem;display:flex;align-items:center;gap:.75rem;
	padding:.75rem .75rem .75rem 1rem;background:var(--ink-2);color:#fff;
	border-left:4px solid var(--red);border-radius:.5rem;
	box-shadow:0 .5rem 1.5rem rgba(0,0,0,.35);font-size:.9rem;line-height:1.4;z-index:9000;
}
.ref-banner-text{flex:1;margin:0}
.ref-banner-close{flex:none;background:none;border:0;color:rgba(255,255,255,.7);font-size:1.4rem;line-height:1;padding:.25rem .5rem;cursor:pointer}
.ref-banner-close:hover{color:#fff}

/* ---------- lightbox ---------- */
.lightbox{position:fixed;inset:0;background:rgba(5,5,10,.94);z-index:9998;display:none;align-items:center;justify-content:center;padding:24px}
.lightbox.is-open{display:flex}
.lightbox img{max-width:100%;max-height:88vh;width:auto;border-radius:10px}
.lightbox button{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:18px;background:none;border:0;color:#fff;font-size:34px;line-height:1;cursor:pointer}

/* ---------- returns page ---------- */
.policy{max-width:46rem;margin:0 auto;text-align:center}
.policy h1{font-family:var(--body);font-size:clamp(30px,5vw,46px);font-weight:900;text-transform:uppercase;margin-bottom:16px}
.policy .lede{margin:0 auto 34px;color:var(--dim)}
.pcards{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left;margin-bottom:22px}
@media (max-width:760px){.pcards{grid-template-columns:1fr}}
.pcard{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:16px;padding:26px}
.pcard h2{font-size:19px;font-weight:800;margin-bottom:10px}
.pcard p{color:var(--dim);font-size:15.5px}
.phow{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:16px;padding:26px;text-align:left;margin-bottom:30px}
.phow h2{font-size:19px;font-weight:800;margin-bottom:10px}
.phow p{color:var(--dim);font-size:15.5px}
.backlink{display:inline-block;font-weight:700;color:var(--red-hot);text-decoration:none}
.backlink:hover{text-decoration:underline}

/* --- Phone header fixes -------------------------------------------------
   The nav CTA wrapped to two lines and the announcement bar ran to three,
   which together pushed the headline most of the way down the first screen. */
.nav .btn{white-space:nowrap}
@media (max-width:900px){
	.navbuy-price{display:none}
	.nav .wrap{gap:10px}
}
@media (max-width:640px){
	.announce{font-size:11.5px;letter-spacing:.07em}
	.announce .wrap{gap:4px 14px;padding-block:7px}
	.announce span:nth-child(4){display:none}
	.hero-bg img{object-position:center 32%}
	.hero .wrap{padding-block:34px 44px}
}

/* Phone and desktop use different hero photographs, so the <picture>
   wrapper has to fill the band the same way a bare <img> did. */
.hero-bg picture{display:block;width:100%;height:100%}
@media (max-width:640px){.hero-bg img{object-position:center center}}

/* On a phone the hero is read top to bottom, not left to right, so the
   diagonal scrim buries the tent. Darken the top, where the headline
   sits, and let the photograph come through underneath it. */
@media (max-width:640px){
	.hero-bg::after{
		background:linear-gradient(180deg,
			rgba(11,11,19,.90) 0%,
			rgba(11,11,19,.78) 38%,
			rgba(11,11,19,.52) 68%,
			rgba(11,11,19,.30) 100%);
	}
	.hero-bg img{object-position:center 58%}
}

/* The trust line can land on a bright part of the photograph, so give it
   the same shadow the headline and subhead already carry. */
.microtrust{text-shadow:0 1px 10px rgba(0,0,0,.85)}
.microtrust .tick{filter:drop-shadow(0 1px 3px rgba(0,0,0,.8))}
.hero .price-note{text-shadow:0 1px 12px rgba(0,0,0,.8)}
.hero .price{text-shadow:0 2px 18px rgba(0,0,0,.6)}

/* The desktop hero is pre-cropped so the tent clears the copy block.
   Centre it rather than shifting it down, which re-cropped the framing. */
@media (min-width:641px){.hero-bg img{object-position:center center}}

/* The festival shot moved out of the grid and behind the capture block.
   The red stays dominant on the left where the copy sits and thins out to
   the right so the lights read through. */
.capband{position:relative;overflow:hidden;isolation:isolate}
.capband-bg{position:absolute;inset:0;z-index:0}
.capband-bg img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.capband-bg::after{
	content:"";position:absolute;inset:0;
	background:linear-gradient(95deg,
		rgba(224,49,39,.97) 0%,
		rgba(224,49,39,.93) 38%,
		rgba(189,36,28,.74) 68%,
		rgba(16,16,28,.60) 100%);
}
.capband .wrap{position:relative;z-index:1}
@media (max-width:760px){
	.capband-bg::after{
		background:linear-gradient(180deg,
			rgba(224,49,39,.97) 0%,
			rgba(224,49,39,.90) 55%,
			rgba(16,16,28,.66) 100%);
	}
}

/* Stacked logo: the icon sits above the wordmark, so it is roughly 2.5:1
   instead of 7.6:1. Size it by height or it makes the header enormous. */
.nav .logo{width:auto;height:46px}
.foot .footlogo{width:auto;height:55px}
@media (max-width:900px){.nav .logo{height:38px}}
@media (max-width:420px){.nav .logo{height:34px}}
