/* HERO 04–11: standard image, paragraph and group blocks remain editable. */
.hero .hero-display,.hero .hero-extra{display:none}
.hero:is(.hero-panel,.hero-type,.hero-collage,.hero-orbit,.hero-impact,.hero-geometry,.hero-frame,.hero-cinema){--hero-ink:#173447;--hero-paper:#f2f5f4;display:block;min-height:900px;background:var(--hero-paper);color:var(--hero-ink);position:relative;isolation:isolate}
.hero:is(.hero-panel,.hero-type,.hero-collage,.hero-orbit,.hero-impact,.hero-geometry,.hero-frame,.hero-cinema)::after{display:none}
.hero:is(.hero-panel,.hero-type,.hero-collage,.hero-orbit,.hero-impact,.hero-geometry,.hero-frame,.hero-cinema) .hero-copy{position:relative;z-index:3;box-sizing:border-box;width:auto;max-width:none;padding:0;margin:0}
.hero:is(.hero-panel,.hero-type,.hero-collage,.hero-orbit,.hero-impact,.hero-geometry,.hero-frame,.hero-cinema) .hero-copy h1{font-size:clamp(32px,3.3vw,56px);line-height:1.6;letter-spacing:.04em;text-shadow:none;margin:24px 0}
.hero:is(.hero-panel,.hero-type,.hero-collage,.hero-orbit,.hero-impact,.hero-geometry,.hero-frame,.hero-cinema) .hero-image{z-index:1;overflow:hidden}
.hero .hero-extra{margin:0;position:absolute;overflow:hidden;z-index:2}
.hero .hero-extra img{width:100%;height:100%;object-fit:cover;display:block}
.hero:is(.hero-panel,.hero-type,.hero-collage,.hero-orbit,.hero-impact,.hero-geometry,.hero-frame,.hero-cinema) :is(.hero-image,.hero-extra) img{object-position:var(--sbd-photo-x,50%) var(--sbd-photo-y,50%);width:100%;height:100%;animation:none;transform:none}
.hero .hero-display{font-family:Impact,'Arial Narrow',sans-serif;font-weight:900;line-height:.95;letter-spacing:-.035em;position:absolute;z-index:2;margin:0;pointer-events:none;overflow-wrap:anywhere}
.hero:is(.hero-panel,.hero-type,.hero-collage,.hero-orbit,.hero-impact,.hero-geometry,.hero-frame,.hero-cinema) .hero-scroll{z-index:3}
/* 04 */
.hero.hero-panel .hero-image{inset:100px 3% 45px 49%;border-radius:160px 0 0 0}
.hero.hero-panel .hero-copy{padding:235px 54% 110px 6%}
/* 05 */
.hero.hero-type{padding-top:295px}
.hero.hero-type .hero-display{display:block;top:120px;left:5%;right:5%;font-size:clamp(60px,9vw,160px)}
.hero.hero-type .hero-display br{display:none}
.hero.hero-type .hero-image{inset:315px 49% 60px 5%}
.hero.hero-type .hero-copy{padding:80px 5% 100px 56%}
.hero.hero-type .hero-signature{display:none}
/* 06 */
.hero.hero-collage{background:linear-gradient(135deg,#f7f6f0,#e8eff1)}
.hero.hero-collage .hero-copy{padding:240px 55% 100px 6%}
.hero.hero-collage .hero-image{inset:155px 8% 230px 53%;border:12px solid #fff;transform:rotate(5deg);box-shadow:0 20px 60px #17344715}
.hero.hero-collage .hero-extra{display:block;width:22%;height:210px;border:9px solid white;box-shadow:0 20px 60px #17344715}
.hero.hero-collage .hero-extra-one{left:46%;bottom:65px;transform:rotate(-8deg)}
.hero.hero-collage .hero-extra-two{right:3%;bottom:85px;transform:rotate(7deg)}
/* 07 */
.hero.hero-orbit{background:#edf3f2}
.hero.hero-orbit .hero-image{inset:130px 27% 155px;border-radius:49% 51% 47% 53% / 48% 47% 53% 52%}
.hero.hero-orbit .hero-extra{display:block;width:23%;height:245px;border-radius:50%}
.hero.hero-orbit .hero-extra-one{left:-5%;top:220px;transform:rotate(-18deg)}
.hero.hero-orbit .hero-extra-two{right:-4%;top:345px;transform:rotate(18deg)}
.hero.hero-orbit .hero-copy{position:static}
.hero.hero-orbit .hero-copy h1{position:absolute;left:49%;top:235px;margin:0;writing-mode:vertical-rl;font-size:45px;color:#fff;text-shadow:0 2px 18px #0009}
.hero.hero-orbit .hero-signature{position:absolute;left:5%;bottom:160px;max-width:23%;font-size:9px}
.hero.hero-orbit .hero-signature strong{font-size:clamp(22px,2.2vw,36px)}
.hero.hero-orbit .hero-copy>p:not(.eyebrow){position:absolute;bottom:65px;left:5%;width:24%;font-size:13px;margin:0}
.hero.hero-orbit .wp-block-buttons{position:absolute;right:5%;bottom:75px;max-width:24%}
/* 08 */
.hero.hero-impact .hero-display{display:block;left:4%;right:4%;top:125px;font-size:clamp(70px,11vw,180px);z-index:2;color:var(--hero-ink)}
.hero.hero-impact .hero-display br{display:none}
.hero.hero-impact .hero-image{inset:230px 0 0 20%}
.hero.hero-impact .hero-copy{margin:460px 52% 70px 5%;padding:35px;background:#fff;box-shadow:0 15px 50px #17344710}
.hero.hero-impact .hero-copy h1{font-size:clamp(30px,3vw,48px)}
.hero.hero-impact .hero-signature{display:none}
/* 09 */
.hero.hero-geometry{background-color:#f0f4f3;background-image:linear-gradient(#17344708 1px,transparent 1px),linear-gradient(90deg,#17344708 1px,transparent 1px);background-size:44px 44px}
.hero.hero-geometry .hero-copy{padding:235px 54% 100px 6%}
.hero.hero-geometry .hero-image{inset:155px 4% 205px 51%;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}
.hero.hero-geometry .hero-extra{display:block}
.hero.hero-geometry .hero-extra-one{width:22%;height:265px;left:47%;bottom:55px;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}
.hero.hero-geometry .hero-extra-two{width:15%;height:190px;right:3%;bottom:65px;border-radius:50%}
/* 10 */
.hero.hero-frame{margin:0!important;background:#fff;min-height:960px}
.hero.hero-frame::before{content:'';position:absolute;inset:110px 3% 40px;border:1px solid #17344766;background:radial-gradient(ellipse at 0 0,transparent 47%,#17344708 47.2%,transparent 47.5%),radial-gradient(#17344718 .7px,transparent .9px);background-size:100% 100%,23px 23px;pointer-events:none}
.hero.hero-frame .hero-display{display:block;top:160px;left:6%;width:39%;font-size:clamp(48px,5.8vw,90px)}
.hero.hero-frame .hero-image,.hero.hero-frame .hero-extra{display:block;inset:110px 3% 40px 49%;border-left:1px solid #17344766}
.hero.hero-frame .hero-copy{padding:460px 55% 100px 6%}
.hero.hero-frame .hero-copy h1{font-size:clamp(28px,2.8vw,44px)}
.hero.hero-frame .hero-signature{display:none}
.hero.hero-frame .hero-scroll{display:none}
/* 11: full-bleed photography, vertical message and quiet oversized lettering. */
.hero.hero-cinema{min-height:1000px;background:#142b39}
.hero.hero-cinema .hero-image,.hero.hero-cinema .hero-extra{display:block;inset:0}
.hero.hero-cinema::after{display:block;z-index:2;pointer-events:none;background:linear-gradient(180deg,#10243136,#10243155 45%,#102431c9)}
.hero.hero-cinema .hero-display{display:block;left:2%;right:2%;bottom:125px;font-size:clamp(95px,15vw,260px);color:#fff;opacity:.17;z-index:2}
.hero.hero-cinema .hero-copy{padding:150px 6% 100px;text-align:center;color:#fff}
.hero.hero-cinema .hero-copy h1{writing-mode:vertical-rl;text-align:left;width:max-content;max-height:570px;margin:0 auto 35px;font-size:clamp(40px,4vw,64px);line-height:1.9;color:white;letter-spacing:.13em}
.hero.hero-cinema .hero-signature{display:none}
.hero.hero-cinema .hero-copy>p:not(.eyebrow){color:white;font-size:14px;margin:0 auto 24px}
.hero.hero-cinema .wp-block-buttons{justify-content:center}
.hero.hero-cinema .wp-block-button__link{background:#ffffff12;border-color:#ffffff9c;backdrop-filter:blur(6px)}
.hero.hero-cinema .hero-scroll{color:#fff}
.hero:is(.hero-frame,.hero-cinema) .hero-extra{opacity:0;pointer-events:none}
.hero:is(.hero-frame,.hero-cinema).gallery-ready :is(.hero-image,.hero-extra){opacity:0;transition:opacity .8s ease}
.hero:is(.hero-frame,.hero-cinema).gallery-ready .is-current{opacity:1}
.hero-gallery-controls{position:absolute;right:5%;bottom:60px;z-index:5;display:flex;align-items:center;gap:16px;padding:10px;background:#fff;color:#173447;border:1px solid #17344766}
.hero-gallery-controls button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:8px 12px;font-size:24px}
.hero-gallery-controls button:focus-visible{outline:2px solid #173447;outline-offset:2px}
.hero-gallery-controls span{font-size:12px;letter-spacing:.1em}
.hero:not(.hero-frame):not(.hero-cinema) .hero-gallery-controls{display:none}
.hero.hero-no-photo :is(.hero-image,.hero-extra){display:none}
@media(max-width:1000px){
 .hero:is(.hero-panel,.hero-type,.hero-collage,.hero-orbit,.hero-impact,.hero-geometry,.hero-frame,.hero-cinema){min-height:0;padding:0 0 50px}
 .hero:is(.hero-panel,.hero-type,.hero-collage,.hero-orbit,.hero-impact,.hero-geometry,.hero-frame) .hero-copy{padding:40px 7% 20px;margin:0;width:100%}
 .hero:is(.hero-panel,.hero-type,.hero-collage,.hero-orbit,.hero-impact,.hero-geometry,.hero-frame) .hero-image{position:relative;inset:auto;height:440px;width:90%;margin:105px auto 0!important;transform:none}
 .hero:is(.hero-panel,.hero-type,.hero-collage,.hero-orbit,.hero-impact,.hero-geometry,.hero-frame) .hero-copy h1{font-size:clamp(30px,5vw,44px)}
 .hero:is(.hero-panel,.hero-type,.hero-collage,.hero-orbit,.hero-impact,.hero-geometry,.hero-frame,.hero-cinema) .hero-scroll{display:none}
 .hero.hero-panel .hero-image{border-radius:110px 0 0 0}
 .hero:is(.hero-type,.hero-impact,.hero-frame) .hero-display{position:relative;inset:auto;font-size:clamp(50px,10vw,100px);width:auto;margin:30px 7%}
 .hero:is(.hero-type,.hero-impact,.hero-frame){display:flex;flex-direction:column;padding-top:105px}
 .hero:is(.hero-type,.hero-impact,.hero-frame) .hero-display{order:-2}
 .hero:is(.hero-type,.hero-impact,.hero-frame) .hero-image{order:-1;margin:0 auto!important;width:90%;height:400px}
 .hero.hero-impact .hero-copy{box-shadow:none;background:transparent}
 .hero:is(.hero-collage,.hero-geometry) .hero-image{height:410px;width:80%;margin-bottom:150px!important}
 .hero:is(.hero-collage,.hero-geometry) .hero-extra{top:430px;bottom:auto;width:35%;height:190px}
 .hero:is(.hero-collage,.hero-geometry) .hero-extra-one{left:7%}
 .hero:is(.hero-collage,.hero-geometry) .hero-extra-two{right:7%}
 .hero.hero-orbit .hero-image{width:65%;height:530px}
 .hero.hero-orbit .hero-extra{top:270px;width:28%;height:200px}
 .hero.hero-orbit .hero-copy h1{top:205px;left:47%;font-size:36px}
 .hero.hero-orbit .hero-signature{position:relative;inset:auto;max-width:100%;margin-top:5px}
 .hero.hero-orbit .hero-copy>p:not(.eyebrow),.hero.hero-orbit .wp-block-buttons{position:relative;inset:auto;width:auto;max-width:none;font-size:14px;margin-top:20px}
 .hero.hero-frame::before{inset:100px 3% 20px}
 .hero.hero-frame .hero-image{border:0}
 .hero.hero-frame .hero-extra{inset:calc(105px + 60px + clamp(50px,10vw,100px)*1.9) 5% auto;height:400px;border:0}
 .hero.hero-frame .hero-gallery-controls{position:relative;inset:auto;align-self:flex-end;margin:0 7%}
 .hero.hero-cinema .hero-copy{padding:140px 7% 130px}
 .hero.hero-cinema .hero-copy h1{font-size:42px;max-height:570px}
 .hero.hero-cinema .hero-display{bottom:210px;font-size:19vw}
}
@media(max-width:600px){
 .hero:is(.hero-panel,.hero-type,.hero-impact,.hero-frame) .hero-image{height:330px}
 .hero:is(.hero-collage,.hero-geometry) .hero-image{height:300px;margin-bottom:110px!important}
 .hero:is(.hero-collage,.hero-geometry) .hero-extra{height:135px;top:335px}
 .hero.hero-orbit .hero-image{width:72%;height:460px}
 .hero.hero-orbit .hero-extra{width:29%;height:150px;top:285px}
 .hero.hero-orbit .hero-copy h1{font-size:30px;top:185px}
 .hero.hero-frame .hero-extra{height:330px}
 .hero.hero-cinema .hero-copy h1{font-size:34px;max-height:520px}
 .hero.hero-cinema .hero-copy>p:not(.eyebrow){font-size:12px;line-height:2}
}
/* Gutenberg uses the same geometry; images are selectable without altering saved blocks. */
.editor-styles-wrapper .hero:is(.hero-panel,.hero-type,.hero-collage,.hero-orbit,.hero-impact,.hero-geometry,.hero-frame,.hero-cinema) .hero-image{position:absolute!important;inset:var(--editor-photo-inset)!important}
.editor-styles-wrapper .hero-panel{--editor-photo-inset:100px 3% 45px 49%}
.editor-styles-wrapper .hero-type{--editor-photo-inset:315px 49% 60px 5%}
.editor-styles-wrapper .hero-collage{--editor-photo-inset:155px 8% 230px 53%}
.editor-styles-wrapper .hero-orbit{--editor-photo-inset:130px 27% 155px}
.editor-styles-wrapper .hero-impact{--editor-photo-inset:230px 0 0 20%}
.editor-styles-wrapper .hero-geometry{--editor-photo-inset:155px 4% 205px 51%}
.editor-styles-wrapper .hero-frame{--editor-photo-inset:110px 3% 40px 49%}
.editor-styles-wrapper .hero-cinema{--editor-photo-inset:0}
.editor-styles-wrapper .hero:is(.hero-frame,.hero-cinema) .hero-extra{display:none}
@media(max-width:1000px){.editor-styles-wrapper .hero:is(.hero-panel,.hero-type,.hero-collage,.hero-orbit,.hero-impact,.hero-geometry,.hero-frame) .hero-image{position:relative!important;inset:auto!important}}
@media(prefers-reduced-motion:reduce){.hero:is(.hero-frame,.hero-cinema) :is(.hero-image,.hero-extra){transition:none!important}}

.sbd-photo-x-0{--sbd-photo-x:0%}
.sbd-photo-x-5{--sbd-photo-x:5%}
.sbd-photo-x-10{--sbd-photo-x:10%}
.sbd-photo-x-15{--sbd-photo-x:15%}
.sbd-photo-x-20{--sbd-photo-x:20%}
.sbd-photo-x-25{--sbd-photo-x:25%}
.sbd-photo-x-30{--sbd-photo-x:30%}
.sbd-photo-x-35{--sbd-photo-x:35%}
.sbd-photo-x-40{--sbd-photo-x:40%}
.sbd-photo-x-45{--sbd-photo-x:45%}
.sbd-photo-x-50{--sbd-photo-x:50%}
.sbd-photo-x-55{--sbd-photo-x:55%}
.sbd-photo-x-60{--sbd-photo-x:60%}
.sbd-photo-x-65{--sbd-photo-x:65%}
.sbd-photo-x-70{--sbd-photo-x:70%}
.sbd-photo-x-75{--sbd-photo-x:75%}
.sbd-photo-x-80{--sbd-photo-x:80%}
.sbd-photo-x-85{--sbd-photo-x:85%}
.sbd-photo-x-90{--sbd-photo-x:90%}
.sbd-photo-x-95{--sbd-photo-x:95%}
.sbd-photo-x-100{--sbd-photo-x:100%}
.sbd-photo-y-0{--sbd-photo-y:0%}
.sbd-photo-y-5{--sbd-photo-y:5%}
.sbd-photo-y-10{--sbd-photo-y:10%}
.sbd-photo-y-15{--sbd-photo-y:15%}
.sbd-photo-y-20{--sbd-photo-y:20%}
.sbd-photo-y-25{--sbd-photo-y:25%}
.sbd-photo-y-30{--sbd-photo-y:30%}
.sbd-photo-y-35{--sbd-photo-y:35%}
.sbd-photo-y-40{--sbd-photo-y:40%}
.sbd-photo-y-45{--sbd-photo-y:45%}
.sbd-photo-y-50{--sbd-photo-y:50%}
.sbd-photo-y-55{--sbd-photo-y:55%}
.sbd-photo-y-60{--sbd-photo-y:60%}
.sbd-photo-y-65{--sbd-photo-y:65%}
.sbd-photo-y-70{--sbd-photo-y:70%}
.sbd-photo-y-75{--sbd-photo-y:75%}
.sbd-photo-y-80{--sbd-photo-y:80%}
.sbd-photo-y-85{--sbd-photo-y:85%}
.sbd-photo-y-90{--sbd-photo-y:90%}
.sbd-photo-y-95{--sbd-photo-y:95%}
.sbd-photo-y-100{--sbd-photo-y:100%}.hero.hero-orbit .hero-copy h1{z-index:4}
.hero.hero-cinema .hero-display{z-index:3;opacity:.22}
/* Airier display type: native weight, deliberate line breaks, no isolated last letter. */
.hero .hero-display{font-weight:400;letter-spacing:.025em;line-height:1.12;word-break:normal;overflow-wrap:break-word}
.hero.hero-type .hero-display{font-size:clamp(48px,5.3vw,86px);left:6%;right:6%}
.hero.hero-impact .hero-display{font-size:clamp(58px,7.2vw,116px);left:6%;right:6%}
.hero:is(.hero-type,.hero-impact) .hero-display br{display:initial}
.hero.hero-frame .hero-display{font-size:clamp(42px,5vw,78px)}
.hero.hero-cinema .hero-display{font-size:clamp(80px,12vw,200px);line-height:1.15}
.hero.sbd-type-consulting .hero-image img{object-position:var(--sbd-photo-x,90%) var(--sbd-photo-y,50%)}
@media(max-width:1000px){
 .hero:is(.hero-type,.hero-impact,.hero-frame) .hero-display{font-size:clamp(28px,7.6vw,68px);margin:32px 7%;line-height:1.18}
 .hero.hero-cinema .hero-display{font-size:15vw}
}
/* Industry presets use their own editorial lettering rather than one heavy face. */
.hero[class*="sbd-type-"]:not(.sbd-type-manufacturing):not(.sbd-type-fitness) .hero-display{font-family:var(--sbd-en-family);font-weight:var(--sbd-en-weight,400);letter-spacing:.035em}
.hero.sbd-type-salon .hero-display{font-size:clamp(44px,5vw,78px);font-weight:400}
.hero.sbd-type-architecture .hero-display{font-size:clamp(38px,4.4vw,68px);font-weight:400}
.hero.sbd-type-garden .hero-display{font-size:clamp(65px,9vw,150px);font-weight:400}
.hero.sbd-type-florist.hero-orbit .hero-copy h1{font-size:clamp(28px,2.7vw,40px);top:200px;max-height:480px}
@media(max-width:1000px){.hero:is(.sbd-type-salon,.sbd-type-architecture) .hero-display{font-size:clamp(28px,7vw,62px)}.hero.sbd-type-garden .hero-display{font-size:11vw}.hero.sbd-type-florist.hero-orbit .hero-copy h1{top:170px;max-height:370px;font-size:30px}}
