/*
Theme Name: Enzo Hair
Theme URI: https://enzohair.com/
Author: Starfish
Author URI: http://starfishlimited.com
Description: Block theme for Enzo Hair, Norwich. Brand blue, red and black, bold Montserrat type and scroll effects. Every section is made of editable blocks: change text, links, the menu and the hero video in Appearance > Editor.
Version: 2.0.2
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: enzo-hair
*/

/* Layout: the shop-window flyer, scaled up. Flat blocks of brand blue and red, white ground,
   heavy uppercase sans set against hairline light caps, a red-white-blue pole stripe as the spine. */
:root{
  --white:#FFFFFF;
  --ink:#231F20;
  --red:#DB1F26;
  --blue:#293D9B;
  --steel:#5C5A63;
  --mist:#F2F3F7;
  --rule:#231F2026;
  --sans:"Montserrat", "Gotham", "Helvetica Neue", Arial, sans-serif;
  --gut: clamp(16px, 4vw, 56px);
  --max: 1320px;
  --tb: 0px; /* top bar height, set by script */
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:clamp(16px,.6vw + 12px,18px);line-height:1.6;overflow-x:hidden}
a{color:inherit}
img,video,svg{max-width:100%;display:block}
h1,h2,h3,h4{text-wrap:balance;margin:0}
p,figure{margin:0}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.wp-site-blocks{padding:0}
.wp-site-blocks > *{margin-block-start:0 !important}
.wrap{max-width:var(--max);margin-inline:auto !important;padding-inline:var(--gut)}
.cap{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:700}
.heavy{font-weight:900;text-transform:uppercase;letter-spacing:-.02em;line-height:.88}
.light-kick{font-weight:300;text-transform:uppercase;letter-spacing:.03em;line-height:1.05;color:var(--blue);font-size:clamp(1.1rem,2.8vw,2.5rem)}
.has-red-color{color:var(--red) !important}
.has-blue-color{color:var(--blue) !important}
.muted{color:var(--steel)}

/* buttons: core Button blocks and .btn links share one look */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.wp-block-button__link,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;background:var(--red);color:var(--white) !important;text-decoration:none;font-family:var(--sans);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;line-height:1.2;padding:1rem 1.5rem;border:2px solid var(--red);border-radius:0;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s}
.wp-block-button__link:hover,.btn:hover{background:var(--ink);border-color:var(--ink);transform:translateY(-2px)}
.btn-line .wp-block-button__link{background:transparent;color:var(--ink) !important;border-color:var(--ink)}
.btn-line .wp-block-button__link:hover{background:var(--ink);color:var(--white) !important}
.btn-white .wp-block-button__link{background:var(--white);border-color:var(--white);color:var(--ink) !important}
.btn-white .wp-block-button__link:hover{background:var(--ink);border-color:var(--ink);color:var(--white) !important}
.btn-ghost-w .wp-block-button__link{background:transparent;border-color:var(--white);color:var(--white) !important}
.btn-ghost-w .wp-block-button__link:hover{background:var(--white);color:var(--ink) !important}

/* pole stripe: red, white, blue */
.stripe{height:10px;background:repeating-linear-gradient(-45deg,var(--red) 0 12px,var(--white) 12px 24px,var(--blue) 24px 36px,var(--white) 36px 48px);background-size:68px 10px;animation:pole 2.4s linear infinite}
@keyframes pole{to{background-position:68px 0}}
.progress{position:fixed;inset:0 0 auto 0;height:4px;z-index:100000;background:var(--red);transform-origin:0 50%;transform:scaleX(var(--p,0));pointer-events:none}

