/* Three text roles. The original logo and photographed wall lettering are artwork. */
:is(body[data-design],body.original-preview,body.design-hub) {
 --type-body:16px; --type-section:32px; --type-display:64px;
 font-size:var(--type-body)!important; line-height:1.65;
}
:is(body[data-design],body.original-preview,body.design-hub) * { font-size:inherit!important; }
:is(body[data-design],body.original-preview,body.design-hub) :is(p,a,button,li,dt,dd,summary,label,input,select,textarea,small,figcaption) {
 font-size:var(--type-body)!important; line-height:1.6; letter-spacing:0;
}
:is(body[data-design],body.original-preview,body.design-hub) :is(h1,h1 *) {
 font-size:var(--type-display)!important; line-height:1.22!important; letter-spacing:0!important;
 word-spacing:normal!important; text-shadow:none!important; transform:none!important;
}
:is(body[data-design],body.original-preview,body.design-hub) :is(h1,h2,h3) { text-wrap:balance; }
:is(body[data-design],body.original-preview,body.design-hub) :is(h2,h3,h4,h5,h6,h2 *,h3 *,h4 *,h5 *,h6 *) {
 font-size:var(--type-section)!important; line-height:1.25!important; letter-spacing:0!important;
 word-spacing:normal!important; text-shadow:none!important; transform:none!important;
}
body[data-design] :is(h1,h2,h3) { font-family:Outfit,sans-serif; font-weight:800; }
body[data-design="prostor"] :is(h1,h2,h3) { font-weight:600; }
body[data-design] :is(.kicker,.step-no) { font-size:var(--type-section)!important; line-height:1.35!important; }
body[data-design] .hero .kicker { transform:none; color:inherit; }
body[data-design] :is(.label,.lbl,.tab-kicker,.tab-name,.legal,.count,.scene-caption,.offer dt) { font-size:var(--type-body)!important; }
body[data-design] :is(.tab-name,.tab-kicker) { line-height:1.6; letter-spacing:0; }
body[data-design] .tab { padding:14px 12px; min-height:82px; }
body[data-design] .hero :is(h1,.lede) { max-width:100%; }
body[data-design] h1 { margin:16px 0 24px; }
body[data-design] h2 { margin:0 0 28px; }
body[data-design] h3 { margin:0 0 16px; }
body[data-design] :is(p,dd) { max-width:70ch; }
body[data-design] .hero .lede { max-width:31rem; margin:0 0 24px; }
body[data-design] .hero-copy { min-width:0; }
body[data-design] figure { margin:0; }
body[data-design] .hero-actions { gap:10px 24px; }
body[data-design] .hero-actions :is(.btn,.text-link) { font-size:var(--type-body)!important; min-height:48px; }
body[data-design] .btn { letter-spacing:0; font-weight:600; }
body[data-design] .site-nav a { font-weight:600; }
body[data-design] .site-nav a[aria-current="location"]::after { background:#e41b23; }
body[data-design] .btn:focus-visible,body[data-design] button:focus-visible,body[data-design] a:focus-visible { outline-color:#f4f4f4; }
body[data-design] .open :is(a,button):focus-visible { outline-color:#242424; }
body[data-design] .contact :is(h2,.big) { max-width:none; }
body[data-design] .contact .big { font-size:var(--type-section)!important; font-weight:600; line-height:1.3; letter-spacing:0; overflow-wrap:anywhere; }
body[data-design] .contact .lbl { line-height:1.6; margin-bottom:8px; }
body[data-design] .contact-list a,body[data-design] .contact-list .place { padding:18px 0; }
body[data-design] .contact-note { margin-top:28px; }
body[data-design] .step-no { margin:0 0 16px; -webkit-text-stroke:0; color:inherit; }
body[data-design] .gallery-head { margin-bottom:32px; }
body[data-design] .all-shots summary { padding-block:12px; text-transform:none; letter-spacing:0; }
body[data-design] .finalist-nav { background:#202020; border-color:#484848; gap:8px 28px; }
body[data-design] .finalist-nav a { color:#e4e4e4; }
body[data-design] .dialog-bar { gap:8px; }
body[data-design] .dialog-bar button { padding:8px 12px; font-weight:600; }
body[data-design] .dialog-bar [data-close] { background:#c9141d; border-color:#c9141d; }
body[data-design] :is(dialog,.dialog-bar) { background:#171717; }
body[data-design] .cap { color:#eee; }
body[data-design] .nav-toggle { font-size:0!important; flex:none; }
body[data-design] .nav-toggle::after { font-size:var(--type-section)!important; }

/* Prostor: the actual red identity, charcoal glass and real room colour. */
body[data-design="prostor"] {
 --red:#e41b23; --btn:#cf1520; --text-red:#ff646a; --ink:#171717;
 --surface:#242424; --text:#fff; --muted:#d7d7d7; --cream:#f3f0e9;
 --line:rgba(255,255,255,.24); background:#171717; color:#fff;
}
body[data-design="prostor"] .site-header { background:#191919; border-bottom:1px solid #696969; }
body[data-design="prostor"] .site-nav { background:#191919; }
body[data-design="prostor"] .site-nav a { color:#fff; }
body[data-design="prostor"] .header-tools .btn-book { background:#e41b23; border:1px solid #e41b23; color:#fff; }
body[data-design="prostor"] .hero { background:#242424; }
body[data-design="prostor"] .hero-visual::after { background:linear-gradient(90deg,rgba(12,12,12,.93),rgba(12,12,12,.6) 36%,rgba(12,12,12,.04) 72%),linear-gradient(0deg,rgba(12,12,12,.60),transparent 27%); }
body[data-design="prostor"] .hero-copy { background:transparent; padding-bottom:140px; }
body[data-design="prostor"] .hero .lede { color:#fff; }
body[data-design="prostor"] .hero-actions .btn { background:#e41b23; border-color:#e41b23; color:#fff; }
body[data-design="prostor"] .scene-options { background:#1b1b1b; border:1px solid #aaa; box-shadow:0 8px 24px #0003; }
body[data-design="prostor"] .scene-options button { color:#fff; padding-inline:16px; }
body[data-design="prostor"] .scene-options button[aria-pressed="true"] { background:#e41b23; color:#fff; }
body[data-design="prostor"] .scene-options button:hover { box-shadow:inset 0 -2px #fff; }
body[data-design="prostor"] .scene-caption { color:#fff; text-shadow:0 1px 3px #111; letter-spacing:0; }
body[data-design="prostor"] .gym { background:#e41b23; color:#fff; }
body[data-design="prostor"] .gym :is(h2,.label,.accent,.spread-copy,.spread-copy p) { color:#fff; }
body[data-design="prostor"] .gym .btn { background:#191919; border-color:#191919; color:#fff; }
body[data-design="prostor"] .band { background:#202020; }
body[data-design="prostor"] .panel-copy p { color:#dedede; }
body[data-design="prostor"] .tab[aria-selected="true"] { background:#e41b23; color:#fff; box-shadow:none; }
body[data-design="prostor"] .tab[aria-selected="true"] .tab-kicker { color:#fff; }
body[data-design="prostor"] .gallery { background:#2a2a2a; }
body[data-design="prostor"] .open { background:#f3f0e9; color:#1b1b1b; }
body[data-design="prostor"] .open :is(h2,h3,p,dd,.quiet,.step-no) { color:#242424; }
body[data-design="prostor"] .open :is(.label,.offer dt,.text-link) { color:#b80f18; }
body[data-design="prostor"] .open .step-no { -webkit-text-stroke:0; }
body[data-design="prostor"] .open .offer div { border-top-color:#aaa; }
body[data-design="prostor"] .open .btn { background:#cf1520; color:#fff; border-color:#cf1520; }
body[data-design="prostor"] .contact { background:#e41b23; color:#fff; }
body[data-design="prostor"] .contact :is(h2,.label,.big,.lbl,.contact-note,.text-link) { color:#fff; }
body[data-design="prostor"] .contact .contact-list :is(a,.place) .lbl { color:#fff; }
body[data-design="prostor"] .contact .btn { background:#191919; border-color:#191919; color:#fff; }
body[data-design="prostor"] .site-footer { background:#171717; border-color:#585858; }
body[data-design="prostor"] .site-footer .legal a { color:#dedede; }
@supports(backdrop-filter:blur(12px)) {
 body[data-design="prostor"] .site-header { background:rgba(24,24,24,.9); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
 body[data-design="prostor"] .scene-options { background:rgba(24,24,24,.82); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
}

/* Tattoo: open letterforms and clean neutral surfaces around the original red. */
body[data-design="tattoo"] { --muted:#dedede; --surface:#202020; }
body[data-design="tattoo"] :is(.site-header,.hero,.band,.contact) { background:#dc1420; color:#fff; }
body[data-design="tattoo"] :is(.gym,.gallery,.site-footer) { background:#202020; }
body[data-design="tattoo"] .hero-copy .kicker,body[data-design="tattoo"] .hero-copy .lede { color:#fff; }
body[data-design="tattoo"] .hero-copy .text-link { color:#fff; }
body[data-design="tattoo"] .band :is(.label,.band-head p,.panel-copy p,.tab-kicker,.tab-name) { color:#fff; }
body[data-design="tattoo"] .hero h1 { font-weight:800; }
body[data-design="tattoo"] .gym h2 { max-width:100%; }
body[data-design="tattoo"] .gym .accent { display:block; margin-top:.15em; }
body[data-design="tattoo"] .contact h2 { max-width:24ch; }
body[data-design="tattoo"] .contact .contact-list :is(a,.place) .lbl,body[data-design="tattoo"] .contact-note { color:#fff; }
body[data-design="tattoo"] .open .step-no { color:#a11b2b; -webkit-text-stroke:0; }
body[data-design="tattoo"] .hero-actions .btn { color:#94111b; }

/* Original follows the same three type roles, keeping its font families. */
body.original-preview :is(.original-form-note,.original-form-note a,.original-hub-link,.original-lightbox,.original-lightbox button) { font-size:var(--type-body)!important; line-height:1.6!important; }
body.original-preview :is(input,textarea,select) { min-height:48px; }
body.original-preview .elementor-heading-title { padding-block:.08em; }
body.original-preview :is(h1,h2,h3,h4) { margin-block:0; }
body.original-preview .elementor-widget-text-editor p { line-height:1.65!important; }
body.original-preview .original-hub-link a { display:inline-flex; min-height:44px; align-items:center; }

/* Presentation hub uses the same disciplined scale and honest red. */
body.design-hub { background:#1b1b1b; color:#fff; --ink:#1b1b1b; --red:#cf1520; --soft:#d0d0d0; }
body.design-hub h1 span { color:#ff646a; }
body.design-hub :is(header p,.intro p,.description,.context,footer,.number) { color:#d5d5d5; }
body.design-hub :is(header,.context) { border-color:#565656; }
body.design-hub h2 { min-height:80px; }
body.design-hub .preview { background:#242424; }
body.design-hub .description { min-height:100px; }
body.design-hub .cta { color:#fff; background:#cf1520; }
body.design-hub .original .cta { color:#191919; background:#f1f1f1; }

@media(max-width:899px){
 :is(body[data-design],body.original-preview,body.design-hub) { --type-display:38px; --type-section:26px; }
 body[data-design] .header-tools { gap:8px; }
 body[data-design] .header-tools .btn-book { padding:8px 12px; }
 body[data-design] .hero-actions { gap:6px 18px; }
 body[data-design] .hero-actions .btn { padding-inline:14px; }
 body[data-design] .hero-actions .text-link { padding-block:8px; }
 body[data-design="prostor"] .hero-copy { background:#242424; padding:24px 20px 30px; }
 body[data-design="prostor"] .hero .kicker { margin:0 0 12px; }
 body[data-design="prostor"] .hero h1 { margin:12px 0 18px; }
 body[data-design="prostor"] .hero .lede { margin-bottom:18px; }
 body[data-design="prostor"] .hero-visual { height:260px; }
 body[data-design="prostor"] .hero-selector { top:197px; }
 body[data-design="prostor"] .scene-options button { padding-inline:12px; }
 body[data-design="tattoo"] .hero-copy { padding:26px 20px 30px; }
 body[data-design="tattoo"] .hero .kicker { margin-bottom:12px; }
 body[data-design="tattoo"] .hero h1 { margin:12px 0 20px; }
 body[data-design] .contact .big { font-size:var(--type-section)!important; }
 body[data-design] .dialog-bar { display:grid; grid-template-columns:1fr 1fr; }
 body[data-design] .dialog-bar .count { text-align:center; }
 body[data-design] .dialog-bar [data-close] { margin-left:0; }
 body.design-hub h2 { min-height:0; }
 body.design-hub .description { min-height:0; }
}
@media(max-width:440px){
 body[data-design] .brand img { width:140px; height:90.25px; left:-6px; top:-16px; }
}
@media(max-width:359px){
 :is(body[data-design],body.original-preview,body.design-hub) { --type-display:34px; }
 body[data-design] .brand { width:116px; }
 body[data-design] .brand img { width:128px; height:82.52px; left:-6px; top:-12px; }
 body[data-design] .bar { gap:8px; }
 body[data-design] .hero-actions { column-gap:12px; }
 body[data-design] .hero-actions .btn { padding-inline:12px; }
}
