:root{--red:#f02b32;--dark:#0b0c0e;--dark2:#161719;--ink:#111215;--sub:#646970;--line:#e6e7e8;--paper:#f4f4f3;--white:#fff;--max:1340px;--radius:10px;--ease:cubic-bezier(.16,1,.3,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{text-decoration:none;color:inherit}a:hover{color:var(--red)}button,input,textarea,select{font:inherit}button{cursor:pointer}img,video,svg{max-width:100%}img{display:block}h1,h2,h3,h4{font-weight:750;line-height:1.08;letter-spacing:-.045em;margin:0}h1{font-size:clamp(3.4rem,6.6vw,7rem)}h2{font-size:clamp(2.35rem,4.3vw,4.75rem)}h3{font-size:clamp(1.35rem,2vw,2.1rem)}p{margin:0 0 1em}ul{margin:0;padding:0}::selection{background:var(--red);color:white}:focus-visible{outline:3px solid var(--red);outline-offset:3px}.container{max-width:var(--max);padding:0 34px;margin:auto}.sect{padding:clamp(80px,9vw,140px) 0}.sect--paper{background:var(--paper)}.sect--dark{background:var(--dark);color:#fff}.sect--dark p{color:#b3b7ba}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--red);font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin:0 0 18px}.eyebrow::before{content:"";width:26px;height:2px;background:currentColor}.eyebrow.onblack{color:#ff4a52}.muted{color:var(--sub)}.lead{font-size:clamp(1.1rem,1.6vw,1.38rem);line-height:1.65;color:#4c5158;max-width:66ch}.sect--dark .lead{color:#d0d0d0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:40px}.section-head>div{max-width:750px}.section-head .link{white-space:nowrap}.section-head p:last-child{margin-top:22px}.link{display:inline-flex;gap:16px;align-items:center;font-weight:750;font-size:.95rem}.link .arr{color:var(--red);font-size:1.4rem}.label{display:inline-block;padding:6px 10px;border:1px solid rgba(255,255,255,.25);border-radius:40px;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#ddd}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:16px 25px;min-height:54px;font-size:.91rem;font-weight:780;border:1px solid transparent;border-radius:5px;transition:transform .25s,background .25s,color .25s,box-shadow .25s}.btn:hover{transform:translateY(-3px);color:inherit}.btn--red{background:var(--red);color:#fff;box-shadow:0 13px 32px rgba(233,33,46,.19)}.btn--red:hover{background:#d51824;color:#fff;box-shadow:0 15px 44px rgba(233,33,46,.32)}.btn--white{background:#fff;color:#111}.btn--white:hover{background:#eee;color:#111}.btn--outline{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(14,14,14,.18)}.btn--outline:hover{border-color:#fff;color:white;background:rgba(255,255,255,.1)}.btn--dark{background:#111;color:white}.btn-row{display:flex;gap:13px;flex-wrap:wrap;margin-top:32px}.site-header{height:88px;position:fixed;z-index:1000;top:0;left:0;right:0;background:rgba(11,12,14,.94);border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(20px);color:#fff;transition:height .3s,background .3s}.site-header.is-top{background:rgba(5,5,6,.72)}.nav-inner{display:flex;align-items:center;gap:28px;height:100%}.brand{display:flex;align-items:center;gap:13px;min-width:232px;text-decoration:none!important}.brand img{height:60px;width:60px;object-fit:contain}.brand strong{font-size:1.22rem;font-weight:850;letter-spacing:-.04em}.brand small{display:block;color:#bfc0c2;font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;font-weight:650;margin-top:1px}.nav-links{list-style:none;display:flex;align-items:center;gap:clamp(13px,1.5vw,25px);margin-left:auto}.nav-links a{color:#e6e6e8;font-size:.83rem;font-weight:700;transition:color .2s}.nav-links a:hover,.nav-links a.current{color:#ff5a61}.nav-cta{white-space:nowrap;font-size:.8rem;min-height:44px;padding:13px 18px}.menu-toggle{display:none;border:0;background:transparent;color:white;font-size:1.7rem;margin-left:auto}.hero{position:relative;min-height:min(850px,100svh);background:#101112;display:flex;align-items:center;color:#fff;overflow:hidden;padding-top:100px}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,9,.96) 0%,rgba(5,7,9,.82) 25%,rgba(5,7,9,.38) 54%,rgba(5,7,9,.16) 100%),linear-gradient(0deg,rgba(6,7,8,.83) 0%,rgba(6,7,8,.05) 45%);z-index:1}.hero-image,.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:64% center}.hero-grid{position:relative;z-index:2;width:100%;padding-top:100px;padding-bottom:155px}.hero h1{max-width:850px;font-size:clamp(3.5rem,6.3vw,6.9rem);line-height:1.03}.hero h1 em{font-style:normal;color:#ff3941}.hero .hero-sub{font-size:clamp(1.05rem,1.5vw,1.27rem);color:#e2e3e5;max-width:540px;margin:25px 0 0;line-height:1.66}.hero .hero-note{font-size:.77rem;color:#d1d1d1;margin-top:22px;max-width:530px}.hero-bottom{position:absolute;z-index:2;bottom:0;left:0;right:0;background:rgba(8,8,9,.72);border-top:1px solid rgba(255,255,255,.16);backdrop-filter:blur(12px)}.hero-benefits{display:grid;grid-template-columns:repeat(4,1fr)}.hero-benefits div{padding:22px 25px;border-right:1px solid rgba(255,255,255,.15);display:flex;align-items:center;gap:15px;font-size:.79rem;line-height:1.36}.hero-benefits div:last-child{border:0}.hero-benefits b{display:block;color:#fff;font-size:.94rem;margin-bottom:3px}.hero-benefits span{color:#bbb}.hero-benefits i{font-style:normal;color:#ff4249;font-size:1.75rem}.ghost-play{position:absolute;right:8%;top:47%;z-index:2;color:#fff;text-align:center;border:0;background:transparent}.ghost-play .circle{display:grid;place-items:center;border:2px solid #fff;border-radius:50%;width:76px;height:76px;font-size:1.5rem;margin:0 auto 15px;background:rgba(0,0,0,.26);backdrop-filter:blur(8px);transition:transform .3s}.ghost-play:hover .circle{transform:scale(1.12)}.ghost-play small{font-size:.77rem;font-weight:700}.video-dialog{position:fixed;z-index:2000;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:28px}.video-dialog.open{display:flex}.video-dialog video{width:min(100%,1100px);max-height:80vh;border:1px solid #444}.video-dialog .close{position:absolute;top:25px;right:35px;color:#fff;font-size:2rem;border:0;background:none}.video-caption{position:absolute;bottom:15px;left:20px;font-size:.76rem;color:#aaa}.service-layout{display:grid;grid-template-columns:1fr 1.8fr;gap:54px;align-items:start}.service-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tile{overflow:hidden;border-radius:8px;background:#fff;box-shadow:0 14px 45px rgba(0,0,0,.065);transition:transform .35s,box-shadow .35s}.tile:hover{transform:translateY(-7px);box-shadow:0 24px 50px rgba(0,0,0,.13)}.tile-image{height:180px;overflow:hidden;position:relative;background:#28282a}.tile-image img{height:100%;width:100%;object-fit:cover;transition:transform .6s}.tile:hover .tile-image img{transform:scale(1.065)}.tile-body{padding:20px 22px 24px}.tile-body h3{font-size:1.45rem}.tile-body p{font-size:.9rem;color:var(--sub);line-height:1.56;margin:10px 0 14px}.tile-body a{font-size:.85rem;font-weight:800;color:var(--red)}.visual-note{font-size:.72rem;color:var(--sub);margin-top:13px}.photo-split{display:grid;grid-template-columns:1.03fr 1fr;gap:clamp(35px,7vw,110px);align-items:center}.photo-frame{height:560px;overflow:hidden;position:relative;border-radius:8px}.photo-frame img{width:100%;height:100%;object-fit:cover}.photo-frame:after{content:"";position:absolute;inset:auto auto 0 0;width:130px;height:5px;background:var(--red)}.feature-list{list-style:none;margin:28px 0}.feature-list li{position:relative;padding:12px 0 12px 34px;border-bottom:1px solid var(--line);font-weight:650}.feature-list li:before{content:"✓";position:absolute;left:0;color:var(--red);font-weight:900}.steps-shell{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.progress-viz{position:relative;background:radial-gradient(ellipse at center,rgba(242,43,50,.12),transparent 70%),#1c1d20;border:1px solid #343434;border-radius:12px;min-height:420px;padding:25px;display:flex;align-items:center;justify-content:center}.progress-viz svg{width:100%;max-width:560px;filter:drop-shadow(0 30px 22px rgba(0,0,0,.3))}.building-stage{transition:opacity .8s,transform .8s;transform-origin:center}.stage-label{position:absolute;top:22px;left:25px;font-size:.75rem;color:#b9bec3;letter-spacing:.1em;text-transform:uppercase}.stage-counter{position:absolute;bottom:19px;right:25px;font-size:3.2rem;font-weight:850;line-height:1;color:rgba(255,255,255,.16)}.step-panel h2{margin-bottom:25px}.step-select{display:flex;flex-direction:column;gap:0}.step-btn{color:#aaa;text-align:left;border:none;border-bottom:1px solid #333;background:transparent;display:grid;grid-template-columns:55px 1fr;gap:18px;padding:18px 0;transition:color .3s}.step-btn strong{display:block;color:inherit;font-size:1.03rem}.step-btn .no{font-size:1.15rem;font-weight:900;color:#666}.step-btn span.desc{display:block;line-height:1.5;font-size:.85rem;margin-top:4px}.step-btn.active{color:#fff}.step-btn.active .no{color:var(--red)}.progress-meter{height:3px;background:#363638;margin:27px 0 14px}.progress-meter span{height:100%;display:block;background:var(--red);width:20%;transition:width .5s}.region-band{background:#f5f5f4}.region-top{display:grid;grid-template-columns:1fr .9fr;gap:50px;align-items:center}.region-art{min-height:360px;border-radius:12px;background:#191a1d;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative}.region-art:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(255,54,58,.2),transparent 52%),repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 38px)}.region-orbit{position:relative;z-index:1;width:min(85%,410px);aspect-ratio:1;border:1px solid rgba(255,255,255,.16);border-radius:50%;display:grid;place-items:center}.region-orbit:before,.region-orbit:after{content:"";position:absolute;inset:12%;border:1px solid rgba(255,255,255,.13);border-radius:50%}.region-orbit:after{inset:28%}.region-orbit b{text-align:center;color:#fff;font-size:clamp(1.3rem,2.5vw,2.4rem);letter-spacing:.06em;line-height:1.1}.region-orbit b span{color:var(--red)}.region-dot{position:absolute;width:8px;height:8px;background:var(--red);border-radius:50%;box-shadow:0 0 0 8px rgba(240,43,50,.13),0 0 30px var(--red)}.dot-a{left:18%;top:28%}.dot-b{right:19%;top:18%}.dot-c{left:21%;bottom:20%}.dot-d{right:14%;bottom:32%}.region-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:32px}.region-chips a{background:#fff;border:1px solid #e4e5e6;border-radius:6px;padding:14px 15px;font-size:.8rem;font-weight:750;display:flex;justify-content:space-between;gap:9px;align-items:center}.region-chips a:hover{border-color:var(--red);color:var(--red)}.showcase{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.showcase-card{background:#27282b;border:1px solid #343537;border-radius:8px;overflow:hidden}.showcase-card img{height:235px;width:100%;object-fit:cover}.showcase-card .content{padding:23px}.showcase-card h3{font-size:1.5rem;margin-bottom:8px}.showcase-card p{font-size:.88rem}.showcase-card .tag{color:#ff666c;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;font-weight:850}.cta-section{position:relative;background:var(--red);color:white;padding:85px 0;overflow:hidden}.cta-section::before{content:"";position:absolute;right:-120px;top:-160px;width:570px;height:570px;border:1px solid rgba(255,255,255,.26);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.06),0 0 0 140px rgba(255,255,255,.045)}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:36px;position:relative}.cta-inner h2{font-size:clamp(2.3rem,4.4vw,4.8rem);max-width:860px}.cta-inner p{max-width:650px;color:#fff;margin-top:18px}.footer{background:#090a0c;color:#f5f5f5;padding:76px 0 30px}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:46px}.footer p,.footer small,.footer li{color:#acadb2;font-size:.87rem}.footer h4{font-size:.85rem;color:#fff;letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px}.footer ul{list-style:none}.footer li{padding:5px 0}.footer .brand{margin-bottom:22px}.footer-bottom{border-top:1px solid #292a2d;margin-top:60px;padding-top:23px;display:flex;justify-content:space-between;color:#93959a;font-size:.78rem}.footer-bottom a{margin-left:20px}.inner-hero{background:#101114;color:white;position:relative;padding:185px 0 95px;overflow:hidden}.inner-hero.with-image{padding:195px 0 115px}.inner-hero.with-image:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0a0b0cf5 0%,#0a0b0ce8 45%,#0a0b0c70 100%);z-index:1}.inner-hero .inner-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center}.inner-hero .container{position:relative;z-index:2}.inner-hero h1{font-size:clamp(2.9rem,5.3vw,6rem);max-width:1000px}.inner-hero h1 em{font-style:normal;color:var(--red)}.inner-hero p{max-width:690px;color:#d3d4d7;font-size:1.2rem;margin-top:25px}.crumbs{font-size:.76rem;color:#a3a5aa;margin-bottom:30px}.crumbs a{color:#d2d2d2}.crumbs span{margin:0 9px}.details-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr);gap:70px}.article h2{font-size:clamp(1.8rem,3vw,3rem);margin:42px 0 18px}.article h2:first-child{margin-top:0}.article h3{font-size:1.35rem;margin:28px 0 14px}.article p{color:#4e545b;max-width:80ch}.article ul{list-style:none;margin:20px 0 27px}.article li{position:relative;padding:8px 0 8px 27px;color:#394047}.article li:before{content:"→";color:var(--red);position:absolute;left:0;font-weight:900}.sidebox{position:sticky;top:118px;border:1px solid var(--line);background:#f7f7f7;border-radius:9px;padding:28px}.sidebox h3{font-size:1.5rem}.sidebox ul{margin:20px 0;list-style:none}.sidebox li{padding:9px 0;border-bottom:1px solid #ddd;font-size:.86rem}.sidebox li a:hover{color:var(--red)}.sidebox .btn{width:100%;margin-top:10px}.faq-list{display:grid;gap:10px;margin-top:30px}.faq-list details{border:1px solid #dfe0e2;background:#fff;border-radius:7px;padding:0 20px}.faq-list summary{padding:19px 10px 19px 0;cursor:pointer;font-weight:800;position:relative;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:0;top:16px;color:var(--red);font-size:1.3rem}.faq-list details[open] summary:after{content:"−"}.faq-list details p{color:#4c5259;padding-bottom:15px;margin:0}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.info-card{border:1px solid var(--line);background:#fff;border-radius:8px;padding:28px}.info-card h3{font-size:1.33rem;margin:8px 0 12px}.info-card p{color:#5b6168;font-size:.91rem}.info-card .kicker{font-size:.75rem;color:var(--red);letter-spacing:.12em;font-weight:900}.directory{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.directory-group{padding:25px;border:1px solid var(--line);border-radius:8px;background:#fff}.directory-group h3{font-size:1.3rem;margin-bottom:14px}.directory-group ul{list-style:none;display:flex;gap:6px;flex-wrap:wrap}.directory-group li a{display:block;padding:5px 10px;border-radius:4px;background:#f5f5f5;font-size:.77rem;color:#383b40}.directory-group li a:hover{background:#fff0f0;color:var(--red)}.searchbar{display:flex;align-items:center;gap:12px;padding:14px 19px;border:1px solid #d9dcdf;border-radius:8px;background:#fff;max-width:540px;margin:26px 0 32px}.searchbar input{width:100%;outline:0;border:0;font-size:1rem}.searchbar .mag{color:var(--red);font-size:1.2rem}.area-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}.fact{background:#f7f7f7;border-left:3px solid var(--red);padding:21px}.fact small{display:block;color:#7b8188;text-transform:uppercase;font-size:.68rem;letter-spacing:.07em}.fact b{font-size:1.03rem}.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.form-card{padding:35px;background:#f8f8f8;border:1px solid #e6e6e6;border-radius:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-card label{font-size:.78rem;font-weight:750;display:block;margin-bottom:7px}.form-card input,.form-card textarea,.form-card select{width:100%;background:#fff;border:1px solid #d5d6d7;border-radius:5px;padding:15px;color:#15191d;min-height:50px}.form-card textarea{min-height:140px;resize:vertical}.form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline:2px solid rgba(240,43,50,.25);border-color:var(--red)}.form-card .field{margin-bottom:18px}.form-card .full{grid-column:1/-1}.form-card .checklabel{font-size:.8rem;font-weight:500;color:#444;display:flex;gap:12px;align-items:start}.form-card input[type=checkbox]{width:auto;min-height:0;margin-top:4px;accent-color:var(--red)}.notice{padding:18px 22px;background:#fff8ef;border-left:3px solid #f3a12c;color:#5a4937;font-size:.88rem;border-radius:4px}.notice p{margin:0}.city-actions{display:flex;flex-wrap:wrap;gap:9px;margin:30px 0}.city-actions a{padding:12px 16px;background:#f4f5f5;border-radius:4px;border:1px solid #e1e2e3;font-size:.84rem;font-weight:750}.city-actions a:hover{background:#111;color:white}.city-list{columns:3;column-gap:32px;margin-top:28px}.city-list a{display:block;padding:7px 0;border-bottom:1px solid #e7e7e7;font-size:.85rem;break-inside:avoid}.data-table{border-collapse:collapse;width:100%;font-size:.92rem;margin-top:27px}.data-table td,.data-table th{padding:13px;border-bottom:1px solid #e4e5e6;text-align:left}.data-table th{background:#f8f8f8}.visualisation{font-size:.69rem;color:#bfc0c2}.floating-cta{display:none}.hide{display:none!important}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.js .reveal.is-visible{opacity:1;transform:none}
@media(max-width:1100px){.nav-links{gap:14px}.nav-links a{font-size:.75rem}.brand{min-width:195px}.brand img{width:51px;height:51px}.nav-cta{padding:10px 13px}.hero h1{font-size:clamp(3.2rem,6.3vw,5.8rem)}.service-layout{gap:30px;grid-template-columns:.7fr 1.3fr}.steps-shell{gap:35px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}}
@media(max-width:900px){.container{padding:0 23px}.site-header{height:76px}.brand{min-width:0}.brand img{width:48px;height:48px}.nav-links{display:none;position:fixed;inset:76px 0 auto;background:#111;flex-direction:column;align-items:stretch;padding:28px 30px 40px;gap:0;max-height:calc(100dvh - 76px);overflow:auto}.menu-open .nav-links{display:flex}.nav-links li{padding:13px 0;border-bottom:1px solid #333}.nav-links a{font-size:1.15rem}.nav-cta{margin-left:auto}.menu-toggle{display:block;margin-left:0}.hero{min-height:780px}.hero-grid{padding:90px 0 200px}.ghost-play{right:5%;top:64%}.hero-benefits{grid-template-columns:repeat(2,1fr)}.hero-benefits div{padding:13px 18px}.service-layout,.photo-split,.steps-shell,.region-top,.contact-grid,.details-grid{grid-template-columns:1fr}.service-tiles{margin-top:20px}.photo-frame{height:430px}.steps-shell{gap:38px}.directory{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.inner-hero{padding:160px 0 80px}.sidebox{position:static}}
@media(max-width:650px){.container{padding:0 19px}.site-header .brand strong{font-size:1.04rem}.site-header .brand small{font-size:.56rem}.nav-cta{display:none}.hero{min-height:760px}.hero-grid{padding-top:65px;padding-bottom:210px}.hero h1{font-size:clamp(3.1rem,11vw,4.6rem)}.hero-sub{font-size:1.01rem!important}.ghost-play{top:auto;bottom:184px;left:20px;right:auto;display:flex;align-items:center;gap:12px}.ghost-play .circle{width:47px;height:47px;font-size:1rem;margin:0}.ghost-play small{font-size:.7rem}.hero-benefits div{font-size:.72rem;padding:13px 9px}.hero-benefits i{font-size:1.3rem}.hero-benefits b{font-size:.77rem}.hero-benefits{grid-template-columns:repeat(2,1fr)}.hero-bottom{bottom:0}.sect{padding:72px 0}.section-head{display:block}.section-head .link{margin-top:18px}.service-tiles{grid-template-columns:1fr 1fr;gap:10px}.tile-image{height:130px}.tile-body{padding:15px}.tile-body h3{font-size:1.16rem}.tile-body p{font-size:.79rem}.tile-body a{font-size:.74rem}.photo-frame{height:320px}.progress-viz{min-height:250px}.region-chips,.showcase,.grid-3,.directory{grid-template-columns:1fr}.region-chips{grid-template-columns:1fr 1fr}.region-art{min-height:280px}.showcase-card img{height:210px}.cta-inner{display:block}.cta-inner .btn{margin-top:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom a{margin:0 16px 0 0}.contact-grid{gap:28px}.form-grid{grid-template-columns:1fr}.form-card{padding:20px}.area-facts{grid-template-columns:1fr}.city-list{columns:2}.floating-cta{display:flex;position:fixed;bottom:16px;right:16px;z-index:950;align-items:center;background:var(--red);border-radius:40px;box-shadow:0 15px 30px #0004;color:#fff;padding:12px 18px;font-size:.8rem;font-weight:800}.floating-cta:hover{color:white}.inner-hero h1{font-size:clamp(2.8rem,10vw,4.25rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none}.tile,.tile-image img,.btn,.building-stage{transition:none!important}}


/* ===============================================================
 S & B BAU · LUXURY TYPOGRAPHY & EDITORIAL DESIGN · NOV 2026
 Contemporary Swiss-style lettering + signature calligraphy.
 A script is used for decorative highlights, never critical UI copy.
 Fonts use native fallback stacks; optional Allura/Manrope through
 Google Fonts only after privacy review and approved self-hosting.
================================================================= */
:root{
 --red:#df1728;
 --red-soft:#f44a58;
 --dark:#09090b;
 --dark2:#141416;
 --ink:#101012;
 --sub:#626368;
 --line:#e6e3df;
 --paper:#f8f7f4;
 --max:1420px;
 --radius:4px;
 --sans:"Manrope","Inter Display",Inter,"Helvetica Neue",Arial,sans-serif;
 --script:"Allura","Snell Roundhand","Apple Chancery","URW Chancery L","Z003",cursive;
}
body{font-family:var(--sans);font-weight:400;letter-spacing:-.012em;background:#fdfdfc}
h1,h2,h3,h4{font-family:var(--sans);letter-spacing:-.056em;font-weight:800}
h1{letter-spacing:-.063em}
h2{letter-spacing:-.063em}
.handwritten{font-family:var(--script);font-weight:400!important;letter-spacing:0!important;text-transform:none!important;line-height:1.05!important}
.site-header{background:rgba(8,8,9,.9);border-bottom:1px solid rgba(255,255,255,.105);height:94px;backdrop-filter:blur(24px)}
.site-header.is-top{background:rgba(5,5,6,.65)}
.nav-inner{gap:24px}
.brand strong{letter-spacing:.045em;font-size:1.03rem;font-weight:800}
.brand small{font-size:.58rem;letter-spacing:.20em;color:#a8a8ad}
.brand img{width:62px;height:62px}
.nav-links a{font-size:.8rem;font-weight:650;letter-spacing:.025em}
.nav-links a.current{color:white;position:relative}
.nav-links a.current:after{position:absolute;bottom:-13px;left:0;right:0;height:2px;background:var(--red);content:""}
.nav-cta{letter-spacing:.02em}
.btn{border-radius:2px;font-size:.82rem;text-transform:none;letter-spacing:.035em;font-weight:750;padding:17px 27px;transition:transform .32s var(--ease),background .25s,box-shadow .25s}
.btn--red{background:var(--red);box-shadow:none}
.btn--red:hover{background:#ba1020;box-shadow:0 14px 40px rgba(224,21,40,.23)}
.btn--outline{border:1px solid rgba(255,255,255,.67);background:rgba(0,0,0,.15)}
.btn--dark{background:#171718}
.eyebrow{font-size:.67rem;letter-spacing:.22em;font-weight:750;gap:16px}
.eyebrow::before{width:36px;height:1px}
.eyebrow.onblack{color:#ff656f}
.sect{padding:clamp(94px,10vw,152px) 0}
.lead{font-weight:400;letter-spacing:-.022em}
.section-head{margin-bottom:50px}
.hero{min-height:875px;max-height:none;background:#050506}
.hero::before{background:linear-gradient(90deg,rgba(5,6,7,.97) 0%,rgba(5,6,7,.82) 29%,rgba(5,6,7,.38) 59%,rgba(5,6,7,.10) 100%),linear-gradient(0deg,rgba(5,6,7,.81),transparent 42%)}
.hero-grid{padding-top:95px;padding-bottom:170px}
.hero h1{font-size:clamp(3.75rem,6.2vw,6.65rem);max-width:790px;line-height:1.03;font-weight:800}
.hero h1 em{color:#fff;position:relative}
.hero h1 em:after{content:"";position:absolute;bottom:.055em;left:0;width:100%;height:.035em;background:var(--red)}
.hero-handwritten{font-size:clamp(2.8rem,4.4vw,5.15rem);color:#f35d65;margin:6px 0 3px -3px;max-width:780px;transform:rotate(-2deg);transform-origin:left center;text-shadow:0 9px 34px rgba(0,0,0,.3)}
.hero .hero-sub{margin-top:13px;max-width:570px;font-size:1.09rem;letter-spacing:0;font-weight:400;line-height:1.68}
.hero .hero-note{color:#a6a8aa;font-size:.7rem;letter-spacing:.012em}
.hero-bottom{background:rgba(6,6,7,.77)}
.hero-benefits div{padding:20px 21px}
.hero-benefits b{font-weight:750}
.ghost-play .circle{border-width:1px;width:74px;height:74px;background:rgba(0,0,0,.4)}
/* A premium editorial pause between the hero and services */
.luxury-manifesto{background:#f9f8f6;padding:44px 0 52px;border-bottom:1px solid #eae6e0}
.manifesto-grid{display:grid;grid-template-columns:minmax(0,1.0fr) minmax(0,1.2fr);align-items:center;gap:52px}
.manifesto-signature{border-right:1px solid #d5d1ca;padding:8px 36px 11px 0}
.manifesto-signature small{font-size:.65rem;font-weight:800;letter-spacing:.24em;color:#7d7d7f;text-transform:uppercase;display:block;margin-bottom:2px}
.manifesto-signature .handwritten{font-size:clamp(3.15rem,5vw,5.5rem);color:var(--red);display:block;white-space:nowrap}
.manifesto-statement{font-size:clamp(1.04rem,1.6vw,1.32rem);max-width:600px;line-height:1.57;letter-spacing:-.025em;color:#29282a;margin:0}
.manifesto-statement strong{font-weight:800;color:#070708}
.section-handwritten{font-size:clamp(2.65rem,3.45vw,4.6rem);color:var(--red);margin:12px 0 6px;transform:rotate(-2deg);transform-origin:left}
.sect--dark .section-handwritten{color:#ff6a71}
.service-layout{grid-template-columns:.95fr 1.75fr;gap:66px}
.tile{border-radius:3px;box-shadow:0 9px 30px rgba(15,14,14,.055);border:1px solid #ecebea}
.tile-image{height:206px}
.tile-body{padding:25px 25px 28px}
.tile-body h3{font-weight:800}
.tile-body a{color:var(--red)}
.photo-frame{border-radius:2px}
.progress-viz{border-radius:2px}
.region-art{border-radius:3px}
.showcase-card{border-radius:3px}
.inner-hero{background:#090909}
.inner-hero.with-image:before{background:linear-gradient(90deg,rgba(3,3,4,.97) 0%,rgba(3,3,4,.85) 45%,rgba(3,3,4,.33) 100%)}
.inner-hero h1{font-size:clamp(2.8rem,5.1vw,5.75rem);max-width:1080px;font-weight:800;letter-spacing:-.055em}
.inner-hero h1 em{color:#fff;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:.04em;text-underline-offset:.08em}
.inner-handwritten{display:block;font-size:clamp(2.6rem,3.8vw,4.7rem);color:#ff606d;margin:13px 0 5px;transform:rotate(-1.6deg);transform-origin:left center}
.inner-hero p:not(.handwritten){font-size:1.08rem;color:#d7d7d9;line-height:1.66}
.article h2{border-left:2px solid var(--red);padding-left:18px}
.info-card,.sidebox,.form-card,.directory-group,.faq-list details{border-radius:3px}
.sidebox{background:#f8f7f5}
.cta-section{background:linear-gradient(115deg,#111113 0%,#19191b 62%,#37141b 100%);border-top:1px solid rgba(255,255,255,.06)}
.cta-section::before{border-color:rgba(229,43,59,.23);box-shadow:0 0 0 70px rgba(255,255,255,.015),0 0 0 140px rgba(255,255,255,.015)}
.cta-section .eyebrow{color:#f05b64!important}
.footer{background:#070708}
.footer-handwritten{display:block;font-size:2.9rem;color:#fa626b;margin:6px 0 12px;transform:rotate(-2deg)}
.footer .brand strong{letter-spacing:.04em}
.floating-cta{background:var(--red)}
@media(max-width:1100px){.hero{min-height:815px}.hero h1{font-size:clamp(3.2rem,6.4vw,5.9rem)}.site-header{height:88px}.brand img{width:52px;height:52px}.service-layout{gap:33px}}
@media(max-width:900px){.site-header{height:76px}.nav-links{top:0;inset:76px 0 auto}.hero{min-height:830px}.hero-grid{padding-top:70px;padding-bottom:190px}.hero-handwritten{font-size:clamp(3rem,6vw,4.6rem)}.manifesto-grid{gap:28px}}
@media(max-width:650px){.hero{min-height:840px}.hero-grid{padding-top:80px;padding-bottom:215px}.hero h1{font-size:clamp(3.04rem,10.9vw,4.7rem)}.hero-handwritten{font-size:clamp(2.8rem,9vw,4.3rem);white-space:normal;margin:10px 0 9px}.hero .hero-sub{font-size:1rem;line-height:1.58}.hero .hero-note{display:none}.hero-benefits div{padding:12px 9px}.hero-benefits i{font-size:1.19rem}.ghost-play{bottom:164px}.luxury-manifesto{padding:29px 0 34px}.manifesto-grid{grid-template-columns:1fr;gap:14px}.manifesto-signature{border-right:0;border-bottom:1px solid #ded9d3;padding:0 0 9px}.manifesto-signature .handwritten{font-size:3.55rem}.manifesto-statement{font-size:1rem}.section-handwritten{font-size:3rem}.inner-handwritten{font-size:clamp(2.6rem,9vw,3.7rem);margin:12px 0 0}.inner-hero h1{font-size:clamp(2.55rem,9.6vw,4.25rem)}.inner-hero{padding-top:155px}.inner-hero.with-image{padding-top:165px;padding-bottom:86px}.sect{padding:85px 0}.service-layout{gap:35px}.tile-image{height:140px}.tile-body{padding:17px 15px 20px}.footer-handwritten{font-size:3.4rem}.cta-section{padding:70px 0}}
@media(prefers-reduced-motion:reduce){.hero-handwritten,.section-handwritten,.inner-handwritten,.footer-handwritten{transform:none}}
/* Ensure mobile editorial content and video control never overlap. */
@media(max-width:650px){
  .hero{min-height:1010px}
  .ghost-play{bottom:189px}
  .floating-cta{opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .25s,transform .25s}
  body.scrolled .floating-cta{opacity:1;pointer-events:auto;transform:none}
}
@media(max-width:650px){.hero .ghost-play{display:none}}

/* ---------------------------------------------------------------
   S & B BAU — LUXURY EDITION V3
   Elegant editorial typography, vector-calligraphy, project planner
   ---------------------------------------------------------------- */
.skip-link{position:fixed;left:18px;top:-90px;z-index:5000;background:white;color:#111;padding:13px 20px;border:2px solid var(--red);font-weight:800}
.skip-link:focus{top:12px}
html{scrollbar-gutter:stable}
.vector-script{display:block!important;width:100%;max-height:100%;height:auto;object-fit:contain;object-position:left center;filter:drop-shadow(0 5px 12px rgba(0,0,0,.12))}
.hero-handwritten{width:min(95%,610px);height:auto;min-height:60px;margin:16px 0 12px;transform:rotate(-1.5deg)}
.manifesto-signature .handwritten{width:min(100%,510px);height:auto;max-height:125px}
.footer-handwritten{width:min(100%,240px);height:auto;max-height:65px;margin:18px 0}
footer .visualisation{font-size:.75rem;line-height:1.55;opacity:.8}
.hero .btn-row .btn{min-height:52px}
.btn--planner{border-color:rgba(255,255,255,.4)}
.floating-cta{border:1px solid rgba(255,255,255,.18);box-shadow:0 14px 40px rgba(0,0,0,.22)}
.tile-image::after{content:'';position:absolute;inset:0;border-top:2px solid rgba(250,250,250,.05);pointer-events:none}
.tile:focus-within{outline:2px solid var(--red);outline-offset:3px}
.site-header .brand{flex-shrink:0}
.nav-links a{transition:color .2s,text-decoration-color .2s}
.nav-links a:focus-visible{outline-offset:7px}
.form-card input:focus-visible,.form-card textarea:focus-visible,.form-card select:focus-visible{border-color:var(--red);outline:2px solid rgba(223,23,40,.22)}
.form-error{color:#af0018;font-size:.85rem;font-weight:650;margin:8px 0}
.video-dialog{transition:opacity .2s}
.video-dialog:focus-visible{outline:0}
/* A separate editorial landing page for the interactive project planner */
.planner-hero{position:relative;min-height:605px;background:#0b0b0d url('/assets/rohbau-hero.webp') center 45%/cover no-repeat;display:flex;align-items:center;color:#fff;padding:165px 0 80px;isolation:isolate}
.planner-hero::before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(92deg,rgba(5,5,7,.97),rgba(5,5,7,.82) 44%,rgba(5,5,7,.35) 100%)}
.planner-head{width:100%}
.planner-head h1{font-size:clamp(3rem,6vw,6.2rem);line-height:1.02;letter-spacing:-.065em;max-width:760px}
.planner-head h1 em{color:#fff;text-decoration:underline;text-decoration-color:var(--red);font-style:normal;text-decoration-thickness:.045em;text-underline-offset:.1em}
.planner-script{font-size:clamp(2.5rem,4.5vw,4.4rem);color:#f44a58;margin:10px 0 12px;transform:rotate(-1.5deg);transform-origin:left center}
.planner-lead{max-width:620px;font-size:1.1rem;line-height:1.62;color:#d5d6da}
.planner-stats{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.planner-stats span{font-size:.8rem;border:1px solid rgba(255,255,255,.25);padding:10px 13px;background:rgba(0,0,0,.2)}
.planner-stats strong{color:#ff676d;margin-right:8px}
.planner-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(38px,7vw,120px);align-items:start}
.planner-aside{position:sticky;top:135px}
.planner-aside h2{font-size:clamp(2.4rem,3.8vw,4.1rem)}
.planner-aside .lead{font-size:1.1rem;margin-top:28px}
.planner-highlight{display:flex;gap:16px;background:#f7f4f2;padding:26px;margin-top:36px;border-left:3px solid var(--red)}
.planner-highlight p{margin:0;font-size:.89rem;color:#414044}
.planner-highlight__mark{font-size:1.6rem;color:var(--red)}
.planner-ui{background:#fff;border:1px solid #e9e4e1;box-shadow:0 20px 75px rgba(20,15,15,.06);padding:clamp(26px,4vw,55px);min-height:540px}
.planner-progress__text{display:block;color:#6e6b70;text-transform:uppercase;letter-spacing:.16em;font-size:.73rem;margin-bottom:13px}
.planner-progress__text strong{color:#d7192a}
.planner-progress__bar{display:block;height:3px;background:#e4e1df;position:relative}
.planner-progress__bar span{display:block;height:100%;background:var(--red);transition:width .35s var(--ease)}
.planner-screen{padding:36px 0 30px}
.planner-screen h3{font-size:clamp(1.75rem,2.8vw,2.65rem);line-height:1.14;margin:12px 0 26px}
.planner-screen .kicker{color:#d7192a;font-size:.73rem;font-weight:750;letter-spacing:.15em;text-transform:uppercase}
.planner-options{display:grid;grid-template-columns:1fr;gap:11px}
.planner-options button{display:grid;grid-template-columns:55px 1fr;column-gap:14px;align-items:center;text-align:left;padding:17px 20px;background:#f9f8f7;border:1px solid #e5e2e0;border-radius:2px;transition:transform .2s,border-color .2s,background .2s;color:#171719}
.planner-options button:hover{transform:translateX(3px);border-color:#dd5360;background:#fff}
.planner-options button[aria-pressed='true']{border:2px solid var(--red);background:#fff4f5;padding:16px 19px}
.planner-options button>span{font-size:2rem;grid-row:span 2;color:var(--red);font-family:Georgia,serif;text-align:center}
.planner-options button strong{font-size:1rem;line-height:1.2}
.planner-options button small{font-size:.81rem;color:#6d6d72;grid-column:2;margin-top:3px}
.planner-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid #eae6e3;padding-top:23px}
.planner-controls .btn{min-width:135px}
.planner-controls [disabled]{opacity:.4;cursor:not-allowed}
.planner-warning{color:#646367;background:#f7f5f1;font-size:.86rem;line-height:1.5;padding:16px;margin:22px 0 0}
.planner-screen .field{margin-top:21px}
.planner-screen .field label{display:block;font-weight:700;font-size:.83rem;margin-bottom:8px}
.planner-screen .field input{width:100%;padding:15px 17px;border:1px solid #cfcaca;border-radius:2px}
.planner-summary{padding:16px;margin-top:23px;background:#f9f7f4;font-size:.89rem;line-height:1.65}
.planner-summary strong{color:var(--red)}
.planner-ui .hide{display:none!important}
@media(max-width:1220px){.nav-links{display:none}.menu-toggle{display:block}.site-header{height:78px}.nav-links{position:absolute;top:78px;left:0;right:0;max-height:calc(100vh - 78px);overflow:auto;flex-direction:column;gap:0;background:#101012;padding:15px 25px 30px;box-shadow:0 24px 45px rgba(0,0,0,.35)}body.menu-open .nav-links{display:flex}.nav-links li{width:100%;border-bottom:1px solid rgba(255,255,255,.1)}.nav-links a{display:block;padding:15px 3px;font-size:1rem}.nav-cta{margin-left:auto}}
@media(max-width:900px){.planner-layout{grid-template-columns:1fr}.planner-aside{position:relative;top:0}.planner-hero{padding:140px 0 75px;min-height:550px}}
@media(max-width:650px){.container{padding-inline:20px}.site-header .brand{min-width:0}.site-header .brand img{width:48px;height:48px}.site-header .brand strong{font-size:.97rem}.site-header .brand small{font-size:.54rem}.nav-cta{display:none}.hero{min-height:900px}.hero-grid{padding-top:70px;padding-bottom:195px}.hero h1{font-size:clamp(2.8rem,10vw,4rem)}.hero-handwritten{width:min(96%,420px);min-height:0;margin:0 0 10px}.hero .btn-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.hero .btn-row .btn{padding:12px 8px;line-height:1.3;min-height:48px;font-size:.75rem}.hero .btn-row .btn--planner{grid-column:span 2}.manifesto-signature .handwritten{max-width:290px}.footer-handwritten{max-width:215px}.planner-hero{padding:123px 0 50px;min-height:530px}.planner-head h1{font-size:clamp(2.8rem,11.6vw,3.8rem)}.planner-stats{gap:6px}.planner-stats span{font-size:.67rem}.planner-screen{padding:26px 0}.planner-ui{padding:20px;min-height:460px}.planner-options button{padding:15px 13px;grid-template-columns:42px 1fr}.planner-options button[aria-pressed='true']{padding:14px 12px}.planner-options button>span{font-size:1.5rem}.planner-aside h2{font-size:2.3rem}.planner-controls .btn{font-size:.82rem;padding:12px 16px;min-width:105px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.planner-options button:hover{transform:none}.planner-progress__bar span{transition:none}.reveal{opacity:1!important;transform:none!important}}


/* S & B BAU · CINEMATIC BUILD STORY / 2026 */
.build-story{background:#0b0c0e;color:#fff;overflow:hidden;position:relative;padding:100px 0 108px}
.build-story::before{content:"";position:absolute;width:700px;height:700px;right:-350px;top:-400px;border-radius:50%;background:radial-gradient(circle,rgba(230,32,44,.13),transparent 68%);pointer-events:none}
.build-heading{display:flex;align-items:end;justify-content:space-between;gap:42px;margin-bottom:34px;position:relative}
.build-heading h2{font-size:clamp(2.8rem,5.2vw,5.8rem);letter-spacing:-.065em;line-height:1.04;font-weight:850}
.build-heading h2 em{font-style:normal;color:#f23740}
.build-heading-side{max-width:400px;padding-bottom:6px}
.build-heading-side p{font-size:.99rem;color:#aeb3b8;line-height:1.7;margin:0}
.build-heading-side .build-signature{font-family:'Brush Script MT','Segoe Script','Apple Chancery',cursive;font-size:clamp(1.6rem,2.3vw,2.5rem);color:#fbfbfa;line-height:1.15;transform:rotate(-4deg);margin:0 0 18px;letter-spacing:.02em}
.build-experience{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,.8fr);min-height:520px;border-radius:16px;overflow:hidden;border:1px solid #31353a;background:#17191b;box-shadow:0 28px 90px rgba(0,0,0,.28)}
.build-canvas{position:relative;isolation:isolate;min-height:515px;overflow:hidden;background:#18262b}
.build-scenes{position:absolute;inset:0}
.build-scene{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center;opacity:0;transform:scale(1.065) translateY(12px);filter:saturate(.92);transition:opacity .85s cubic-bezier(.2,.8,.2,1),transform 3.2s cubic-bezier(.18,.7,.2,1);pointer-events:none}
.build-scene.is-current{opacity:1;transform:scale(1);z-index:1}
.build-canvas::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(to bottom,rgba(9,12,16,.23),transparent 25%,transparent 70%,rgba(4,9,13,.38));pointer-events:none}
.build-canvas-top,.build-canvas-bottom{position:absolute;left:26px;right:26px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:.62rem;letter-spacing:.12em;font-weight:800;color:#e5e9eb;text-transform:uppercase}
.build-canvas-top{top:26px}.build-canvas-bottom{bottom:25px}
.build-canvas-top>span:first-child{display:flex;gap:10px;align-items:center;padding:10px 14px;background:rgba(10,15,17,.55);border:1px solid rgba(255,255,255,.18);border-radius:20px;backdrop-filter:blur(8px)}
.build-live-dot{display:block;width:7px;height:7px;border-radius:50%;background:#f3353d;box-shadow:0 0 0 4px rgba(240,40,51,.19)}
.build-current-mini{padding:10px 14px;background:rgba(11,13,15,.52);border-radius:6px;backdrop-filter:blur(8px)}.build-current-mini b{color:#fff;margin-left:8px;letter-spacing:.03em;font-size:.9rem}
.build-graphic-caption{letter-spacing:.06em;text-transform:none;color:#e2e3e5;opacity:.8;font-size:.7rem}
.build-story-panel{position:relative;display:flex;flex-direction:column;padding:29px 32px 30px;background:radial-gradient(circle at 30% 90%,rgba(236,38,47,.08),transparent 60%),#131518;border-left:1px solid #36383b}
.build-panel-top{display:flex;align-items:center;justify-content:space-between;color:#8e959b;font-size:.61rem;font-weight:850;letter-spacing:.13em}
.build-panel-number{font-size:clamp(7rem,10vw,10rem);font-weight:900;line-height:1;letter-spacing:-.12em;color:rgba(255,255,255,.065);margin:12px 0 -15px -12px;pointer-events:none;transition:transform .5s ease,opacity .5s ease}
.build-panel-content{position:relative;z-index:2;margin:auto 0 22px;min-height:185px}
.build-panel-kicker{font-size:.7rem;color:#f5474d!important;font-weight:850;letter-spacing:.15em;margin-bottom:12px!important}
.build-panel-content h3{font-size:clamp(1.75rem,2.6vw,2.6rem);letter-spacing:-.055em;line-height:1.08;margin-bottom:18px}
.build-panel-content p:not(.build-panel-kicker){font-size:.88rem;color:#b4b9bf;line-height:1.72;max-width:390px;margin:0}
.build-insight{display:flex;align-items:center;gap:12px;border-top:1px solid #34373a;padding:19px 0;margin:5px 0 0;color:#dadbdd;font-size:.76rem;line-height:1.5}
.build-insight-icon{color:#f22e37;font-size:1.4rem}
.build-panel-controls{display:flex;gap:10px;align-items:center;margin-top:auto}
.build-icon-button{min-height:47px;border:1px solid #47494e;border-radius:6px;color:white;background:transparent;padding:0 16px;font-weight:800;transition:background .2s,transform .2s}
.build-icon-button:hover:not(:disabled){transform:translateY(-2px);background:#282a2f}.build-icon-button:disabled{opacity:.27;cursor:not-allowed}
.build-icon-button.build-next{background:#f02b32;border-color:#f02b32;flex:1;display:flex;justify-content:space-between;align-items:center}.build-icon-button.build-next:hover:not(:disabled){background:#cb2029}
.build-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:25px 0 0}
.build-step{position:relative;display:flex;align-items:flex-start;gap:12px;min-height:100px;text-align:left;color:#a2a7ab;background:#17191c;border:1px solid #303238;border-radius:10px;padding:17px 12px;transition:border-color .2s,background .2s,transform .25s}
.build-step:hover{border-color:#777b7d;transform:translateY(-2px)}.build-step.is-current{background:#222326;border-color:#fa3c43;color:#fff;box-shadow:inset 0 -3px 0 #f3353d}
.build-step-number{font-size:1.7rem;line-height:1;font-weight:900;color:#555b60;letter-spacing:-.065em}.build-step.is-current .build-step-number{color:#f63842}
.build-step-meta strong{font-size:.79rem;line-height:1.35;color:#f8f8f8;display:block}.build-step-meta small{font-size:.7rem;line-height:1.4;color:#858e96;display:block;margin-top:8px}
.build-step-dot{display:none}
.build-actions{display:flex;justify-content:space-between;align-items:center;gap:26px;padding:27px 0 0;flex-wrap:wrap}
.build-player{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.build-play{display:flex;gap:12px;align-items:center;padding:15px 21px;border:0;background:#f02b32;color:#fff;font-size:.83rem;font-weight:850;border-radius:6px;transition:background .2s,transform .2s}.build-play:hover{background:#cc1825;transform:translateY(-2px)}
.build-play-symbol{font-size:.81rem}.build-duration{display:flex;align-items:center;gap:10px;color:#81868c;font-size:.68rem;letter-spacing:.13em}.build-duration-line{display:block;height:3px;background:#3b3e43;width:115px;overflow:hidden;border-radius:10px}.build-duration-line span{display:block;height:100%;width:20%;background:#ef313a;transition:width .5s ease}
.build-links{display:flex;align-items:center;gap:28px}.build-text-link,.build-video-link{font-size:.82rem;font-weight:750;color:#e6e7e8}.build-video-link{border:0;background:none;text-align:left;padding:12px 0}.build-text-link:hover,.build-video-link:hover{color:#ff5056}.build-video-link::first-letter{color:#f3353d}
.build-disclaimer{font-size:.7rem!important;line-height:1.6;margin:24px 0 0;color:#7f878a!important}
@media(max-width:1100px){.build-experience{grid-template-columns:minmax(0,1.4fr) minmax(290px,.9fr)}.build-canvas{min-height:460px}.build-story-panel{padding:24px}.build-panel-number{font-size:7rem}.build-step{gap:8px;padding:13px 10px}.build-step-number{font-size:1.3rem}}
@media(max-width:800px){.build-story{padding:76px 0}.build-heading{display:block}.build-heading-side{margin-top:25px;max-width:620px}.build-heading-side .build-signature{margin-bottom:12px}.build-experience{grid-template-columns:1fr}.build-canvas{min-height:clamp(285px,55vw,490px)}.build-story-panel{min-height:300px;border-left:0;border-top:1px solid #36383b}.build-panel-number{position:absolute;right:24px;top:22px;font-size:8rem}.build-panel-content{margin:33px 0 20px;min-height:auto;max-width:600px}.build-panel-content p:not(.build-panel-kicker){max-width:550px}.build-panel-controls{margin-top:5px;max-width:310px}.build-track{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.build-step{display:flex;flex-direction:column;min-height:91px;padding:11px 7px}.build-step-meta strong{font-size:.67rem}.build-step-meta small{display:none}}
@media(max-width:580px){.build-story{padding:66px 0 72px}.build-story .container{padding:0 16px}.build-heading h2{font-size:clamp(2.45rem,10vw,3.45rem)}.build-heading-side{margin-top:18px}.build-heading-side p{font-size:.86rem}.build-experience{border-radius:11px}.build-canvas{min-height:260px}.build-canvas-top{top:11px;left:12px;right:12px}.build-canvas-top span:last-child{display:none}.build-canvas-top>span:first-child{padding:8px;font-size:.52rem}.build-canvas-bottom{left:12px;right:12px;bottom:12px}.build-current-mini{padding:7px 10px;font-size:.55rem}.build-graphic-caption{font-size:.56rem;max-width:118px;text-align:right}.build-story-panel{padding:21px 20px;min-height:280px}.build-panel-number{font-size:6.2rem;right:17px;top:24px}.build-panel-content{margin:26px 0 14px}.build-panel-content h3{font-size:1.85rem}.build-panel-content p:not(.build-panel-kicker){font-size:.8rem}.build-insight{padding:12px 0;font-size:.7rem}.build-icon-button{min-height:45px}.build-track{gap:5px;margin-top:14px}.build-step{min-height:63px;padding:10px 7px;justify-content:center}.build-step-number{font-size:1.05rem}.build-step-meta strong{font-size:.6rem;word-break:normal}.build-step-meta strong{line-height:1.19}.build-step-meta small{display:none}.build-actions{padding-top:17px;align-items:stretch;gap:12px}.build-player{width:100%;justify-content:space-between;gap:9px}.build-play{padding:13px 12px;font-size:.75rem}.build-duration-line{width:56px}.build-links{width:100%;justify-content:space-between;gap:12px}.build-text-link,.build-video-link{font-size:.74rem}.build-disclaimer{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.build-scene,.build-step,.build-icon-button,.build-duration-line span,.build-panel-number{transition:none!important}.build-play{transition:none!important}}


/* PREMIUM VOLLVERSION — Art directed municipality landing pages */
.premium-nowrap{white-space:normal}
.premium-locale-hero{min-height:680px;position:relative;display:flex;align-items:center;background:#0c0d11;color:#fff;isolation:isolate;overflow:hidden}
.premium-locale-cover{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,rgba(6,8,13,.97) 2%,rgba(6,8,13,.88) 38%,rgba(6,8,13,.23) 78%,rgba(6,8,13,.05)),var(--locale-bg);background-size:cover;background-position:center 49%;transform:scale(1.015)}
.premium-locale-hero-content{padding-top:112px;padding-bottom:100px;position:relative}
.premium-kicker{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.77);display:flex;gap:10px;align-items:center}
.premium-kicker span{display:inline-block;width:30px;height:2px;background:#f02a39}
.premium-kicker--red{color:#e12735}
.premium-locale-marker{font-size:11px;letter-spacing:.25em;color:#a4aab1;margin:32px 0 12px}
.premium-locale-hero h1{font-size:clamp(44px,5.9vw,92px);line-height:1.03;max-width:930px;letter-spacing:-.065em;font-weight:800;margin:0 0 18px;color:#fff;text-wrap:balance}
.premium-headline-dot{color:#e92837}
.premium-script-line{font-family:'Snell Roundhand','Brush Script MT','Segoe Script',cursive;font-size:clamp(23px,3vw,40px);font-style:italic;color:#f03443;margin-bottom:26px}
.premium-locale-lead{max-width:690px;font-size:clamp(16px,1.3vw,20px);color:#d5d7df;line-height:1.74;margin:0 0 32px}
.premium-cta-row{display:flex;gap:12px;flex-wrap:wrap}
.premium-image-credit{margin-top:30px;font-size:10px;color:#c4c7cf;opacity:.78;letter-spacing:.035em}
.premium-shortfacts{background:#101115;color:white;border-top:1px solid #303236;border-bottom:1px solid #303236}
.premium-shortfacts-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.premium-shortfacts-grid>div{padding:26px 23px;border-right:1px solid #303236;display:flex;flex-direction:column;gap:3px}
.premium-shortfacts-grid>div:first-child{padding-left:0}.premium-shortfacts-grid>div:last-child{border:0}
.premium-shortfacts span{color:#e0313f;font-size:10px;letter-spacing:.15em;font-weight:800}.premium-shortfacts strong{font-size:20px;letter-spacing:-.035em}.premium-shortfacts small{font-size:12px;color:#9fa3af}
.premium-sect{padding:100px 0}.premium-sect--light{background:#fbfaf9;color:#17191e}.premium-sect--charcoal{background:#111216;color:#fff}.premium-sect--soft{background:#edece9;color:#15161b}
.premium-editorial{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,5vw,100px);align-items:center}
.premium-editorial--reverse{grid-template-columns:1fr 1.05fr}
.premium-editorial-text h2,.premium-section-title h2,.premium-process h2,.premium-knowledge h2,.premium-nearby h2,.premium-faq h2,.premium-contact-inner h2,.premium-service-notes h2{font-size:clamp(36px,3.85vw,64px);line-height:1.1;letter-spacing:-.057em;margin:20px 0 26px;font-weight:800}
.premium-editorial-text h2 em,.premium-section-title h2 em,.premium-process h2 em,.premium-knowledge h2 em,.premium-nearby h2 em,.premium-faq h2 em,.premium-contact-inner h2 em,.premium-service-notes h2 em{font-family:'Snell Roundhand','Brush Script MT','Segoe Script',cursive;font-weight:500;color:#db2535;letter-spacing:0;font-size:.94em}
.premium-editorial-text p,.premium-process p,.premium-knowledge p,.premium-nearby p,.premium-faq p,.premium-contact-inner p,.premium-service-notes p{font-size:16px;line-height:1.78;max-width:670px;color:#5f616a;margin:0 0 16px}
.premium-editorial-text p.premium-intro{font-size:19px;font-weight:600;color:#24272d}
.premium-editorial-visual{position:relative;min-width:0;overflow:hidden;border-radius:5px;box-shadow:0 30px 65px rgba(10,11,15,.13)}
.premium-editorial-visual img{display:block;width:100%;height:470px;object-fit:cover}
.premium-editorial-visual span{position:absolute;bottom:0;right:0;background:#e42435;padding:13px 17px;font-size:10px;font-weight:800;letter-spacing:.12em;color:#fff}
.premium-inline-link{display:inline-flex;margin-top:15px;color:#d22330;text-decoration:none;font-weight:800;letter-spacing:-.02em;gap:12px}.premium-inline-link span{transition:transform .2s}.premium-inline-link:hover span{transform:translateX(6px)}
.premium-section-title{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}.premium-section-title p{color:#a6a8b0;max-width:420px;font-size:15px;line-height:1.7}
.premium-feature-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.premium-feature-card{padding:31px 26px 29px;min-height:270px;border:1px solid #3a3c42;background:#191a1f;text-decoration:none;color:white;display:flex;flex-direction:column;transition:transform .23s,border-color .23s}
.premium-feature-card:hover{transform:translateY(-5px);border-color:#e52b3b}.premium-feature-card b{font-size:12px;color:#eb2b3b;letter-spacing:.14em}.premium-feature-card h3{font-size:25px;margin:34px 0 12px;line-height:1.15;letter-spacing:-.03em}.premium-feature-card p{font-size:14px;line-height:1.7;color:#abb0b9;margin:0 0 20px}.premium-feature-card>span{color:#f0404c;font-size:13px;margin-top:auto;font-weight:800}
.premium-process{display:grid;grid-template-columns:.82fr 1.3fr;gap:70px;align-items:center}.premium-process ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.premium-process li{background:#fff;padding:27px;display:flex;flex-direction:column;min-height:180px;gap:10px;box-shadow:0 3px 30px rgba(0,0,0,.035)}.premium-process li b{font-size:15px;color:#e42435}.premium-process li strong{font-size:19px}.premium-process li span{font-size:14px;line-height:1.6;color:#73757a}
.premium-knowledge{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}.premium-doc-list{margin-top:30px;display:grid;gap:13px}.premium-doc-list span{display:block;font-size:15px;font-weight:700;padding-bottom:12px;border-bottom:1px solid #e2e2e3}
.premium-knowledge-card{background:#121318;color:#fff;padding:46px}.premium-knowledge-card small{font-size:11px;letter-spacing:.17em;color:#ef3341;font-weight:800}.premium-knowledge-card h3{font-size:30px;margin:18px 0}.premium-knowledge-card p{color:#c0c2ca}.premium-knowledge-card a{font-size:13px;color:#ff5965;text-decoration:none}
.premium-nearby{display:grid;grid-template-columns:1fr 1fr;gap:65px}.premium-nearby p{color:#b0b1b9}.premium-nearby-links{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;align-content:center}.premium-nearby-links a{border:1px solid #45464c;padding:15px;color:white;font-weight:700;text-decoration:none;display:flex;justify-content:space-between;gap:6px}.premium-nearby-links a:hover{border-color:#f03c4a}.premium-nearby-links a span{color:#ee3341}
.premium-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.premium-faq-list details{border-top:1px solid #d7d8da}.premium-faq-list details:last-child{border-bottom:1px solid #d7d8da}.premium-faq-list summary{cursor:pointer;list-style:none;padding:21px 33px 21px 0;font-size:17px;font-weight:750;position:relative}.premium-faq-list summary:after{content:'+';position:absolute;right:5px;color:#e32939}.premium-faq-list details[open] summary:after{content:'−'}.premium-faq-list details p{padding:0 25px 20px 0;font-size:15px;line-height:1.75}
.premium-contact-hero{background:linear-gradient(105deg,#0b0c10 0%,#191b22 63%,#a61123 160%);color:#fff;padding:88px 0}.premium-contact-inner{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center}.premium-contact-inner p{color:#cbcdd1}.premium-contact-actions{display:flex;flex-direction:column;gap:14px;min-width:295px}.premium-contact-actions small{color:#9fa0a9;font-size:11px;line-height:1.6;max-width:310px}.premium-service-notes{display:grid;grid-template-columns:1fr 1.3fr;gap:60px}.premium-service-points{display:grid;gap:13px}.premium-service-points>div{background:white;padding:23px 30px;display:grid;grid-template-columns:45px 1fr;gap:2px 18px}.premium-service-points b{grid-row:span 2;color:#ed3444}.premium-service-points p{margin:0;font-size:14px}.premium-service-points strong{font-size:18px}
.premium-hero-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.93;pointer-events:none}.hero:has(.premium-hero-film) .hero-image{z-index:-3}.premium-hero-film-label{font-size:10px!important;color:#d9d9de!important;letter-spacing:.09em;text-transform:uppercase;margin-top:16px!important;opacity:.85}
@media(max-width:1050px){.premium-feature-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-editorial,.premium-editorial--reverse{gap:35px}.premium-shortfacts-grid{grid-template-columns:repeat(2,1fr)}.premium-shortfacts-grid>div:nth-child(2){border-right:0}}
@media(max-width:740px){.premium-sect{padding:65px 0}.premium-locale-hero{min-height:650px}.premium-locale-cover{background-image:linear-gradient(180deg,rgba(6,8,13,.82),rgba(6,8,13,.85)),var(--locale-bg)}.premium-locale-hero-content{padding:95px 0 65px}.premium-locale-marker{margin-top:20px}.premium-locale-hero h1{font-size:clamp(36px,10vw,54px)}.premium-shortfacts-grid{grid-template-columns:repeat(2,1fr)}.premium-shortfacts-grid>div{padding:19px 12px}.premium-shortfacts-grid strong{font-size:16px}.premium-editorial,.premium-editorial--reverse,.premium-process,.premium-knowledge,.premium-nearby,.premium-faq,.premium-contact-inner,.premium-service-notes{grid-template-columns:1fr;gap:28px}.premium-editorial--reverse .premium-editorial-visual{order:2}.premium-editorial-visual img{height:300px}.premium-section-title{display:block}.premium-feature-cards{grid-template-columns:repeat(2,1fr)}.premium-feature-card{min-height:250px;padding:20px 15px}.premium-feature-card h3{font-size:21px}.premium-nearby-links{grid-template-columns:1fr 1fr}.premium-process ol{gap:8px}.premium-process li{padding:18px 13px;min-height:180px}.premium-contact-actions{min-width:unset}.premium-knowledge-card{padding:30px}.premium-editorial-text h2,.premium-section-title h2,.premium-process h2,.premium-knowledge h2,.premium-nearby h2,.premium-faq h2,.premium-contact-inner h2,.premium-service-notes h2{font-size:clamp(34px,8vw,48px)}}
@media(max-width:420px){.premium-feature-cards{grid-template-columns:1fr}.premium-nearby-links{grid-template-columns:1fr 1fr}.premium-shortfacts span{font-size:9px}.premium-shortfacts small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.premium-hero-film{display:none}}
/* Keep the cinematic footage visible above the background poster but under hero copy. */
.hero:has(.premium-hero-film){isolation:isolate}
.hero:has(.premium-hero-film) .hero-image{z-index:0}
.hero .premium-hero-film{z-index:0!important}
@media(prefers-reduced-motion:reduce){.hero .premium-hero-film{display:none}}

/* Original-logo static-photo hero · no home video */
.hero-image{object-position:59% center;filter:saturate(1.02) contrast(1.025)}
.hero::before{background:linear-gradient(90deg,rgba(3,4,5,.97) 0%,rgba(3,4,5,.86) 25%,rgba(3,4,5,.54) 51%,rgba(3,4,5,.08) 90%),linear-gradient(0deg,rgba(0,0,0,.71),transparent 48%)}
.service-tiles img{object-fit:cover;object-position:50% 52%;image-rendering:auto}
@media (max-width:900px){.hero-image{object-position:62% center}}
@media (max-width:650px){.hero-image{object-position:57% center}.hero-grid{padding-bottom:170px}}
/* Static hero image disclosure (not a video caption) */
.hero-visualisation-label{font-size:10px!important;color:#d9d9de!important;letter-spacing:.09em;text-transform:uppercase;margin-top:16px!important;opacity:.85}


/* 2026 FINAL PREMIUM UPDATE */
.brand{gap:16px;min-width:300px}
.brand img{width:92px;height:92px;object-fit:contain;background:#ffffff;border-radius:4px;padding:4px;box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.brand strong{font-size:1.15rem;font-weight:800;letter-spacing:-.03em;color:#fff}
.brand small{color:#d6d8db;font-size:.68rem;letter-spacing:.12em}
.inner-hero .container,.hero-grid{max-width:var(--max)}
.inner-hero.with-image:before{background:linear-gradient(90deg,rgba(3,3,4,.97) 0%,rgba(3,3,4,.88) 42%,rgba(3,3,4,.42) 72%,rgba(3,3,4,.12) 100%)}
.visual-note,.visualisation{color:#8f949a}
@media(max-width:900px){.brand{min-width:0;gap:10px}.brand img{width:62px;height:62px;padding:3px}.brand strong{font-size:1rem}.brand small{font-size:.58rem}}
@media(max-width:650px){.brand img{width:56px;height:56px}.brand strong{font-size:.94rem}.brand small{font-size:.54rem}}

/* 2026 region hero alignment + exact logo patches */
.inner-hero .container{position:relative;z-index:2;max-width:1000px;margin-left:max(34px,calc((100vw - var(--max)) / 2 + 34px));margin-right:auto;padding-left:0;padding-right:34px}
.brand img{background:#fff;border-radius:4px;padding:4px;object-fit:contain}
@media(max-width:900px){.inner-hero .container{max-width:var(--max);margin-left:auto;padding-left:23px;padding-right:23px}}
@media(max-width:650px){.inner-hero .container{padding-left:19px;padding-right:19px}}
/* S & B Bau · Responsive/mobile refinements · 2026-11-02
   Applied consistently to the entire static website. */
img, picture, video, iframe { max-width:100%; }
img { height:auto; }
:where(.container, .hero-grid, .section-head, .photo-split, .premium-editorial,
       .premium-locale-hero-content, .premium-nearby, .premium-nearby-links,
       .premium-process, .premium-process ol, .premium-knowledge,
       .premium-contact-inner, .premium-service-notes, .details-grid,
       .premium-feature-cards, .premium-feature-card, .service-layout,
       .service-tiles, .tile, .tile-body, .btn-row, .footer-grid) > * {min-width:0;}
:where(h1,h2,h3,p,li,a,summary,small,strong){ overflow-wrap:break-word; }
:where(.premium-locale-cover,.hero-image,.inner-bg){max-width:none;}

/* Collapse the long navigation before it crowds tablet and narrow laptop screens. */
@media(max-width:1360px){
  .site-header{height:76px;}
  .site-header .nav-inner{height:76px;width:100%;padding-left:18px;padding-right:12px;gap:10px;}
  .site-header .brand{flex:0 1 auto;min-width:0;max-width:calc(100% - 68px);gap:10px;}
  .site-header .brand img{flex:0 0 auto;width:55px;height:55px;padding:3px;}
  .site-header .brand span{min-width:0;}
  .site-header .brand strong{display:block;font-size:1rem;line-height:1.16;white-space:normal;}
  .site-header .brand small{font-size:.57rem;letter-spacing:.09em;line-height:1.3;}
  .site-header .nav-cta{display:none!important;}
  .site-header nav{order:2;}
  .site-header .menu-toggle{display:flex!important;order:3;flex:0 0 48px;align-items:center;justify-content:center;
    width:48px;height:48px;min-height:48px;margin-left:auto!important;margin-right:0!important;
    border:1px solid rgba(255,255,255,.24);border-radius:6px;background:rgba(255,255,255,.05);
    color:#fff;font-size:1.65rem;line-height:1;position:relative;z-index:1200;}
  .site-header .menu-toggle:focus-visible{outline:3px solid #fa4050;outline-offset:2px;}
  .site-header .nav-links{display:none!important;position:fixed;inset:76px 0 auto 0;z-index:1150;
    width:100vw;max-height:calc(100dvh - 76px);height:auto;overflow-y:auto;overscroll-behavior:contain;
    background:#0d0e11;border-top:1px solid rgba(255,255,255,.13);
    padding:12px clamp(20px,5vw,45px) max(24px,env(safe-area-inset-bottom));
    flex-direction:column;align-items:stretch;gap:0;box-shadow:0 25px 60px #0008;}
  body.menu-open .site-header .nav-links{display:flex!important;}
  .site-header .nav-links li{display:block;width:100%;padding:0;border-bottom:1px solid #2a2b2d;}
  .site-header .nav-links a{display:block;width:100%;min-height:48px;padding:14px 4px;
    color:white;font-size:1rem;font-weight:700;line-height:1.3;}
  .site-header .nav-links a:hover,.site-header .nav-links a:focus-visible{color:#ff5961;}
}
@media(max-width:600px){
  html{scroll-padding-top:76px;}
  body{overflow-x:hidden;font-size:16px;}
  .container{width:100%;max-width:100%;padding-left:20px;padding-right:20px;}
  .site-header .nav-inner{padding-left:15px;padding-right:10px;}
  .site-header .brand img{width:50px;height:50px;padding:3px;}
  .site-header .brand strong{font-size:.95rem;letter-spacing:-.02em;}
  .site-header .brand small{font-size:.55rem;}
  .site-header .menu-toggle{flex-basis:46px;width:46px;height:46px;min-height:46px;}
  .site-header .nav-links{padding-inline:20px;}
  .sect{padding:62px 0;}
  h1,h2,h3{overflow-wrap:anywhere;hyphens:auto;}
  h2{font-size:clamp(2rem,8.3vw,3rem);}
  h3{font-size:clamp(1.3rem,6vw,1.9rem);}
  .section-head{display:block;}
  .section-head .link{margin-top:20px;display:inline-flex;white-space:normal;}
  .lead{font-size:1.03rem;line-height:1.65;}
  .btn,.premium-cta-row .btn{min-height:48px;padding:13px 15px;font-size:.91rem;
    line-height:1.4;text-align:center;white-space:normal;}
  .btn-row{width:100%;gap:10px;}
  .btn-row .btn{max-width:100%;}

  /* Make the homepage hero grow with the copy instead of clipping its CTA row. */
  .hero{min-height:0!important;height:auto;display:flex;flex-direction:column;align-items:stretch;
    padding-top:76px;overflow:hidden;}
  .hero-grid{width:100%;flex:0 0 auto;padding-top:65px!important;padding-bottom:24px!important;}
  .hero h1{font-size:clamp(2.55rem,10.3vw,3.75rem);line-height:1.08;max-width:100%;}
  .hero-handwritten{max-width:100%;}
  .hero-handwritten img{max-width:min(100%,360px);height:auto;}
  .hero .hero-sub{font-size:1.02rem!important;line-height:1.62;max-width:100%;}
  .hero .btn-row{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;}
  .hero .btn-row .btn{display:flex;width:100%;min-height:48px;padding:12px 16px;
     font-size:.93rem;grid-column:auto!important;}
  .hero .hero-note{display:block;font-size:.76rem;line-height:1.5;}
  .hero-bottom{position:relative;inset:auto;width:100%;flex:0 0 auto;margin-top:24px;}
  .hero-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;}
  .hero-benefits>div{min-width:0;padding:13px 10px;gap:9px;align-items:flex-start;}
  .hero-benefits b{font-size:.78rem;overflow-wrap:anywhere;}
  .hero-benefits span{font-size:.72rem;}
  .hero-image{object-position:60% center;}
  .hero::before{background:linear-gradient(90deg,rgba(3,4,6,.98),rgba(3,4,6,.79) 63%,rgba(3,4,6,.47)),linear-gradient(0deg,#05060880,transparent 70%);}

  /* Clear, readable full-width service cards and category images. */
  .service-layout,.service-tiles,.photo-split{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:22px;}
  .service-tiles{gap:16px;margin-top:14px;}
  .tile-image{height:auto!important;aspect-ratio:16/10;overflow:hidden;}
  .tile-image img{display:block;width:100%;height:100%!important;object-fit:cover;object-position:center;}
  .tile-body{padding:22px!important;}
  .tile-body h3{font-size:1.42rem!important;}
  .tile-body p{font-size:.95rem!important;line-height:1.55;}
  .tile-body a{font-size:.94rem!important;display:inline-flex;padding:5px 0;}
  .showcase-card img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;}
  .photo-frame{height:auto;aspect-ratio:4/3;min-height:235px;}
  .photo-frame img{height:100%;width:100%;object-fit:cover;}

  /* Local landing pages: left-aligned with the site logo, full width on mobile. */
  .inner-hero{padding:155px 0 78px;}
  .inner-hero.with-image{padding:155px 0 80px;}
  .inner-hero .container{margin:0 auto!important;padding-left:20px!important;
    padding-right:20px!important;max-width:100%!important;width:100%;text-align:left;}
  .inner-hero h1{font-size:clamp(2.35rem,9.5vw,3.7rem)!important;line-height:1.1;}
  .inner-hero p:not(.handwritten){font-size:1.02rem;line-height:1.6;}
  .inner-hero .inner-bg{object-position:63% center;}
  .inner-hero.with-image::before{background:linear-gradient(90deg,#060709f5,#060709c9 63%,#06070975);}
  .premium-locale-hero{min-height:0!important;overflow:hidden;}
  .premium-locale-hero-content{padding:125px 0 50px!important;width:100%;min-width:0;text-align:left;}
  .premium-locale-hero h1{font-size:clamp(2.15rem,8.9vw,3.45rem)!important;line-height:1.1;
    overflow-wrap:anywhere;hyphens:auto;max-width:100%;}
  .premium-nowrap{white-space:normal!important;}
  .premium-locale-marker{max-width:100%;font-size:.68rem;line-height:1.6;letter-spacing:.1em;}
  .premium-locale-lead{font-size:1.02rem!important;line-height:1.65;max-width:100%;}
  .premium-script-line{font-size:clamp(1.8rem,7.5vw,2.9rem)!important;line-height:1.15;}
  .premium-locale-cover{transform:none!important;inset:0;}
  .premium-locale-hero .premium-cta-row{display:flex;flex-direction:column;align-items:stretch;gap:10px;}
  .premium-cta-row .btn{width:100%;}
  .premium-image-credit{font-size:.7rem;line-height:1.5;}
  .premium-shortfacts-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .premium-shortfacts-grid>div{min-width:0;}
  .premium-shortfacts-grid strong{font-size:.97rem;line-height:1.35;overflow-wrap:anywhere;}
  .premium-shortfacts-grid small{font-size:.76rem;line-height:1.48;}
  .premium-editorial-visual img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;}
  .premium-process ol,.premium-nearby-links,.premium-feature-cards{grid-template-columns:minmax(0,1fr)!important;}
  .premium-nearby,.premium-faq,.premium-knowledge,.premium-contact-inner,.premium-service-notes{grid-template-columns:minmax(0,1fr)!important;}
  .premium-nearby-links a{min-width:0;overflow-wrap:anywhere;gap:12px;}
  .premium-editorial-text h2,.premium-section-title h2,.premium-process h2,.premium-knowledge h2,
  .premium-nearby h2,.premium-faq h2,.premium-contact-inner h2,.premium-service-notes h2{
    font-size:clamp(2rem,8vw,3.1rem)!important;line-height:1.12;overflow-wrap:anywhere;}
  .premium-knowledge-card{padding:25px;}
  .premium-service-points>div{padding:20px;grid-template-columns:35px minmax(0,1fr);}
  .premium-contact-actions{min-width:0;width:100%;}
  .premium-contact-actions .btn{width:100%;}
  .area-facts,.directory,.grid-3,.showcase,.region-chips{grid-template-columns:minmax(0,1fr);}
  .city-list{columns:1;}
  .contact-grid,.details-grid{grid-template-columns:minmax(0,1fr);gap:25px;}
  .form-grid{grid-template-columns:minmax(0,1fr);}
  .form-card{padding:18px;}
  .form-card :is(input,textarea,select){max-width:100%;font-size:16px;}
  .form-card .checklabel{line-height:1.6;}
  .planner-ui,.planner-aside,.planner-screen{min-width:0;}
  .planner-options button{min-width:0;}
  .planner-controls{gap:10px;flex-wrap:wrap;}
  .planner-controls .btn{flex:1 1 130px;min-width:0;}
  .footer-grid{grid-template-columns:1fr;gap:30px;}
  .footer-grid>div:first-child{grid-column:auto;}
  .footer-bottom{line-height:1.9;}
  .floating-cta{bottom:max(12px,env(safe-area-inset-bottom));right:12px;max-width:calc(100vw - 24px);}
  main{padding-bottom:25px;}
  /* Never hide important content if intersection observer is delayed or disabled. */
  .js .reveal{opacity:1!important;transform:none!important;}
}
@media(max-width:360px){
  .site-header .brand img{width:44px;height:44px;}
  .site-header .brand{gap:6px;}
  .site-header .brand strong{font-size:.84rem;}
  .site-header .brand small{font-size:.49rem;}
  .hero h1{font-size:2.45rem;}
  .premium-shortfacts-grid{grid-template-columns:1fr;}
  .hero-benefits{grid-template-columns:1fr 1fr;}
  .premium-locale-hero h1{font-size:2.12rem!important;}
}
/* Prevent the image aspect ratio from forcing a minimum width at 320px. */
@media(max-width:600px){
  .photo-frame{min-width:0!important;min-height:0!important;width:100%;}
  .premium-locale-cover{transform:none!important;}
}
@media(min-width:601px) and (max-width:1360px){
  .premium-locale-cover{transform:none!important;}
}

/* Shared phone/tablet layout for every regional landing page. */
.mobile-contact-bar{display:none}
@media(max-width:900px){
 .premium-editorial,.premium-editorial--reverse,.premium-process,.premium-knowledge,
 .premium-nearby,.premium-faq,.premium-contact-inner,.premium-service-notes{grid-template-columns:minmax(0,1fr)!important;gap:28px}
 .premium-sect{padding:54px 0}.premium-contact-hero{padding:54px 0}
 .premium-section-title{display:block}.premium-section-title p{margin-top:18px}
 .premium-locale-hero-content{min-width:0;max-width:100%}
 .premium-locale-hero h1{font-size:clamp(2.1rem,7vw,3.8rem)!important;line-height:1.12;overflow-wrap:anywhere}
 .premium-nowrap{white-space:normal!important}
 .premium-editorial-visual img{height:auto;aspect-ratio:4/3;object-fit:cover}
 .premium-contact-actions{min-width:0;max-width:100%}
 .premium-feature-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .premium-feature-card,.premium-faq-list,details,summary{min-width:0;overflow-wrap:anywhere}
}
@media(max-width:600px){
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
 .mobile-contact-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:10px;position:fixed;bottom:0;left:0;right:0;z-index:1100;background:#111216;border-top:1px solid #ffffff25;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));box-shadow:0 -8px 24px #0003}
 .mobile-contact-bar a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 12px;border-radius:5px;text-decoration:none;font-size:14px;font-weight:750;line-height:1.3}
 .mobile-call{background:#24262c;color:#fff;border:1px solid #ffffff35}.mobile-inquiry{background:#da2535;color:#fff}
 .floating-cta{display:none!important}
 .premium-locale-hero-content{padding-top:115px!important;padding-bottom:38px!important}
 .premium-locale-hero .premium-cta-row{gap:12px}
 .premium-locale-marker{overflow-wrap:anywhere}
 .premium-feature-cards,.premium-shortfacts-grid,.premium-nearby-links{grid-template-columns:minmax(0,1fr)!important}
 .premium-editorial-text h2,.premium-section-title h2,.premium-process h2,.premium-nearby h2,.premium-faq h2,.premium-contact-inner h2{font-size:clamp(1.9rem,7.5vw,2.7rem)!important}
 .premium-feature-card{padding:24px}.premium-knowledge-card{padding:24px}
 .premium-process ol{padding:0;grid-template-columns:minmax(0,1fr)}
 .premium-service-points>div{grid-template-columns:28px minmax(0,1fr);padding:18px 14px}
 .premium-service-points p{grid-column:2}
 .premium-editorial-visual span{max-width:100%;font-size:9px;padding:10px;overflow-wrap:anywhere}
 .premium-faq summary{padding-right:28px;line-height:1.5;font-size:16px}
 .premium-contact-actions .btn{white-space:normal;width:100%}
 .footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
 .footer-bottom a{display:inline-block;padding:6px 8px 6px 0}
 input,select,textarea{font-size:16px!important;min-width:0;max-width:100%}
}

/* Regional hero: same content edge as navigation and page sections. */
.premium-locale-hero-content.container{width:100%;max-width:var(--max);margin-left:auto;margin-right:auto;padding-left:34px;padding-right:34px;flex:0 1 auto}
.premium-locale-hero{min-height:660px}
.premium-locale-hero h1{font-size:clamp(42px,4.6vw,74px);max-width:960px;line-height:1.09;letter-spacing:-.045em;text-wrap:initial}
.locale-heading-place{display:inline;color:#fff}
.premium-locale-hero .premium-script-line{font-family:inherit;font-style:normal;font-size:18px;line-height:1.5;font-weight:650;letter-spacing:.015em;color:#ff6570;margin:22px 0}
.premium-locale-hero .premium-locale-lead{max-width:620px;font-size:18px;line-height:1.75;margin-bottom:28px}
.premium-locale-marker{margin-top:24px;letter-spacing:.13em}
@media(max-width:900px){.premium-locale-hero-content.container{padding-left:24px!important;padding-right:24px!important}.premium-locale-hero{min-height:0}.premium-locale-hero h1{font-size:clamp(36px,6vw,58px)!important}}
@media(max-width:600px){.premium-locale-hero-content.container{padding:118px 20px 46px!important}.premium-locale-hero h1{font-size:clamp(32px,8.4vw,46px)!important;line-height:1.12;hyphens:auto}.premium-locale-hero .premium-script-line{font-size:16px;margin:20px 0}.premium-locale-hero .premium-locale-lead{font-size:16px;line-height:1.7}.premium-locale-marker{font-size:10px;letter-spacing:.08em;margin:20px 0 14px}}

/* Service overview: one complete card per service, consistent image and text rows. */
.services-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:50px;align-items:end;margin-bottom:38px}
.services-heading h2{font-size:clamp(36px,4vw,62px);line-height:1.08}.services-heading h2 span{color:var(--red)}
.services-heading p:not(.eyebrow){max-width:520px;color:#5f616a;font-size:18px;line-height:1.65;margin-bottom:22px}
.service-tiles.services-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:0;align-items:stretch}
.services-overview .tile{min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid #e8e8e8;overflow:hidden}
.services-overview .tile>a{display:block}.services-overview .tile-image{height:auto!important;aspect-ratio:3/2;overflow:hidden}
.services-overview .tile-image img{width:100%;height:100%!important;object-fit:cover}
.services-overview .tile-body{padding:25px;display:flex;flex-direction:column;flex:1;min-width:0}
.services-overview .tile-body h3{font-size:25px;line-height:1.2}.services-overview .tile-body p{margin:12px 0 22px;font-size:15px;line-height:1.6}
.services-overview .tile-body>a{margin-top:auto;color:var(--red);font-weight:700}
@media(max-width:1000px){.service-tiles.services-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.services-heading{gap:28px}}
@media(max-width:600px){.services-heading{grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:28px}.services-heading h2{font-size:36px}.services-heading p:not(.eyebrow){font-size:16px}.service-tiles.services-overview{grid-template-columns:minmax(0,1fr)!important;gap:20px}.services-overview .tile-body{padding:22px}}

/* Category cards: restrained movement on pointer and keyboard interaction. */
.tile{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.tile .tile-image img{transition:transform .65s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .tile:hover{transform:translateY(-5px);box-shadow:0 16px 34px #15182114;border-color:#d5d5d5}
 .tile:hover .tile-image img{transform:scale(1.045)}
}
.tile:focus-within{outline:2px solid var(--red);outline-offset:3px}
@keyframes category-arrive{from{opacity:.4;translate:0 18px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:no-preference){.card-entered{animation:category-arrive .55s ease var(--card-delay,0ms) both}}
@media(prefers-reduced-motion:reduce){.tile,.tile .tile-image img{transition:none!important}.card-entered{animation:none!important}}