/* header: the top bar scrolls away, the logo and menu stay */
.wp-site-blocks > header.wp-block-template-part{position:sticky;top:calc(var(--wp-admin--admin-bar--height, 0px) - var(--tb));z-index:50}
.topbar{background:var(--blue);color:var(--white);font-size:.8rem;font-weight:500}
.topbar > .wrap{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;justify-content:space-between;align-items:center;padding-block:.55rem}
.topbar a{text-decoration:none}
.topbar a:hover{text-decoration:underline}
.topbar-contact{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem}
.status{display:inline-flex;align-items:center;gap:.5rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:.72rem}
.status::before{content:"";width:8px;height:8px;border-radius:50%;background:#ffffff80;flex:none}
.status.open::before{background:#5BE38F;box-shadow:0 0 0 4px #5be38f40}
.masthead{background:var(--white);border-bottom:1px solid var(--rule);transition:box-shadow .3s}
.scrolled .masthead{box-shadow:0 10px 30px -20px #0007}
.masthead > .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1.1rem;transition:padding .3s}
.scrolled .masthead > .wrap{padding-block:.6rem}
.logo{display:block;width:clamp(150px,18vw,220px);transition:width .3s;flex:none}
.scrolled .logo{width:clamp(130px,14vw,170px)}
.logo img{width:100%;height:auto}
.masthead-right{display:flex;align-items:center;gap:clamp(.8rem,2vw,2rem)}
.main-nav{font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}
.main-nav .wp-block-navigation__container{gap:clamp(.9rem,2vw,2rem) !important}
.main-nav .wp-block-navigation-item__content{text-decoration:none;position:relative;padding-block:.3rem}
.main-nav .wp-block-navigation-item__content::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.main-nav .wp-block-navigation-item__content:hover::after,.main-nav .current-menu-item > .wp-block-navigation-item__content::after{transform:scaleX(1)}
.main-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--white);color:var(--ink);padding:1.4rem var(--gut)}
.main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:1.2rem !important;font-size:1.05rem}
.main-nav .wp-block-navigation__responsive-container-open{border:2px solid var(--ink);padding:.45rem}
@media (max-width:600px){.masthead .book-btn .wp-block-button__link{padding:.75rem 1rem;font-size:.72rem}}

/* hero */
.hero{padding-block:clamp(2.5rem,6vw,5.5rem) 0;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:end}
.kicker{display:flex;align-items:center;gap:.9rem;color:var(--red)}
.kicker::before{content:"";width:40px;height:3px;background:currentColor;flex:none}
.hero .light-kick{font-size:clamp(1.5rem,4.2vw,4.1rem);margin-top:1.2rem;margin-bottom:.12em;line-height:1}
.hero h1{font-size:clamp(3rem,8.4vw,8.2rem)}
.hero .sub{margin-top:1.6rem;font-size:clamp(1.05rem,1.3vw,1.25rem);max-width:44ch;color:var(--steel);font-weight:500}
.hero .sub strong{color:var(--ink)}
.hero .wp-block-buttons{margin-top:2rem}
.reel{position:relative;aspect-ratio:4/5;max-width:100%;background:var(--blue);overflow:hidden}
.reel::after{content:"";position:absolute;inset:auto 0 0 0;height:10px;background:repeating-linear-gradient(-45deg,var(--red) 0 12px,var(--white) 12px 24px,var(--blue) 24px 36px,var(--white) 36px 48px);z-index:3}
.reel .wp-block-video{position:absolute;inset:0;z-index:1;margin:0}
.reel .wp-block-video video{width:100%;height:100%;object-fit:cover}
.reel-poster{position:absolute;inset:0;display:grid;align-content:center;justify-items:start;padding:clamp(1.4rem,3vw,2.4rem);color:var(--white)}
.reel-poster .light-kick{color:var(--white);font-size:clamp(1.4rem,2.6vw,2.3rem);margin:0}
.reel-poster .yr{font-weight:900;font-size:clamp(4.6rem,10vw,9rem);line-height:.82;letter-spacing:-.04em}
.reel-poster .cap{margin-top:1.2rem;opacity:.8}
.badge{position:absolute;z-index:2;top:1.2rem;right:1.2rem;background:var(--red);color:var(--white);width:6.6rem;height:6.6rem;border-radius:50%;display:grid;place-items:center;text-align:center;font-weight:900;text-transform:uppercase;font-size:.78rem;line-height:1.15;letter-spacing:.04em;transform:rotate(-10deg)}
@media (max-width:880px){.hero-grid{grid-template-columns:1fr}.reel{aspect-ratio:16/12}}

.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--rule);margin-top:clamp(2.5rem,5vw,4rem)}
.fact{padding:1.4rem 1rem 1.6rem 0;display:grid;gap:.2rem;align-content:start}
.fact + .fact{padding-left:1.4rem;border-left:1px solid var(--rule)}
.fact-big{font-weight:900;font-size:clamp(1.6rem,2.6vw,2.4rem);line-height:1;text-transform:uppercase;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.fact-small{color:var(--steel);font-size:.85rem;font-weight:500}
@media (max-width:760px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.fact:nth-child(3){padding-left:0;border-left:0}.fact:nth-child(n+3){border-top:1px solid var(--rule)}}

/* marquee: the script builds the moving strip from the paragraph's " / " separated list */
.marquee{background:var(--ink);color:var(--white);overflow:hidden}
.marquee-src{font-weight:900;text-transform:uppercase;font-size:clamp(1.4rem,3.2vw,2.6rem);padding:1.15rem var(--gut);line-height:1.1;white-space:nowrap}
.marquee .track{display:flex;gap:2.2rem;white-space:nowrap;padding-block:1.15rem;will-change:transform;width:max-content}
.marquee .track span{font-weight:900;text-transform:uppercase;font-size:clamp(1.4rem,3.2vw,2.6rem);letter-spacing:-.01em;line-height:1.1}
.marquee .track span.o{color:transparent;-webkit-text-stroke:1.5px var(--white)}
.marquee .track i{width:14px;height:14px;background:var(--red);align-self:center;transform:rotate(45deg);flex:none}

/* sections */
.band{padding-block:clamp(4.5rem,9vw,8.5rem)}
.band.flush-top{padding-top:0}
.sec-head{display:grid;gap:1rem;margin-bottom:clamp(2.5rem,5vw,4rem)}
.sec-head > .cap{color:var(--red)}
.sec-head .light-kick{margin-bottom:-.85rem}
.sec-head h2{font-size:clamp(2.4rem,6vw,5.4rem)}
.lede{font-size:clamp(1.05rem,1.3vw,1.22rem);max-width:58ch;color:var(--steel);font-weight:500}
.on-blue{background:var(--blue);color:var(--white)}
.on-blue .lede,.on-blue .muted{color:#D6DBF2}
.on-blue .sec-head > .cap{color:var(--white)}
.on-blue .light-kick{color:#B9C3EE}

/* about */
.story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.since{display:grid}
.since-est{font-weight:300;font-size:clamp(1rem,2.4vw,2.4rem);letter-spacing:.06em;text-transform:uppercase}
.since-num{font-weight:900;font-size:clamp(6rem,15vw,15rem);line-height:.78;letter-spacing:-.06em;color:var(--red);font-variant-numeric:tabular-nums}
.story .lede + .muted{margin-top:1rem}
.gens{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:2rem}
.gen{background:var(--white);padding:1.2rem 1rem;display:grid;gap:.3rem;align-content:start}
.gen-title{font-weight:900;text-transform:uppercase;font-size:1.05rem}
.gen-text{font-size:.85rem;color:var(--steel);font-weight:500}
@media (max-width:860px){.story{grid-template-columns:1fr}}
@media (max-width:480px){.gens{grid-template-columns:1fr}}

/* services: panels stack as you scroll */
.stack{display:grid;gap:clamp(1rem,2vw,1.6rem)}
.panel{position:sticky;top:calc(var(--wp-admin--admin-bar--height, 0px) + 96px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1.2rem,4vw,4rem);padding:clamp(1.6rem,4vw,3.4rem);min-height:22rem;box-shadow:0 -18px 40px -30px #0008}
.panel:nth-child(1){background:var(--white);color:var(--ink);border:2px solid var(--ink)}
.panel:nth-child(2){background:var(--red);color:var(--white);top:calc(var(--wp-admin--admin-bar--height, 0px) + 116px)}
.panel:nth-child(3){background:var(--ink);color:var(--white);top:calc(var(--wp-admin--admin-bar--height, 0px) + 136px)}
.panel .num{font-weight:300;font-size:.9rem;letter-spacing:.2em;text-transform:uppercase}
.panel h3{font-weight:900;text-transform:uppercase;font-size:clamp(2.6rem,6vw,5rem);line-height:.86;letter-spacing:-.03em;margin-top:.6rem}
.panel .desc{margin-top:1.2rem;max-width:36ch;font-weight:500;opacity:.85}
.panel ul{list-style:none;margin:0;padding:0;align-self:end}
.panel li{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid currentColor;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(.95rem,1.4vw,1.15rem)}
.panel li:first-child{border-top:1px solid currentColor}
.panel li em{font-style:normal;font-weight:400;text-transform:none;letter-spacing:0;font-size:.85rem;opacity:.75;text-align:right;align-self:center}
@media (max-width:820px){.panel{grid-template-columns:1fr;position:relative;top:auto !important;min-height:0}}
.svc-foot{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;justify-content:space-between;margin-top:2.4rem}

/* products */
.shelf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.8rem,1.6vw,1.4rem)}
.prod{background:var(--white);color:var(--ink);padding:1.6rem 1.4rem 1.8rem;display:grid;gap:1rem;align-content:space-between;min-height:16rem;transition:transform .25s}
.prod:hover{transform:translateY(-6px)}
.prod .use{justify-self:start;background:var(--mist);color:var(--blue);padding:.25rem .55rem;font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.prod h3{font-weight:900;text-transform:uppercase;font-size:clamp(1.5rem,2.2vw,2rem);line-height:.95;letter-spacing:-.02em}
.prod p:not(.use){font-size:.92rem;color:var(--steel);font-weight:500;margin-top:.6rem}
@media (max-width:980px){.shelf{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.shelf{grid-template-columns:1fr}.prod{min-height:0}}

/* while you wait */
.perks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2vw,2rem)}
.perk{display:grid;gap:.6rem;align-content:start;padding-top:1.3rem;border-top:4px solid var(--ink)}
.perk:nth-child(2n){border-top-color:var(--red)}
.perk h3{font-weight:900;text-transform:uppercase;font-size:1.2rem;line-height:1.1}
@media (max-width:900px){.perks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.perks{grid-template-columns:1fr}}

/* book or walk in */
.ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.8rem,1.6vw,1.4rem)}
.way{padding:clamp(1.4rem,3vw,2.2rem);display:grid;gap:.8rem;align-content:start;border:2px solid var(--ink)}
.way.hot{background:var(--red);border-color:var(--red);color:var(--white)}
.way.hot .muted{color:#FFE1E2}
.way h3{font-weight:900;text-transform:uppercase;font-size:clamp(1.6rem,2.6vw,2.3rem);line-height:.95;letter-spacing:-.02em;overflow-wrap:anywhere}
.way h3 a{text-decoration:none}
.way .wp-block-buttons{margin-top:.4rem}
.note{margin-top:1.6rem;padding:1rem 1.2rem;background:var(--mist);font-weight:500;font-size:.95rem}
.note strong{color:var(--blue)}
@media (max-width:900px){.ways{grid-template-columns:1fr}}

/* find us */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
@media (max-width:880px){.split{grid-template-columns:1fr}}
.hours{margin:0}
.hours table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;table-layout:auto}
.hours td{padding:.8rem 0;border:0;border-bottom:1px solid #ffffff33;text-align:right;font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.95rem}
.hours td:first-child{text-align:left}
.hours tr.closed td:last-child{color:#B9C3EE;font-weight:400}
.hours tr.today td{font-weight:900}
.hours tr.today td:first-child::after{content:"Today";margin-left:.7rem;font-size:.62rem;letter-spacing:.16em;background:var(--red);color:var(--white);padding:.2rem .45rem;vertical-align:middle}
.hours-label{margin-bottom:1.6rem}
.address{font-weight:900;text-transform:uppercase;font-size:clamp(1.9rem,3.8vw,3.4rem);line-height:.95;letter-spacing:-.02em;margin-top:.8rem}
.address-2{font-weight:300;text-transform:uppercase;font-size:clamp(1rem,1.9vw,1.7rem);color:#B9C3EE;margin:.3rem 0 1.6rem}
.parking{display:flex;align-items:center;gap:1rem;background:var(--white);color:var(--blue);padding:1rem 1.2rem;margin-bottom:1.8rem}
.parking-p{width:2.6rem;height:2.6rem;flex:none;background:var(--blue);color:var(--white);display:grid;place-items:center;font-weight:900;font-size:1.4rem}
.parking-title{font-weight:900;text-transform:uppercase;letter-spacing:.02em}
.parking-text{font-size:.88rem;font-weight:500;color:var(--steel)}
.contact-list{display:grid;gap:.9rem;margin-bottom:1.8rem}
.contact-row{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:1rem;align-items:baseline}
.contact-row .cap{color:#B9C3EE}
.contact-row p:last-child{font-size:1.1rem;font-weight:700;overflow-wrap:anywhere}
.contact-row a{text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:5px}

/* contact form */
.form-band{background:var(--mist)}
form.msg{display:grid;gap:1.2rem}
.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
@media (max-width:560px){.row2{grid-template-columns:1fr}}
.field{display:grid;gap:.4rem}
.field label{color:var(--steel)}
.field input,.field textarea{font:inherit;font-weight:500;color:var(--ink);background:var(--white);border:2px solid transparent;border-bottom-color:var(--ink);padding:.85rem 1rem;border-radius:0;width:100%}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--blue)}
.field textarea{min-height:8rem;resize:vertical}
.form-note{font-size:.92rem;font-weight:600;min-height:1.4em;color:var(--red)}
.form-note.ok{color:var(--blue)}
.hp{position:absolute;left:-9999px}

/* instagram */
.ig{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end}
.ig .cap{color:var(--red)}
.ig-handle{font-weight:900;text-transform:uppercase;font-size:clamp(1.7rem,5vw,4.6rem);line-height:.9;letter-spacing:-.03em;overflow-wrap:anywhere;margin-top:.8rem}
.ig-handle a{text-decoration:none}
.ig-handle a:hover{color:var(--red)}
.tags{margin-top:1.4rem;color:var(--blue);font-weight:700;font-size:.85rem;word-spacing:.6rem}
@media (max-width:760px){.ig{grid-template-columns:1fr}}

/* footer */
.site-footer{background:var(--ink);color:var(--white);padding-block:clamp(3.5rem,7vw,5.5rem) 2rem;overflow:hidden}
.flogo{width:100%;margin-bottom:clamp(2.5rem,5vw,4rem)}
.flogo img{width:100%;height:auto}
.fcols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;padding-bottom:2.5rem;border-bottom:1px solid #ffffff2a}
.fcol{display:grid;gap:.45rem;align-content:start}
.fcol .cap{margin-bottom:.45rem;color:#9FAAE0}
.fcol p:not(.cap){color:#DCD9DE;font-weight:500}
.fcol a{text-underline-offset:4px}
.fcol .wp-block-buttons{margin-top:.65rem}
.legal{display:flex;flex-wrap:wrap;gap:.6rem 2rem;justify-content:space-between;padding-top:1.4rem;font-size:.8rem;color:#A9A5AC}
@media (max-width:760px){.fcols{grid-template-columns:1fr}}

/* ordinary pages and posts */
.entry{max-width:760px}
.entry-title{font-weight:900;text-transform:uppercase;letter-spacing:-.02em;line-height:.95;font-size:clamp(2.2rem,5vw,4.2rem);margin-bottom:1.6rem}
.entry-content{font-size:1.05rem}
.entry-content > * + *{margin-top:1.1rem}
.entry-content h2,.entry-content h3{font-weight:800;text-transform:uppercase;margin-top:2rem}
.entry-content a{color:var(--red);text-underline-offset:3px}
.post-list .wp-block-post{padding-block:1.6rem;border-top:1px solid var(--rule)}
.post-list .wp-block-post-title{font-weight:900;text-transform:uppercase;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1}
.post-list .wp-block-post-title a{text-decoration:none}

/* scroll reveals: visible at rest, motion only enhances */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .rise{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 60%}
    .wipe{animation:wipe linear both;animation-timeline:view();animation-range:entry 5% cover 35%}
    .zoom{animation:zoom linear both;animation-timeline:view();animation-range:entry 0% cover 45%}
  }
}
@keyframes rise{from{transform:translateY(36px);opacity:.5}to{transform:none;opacity:1}}
@keyframes wipe{from{clip-path:inset(0 35% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes zoom{from{transform:scale(.82)}to{transform:none}}
@media (prefers-reduced-motion: no-preference){
  .hero h1,.hero .light-kick{animation:up .8s cubic-bezier(.2,.8,.2,1) both}
  .hero h1{animation-delay:.1s}
}
@keyframes up{from{transform:translateY(30%);clip-path:inset(0 0 100% 0)}to{transform:none;clip-path:inset(0 0 0 0)}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none !important}.stripe{animation:none}}

/* in the editor: no sticky stacking or hidden motion, so everything is easy to select */
.editor-styles-wrapper .panel{position:relative;top:auto !important}
.editor-styles-wrapper .rise,.editor-styles-wrapper .wipe,.editor-styles-wrapper .zoom{animation:none !important}
.editor-styles-wrapper .reel .wp-block-video{position:relative;z-index:4}
.band.flush-bottom{padding-bottom:clamp(2rem,4vw,3rem)}
.page-heavy{font-size:clamp(2.6rem,7vw,6rem)}
.sec-head .page-heavy + .entry-content{margin-top:.4rem}

/* hero panel stacking: video at the back, a soft shade for legibility, then the text and badge */
.reel .wp-block-video{z-index:0 !important}
.reel-poster{z-index:2;background:linear-gradient(180deg,#00000000 30%,#0000008c)}
.reel .badge{z-index:3}
.reel::after{z-index:4}
.reel-poster .light-kick,.reel-poster .yr,.reel-poster .cap{text-shadow:0 2px 18px #0006}

/* contact band: keep the form beside the heading even if WordPress adds stray paragraphs */
.form-band .split > p:empty{display:none}
