
/* === shared-fixes.css === */
.ib-external-brand{display:inline-flex!important;align-items:center!important;gap:10px!important;white-space:nowrap}.ib-external-brand img{display:block;width:25px;height:34px;object-fit:contain;flex:none}@media(min-width:768px){.ib-external-brand img{width:29px;height:40px}}

/* === subpages-v23.css === */

/* Immobilien Brömmel V2.3 – unified subpage system */
:root{--v23-navy:#0d2144;--v23-ink:#071a36;--v23-gold:#c7a25d;--v23-paper:#f5f1e8;--v23-display:"Iowan Old Style","Palatino Linotype",Palatino,"Times New Roman",serif;--v23-sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.v23-header{position:fixed!important;z-index:999!important;inset:0 0 auto!important;height:76px!important;display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;padding:0 clamp(20px,3vw,52px)!important;color:#fff!important;background:rgba(13,33,68,.96)!important;border-bottom:1px solid rgba(255,255,255,.14)!important;box-shadow:none!important;font-family:var(--v23-sans)!important;transition:height .3s,box-shadow .3s,background .3s!important;overflow:visible!important}
.v23-header.is-scrolled{height:68px!important;background:rgba(13,33,68,.985)!important;backdrop-filter:blur(16px)!important;box-shadow:0 14px 44px rgba(4,14,31,.2)!important;border-color:rgba(199,162,93,.24)!important}
.v23-brand{display:flex!important;align-items:center!important;justify-self:start!important;gap:12px!important;min-width:0!important;color:#fff!important;text-decoration:none!important;white-space:nowrap!important}
.v23-brand-logo{display:block!important;width:30px!important;height:42px!important;max-width:30px!important;max-height:42px!important;min-width:30px!important;object-fit:contain!important;flex:0 0 30px!important;margin:0!important;transform:none!important;opacity:1!important;visibility:visible!important}
.v23-brand-name{display:block!important;font-size:.82rem!important;font-weight:750!important;line-height:1!important;letter-spacing:.15em!important;text-transform:uppercase!important;color:#fff!important}
.v23-desktop-nav{display:flex!important;align-items:center!important;gap:31px!important;font-size:.7rem!important;font-weight:750!important;letter-spacing:.145em!important;text-transform:uppercase!important;color:#fff!important}
.v23-desktop-nav>a,.v23-nav-group>a{position:relative!important;display:flex!important;align-items:center!important;gap:6px!important;padding:28px 0!important;color:rgba(255,255,255,.78)!important;text-decoration:none!important;white-space:nowrap!important;transition:color .2s!important}
.v23-desktop-nav>a:after,.v23-nav-group>a:after{content:""!important;position:absolute!important;left:0!important;bottom:18px!important;width:100%!important;height:1px!important;background:var(--v23-gold)!important;transform:scaleX(0)!important;transform-origin:left!important;transition:transform .25s!important}
.v23-desktop-nav>a:hover,.v23-nav-group:hover>a{color:#fff!important}.v23-desktop-nav>a:hover:after,.v23-nav-group:hover>a:after{transform:scaleX(1)!important}
.v23-nav-group{position:relative!important}.v23-dropdown{position:absolute!important;left:50%!important;top:100%!important;width:285px!important;padding:10px!important;background:var(--v23-navy)!important;border:1px solid rgba(255,255,255,.13)!important;box-shadow:0 26px 70px rgba(3,13,31,.42)!important;opacity:0!important;visibility:hidden!important;transform:translate(-50%,-8px)!important;transition:.22s!important}.v23-nav-group:hover .v23-dropdown,.v23-nav-group:focus-within .v23-dropdown{opacity:1!important;visibility:visible!important;transform:translate(-50%,0)!important}
.v23-dropdown a{display:block!important;padding:14px 15px!important;border-bottom:1px solid rgba(255,255,255,.09)!important;color:rgba(255,255,255,.74)!important;font-size:.66rem!important;letter-spacing:.12em!important;text-decoration:none!important}.v23-dropdown a:last-child{border-bottom:0!important}.v23-dropdown a:hover{background:rgba(255,255,255,.055)!important;color:var(--v23-gold)!important}
.v23-header-cta{justify-self:end!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:40px!important;padding:0 17px!important;background:var(--v23-gold)!important;color:var(--v23-navy)!important;font-size:.67rem!important;font-weight:850!important;line-height:1.2!important;letter-spacing:.09em!important;text-transform:uppercase!important;text-decoration:none!important;white-space:nowrap!important;transition:background .2s!important}.v23-header-cta:hover{background:#fff!important}
.v23-menu-toggle{display:none!important;justify-self:end!important}.v23-mobile-menu{font-family:var(--v23-sans)!important}.v23-mobile-sub{font-family:var(--v23-sans)!important;font-size:.78rem!important;text-transform:uppercase!important;letter-spacing:.12em!important;color:rgba(255,255,255,.62)!important;padding:13px 4px 13px 22px!important}

/* Static service pages: keep the valuable content, remove hydration-dependent fragility. */
body.v23-service-page{background:var(--v23-paper)!important;overflow-x:hidden!important}
.v23-service-page main{padding-top:0!important}
.v23-service-hero{isolation:isolate!important;min-height:92svh!important;background:var(--v23-navy)!important}
.v23-service-hero>img{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;opacity:1!important;visibility:visible!important;transform:none!important;filter:none!important;animation:none!important;z-index:0!important}
.v23-service-hero>div.absolute.inset-0{display:none!important}.v23-service-hero>div[class*="gradient"]{z-index:1!important}
.v23-service-hero>div.relative{z-index:2!important}
.v23-service-hero h1{font-family:var(--v23-display)!important;font-size:clamp(3rem,5.15vw,5.8rem)!important;line-height:.98!important;letter-spacing:-.035em!important;max-width:15ch!important;text-wrap:balance!important}
.v23-service-hero p[class*="text-lg"]{font-size:clamp(1rem,1.25vw,1.22rem)!important;line-height:1.68!important;max-width:680px!important}
.v23-service-hero:after{content:""!important;position:absolute!important;inset:0!important;z-index:1!important;pointer-events:none!important;background:linear-gradient(90deg,rgba(7,22,47,.80) 0%,rgba(7,22,47,.52) 42%,rgba(7,22,47,.17) 72%,rgba(7,22,47,.08) 100%),linear-gradient(0deg,rgba(7,22,47,.68),transparent 54%,rgba(7,22,47,.22))!important}
.v23-service-hero>div.absolute{z-index:1!important}
.v23-service-page .font-display{font-family:var(--v23-display)!important}

/* Contact page: no decorative logo collision, controlled editorial hierarchy. */
body.v23-contact-page{background:var(--v23-paper)!important}
.v23-contact-page .contact-hero{position:relative!important;padding:164px 0 96px!important;overflow:hidden!important;background:var(--v23-navy)!important}
.v23-contact-page .contact-hero:after{content:none!important}
.v23-contact-page .contact-hero-grid{position:relative!important;z-index:1!important;grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr)!important;gap:clamp(50px,8vw,130px)!important;align-items:end!important}
.v23-contact-page .contact-hero h1{font-family:var(--v23-display)!important;font-size:clamp(3.7rem,6.4vw,6.9rem)!important;line-height:.94!important;letter-spacing:-.04em!important;max-width:9ch!important;text-wrap:balance!important}
.v23-contact-page .contact-hero p{font-size:clamp(1rem,1.28vw,1.2rem)!important;line-height:1.75!important;max-width:520px!important;margin:0!important}
.v23-contact-page .contact-page{padding:90px 0 135px!important}.v23-contact-page .contact-page-grid{grid-template-columns:minmax(300px,.74fr) minmax(0,1.26fr)!important;gap:clamp(40px,6vw,85px)!important;align-items:start!important}
.v23-contact-page .contact-card{padding:34px!important}.v23-contact-page .contact-card img{aspect-ratio:4/3!important;object-position:center 25%!important}

/* More restrained hierarchy on the main page. */
body:not(.v23-service-page) .display-xl{font-size:clamp(3rem,6.1vw,6.2rem)!important}
body:not(.v23-service-page) .display-lg{font-size:clamp(2.7rem,4.7vw,4.75rem)!important}
.hero-stage h1{font-size:clamp(3.15rem,5.8vw,6.3rem)!important}.hero-stage-center h2,.hero-stage-final h2{font-size:clamp(3.35rem,6.8vw,7.15rem)!important}.perception-copy h2{font-size:clamp(3rem,4.65vw,5.25rem)!important}.perception-step h3{font-size:clamp(2.4rem,3.35vw,3.8rem)!important}.visual-overlay h3{font-size:clamp(2.2rem,3.3vw,3.8rem)!important}.property-intro h2{font-size:clamp(2.85rem,4.05vw,4.65rem)!important}.contact-hero h1{font-size:clamp(3.7rem,6.4vw,6.9rem)!important}

@media(max-width:1050px){
 .v23-header{grid-template-columns:1fr auto!important}.v23-desktop-nav,.v23-header-cta{display:none!important}.v23-menu-toggle{display:flex!important}.v23-brand-logo{width:28px!important;height:39px!important;max-width:28px!important;min-width:28px!important;flex-basis:28px!important}.v23-contact-page .contact-hero-grid,.v23-contact-page .contact-page-grid{grid-template-columns:1fr!important}.v23-contact-page .contact-hero-grid{gap:30px!important}.v23-contact-page .contact-hero h1{max-width:12ch!important}.v23-contact-page .contact-hero p{max-width:680px!important}
}
@media(max-width:720px){
 .v23-header{height:68px!important;padding:0 18px!important}.v23-brand{gap:9px!important}.v23-brand-logo{width:24px!important;height:34px!important;max-width:24px!important;min-width:24px!important;flex-basis:24px!important}.v23-brand-name{font-size:.67rem!important;letter-spacing:.1em!important}.v23-service-hero{min-height:88svh!important}.v23-service-hero h1{font-size:clamp(2.75rem,12.5vw,4.25rem)!important;max-width:12ch!important}.v23-service-hero>img{object-position:center!important}.v23-contact-page .contact-hero{padding:122px 0 72px!important}.v23-contact-page .contact-hero h1{font-size:clamp(3rem,13vw,4.7rem)!important}.v23-contact-page .contact-page{padding:68px 0 90px!important}.v23-contact-page .contact-card{padding:24px!important}
 .hero-stage h1{font-size:clamp(2.85rem,13vw,4.6rem)!important}.hero-stage-center h2,.hero-stage-final h2{font-size:clamp(3rem,14vw,5.05rem)!important}.display-xl{font-size:clamp(2.7rem,12vw,4.35rem)!important}.display-lg{font-size:clamp(2.55rem,11vw,4rem)!important}.perception-copy h2{font-size:clamp(2.65rem,11.5vw,4rem)!important}.property-intro h2{font-size:clamp(2.65rem,11vw,4rem)!important}
}


/* === styles.css === */
:root{
  --navy:#0d2144;
  --navy-2:#142d52;
  --ink:#0a1b36;
  --gold:#c7a25d;
  --gold-2:#e1c98f;
  --paper:#f5f1e8;
  --paper-2:#ebe4d7;
  --white:#fff;
  --muted:#667085;
  --line:rgba(13,33,68,.16);
  --shadow:0 30px 90px rgba(5,18,39,.18);
  --display:"Iowan Old Style","Palatino Linotype",Palatino,"Times New Roman",serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --container:min(1280px,calc(100vw - 48px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--navy)}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.55;overflow-x:hidden;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
::selection{background:var(--gold);color:var(--navy)}
.skip-link{position:fixed;left:16px;top:-80px;z-index:1000;background:#fff;color:#000;padding:12px 16px;border-radius:2px;transition:top .2s}.skip-link:focus{top:16px}
.container{width:var(--container);margin-inline:auto}
.section-pad{padding:clamp(88px,11vw,168px) 0}
.section-kicker{margin:0 0 20px;color:var(--gold);font-size:.73rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.display-xl,.display-lg{font-family:var(--display);font-weight:400;letter-spacing:-.035em;margin:0;line-height:.98;text-wrap:balance}
.display-xl{font-size:clamp(3rem,7.1vw,7.5rem)}
.display-lg{font-size:clamp(2.7rem,5.4vw,5.7rem)}
.lead{font-size:clamp(1.08rem,1.5vw,1.42rem);line-height:1.65;color:rgba(10,27,54,.72);max-width:740px}
.fineprint{font-size:.82rem;color:rgba(10,27,54,.55);max-width:650px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:1px solid transparent;border-radius:2px;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;transition:transform .25s,background .25s,border-color .25s,color .25s;white-space:nowrap}
.button:hover{transform:translateY(-2px)}
.button-gold{background:var(--gold);color:var(--navy)}.button-gold:hover{background:#fff}
.button-ghost{border-color:rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.03)}.button-ghost:hover{border-color:#fff;background:rgba(255,255,255,.1)}
.button-ghost-light{border-color:rgba(255,255,255,.28);color:#fff;background:transparent}.button-ghost-light:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.button-navy{background:var(--navy);color:#fff}.button-navy:hover{background:var(--gold);color:var(--navy)}
.text-link{display:inline-flex;gap:15px;align-items:center;color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.34);padding-bottom:7px}.text-link span{transition:transform .25s}.text-link:hover span{transform:translate(4px,-4px)}.text-link.dark{color:var(--navy);border-color:rgba(13,33,68,.25)}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.reveal.is-visible{opacity:1;transform:none}
.page-progress{position:fixed;z-index:200;top:0;left:0;width:100%;height:2px;background:transparent;pointer-events:none}.page-progress span{display:block;width:100%;height:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(20px,3vw,52px);color:#fff;border-bottom:1px solid rgba(255,255,255,.14);transition:background .35s,box-shadow .35s,height .35s,border-color .35s}.site-header.is-scrolled{height:68px;background:rgba(13,33,68,.94);backdrop-filter:blur(18px);box-shadow:0 14px 44px rgba(4,14,31,.18);border-color:rgba(199,162,93,.25)}
.brand{display:flex;align-items:center;gap:11px;justify-self:start;min-width:0}.brand-mark{width:36px;height:36px;border:1px solid rgba(255,255,255,.34);display:grid;place-items:center;font-family:var(--display);font-size:1.65rem;line-height:1;color:var(--gold)}.brand-name{font-size:.84rem;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.brand-name b{font-weight:400;color:rgba(255,255,255,.62);margin-right:5px}
.desktop-nav{display:flex;align-items:center;gap:32px;font-size:.7rem;font-weight:750;letter-spacing:.15em;text-transform:uppercase}.desktop-nav a{position:relative;color:rgba(255,255,255,.76);transition:color .2s}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:-9px;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .25s}.desktop-nav a:hover{color:#fff}.desktop-nav a:hover:after{transform:scaleX(1)}
.header-cta{justify-self:end;background:var(--gold);color:var(--navy);padding:12px 17px;font-size:.67rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;transition:background .2s}.header-cta:hover{background:#fff}
.menu-toggle{display:none;justify-self:end;width:44px;height:44px;padding:0;background:transparent;border:1px solid rgba(255,255,255,.3);align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle span{width:18px;height:1px;background:#fff;transition:transform .25s,opacity .25s}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:68px 0 0;background:var(--navy);padding:34px 24px}.mobile-menu nav{display:grid}.mobile-menu a{padding:19px 4px;border-bottom:1px solid rgba(255,255,255,.12);font-family:var(--display);font-size:2rem}.mobile-menu-cta{margin-top:22px!important;background:var(--gold);color:var(--navy);padding:17px!important;text-align:center;font-family:var(--sans)!important;font-size:.75rem!important;font-weight:850;letter-spacing:.12em;text-transform:uppercase;border:0!important}
.hero-sequence{position:relative;height:500vh;background:var(--navy);color:#fff}.hero-sticky{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--navy)}.hero-fallback,.hero-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-canvas{z-index:1;opacity:0;transition:opacity .35s}.hero-canvas.is-ready{opacity:1}.hero-fallback{z-index:0}.hero-shade{position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,rgba(7,21,45,.94) 0%,rgba(7,21,45,.55) 43%,rgba(7,21,45,.07) 76%),linear-gradient(0deg,rgba(7,21,45,.65),transparent 45%,rgba(7,21,45,.22));transition:opacity .3s}.hero-grain{position:absolute;z-index:3;inset:0;opacity:.12;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E")}
.hero-stage{position:absolute;z-index:5;left:clamp(24px,7vw,110px);top:50%;width:min(720px,calc(100vw - 48px));transform:translateY(-46%);opacity:0;visibility:hidden;transition:opacity .45s,transform .55s cubic-bezier(.2,.8,.2,1);pointer-events:none}.hero-stage.is-active{opacity:1;visibility:visible;transform:translateY(-50%);pointer-events:auto}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.23em;text-transform:uppercase;color:var(--gold);margin:0 0 25px}.hero-stage h1{font-family:var(--display);font-weight:400;font-size:clamp(3.25rem,6.6vw,7.2rem);line-height:.94;letter-spacing:-.045em;margin:0;text-wrap:balance}.hero-stage h1 em,.perception-copy h2 em{font-weight:400;color:var(--gold-2)}.hero-copy{font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.65;color:rgba(255,255,255,.78);max-width:650px;margin:30px 0 0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}.hero-stage-center{left:50%;top:50%;width:min(1000px,calc(100vw - 48px));text-align:center;transform:translate(-50%,-42%)}.hero-stage-center.is-active{transform:translate(-50%,-50%)}.hero-stage-center h2,.hero-stage-final h2{font-family:var(--display);font-weight:400;font-size:clamp(3.4rem,8vw,8.7rem);line-height:.93;letter-spacing:-.045em;margin:0;text-shadow:0 10px 40px rgba(0,0,0,.22)}.chapter-number{color:var(--gold);font-size:.75rem;font-weight:850;letter-spacing:.22em;margin:0 0 20px}.hero-stage-final{left:auto;right:clamp(24px,7vw,110px);text-align:right;width:min(900px,calc(100vw - 48px))}.hero-stage-final .text-link{margin-top:30px}.hero-scroll-cue{position:absolute;z-index:5;bottom:30px;left:clamp(24px,3vw,52px);display:flex;align-items:center;gap:15px;color:rgba(255,255,255,.62);font-size:.62rem;font-weight:750;letter-spacing:.18em;text-transform:uppercase}.hero-scroll-cue i{width:58px;height:1px;background:rgba(255,255,255,.28);position:relative;overflow:hidden}.hero-scroll-cue i:after{content:"";position:absolute;inset:0;background:var(--gold);animation:scrollCue 1.7s infinite}.hero-frame-status{position:absolute;z-index:5;right:clamp(24px,3vw,52px);bottom:30px;display:flex;align-items:center;gap:12px;font-size:.62rem;letter-spacing:.15em;color:rgba(255,255,255,.55)}.hero-frame-status i{width:78px;height:1px;background:rgba(255,255,255,.25);position:relative}.hero-frame-status i:after{content:"";position:absolute;inset:0;background:var(--gold);transform-origin:left;transform:scaleX(var(--hero-progress,0))}@keyframes scrollCue{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}
.manifesto{background:var(--paper);overflow:hidden}.manifesto-grid{display:grid;grid-template-columns:.8fr 2.2fr;gap:40px;align-items:start}.manifesto .lead{margin:40px 0 0}.marquee{margin-top:clamp(80px,10vw,150px);border-block:1px solid var(--line);overflow:hidden;white-space:nowrap}.marquee div{font-family:var(--display);font-size:clamp(4rem,11vw,12rem);line-height:1.05;color:transparent;-webkit-text-stroke:1px rgba(13,33,68,.22);padding:16px 0;animation:marquee 32s linear infinite;width:max-content}@keyframes marquee{to{transform:translateX(-50%)}}
.pillars{background:var(--navy);color:#fff}.section-head{display:grid;grid-template-columns:1.6fr .8fr;gap:50px;align-items:end}.section-copy{margin:0;color:rgba(255,255,255,.64);line-height:1.75}.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:70px}.pillar-card{position:relative;min-height:630px;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:#102749}.pillar-image{position:absolute;inset:0}.pillar-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,16,35,.96) 0%,rgba(4,16,35,.52) 45%,rgba(4,16,35,.06) 78%)}.pillar-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s}.pillar-card:hover .pillar-image img{transform:scale(1.055);filter:saturate(.85)}.pillar-index{position:absolute;z-index:2;top:24px;left:24px;color:#fff;font-size:.7rem;font-weight:850;letter-spacing:.18em}.pillar-body{position:absolute;z-index:2;left:30px;right:30px;bottom:35px}.pillar-body p{color:var(--gold);font-size:.69rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase;margin:0 0 13px}.pillar-body h3{font-family:var(--display);font-weight:400;font-size:clamp(2.7rem,4vw,4.7rem);line-height:1;margin:0}.pillar-body span{display:block;color:rgba(255,255,255,.67);margin-top:16px;max-width:300px}.pillar-card>i{position:absolute;z-index:2;right:24px;top:21px;font-style:normal;font-size:1.4rem;color:var(--gold);transition:transform .25s}.pillar-card:hover>i{transform:translate(4px,-4px)}
.perception-story{position:relative;background:#071a36;color:#fff;padding-bottom:12vh}.perception-sticky{position:sticky;top:0;height:100svh;display:grid;grid-template-columns:1.35fr .65fr;align-items:center;gap:clamp(40px,6vw,100px);padding:100px max(24px,calc((100vw - 1280px)/2));overflow:hidden}.perception-visual{position:relative;min-width:0}.visual-browser{border:1px solid rgba(255,255,255,.18);background:#0b2245;box-shadow:0 40px 110px rgba(0,0,0,.38)}.browser-bar{height:42px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;padding:0 15px;gap:7px}.browser-bar>span{width:7px;height:7px;border:1px solid rgba(255,255,255,.4);border-radius:50%}.browser-bar small{margin-left:auto;margin-right:auto;font-size:.58rem;letter-spacing:.13em;color:rgba(255,255,255,.38)}.visual-frame{position:relative;aspect-ratio:16/10;overflow:hidden;background:#132d50}.visual-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.visual-image-a{z-index:1}.visual-image-b{z-index:2;opacity:0;transition:opacity .7s}.visual-image-b.is-visible{opacity:1}.visual-frame:after{content:"";position:absolute;z-index:3;inset:0;background:linear-gradient(0deg,rgba(5,18,39,.8),transparent 56%)}.visual-overlay{position:absolute;z-index:4;left:34px;bottom:31px}.visual-overlay p{color:var(--gold);font-size:.65rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin:0 0 6px}.visual-overlay h3{font-family:var(--display);font-weight:400;font-size:clamp(2.2rem,4vw,4.7rem);line-height:1;margin:0}.visual-counter{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.48);font-size:.65rem;letter-spacing:.16em;margin-top:18px}.visual-counter i{width:100px;height:1px;background:rgba(255,255,255,.25);position:relative}.visual-counter i:after{content:"";position:absolute;inset:0;background:var(--gold);transform-origin:left;transform:scaleX(var(--visual-progress,.2));transition:transform .5s}.perception-copy{transition:opacity .45s ease,transform .45s ease}.perception-story.has-steps .perception-copy{opacity:0;transform:translateY(-22px);pointer-events:none}.perception-copy h2{font-family:var(--display);font-size:clamp(3rem,5.4vw,6.5rem);font-weight:400;line-height:.97;letter-spacing:-.04em;margin:0}.perception-copy>p:last-child{color:rgba(255,255,255,.64);line-height:1.8;margin-top:28px}.perception-steps{position:relative;z-index:5;margin-top:0;padding-left:calc(var(--container)*.66)}.perception-step{min-height:82vh;display:grid;grid-template-columns:48px 1fr;gap:24px;align-content:center;max-width:470px;margin-left:auto;opacity:.32;transition:opacity .45s,transform .45s}.perception-step.is-current{opacity:1;transform:translateX(-14px)}.mobile-step-image{display:none}.perception-step>span{color:var(--gold);font-size:.7rem;font-weight:850;letter-spacing:.18em;padding-top:8px}.perception-step h3{font-family:var(--display);font-size:clamp(2.4rem,4vw,4.8rem);font-weight:400;line-height:1;margin:0}.perception-step p{color:rgba(255,255,255,.68);line-height:1.8;margin-top:16px}
.before-after{background:var(--paper)}.before-after-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(45px,7vw,110px);align-items:center}.before-after-copy .lead{font-size:1.12rem}.compare{position:relative;aspect-ratio:4/3;overflow:hidden;box-shadow:var(--shadow);--split:50%}.compare>img,.compare-after img{width:100%;height:100%;object-fit:cover}.compare-after{position:absolute;inset:0;clip-path:inset(0 0 0 var(--split))}.compare-handle{position:absolute;left:var(--split);top:0;bottom:0;width:2px;border:0;padding:0;background:#fff;transform:translateX(-1px)}.compare-handle:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:#fff}.compare-handle span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--navy);box-shadow:0 7px 25px rgba(0,0,0,.2);font-size:1.25rem}.compare-label{position:absolute;top:18px;padding:8px 11px;background:rgba(13,33,68,.84);color:#fff;font-size:.61rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.compare-label-left{left:18px}.compare-label-right{right:18px;background:var(--gold);color:var(--navy)}
.property-story{height:390vh;background:var(--paper-2)}.property-sticky{position:sticky;top:0;height:100svh;display:grid;grid-template-columns:minmax(300px,30vw) 1fr;align-items:center;gap:50px;padding:95px clamp(24px,4vw,70px);overflow:hidden}.property-intro h2{font-family:var(--display);font-size:clamp(3rem,5.6vw,6.4rem);font-weight:400;line-height:.95;letter-spacing:-.04em;margin:0 0 38px}.property-track{display:flex;gap:22px;width:max-content;will-change:transform}.property-card{width:min(52vw,680px);height:min(72vh,760px);position:relative;overflow:hidden;background:var(--navy);color:#fff;flex:0 0 auto;box-shadow:0 20px 60px rgba(13,33,68,.15)}.property-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,17,37,.9),rgba(5,17,37,.08) 62%)}.property-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.property-card:hover img{transform:scale(1.04)}.property-card div{position:absolute;z-index:2;left:35px;right:35px;bottom:34px}.property-card p{color:var(--gold);font-size:.65rem;font-weight:850;letter-spacing:.17em;text-transform:uppercase;margin:0 0 10px}.property-card h3{font-family:var(--display);font-size:clamp(2rem,3.5vw,4rem);font-weight:400;line-height:1.05;margin:0;max-width:580px}.property-card span{display:inline-block;margin-top:20px;font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.72)}.property-progress{position:absolute;left:clamp(24px,4vw,70px);right:clamp(24px,4vw,70px);bottom:30px;height:1px;background:rgba(13,33,68,.16)}.property-progress span{display:block;height:100%;width:100%;background:var(--navy);transform:scaleX(var(--property-progress,0));transform-origin:left}
.personal{background:#fff}.personal-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(55px,9vw,150px);align-items:center}.portrait-wrap{position:relative;margin-left:clamp(0px,4vw,60px)}.portrait-wrap:before{content:"";position:absolute;left:-28px;top:28px;right:28px;bottom:-28px;border:1px solid var(--gold);z-index:0}.portrait-wrap img{position:relative;z-index:1;width:100%;aspect-ratio:3/4;object-fit:cover;filter:saturate(.82)}.portrait-caption{position:absolute;z-index:2;right:-30px;bottom:32px;background:var(--navy);color:#fff;padding:18px 24px;min-width:210px}.portrait-caption b{display:block;font-family:var(--display);font-size:1.35rem;font-weight:400}.portrait-caption span{color:var(--gold);font-size:.62rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.personal-copy .lead{margin-top:34px}.personal-copy blockquote{font-family:var(--display);font-size:clamp(1.6rem,2.6vw,2.8rem);line-height:1.25;margin:42px 0 0;padding-left:26px;border-left:2px solid var(--gold);color:var(--navy)}.personal-links{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:38px}
.region{background:var(--navy);color:#fff}.region-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(45px,8vw,130px);align-items:center}.region .lead{color:rgba(255,255,255,.64)}.town-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:35px}.town-list span{border:1px solid rgba(255,255,255,.18);padding:9px 13px;font-size:.67rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.75)}.region-map{position:relative;color:var(--gold);border:1px solid rgba(255,255,255,.12);background:radial-gradient(circle at 50% 45%,rgba(199,162,93,.09),transparent 58%);min-height:590px;display:grid;place-items:center}.region-map svg{width:92%;height:auto}.map-point circle{fill:currentColor}.map-point text{fill:#fff;font-family:var(--sans);font-size:13px;letter-spacing:.05em}.map-point.main text{font-weight:800;fill:var(--gold)}.map-label{position:absolute;left:28px;bottom:24px;color:#fff}.map-label span{display:block;color:var(--gold);font-size:.62rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.map-label b{display:block;font-family:var(--display);font-size:1.3rem;font-weight:400;line-height:1.3;margin-top:6px}
.valuation{background:#081a36;color:#fff;padding:clamp(90px,11vw,160px) 0;border-top:1px solid rgba(199,162,93,.25)}.valuation-grid{display:grid;grid-template-columns:.76fr 1.24fr;gap:clamp(50px,7vw,110px);align-items:start}.valuation-copy h2{font-family:var(--display);font-size:clamp(3.2rem,5.8vw,6.8rem);font-weight:400;line-height:.96;letter-spacing:-.045em;margin:0}.valuation-copy>p:nth-of-type(2){color:rgba(255,255,255,.64);font-size:1.05rem;line-height:1.8;max-width:560px;margin-top:28px}.contact-direct{display:grid;gap:12px;margin-top:45px}.contact-direct a{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.14)}.contact-direct span{color:var(--gold);font-size:.65rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.contact-direct b{font-weight:500;font-size:.9rem}
.multi-form{background:#102849;color:#fff;border:1px solid rgba(255,255,255,.14);padding:clamp(25px,4vw,55px);min-height:580px;position:relative}.form-progress{height:2px;background:rgba(255,255,255,.12);margin-bottom:43px}.form-progress span{display:block;height:100%;background:var(--gold);width:33.333%;transition:width .4s}.form-step{display:none;border:0;padding:0;margin:0}.form-step.is-active{display:block;animation:formIn .4s both}@keyframes formIn{from{opacity:0;transform:translateY(12px)}}.form-step legend{font-family:var(--display);font-size:clamp(2rem,3.7vw,4rem);line-height:1.08;padding:0;margin:0 0 35px}.form-step legend span{display:block;color:var(--gold);font-family:var(--sans);font-size:.65rem;font-weight:850;letter-spacing:.18em;margin-bottom:12px}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.choice-grid label{position:relative}.choice-grid input{position:absolute;opacity:0}.choice-grid span{display:flex;align-items:center;min-height:60px;padding:12px 16px;border:1px solid rgba(255,255,255,.17);color:rgba(255,255,255,.78);transition:border-color .2s,background .2s,color .2s}.choice-grid input:checked+span{border-color:var(--gold);background:rgba(199,162,93,.13);color:#fff}.choice-grid input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}.multi-form label>span:first-child{display:block;color:rgba(255,255,255,.68);font-size:.7rem;font-weight:750;letter-spacing:.08em;margin-bottom:8px}.multi-form input[type="text"],.multi-form input[type="email"],.multi-form input[type="tel"],.multi-form select,.multi-form textarea{width:100%;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.035);color:#fff;padding:15px 16px;border-radius:0;outline:none;transition:border-color .2s,background .2s}.multi-form select{appearance:auto}.multi-form option{color:#111}.multi-form textarea{resize:vertical}.multi-form input:focus,.multi-form select:focus,.multi-form textarea:focus{border-color:var(--gold);background:rgba(255,255,255,.06)}.multi-form [aria-invalid="true"]{border-color:#ff9b9b!important}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:17px}.multi-form>fieldset>label{display:block;margin-bottom:17px}.privacy-check{display:grid!important;grid-template-columns:20px 1fr;gap:11px;align-items:start;margin-top:18px}.privacy-check input{margin-top:4px}.privacy-check span{font-size:.72rem!important;line-height:1.55;color:rgba(255,255,255,.62)!important;letter-spacing:0!important;font-weight:400!important}.privacy-check a{text-decoration:underline}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:31px}.form-message{min-height:24px;color:var(--gold-2);font-size:.82rem;margin-top:12px}.honeypot{position:absolute!important;left:-9999px!important}.form-status-success{color:#b8e2bd}.form-status-error{color:#ffb6b6}
.site-footer{background:#06152d;color:#fff;padding:80px 0 28px;border-top:1px solid rgba(255,255,255,.1)}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .9fr;gap:70px}.footer-logo{font-family:var(--display);font-size:clamp(2rem,3vw,3.5rem);margin:0}.footer-logo b{font-weight:400;color:var(--gold)}.footer-brand>p:last-child{color:rgba(255,255,255,.55);max-width:500px;line-height:1.8}.footer-label{color:var(--gold);font-size:.65rem;font-weight:850;letter-spacing:.17em;text-transform:uppercase;margin:0 0 20px}.site-footer nav{display:grid;gap:10px;color:rgba(255,255,255,.67)}.site-footer address{font-style:normal;color:rgba(255,255,255,.67);line-height:1.9}.site-footer a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.11);padding-top:24px;margin-top:65px;color:rgba(255,255,255,.4);font-size:.7rem}.footer-bottom div{display:flex;gap:22px}
/* Contact page */
.subpage{background:var(--paper)}.subpage .site-header{background:var(--navy)}.contact-hero{padding:160px 0 100px;background:var(--navy);color:#fff}.contact-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end}.contact-hero h1{font-family:var(--display);font-size:clamp(4rem,8vw,9rem);font-weight:400;line-height:.9;letter-spacing:-.05em;margin:0}.contact-hero p{color:rgba(255,255,255,.68);font-size:1.15rem;line-height:1.8}.contact-page{padding:100px 0 140px}.contact-page-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.contact-card{background:#fff;padding:45px;box-shadow:0 25px 70px rgba(13,33,68,.1)}.contact-card img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:35px}.contact-card h2{font-family:var(--display);font-weight:400;font-size:2.5rem;margin:0 0 20px}.contact-card address{font-style:normal;line-height:1.9;color:rgba(13,33,68,.72)}.contact-card .direct-buttons{display:grid;gap:10px;margin-top:28px}.contact-page .multi-form{background:var(--navy)}
.thanks-page{min-height:100svh;background:var(--navy);color:#fff;display:grid;place-items:center;padding:100px 24px;text-align:center}.thanks-card{max-width:760px}.thanks-card .check{width:72px;height:72px;border:1px solid var(--gold);display:grid;place-items:center;margin:0 auto 30px;color:var(--gold);font-size:2rem}.thanks-card h1{font-family:var(--display);font-size:clamp(3.2rem,7vw,7rem);font-weight:400;line-height:.95;margin:0}.thanks-card p{color:rgba(255,255,255,.68);font-size:1.1rem;line-height:1.8;margin:28px auto 36px;max-width:620px}
@media(max-width:1050px){
  .desktop-nav,.header-cta{display:none}.site-header{grid-template-columns:1fr auto}.menu-toggle{display:flex}.brand-name{font-size:.78rem}
  .manifesto-grid,.section-head,.before-after-grid,.personal-grid,.region-grid,.valuation-grid,.contact-hero-grid,.contact-page-grid{grid-template-columns:1fr}
  .manifesto-grid{gap:25px}.section-head{align-items:start}.section-copy{max-width:650px}.pillar-grid{grid-template-columns:1fr}.pillar-card{min-height:520px}.perception-sticky{grid-template-columns:1fr;padding-top:95px;align-content:center}.perception-copy{display:none}.perception-visual{width:min(840px,100%);margin:auto}.perception-steps{padding-left:0}.perception-step{margin-left:auto;margin-right:auto;max-width:650px;min-height:70vh}.property-sticky{grid-template-columns:1fr;align-content:center}.property-intro{display:flex;align-items:end;justify-content:space-between;gap:30px}.property-intro h2{font-size:clamp(2.7rem,6vw,5rem);max-width:680px;margin-bottom:0}.property-intro .text-link{display:none}.property-card{width:min(76vw,680px);height:62vh}.portrait-wrap{max-width:620px;margin-inline:auto}.personal-copy{max-width:850px}.region-map{min-height:500px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.contact-hero-grid{gap:30px}
}
@media(max-width:720px){
  :root{--container:calc(100vw - 36px)}
  .section-pad{padding:82px 0}.site-header{height:68px;padding:0 18px}.brand-mark{width:32px;height:32px}.brand-name{font-size:.67rem;letter-spacing:.09em}.hero-sequence{height:430vh}.hero-stage{left:18px;width:calc(100vw - 36px);top:auto;bottom:105px;transform:translateY(18px)}.hero-stage.is-active{transform:none}.hero-stage h1{font-size:clamp(3rem,14vw,4.9rem)}.hero-copy{font-size:.98rem;line-height:1.55;margin-top:22px}.hero-actions{margin-top:24px}.hero-actions .button{width:100%}.hero-stage-center{left:18px;bottom:auto;top:50%;width:calc(100vw - 36px);transform:translateY(-42%)}.hero-stage-center.is-active{transform:translateY(-50%)}.hero-stage-center h2,.hero-stage-final h2{font-size:clamp(3.4rem,16vw,5.7rem)}.hero-stage-final{left:18px;right:auto;text-align:left}.hero-stage-final .text-link{margin-top:22px}.hero-scroll-cue{left:18px;bottom:24px}.hero-frame-status{right:18px;bottom:24px}.hero-shade{background:linear-gradient(0deg,rgba(5,18,39,.97) 0%,rgba(5,18,39,.4) 54%,rgba(5,18,39,.16) 100%)}
  .display-xl{font-size:clamp(2.8rem,13vw,4.7rem)}.display-lg{font-size:clamp(2.65rem,12vw,4.4rem)}.marquee{margin-top:65px}.pillar-grid{margin-top:45px}.pillar-card{min-height:450px}.pillar-body{left:22px;right:22px;bottom:25px}.perception-sticky{position:relative;height:auto;display:flex;flex-direction:column;padding:90px 18px 40px;overflow:visible}.perception-copy{display:block!important;order:-1;margin-bottom:35px;opacity:1!important;transform:none!important}.perception-copy h2{font-size:clamp(2.8rem,13vw,4.5rem)}.perception-copy>p:last-child{margin-bottom:0}.visual-frame{aspect-ratio:4/5}.visual-overlay{left:20px;bottom:20px}.browser-bar small{display:none}.perception-steps{padding:0 18px 72px}.perception-step{min-height:auto;grid-template-columns:35px 1fr;padding:42px 0;border-top:1px solid rgba(255,255,255,.14);opacity:1}.perception-step.is-current{transform:none}.mobile-step-image{display:block;grid-column:1/-1;width:100%;aspect-ratio:4/3;object-fit:cover;margin:8px 0 24px}.perception-step>div{grid-column:2}.before-after-grid{gap:42px}.compare{aspect-ratio:4/5}.property-story{height:auto;padding:82px 0}.property-sticky{position:relative;height:auto;display:block;padding:0 18px;overflow:visible}.property-intro{display:block;margin-bottom:36px}.property-intro h2{margin-bottom:24px}.property-track{width:100%;display:grid;gap:14px;transform:none!important}.property-card{width:100%;height:520px}.property-card div{left:22px;right:22px;bottom:24px}.property-progress{display:none}.portrait-wrap:before{left:-10px;top:14px;right:14px;bottom:-14px}.portrait-caption{right:-6px;bottom:18px}.personal-copy blockquote{font-size:1.65rem}.region-map{min-height:390px}.valuation-grid{gap:46px}.valuation-copy h2{font-size:clamp(3.15rem,14vw,5rem)}.contact-direct a{display:grid;gap:3px}.multi-form{padding:25px 18px;min-height:570px}.choice-grid,.field-row{grid-template-columns:1fr}.form-actions{justify-content:stretch}.form-actions .button{flex:1;padding-inline:10px}.footer-grid{grid-template-columns:1fr;gap:42px}.footer-brand{grid-column:auto}.footer-bottom{display:grid}.footer-bottom div{flex-wrap:wrap}.contact-hero{padding:130px 0 75px}.contact-page{padding:70px 0 90px}.contact-card{padding:24px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.marquee div{animation:none}.hero-sequence{height:100svh}.hero-canvas{display:none}.hero-stage:not([data-stage="0"]){display:none}.hero-stage[data-stage="0"]{opacity:1;visibility:visible;transform:translateY(-50%)}.hero-scroll-cue,.hero-frame-status{display:none}.perception-sticky{position:relative}.perception-steps{display:none}.property-story{height:auto;padding:90px 0}.property-sticky{position:relative;height:auto;display:block}.property-track{transform:none!important;overflow-x:auto;max-width:100%;padding-bottom:16px}.property-progress{display:none}*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}


/* ===== V2.2 refinement pass ===== */
.brand{gap:13px}.brand-logo{display:block;width:31px;height:43px;object-fit:contain;flex:0 0 auto}.site-header.is-scrolled .brand-logo{width:29px;height:40px}.brand-name{letter-spacing:.115em}
.manifesto{padding-bottom:clamp(90px,10vw,150px)}
.pillars{border-top:1px solid rgba(199,162,93,.2)}
.pillar-image img{object-position:center}.pillar-card:first-child .pillar-image img{object-position:center 46%}.pillar-card:last-child .pillar-image img{object-position:center 52%}
.perception-copy>p:last-child{max-width:520px}.perception-step p{max-width:470px}.visual-counter i:after{transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.property-sticky{grid-template-columns:minmax(300px,25vw) minmax(0,1fr);gap:28px;padding-inline:clamp(24px,3vw,54px)}
.property-intro{position:relative;z-index:3;align-self:center;padding-right:8px}.property-intro h2{font-size:clamp(2.9rem,4.8vw,5.5rem);max-width:7.8ch;margin-bottom:24px}.property-intro-copy{max-width:30ch;color:rgba(13,33,68,.62);line-height:1.65;margin:0 0 28px}.property-track{position:relative;z-index:1;gap:18px}.property-card{width:min(49vw,650px)}
.hero-fallback{will-change:transform;transform:scale(calc(1 + var(--hero-progress,0)*.035)) translateY(calc(var(--hero-progress,0)*-1.2%));transform-origin:center center}
@media(max-width:1050px){.brand-logo{width:29px;height:40px}.property-intro-copy{display:none}.property-sticky{padding-inline:24px}}
@media(max-width:720px){
  .brand{gap:9px}.brand-logo{width:25px;height:35px}.site-header.is-scrolled .brand-logo{width:24px;height:33px}
  .hero-sequence{height:330vh}.hero-canvas{display:none!important}.hero-fallback{opacity:1!important;object-position:61% center;transform:scale(calc(1.02 + var(--hero-progress,0)*.055)) translateY(calc(var(--hero-progress,0)*-1.5%))}
  .hero-stage{transition:opacity .32s ease,transform .42s cubic-bezier(.2,.8,.2,1)}
  .manifesto{padding-bottom:86px}
  .perception-step h3{font-size:clamp(2.45rem,11vw,3.7rem)}.perception-step p{line-height:1.72}
  .property-intro h2{font-size:clamp(2.8rem,12vw,4.4rem);max-width:9ch}.property-card{height:500px}
}

.property-rail{min-width:0;overflow:hidden;width:100%;position:relative;z-index:1}.property-track{z-index:auto}.property-intro{background:var(--paper-2)}
@media(max-width:720px){.property-rail{overflow:visible}.property-intro{background:transparent}}


/* === v24.css === */
/* Immobilien Brömmel V2.4 – cohesive motion and layout system */
:root{
  --v24-ease:cubic-bezier(.2,.78,.2,1);
  --v24-header:74px;
}
html{scroll-padding-top:88px}
body.v24{overflow-x:hidden}

/* ---------- One header across the complete site ---------- */
.site-header.is-solid{background:rgba(13,33,68,.985);backdrop-filter:blur(16px);box-shadow:0 10px 36px rgba(4,14,31,.12)}
.site-header{overflow:visible}
.brand-logo{display:block;width:30px;height:42px;max-width:30px;object-fit:contain;flex:0 0 auto;transition:width .25s,height .25s}
.brand-name{font-weight:760;color:#fff;letter-spacing:.145em}
.brand-name b{color:inherit;margin:0;font-weight:inherit}
.desktop-nav{height:100%}
.desktop-nav>a,.nav-group>a{display:flex;align-items:center;height:100%;position:relative;color:rgba(255,255,255,.78)}
.nav-group{position:relative;height:100%;display:flex;align-items:center}
.nav-group>a{gap:6px}
.nav-dropdown{position:absolute;top:calc(100% - 1px);left:50%;width:286px;padding:10px;background:#0b1e3d;border:1px solid rgba(255,255,255,.13);box-shadow:0 28px 75px rgba(2,12,28,.42);opacity:0;visibility:hidden;transform:translate(-50%,-8px);transition:opacity .22s,transform .22s,visibility .22s}
.nav-group:hover .nav-dropdown,.nav-group:focus-within .nav-dropdown{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nav-dropdown a{display:block;padding:14px 15px;border-bottom:1px solid rgba(255,255,255,.09);font-size:.66rem;letter-spacing:.115em;color:rgba(255,255,255,.72);transition:background .2s,color .2s}
.nav-dropdown a:last-child{border-bottom:0}.nav-dropdown a:hover{background:rgba(255,255,255,.055);color:var(--gold)}
.mobile-menu .mobile-sub{font-family:var(--sans);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.58);padding:13px 4px 13px 23px}

/* ---------- Consistent editorial hierarchy ---------- */
.display-xl{font-size:clamp(3rem,6vw,6.3rem)!important}
.display-lg{font-size:clamp(2.75rem,4.65vw,4.9rem)!important}
.section-head{align-items:start}
.section-copy{padding-top:clamp(12px,2vw,34px)}
.pillars .display-lg{display:flex;flex-direction:column;align-items:flex-start;line-height:.94;gap:.04em;max-width:10ch}
.pillars .display-lg span{display:block}
.pillar-card:first-child .pillar-image img{object-position:68% center!important}
.pillar-card:nth-child(2) .pillar-image img{object-position:center 48%}
.pillar-card:nth-child(3) .pillar-image img{object-position:center 48%}

/* ---------- Rich reveal motion used on all pages ---------- */
.v24-reveal{opacity:0;transform:translate3d(0,34px,0);filter:blur(3px);transition:opacity .82s var(--v24-ease) var(--reveal-delay,0ms),transform .9s var(--v24-ease) var(--reveal-delay,0ms),filter .75s ease var(--reveal-delay,0ms)}
.v24-reveal.v24-in,.v24-reveal.is-visible{opacity:1;transform:none;filter:none}
[data-fact].v24-reveal{transform:translate3d(0,24px,0) scale(.97)}
[data-step].v24-reveal{transform:translate3d(46px,24px,0);opacity:0}
[data-step].v24-in{transform:none;opacity:1}
[data-project].v24-reveal{transform:translate3d(0,50px,0) scale(.985)}
[data-cta].v24-reveal{transform:translate3d(0,24px,0)}

/* ---------- Word-by-word scroll reading ---------- */
.scroll-word-copy [data-word]{--word-light:0;color:rgb(13,33,68);opacity:calc(.14 + var(--word-light)*.86);transition:opacity .08s linear}
.scroll-word-copy{position:relative}

/* ---------- Hero: real frame animation on desktop and mobile ---------- */
.hero-canvas{display:block!important;opacity:0;will-change:contents}
.hero-canvas.is-ready{opacity:1}
.hero-fallback{transition:opacity .42s ease;object-position:center}
.hero-sequence:not(.hero-loaded):after{content:"";position:absolute;z-index:6;left:clamp(18px,3vw,48px);bottom:58px;width:62px;height:1px;background:linear-gradient(90deg,var(--gold) 50%,rgba(255,255,255,.22) 50%);background-size:200% 100%;animation:v24load 1.15s linear infinite}
@keyframes v24load{to{background-position:-200% 0}}
.hero-loaded:after{display:none}

/* ---------- Marketing story and bespoke placement composition ---------- */
.perception-copy h2{font-size:clamp(3rem,4.7vw,5.3rem)!important}
.perception-step h3{font-size:clamp(2.45rem,3.4vw,3.85rem)!important}
.visual-frame.is-placement>.visual-image,.visual-frame.is-placement>.visual-overlay{opacity:0;visibility:hidden}
.placement-art{position:absolute;z-index:4;inset:0;display:none;background:radial-gradient(circle at 35% 30%,#1b3b68 0,#0a1d3c 38%,#06152e 100%);font-family:var(--sans);overflow:hidden}
.visual-frame.is-placement .placement-art{display:block;animation:v24ArtIn .7s var(--v24-ease) both}
@keyframes v24ArtIn{from{opacity:0;transform:scale(1.025)}}
.placement-laptop{position:absolute;left:4%;top:9%;width:67%;height:67%;border:1px solid rgba(255,255,255,.22);background:#0b2144;box-shadow:0 24px 70px rgba(0,0,0,.38);overflow:hidden}
.placement-ui-top{height:13%;display:flex;align-items:center;gap:7%;padding:0 4%;border-bottom:1px solid rgba(255,255,255,.1);font-size:clamp(5px,.58vw,9px);text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.66)}
.placement-ui-top .mini-logo{font-family:var(--display);font-size:clamp(12px,1.5vw,23px);color:var(--gold);margin-right:2%}.placement-ui-top b{margin-left:auto;background:var(--gold);color:var(--navy);padding:5px 10px;font-size:inherit}
.placement-listing{display:grid;grid-template-columns:63% 37%;height:87%}.placement-listing>img{width:100%;height:100%;object-fit:cover}.placement-listing>div{padding:12% 10%;display:flex;flex-direction:column;justify-content:center}.placement-listing small{color:var(--gold);font-size:clamp(5px,.6vw,9px);text-transform:uppercase;letter-spacing:.12em}.placement-listing strong{font-family:var(--display);font-weight:400;font-size:clamp(15px,2vw,34px);line-height:1.03;margin:12px 0;color:#fff}.placement-listing span{font-size:clamp(5px,.62vw,10px);color:rgba(255,255,255,.54)}
.placement-phone{position:absolute;z-index:3;left:56%;top:30%;width:18%;height:56%;border:5px solid #07152d;border-radius:18px;background:#07152d;box-shadow:0 22px 60px rgba(0,0,0,.48);overflow:hidden}.placement-phone .phone-top{height:13%;display:flex;align-items:center;gap:6px;padding:0 8%;font-size:clamp(4px,.48vw,8px);color:#fff}.placement-phone .phone-top span{font-family:var(--display);color:var(--gold);font-size:1.45em}.placement-phone img{width:100%;height:61%;object-fit:cover}.placement-phone p{margin:0;padding:8% 9%;font-family:var(--display);font-size:clamp(7px,.92vw,15px);line-height:1.15;color:#fff}.placement-phone p small{font-family:var(--sans);font-size:.55em;color:rgba(255,255,255,.58)}
.placement-reach{position:absolute;right:3.5%;top:12%;width:23%;padding:4%;border:1px solid rgba(255,255,255,.15);background:rgba(7,25,54,.68);display:flex;flex-direction:column;gap:8px}.placement-reach small{font-size:clamp(5px,.55vw,9px);text-transform:uppercase;letter-spacing:.13em;color:var(--gold)}.placement-reach b{font-family:var(--display);font-weight:400;font-size:clamp(10px,1.35vw,22px);line-height:1.12;margin-bottom:7px}.placement-reach span{font-size:clamp(5px,.58vw,9px);color:rgba(255,255,255,.62);border-top:1px solid rgba(255,255,255,.09);padding-top:7px}
.placement-channels{position:absolute;left:4%;bottom:6%;right:4%;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.1)}.placement-channels span{background:#0b2144;padding:2.2% 2%;font-size:clamp(5px,.62vw,10px);text-align:center;color:rgba(255,255,255,.66);text-transform:uppercase;letter-spacing:.08em}

/* ---------- Mobile keeps the same cinematic experience ---------- */
@media(max-width:720px){
  .hero-sequence{height:500vh!important}
  .hero-canvas{display:block!important;z-index:1!important}
  .hero-fallback{display:block!important;opacity:1;object-position:center!important;transform:none!important}
  .hero-shade{background:linear-gradient(0deg,rgba(5,18,39,.96) 0%,rgba(5,18,39,.37) 51%,rgba(5,18,39,.15) 100%)!important}
  .hero-stage{left:18px;right:18px;width:auto;bottom:96px;top:auto}
  .hero-stage h1{font-size:clamp(2.85rem,12.4vw,4.35rem)!important}
  .hero-stage-center{left:18px;right:18px;width:auto;top:50%;bottom:auto;text-align:center;transform:translateY(-42%)}
  .hero-stage-center.is-active{transform:translateY(-50%)}
  .hero-stage-center h2,.hero-stage-final h2{font-size:clamp(3rem,13.4vw,4.9rem)!important}
  .hero-stage-final{left:18px;right:18px;text-align:left}
  .hero-actions{display:grid}.hero-actions .button{width:100%}

  .pillars .display-lg{font-size:clamp(2.75rem,12vw,4.1rem)!important;max-width:none}
  .pillar-card:first-child .pillar-image img{object-position:70% center!important}

  /* Sticky story remains alive on phones instead of becoming a static stack. */
  .perception-story{padding-bottom:8vh}
  .perception-sticky{position:sticky!important;top:0!important;height:100svh!important;display:block!important;padding:84px 18px 24px!important;overflow:hidden!important;z-index:2}
  .perception-copy{display:block!important;position:absolute;z-index:7;left:18px;right:18px;top:88px;margin:0!important;opacity:1;transform:none;transition:opacity .45s,transform .45s}
  .perception-copy h2{font-size:clamp(2.55rem,10.8vw,3.75rem)!important;max-width:10ch}
  .perception-copy>p:last-child{font-size:.88rem;line-height:1.55;margin-top:15px;max-width:34ch}
  .perception-story.has-steps .perception-copy{opacity:0!important;transform:translateY(-18px)!important}
  .perception-visual{position:absolute;left:18px;right:18px;top:245px;bottom:43px;width:auto!important;margin:0!important;display:flex;flex-direction:column;justify-content:center}
  .visual-browser{height:min(58vh,520px)}
  .visual-frame{height:calc(100% - 42px);aspect-ratio:auto!important}
  .visual-counter{margin-top:10px}.visual-overlay{left:20px;bottom:20px}.visual-overlay h3{font-size:clamp(2.15rem,10vw,3.5rem)!important}
  .perception-steps{position:relative;z-index:5;padding:0 18px 12vh!important;margin-top:0!important}
  .perception-step{min-height:82vh!important;max-width:none!important;margin:0!important;display:grid;grid-template-columns:34px 1fr;align-content:end;padding-bottom:11vh;opacity:.24;transform:translateX(12px);transition:opacity .42s,transform .42s}
  .perception-step.is-current{opacity:1;transform:none}
  .perception-step>div{grid-column:2;background:linear-gradient(135deg,rgba(7,26,54,.92),rgba(7,26,54,.72));border:1px solid rgba(255,255,255,.1);padding:18px 17px;backdrop-filter:blur(12px);box-shadow:0 18px 50px rgba(0,0,0,.24)}
  .perception-step h3{font-size:clamp(2.2rem,10vw,3.25rem)!important}.perception-step p{font-size:.91rem;line-height:1.62;margin-bottom:0}
  .mobile-step-image{display:none!important}
  .placement-phone{border-width:3px;border-radius:10px}

  /* Mobile property gallery is again scroll-driven, not a static list. */
  .property-story{height:390vh!important;padding:0!important}
  .property-sticky{position:sticky!important;top:0!important;height:100svh!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;align-content:stretch!important;padding:82px 18px 31px!important;overflow:hidden!important}
  .property-intro{display:block!important;margin:0 0 22px!important;background:transparent!important}
  .property-intro h2{font-size:clamp(2.4rem,10vw,3.35rem)!important;max-width:10ch!important;margin:0 0 12px!important}.property-intro-copy{display:none!important}.property-intro .text-link{display:none!important}
  .property-rail{overflow:hidden!important;min-height:0}.property-track{display:flex!important;width:max-content!important;gap:12px!important;transform:translate3d(0,0,0);height:100%}
  .property-card{width:80vw!important;height:100%!important;max-height:none!important}.property-card h3{font-size:clamp(2rem,9vw,3rem)}
  .property-progress{display:block!important;left:18px!important;right:18px!important;bottom:18px!important}
}

/* ---------- Homepage spacing and slider polish ---------- */
.before-after .before-after-copy .lead{margin-bottom:0}
.property-rail{min-width:0;overflow:hidden;width:100%}
.property-track{will-change:transform}
.property-intro{background:var(--paper-2);position:relative;z-index:3}

/* ---------- Service pages: restore depth and motion ---------- */
.v23-service-page .v23-service-hero>img{transform:scale(1.055);will-change:transform}
.v23-service-page .v23-service-hero h1{font-size:clamp(3.1rem,5.2vw,5.85rem)!important}
.v23-service-page .scroll-word-copy{font-size:clamp(2.1rem,4vw,4.7rem)!important;line-height:1.2!important}
.v23-service-page img.will-change-transform{will-change:transform;transition:filter .4s ease}
.v23-service-page [data-step]{will-change:transform,opacity}
.v24-step-list>div.absolute:nth-child(2){transform:scaleY(var(--step-progress,0));transform-origin:top;will-change:transform}
.v24-step-list [data-step]:hover{transform:translateX(-4px)!important;box-shadow:0 25px 65px rgba(13,33,68,.15)}
.v23-service-page section>div[class*="max-w-7xl"]{position:relative}

/* ---------- Reference galleries ---------- */
[data-project] [role="region"]{touch-action:pan-y;isolation:isolate}
[data-project] [role="region"]>img{transition:opacity .5s var(--v24-ease),transform 1.1s var(--v24-ease)!important}
[data-project] [role="region"]:hover>img[aria-hidden="false"]{transform:scale(1.025)}
[data-project] [role="region"] button{touch-action:manipulation}
[data-project] [role="region"] button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ---------- Unified contact and footer ---------- */
.contact-hero{padding-top:164px!important}
.contact-hero h1{font-size:clamp(3.7rem,6.25vw,6.8rem)!important;max-width:9ch}
.site-footer{position:relative;z-index:5}
.footer-logo{display:flex;align-items:center;gap:14px}.footer-logo img{width:34px;height:47px;object-fit:contain}.footer-logo span{font-family:var(--display);font-size:clamp(2rem,3vw,3.5rem)}

/* ---------- Small screens ---------- */
@media(max-width:1050px){
  .desktop-nav,.header-cta{display:none}.site-header{grid-template-columns:1fr auto}.menu-toggle{display:flex}
  .brand-logo{width:28px;height:39px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
}
@media(max-width:720px){
  .site-header{height:68px;padding:0 18px}.brand{gap:9px}.brand-logo{width:24px;height:34px;max-width:24px}.brand-name{font-size:.67rem;letter-spacing:.1em}
  .display-xl{font-size:clamp(2.7rem,11.6vw,4.25rem)!important}.display-lg{font-size:clamp(2.55rem,10.8vw,3.95rem)!important}
  .section-pad{padding:86px 0}
  .v23-service-page .v23-service-hero h1{font-size:clamp(2.75rem,11.7vw,4.2rem)!important}
  .v23-service-page .scroll-word-copy{font-size:clamp(1.9rem,8.9vw,3rem)!important;line-height:1.25!important}
  [data-step].v24-reveal{transform:translate3d(26px,22px,0)}
  .footer-grid{grid-template-columns:1fr;gap:42px}.footer-brand{grid-column:auto}.footer-bottom{display:grid}.footer-bottom div{flex-wrap:wrap}
}

@media(prefers-reduced-motion:reduce){
  .v24-reveal{opacity:1!important;transform:none!important;filter:none!important}.scroll-word-copy [data-word]{--word-light:1!important}.hero-sequence{height:100svh!important}.placement-art{animation:none!important}
}

/* ===== V2.4.1 final coherence pass ===== */
/* The entrance, not the tree, is the visual anchor of "Schaffen". */
.pillar-card:first-child .pillar-image img{object-position:50% center!important}

/* Give the continuous property rail a deliberate editorial edge. */
.property-rail:before{content:"";position:absolute;z-index:4;left:0;top:0;bottom:0;width:34px;pointer-events:none;background:linear-gradient(90deg,var(--paper-2),rgba(242,237,226,0))}

/* Placement must read as a polished campaign, not as a dim technical mock-up. */
.placement-art{background:radial-gradient(circle at 34% 26%,#28507f 0,#102b53 34%,#071a36 72%,#051329 100%)}
.placement-laptop{background:#102c56;border-color:rgba(255,255,255,.32)}
.placement-listing>img,.placement-phone img{filter:saturate(.96) brightness(1.06)}
.placement-reach{background:rgba(10,35,70,.9);border-color:rgba(199,162,93,.28)}
.placement-channels span{background:#102c56;color:rgba(255,255,255,.78)}

@media(max-width:720px){
  /* Full cinematic story on phones: one visual, one active message, no duplicates. */
  .perception-story{padding-bottom:0!important}
  .perception-sticky{top:0!important;height:100svh!important;padding:0!important;background:#071a36}
  .perception-visual{left:0!important;right:0!important;top:68px!important;bottom:0!important;height:auto!important;display:block!important}
  .visual-browser{height:100%!important;border:0!important;box-shadow:none!important;background:#071a36}
  .browser-bar,.visual-counter,.visual-overlay{display:none!important}
  .visual-frame{height:100%!important;aspect-ratio:auto!important}
  .visual-frame:after{background:linear-gradient(0deg,rgba(5,18,39,.96) 0%,rgba(5,18,39,.66) 38%,rgba(5,18,39,.2) 70%,rgba(5,18,39,.34) 100%)!important}
  .visual-image{object-position:center center}
  .perception-copy{top:112px!important;left:20px!important;right:20px!important;max-width:350px;z-index:8!important}
  .perception-copy h2{font-size:clamp(2.7rem,11.7vw,4rem)!important;line-height:.96!important;max-width:9.2ch!important;text-shadow:0 8px 35px rgba(0,0,0,.38)}
  .perception-copy>p:last-child{color:rgba(255,255,255,.78)!important;max-width:31ch!important}
  .perception-story.has-steps .perception-copy{opacity:0!important;visibility:hidden!important;transform:translateY(-20px)!important}
  .perception-steps{padding:0 18px!important;z-index:7!important}
  .perception-step{min-height:100svh!important;height:100svh;grid-template-columns:30px minmax(0,1fr)!important;align-content:end!important;padding:0 0 82px!important;opacity:0!important;transform:translate3d(18px,24px,0)!important;pointer-events:none;transition:opacity .42s ease,transform .58s var(--v24-ease)!important}
  .perception-step.is-current{opacity:1!important;transform:none!important;pointer-events:auto}
  .perception-step>span{align-self:start;padding-top:20px!important;font-size:.66rem!important}
  .perception-step>div{grid-column:2!important;padding:20px 19px 21px!important;background:linear-gradient(135deg,rgba(7,26,54,.94),rgba(7,26,54,.76))!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 22px 65px rgba(0,0,0,.32)!important;backdrop-filter:blur(15px)}
  .perception-step h3{font-size:clamp(2.35rem,10.7vw,3.35rem)!important;line-height:.96!important}
  .perception-step p{font-size:.9rem!important;line-height:1.58!important;color:rgba(255,255,255,.76)!important;margin-top:13px!important}
  .mobile-step-image{display:none!important}

  /* Compact but legible campaign composition in the placement chapter. */
  .placement-laptop{left:4%;top:8%;width:78%;height:58%}
  .placement-phone{left:62%;top:31%;width:27%;height:48%}
  .placement-reach{right:4%;top:9%;width:28%;padding:4% 3%;display:none}
  .placement-channels{left:4%;right:4%;bottom:8%;grid-template-columns:repeat(2,1fr)}
  .placement-channels span{padding:8px 3px;font-size:7px}

  /* The mobile editorial rail needs one column; the old desktop grid caused a 30px image slit. */
  .property-sticky{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr)!important}
  .property-rail{width:100%!important;min-width:0!important;overflow:hidden!important}
  .property-rail:before{width:16px}
  .property-track{max-width:none!important}
  .property-card{flex:0 0 80vw!important}
}
@media(max-width:720px){
  .property-sticky{align-items:stretch!important;align-content:stretch!important;gap:18px!important}
  .property-intro{align-self:start!important;margin:0!important}
  .property-rail{align-self:stretch!important;height:auto!important}
  .property-track,.property-card{height:100%!important}
}

/* Mobile marketing copy is pinned to the visual and updated by the scroll chapter. */
.mobile-story-panel{display:none}
@media(max-width:720px){
  .perception-step{visibility:hidden!important}
  .mobile-story-panel{position:absolute;z-index:9;left:18px;right:18px;bottom:52px;display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start;opacity:0;visibility:hidden;transform:translate3d(0,22px,0);transition:opacity .38s ease,transform .55s var(--v24-ease),visibility .38s;background:linear-gradient(135deg,rgba(7,26,54,.96),rgba(7,26,54,.8));border:1px solid rgba(255,255,255,.17);padding:19px 18px 20px;box-shadow:0 24px 70px rgba(0,0,0,.34);backdrop-filter:blur(16px)}
  .mobile-story-panel.is-visible{opacity:1;visibility:visible;transform:none}
  .mobile-story-number{color:var(--gold);font-size:.66rem;font-weight:850;letter-spacing:.17em;padding-top:8px}
  .mobile-story-panel p{margin:0}.mobile-story-kicker{color:var(--gold)!important;font-size:.62rem!important;font-weight:850;letter-spacing:.17em;text-transform:uppercase;margin-bottom:7px!important}
  .mobile-story-panel h3{font-family:var(--display);font-size:clamp(2.25rem,10.5vw,3.3rem);font-weight:400;line-height:.96;margin:0;color:#fff}
  .mobile-story-text{font-size:.89rem!important;line-height:1.58!important;color:rgba(255,255,255,.76)!important;margin-top:13px!important}
}


/* ===== V2.4.5 interaction and crop fixes ===== */
[data-property-filter]{cursor:pointer}
[data-property-filter].is-active{background:var(--navy)!important;border-color:var(--navy)!important;color:#fff!important}
[data-property-filter]:not(.is-active):not([disabled]){background:#fff!important;border-color:rgba(13,33,68,.14)!important;color:var(--navy)!important}
[data-property-filter][disabled]{cursor:not-allowed;opacity:.4}
.filterable-property-card[hidden]{display:none!important}

/* Stronger entrance focus for the first pillar card. */
.pillar-card:first-child .pillar-image img{object-position:50% 72%!important}
@media(max-width:720px){
  .pillar-card:first-child .pillar-image img{object-position:50% 76%!important}
}


/* ===== V2.4.6 final service-motion, contact and crop refinement ===== */

/* The reading line activates near the middle of the viewport; words remain quiet before that point. */
.scroll-word-copy [data-word]{transition:opacity .08s linear}

/* More deliberate process-card choreography across all three service pages. */
.v24-step-list [data-step].v24-reveal{
  opacity:0;
  transform:translate3d(68px,48px,0) scale(.965) rotate(.18deg);
  filter:blur(5px);
  transition:opacity 1s var(--v24-ease) var(--reveal-delay,0ms),transform 1.08s var(--v24-ease) var(--reveal-delay,0ms),filter .82s ease var(--reveal-delay,0ms),box-shadow .5s var(--v24-ease),border-color .5s ease;
}
.v24-step-list [data-step].v24-in{
  opacity:1;
  transform:none;
  filter:none;
}
.v24-step-list [data-step].v24-in.is-step-active{
  transform:translate3d(-7px,0,0) scale(1.012)!important;
  border-color:rgba(199,162,93,.34)!important;
  box-shadow:0 28px 72px rgba(13,33,68,.16)!important;
}
.v24-step-list [data-step].is-step-active>span{
  transform:scale(1.13);
  box-shadow:0 0 0 7px rgba(199,162,93,.15);
}
.v24-step-list [data-step]>span{
  transition:transform .42s var(--v24-ease),box-shadow .42s ease;
}

/* The family history is stated accurately without implying that today's company was founded in 1945. */
.v23-service-page [data-fact] p:last-child{max-width:24ch}

/* Larger and more confident portrait presentation on the contact page. */
.v23-contact-page .contact-page-grid{
  grid-template-columns:minmax(370px,.9fr) minmax(0,1.1fr)!important;
  gap:clamp(42px,5.2vw,76px)!important;
}
.v23-contact-page .contact-card{padding:27px!important}
.v23-contact-page .contact-card img{
  width:100%!important;
  aspect-ratio:1.15/1!important;
  object-fit:cover!important;
  object-position:center 22%!important;
  margin-bottom:30px!important;
}

/* Entrance and path become the focal point of the Schaffen card. */
.pillar-card:first-child .pillar-image img{
  object-position:58% 92%!important;
  transform:scale(1.08);
}
.pillar-card:first-child:hover .pillar-image img{transform:scale(1.13)}

@media(max-width:1050px){
  .v23-contact-page .contact-page-grid{grid-template-columns:1fr!important}
  .v23-contact-page .contact-card{max-width:650px;width:100%;margin-inline:auto}
}
@media(max-width:720px){
  .v24-step-list [data-step].v24-reveal{
    transform:translate3d(28px,34px,0) scale(.975);
    filter:blur(3px);
  }
  .v24-step-list [data-step].v24-in.is-step-active{
    transform:translate3d(-3px,0,0) scale(1.008)!important;
  }
  .v23-contact-page .contact-card{padding:20px!important}
  .v23-contact-page .contact-card img{
    aspect-ratio:4/3!important;
    object-position:center 21%!important;
    margin-bottom:25px!important;
  }
  .pillar-card:first-child .pillar-image img{
    object-position:56% 94%!important;
    transform:scale(1.08);
  }
  .pillar-card:first-child:hover .pillar-image img{transform:scale(1.1)}
}

/* ===== V2.5 cinematic mobile narrative ===== */
@media(max-width:720px){
  /* Mobile hero: text yields to the architecture during the door close-up. */
  .hero-stage-intro .eyebrow{display:none!important}
  .hero-stage-intro .hero-copy{max-width:22rem}
  .hero-stage-intro .hero-actions{gap:10px}
  .hero-stage-intro .hero-secondary-link{display:block;text-align:center;width:100%}
  .hero-stage.is-active{
    opacity:var(--mobile-stage-opacity,1)!important;
    filter:blur(var(--mobile-stage-blur,0px));
    visibility:visible!important;
    transform:translate3d(0,calc(-1 * var(--mobile-stage-shift,0px)),0)!important;
    transition:none!important;
  }
  .hero-stage-center.is-active{
    transform:translate3d(0,calc(-50% - var(--mobile-stage-shift,0px)),0)!important;
  }
  .hero-stage-1{top:17%!important;bottom:auto!important;text-align:left!important;max-width:310px}
  .hero-stage-1.is-active,.hero-stage-3.is-active{transform:translate3d(0,calc(-1 * var(--mobile-stage-shift,0px)),0)!important}
  .hero-stage-1 h2{font-size:clamp(2.65rem,12vw,4.25rem)!important;text-shadow:0 10px 38px rgba(0,0,0,.32)}
  .hero-stage-2{top:auto!important;bottom:112px!important;text-align:left!important;max-width:330px}
  .hero-stage-2.is-active{transform:translate3d(0,calc(-1 * var(--mobile-stage-shift,0px)),0)!important}
  .hero-stage-2 h2{font-size:clamp(2.65rem,12vw,4.25rem)!important}
  .hero-stage-3{top:17%!important;bottom:auto!important;text-align:right!important;margin-left:auto;max-width:330px}
  .hero-stage-3 h2{font-size:clamp(2.65rem,12vw,4.25rem)!important}
  .hero-stage-4{bottom:108px!important}
  .hero-door-focus .hero-scroll-cue,.hero-door-focus .hero-frame-status{opacity:.22;transition:opacity .25s ease}
  .hero-door-focus .hero-shade{background:linear-gradient(0deg,rgba(5,18,39,.62) 0%,rgba(5,18,39,.12) 55%,rgba(5,18,39,.06) 100%)!important}

  /* Clear mobile guidance for the four-step marketing story. */
  .mobile-story-cue{
    position:absolute;z-index:10;left:18px;right:18px;bottom:38px;
    display:grid;grid-template-columns:1fr auto;gap:5px 16px;align-items:end;
    color:#fff;padding:16px 17px 15px;
    background:linear-gradient(135deg,rgba(7,26,54,.88),rgba(7,26,54,.65));
    border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(14px);
    box-shadow:0 18px 55px rgba(0,0,0,.28);
    opacity:0;visibility:hidden;transform:translateY(18px);
    transition:opacity .35s ease,transform .5s var(--v24-ease),visibility .35s;
  }
  .mobile-story-cue.is-visible{opacity:1;visibility:visible;transform:none}
  .mobile-story-cue span{grid-column:1/-1;color:var(--gold);font-size:.61rem;font-weight:850;letter-spacing:.17em;text-transform:uppercase}
  .mobile-story-cue strong{font-family:var(--display);font-size:1.6rem;font-weight:400;line-height:1.05}
  .mobile-story-cue small{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.58);align-self:center}
  .mobile-story-cue i{grid-column:1/-1;height:1px;background:rgba(255,255,255,.16);position:relative;overflow:hidden;margin-top:8px}
  .mobile-story-cue i:after{content:"";position:absolute;inset:0;background:var(--gold);transform:translateX(-100%);animation:v25StoryCue 1.8s ease-in-out infinite}
  @keyframes v25StoryCue{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}
  .mobile-story-footer{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin-top:17px}
  .mobile-story-progress{height:1px;background:rgba(255,255,255,.18);overflow:hidden}
  .mobile-story-progress i{display:block;width:100%;height:100%;background:var(--gold);transform:scaleX(.25);transform-origin:left;transition:transform .55s var(--v24-ease)}
  .mobile-story-continue{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.58);white-space:nowrap}

  /* Mobile property rail: cards visibly enter from the right and the next card peeks in. */
  .is-mobile-property-rail .property-intro:after{
    content:"Weiter scrollen  →";display:block;margin-top:13px;
    color:rgba(13,33,68,.56);font-size:.6rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  }
  .is-mobile-property-rail .property-rail{overflow:hidden!important}
  .is-mobile-property-rail .property-track{padding-right:18vw;will-change:transform}
  .is-mobile-property-rail .property-card{
    opacity:var(--card-opacity,.72);
    transform:translate3d(var(--card-entry-x,24px),0,0) scale(var(--card-scale,.985));
    transform-origin:center center;
    transition:opacity .18s linear,transform .18s linear,box-shadow .35s ease;
  }
  .is-mobile-property-rail .property-card.is-property-active{box-shadow:0 24px 64px rgba(13,33,68,.24)}
}


/* ===== V2.6 mobile polish: sharp reveals, fullscreen menu, working property rail ===== */
:root{--v26-ease:cubic-bezier(.22,.78,.18,1)}

/* Safari must never leave reveal cards in a composited blur layer. */
@media(max-width:720px){
  .v24-reveal,
  .v24-reveal.v24-in,
  .v24-reveal.is-visible,
  .v24-step-list [data-step],
  .v24-step-list [data-step].v24-reveal,
  .v24-step-list [data-step].v24-in{
    filter:none!important;
    -webkit-filter:none!important;
  }
  .v24-step-list [data-step].v24-reveal{
    opacity:0;
    transform:translate3d(24px,30px,0) scale(.98)!important;
    transition:opacity .68s var(--v26-ease) var(--reveal-delay,0ms),transform .82s var(--v26-ease) var(--reveal-delay,0ms),box-shadow .42s ease,border-color .42s ease!important;
  }
  .v24-step-list [data-step].v24-in{
    opacity:1;
    transform:none!important;
  }
}

/* True fullscreen navigation, independent from the header's backdrop-filter context. */
html.menu-open,body.menu-open{overflow:hidden!important;overscroll-behavior:none}
.site-header{z-index:10001!important}
.mobile-menu{
  position:fixed!important;
  z-index:10000!important;
  inset:0!important;
  width:100%!important;
  height:100dvh!important;
  min-height:100svh!important;
  padding:112px 24px max(34px,env(safe-area-inset-bottom))!important;
  background:#0d2144!important;
  background-image:radial-gradient(circle at 80% 10%,rgba(199,162,93,.11),transparent 34%)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  opacity:1;
  transform:none;
}
.mobile-menu[hidden]{display:none!important}
.mobile-menu nav{display:grid!important;grid-template-columns:1fr;align-content:start;max-width:540px;margin:0 auto}
.mobile-menu a{
  display:block!important;
  padding:16px 4px!important;
  border-bottom:1px solid rgba(255,255,255,.13)!important;
  color:#fff!important;
  font-family:var(--display)!important;
  font-size:clamp(1.75rem,8vw,2.65rem)!important;
  line-height:1.05!important;
  letter-spacing:-.02em!important;
}
.mobile-menu .mobile-sub{
  padding:11px 4px 11px 22px!important;
  font-family:var(--sans)!important;
  font-size:.69rem!important;
  line-height:1.4!important;
  letter-spacing:.13em!important;
  color:rgba(255,255,255,.6)!important;
}
.mobile-menu .mobile-menu-cta{
  margin-top:24px!important;
  padding:17px 18px!important;
  border:0!important;
  background:var(--gold)!important;
  color:var(--navy)!important;
  font-family:var(--sans)!important;
  font-size:.7rem!important;
  line-height:1.3!important;
  letter-spacing:.12em!important;
}
body.menu-open .site-header{background:#0d2144!important;border-bottom-color:rgba(255,255,255,.13)!important;box-shadow:none!important}

/* CSS variable with !important beats the old mobile transform:none!important rule. */
@media(max-width:720px){
  .is-mobile-property-rail .property-track{
    transform:translate3d(var(--mobile-property-x,0px),0,0)!important;
    transition:none!important;
  }
  .is-mobile-property-rail .property-card{
    flex:0 0 80vw!important;
    width:80vw!important;
  }
}

/* ===== Immobilien Brömmel RC1.1 – stable foundation and motion direction ===== */
:root{
  --motion-ease:cubic-bezier(.22,.78,.18,1);
  --motion-fast:.28s;
  --motion-text:.62s;
  --motion-card:.78s;
  --motion-image:.92s;
}

/* One motion language: movement and opacity, never persistent blur. */
.v24-reveal,
.v24-reveal.v24-in,
.v24-reveal.is-visible,
.v24-step-list [data-step],
.v24-step-list [data-step].v24-reveal,
.v24-step-list [data-step].v24-in{
  -webkit-filter:none!important;
  filter:none!important;
}
.v24-reveal{
  transition:opacity var(--motion-card) var(--motion-ease) var(--reveal-delay,0ms),
             transform var(--motion-card) var(--motion-ease) var(--reveal-delay,0ms)!important;
}
.button,.text-link,.site-header a{transition-duration:var(--motion-fast)!important}
.pillar-image img,.property-card img,[data-project] [role="region"]>img{transition-duration:var(--motion-image)!important;transition-timing-function:var(--motion-ease)!important}

/* Retina-friendly canvas without the Safari soft composite layer. */
.hero-canvas{
  image-rendering:auto;
  transform:translateZ(0);
  -webkit-transform:translateZ(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  contain:paint;
}

@media(max-width:720px){
  /* Mobile marketing story: first see the property, then read the explanation. */
  .perception-story{padding-bottom:0!important;background:#071a36!important}
  .perception-sticky{
    position:sticky!important;
    top:0!important;
    height:100svh!important;
    min-height:650px!important;
    display:block!important;
    padding:0!important;
    overflow:hidden!important;
    background:#071a36!important;
  }
  .perception-visual{
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:68px!important;
    bottom:auto!important;
    height:64svh!important;
    min-height:420px!important;
    max-height:590px!important;
    width:auto!important;
    margin:0!important;
    display:block!important;
  }
  .visual-browser{
    height:100%!important;
    border:0!important;
    box-shadow:none!important;
    background:#071a36!important;
  }
  .browser-bar,.visual-counter,.visual-overlay{display:none!important}
  .visual-frame{
    height:100%!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
    background:#071a36!important;
  }
  .visual-frame:after{
    background:linear-gradient(0deg,rgba(5,18,39,.58) 0%,rgba(5,18,39,.12) 27%,rgba(5,18,39,.03) 58%,rgba(5,18,39,.12) 100%)!important;
  }
  .visual-image{
    object-fit:cover!important;
    object-position:var(--mobile-visual-x,50%) var(--mobile-visual-y,50%)!important;
    transition:opacity .76s var(--motion-ease)!important;
    transform:translateZ(0);
  }
  .placement-art{inset:0!important}

  .perception-copy{
    top:96px!important;
    left:20px!important;
    right:20px!important;
    max-width:350px!important;
  }
  .perception-copy h2{font-size:clamp(2.62rem,11.2vw,3.85rem)!important}
  .perception-story.has-steps .perception-copy{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

  .mobile-story-panel{
    left:18px!important;
    right:18px!important;
    bottom:max(18px,env(safe-area-inset-bottom))!important;
    grid-template-columns:28px minmax(0,1fr)!important;
    gap:12px!important;
    max-height:38svh!important;
    min-height:270px;
    overflow:hidden!important;
    padding:19px 18px 18px!important;
    background:linear-gradient(145deg,rgba(7,26,54,.93),rgba(7,26,54,.82))!important;
    border:1px solid rgba(255,255,255,.18)!important;
    box-shadow:0 28px 76px rgba(0,0,0,.34)!important;
    -webkit-backdrop-filter:blur(10px) saturate(1.08);
    backdrop-filter:blur(10px) saturate(1.08);
    transition:opacity .42s var(--motion-ease),transform .58s var(--motion-ease),visibility .42s!important;
  }
  .mobile-story-panel.is-visible{opacity:1!important;visibility:visible!important;transform:translate3d(0,0,0)!important}
  .mobile-story-panel.is-changing{opacity:.18!important;transform:translate3d(0,24px,0) scale(.985)!important}
  .mobile-story-panel h3{font-size:clamp(2.1rem,9.8vw,3.05rem)!important}
  .mobile-story-text{font-size:.86rem!important;line-height:1.5!important;margin-top:10px!important}
  .mobile-story-footer{margin-top:13px!important}
  .mobile-story-continue{font-size:.53rem!important}
  .mobile-story-cue{
    bottom:24px!important;
    background:linear-gradient(145deg,rgba(7,26,54,.91),rgba(7,26,54,.75))!important;
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
  }

  /* A true scroll-driven horizontal editorial rail on phones. */
  .is-mobile-property-rail .property-sticky{
    position:sticky!important;
    top:0!important;
    height:100svh!important;
    min-height:650px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    align-content:stretch!important;
    gap:18px!important;
    padding:84px 18px 32px!important;
    overflow:hidden!important;
  }
  .is-mobile-property-rail .property-intro{margin:0!important;align-self:start!important}
  .is-mobile-property-rail .property-intro h2{font-size:clamp(2.45rem,10.4vw,3.45rem)!important;max-width:9ch!important}
  .is-mobile-property-rail .property-rail{width:100%!important;height:100%!important;min-height:0!important;overflow:hidden!important;align-self:stretch!important}
  .is-mobile-property-rail .property-track{
    display:flex!important;
    width:max-content!important;
    height:100%!important;
    gap:12px!important;
    padding-right:18vw!important;
    will-change:transform!important;
    backface-visibility:hidden;
  }
  .is-mobile-property-rail .property-card{
    flex:0 0 82vw!important;
    width:82vw!important;
    height:100%!important;
    min-height:390px!important;
    max-height:none!important;
  }
  .is-mobile-property-rail .property-card:first-child{margin-left:0!important}
  .is-mobile-property-rail .property-progress{display:block!important;left:18px!important;right:18px!important;bottom:17px!important}
}

@media(max-width:390px){
  .mobile-story-panel{min-height:255px!important;max-height:39svh!important;padding:16px 15px!important}
  .mobile-story-text{font-size:.82rem!important;line-height:1.45!important}
  .mobile-story-panel h3{font-size:clamp(1.95rem,9.4vw,2.75rem)!important}
}


/* ===== RC1.3 final crop correction for Schaffen card ===== */
.pillars-grid .pillar-card:first-child .pillar-image img,
.pillar-card:first-child .pillar-image img{
  object-position:58% 96% !important;
  transform:scale(1.03) !important;
}
.pillars-grid .pillar-card:first-child:hover .pillar-image img,
.pillar-card:first-child:hover .pillar-image img{
  transform:scale(1.07) !important;
}
@media (max-width: 720px){
  .pillars-grid .pillar-card:first-child .pillar-image img,
  .pillar-card:first-child .pillar-image img{
    object-position:56% 95% !important;
    transform:scale(1.02) !important;
  }
  .pillars-grid .pillar-card:first-child:hover .pillar-image img,
  .pillar-card:first-child:hover .pillar-image img{
    transform:scale(1.04) !important;
  }
}


/* ===== RC1.4 mobile perception intro polish ===== */
@media(max-width:720px){
  .perception-story{background:#071a36!important}
  .visual-frame:after{
    content:"";
    position:absolute;
    inset:0;
    background:
      radial-gradient(circle at 18% 36%, rgba(7,26,54,.38) 0%, rgba(7,26,54,0) 34%),
      linear-gradient(180deg, rgba(7,26,54,.24) 0%, rgba(7,26,54,.18) 18%, rgba(7,26,54,.52) 54%, rgba(7,26,54,.88) 100%),
      linear-gradient(90deg, rgba(7,26,54,.74) 0%, rgba(7,26,54,.44) 34%, rgba(7,26,54,.10) 68%);
    z-index:2;
    pointer-events:none;
  }
  .visual-image{
    filter:saturate(.92) contrast(1.02) brightness(.92);
    transform:scale(1.015);
  }
  .perception-copy{
    top:102px!important;
    left:20px!important;
    right:20px!important;
    max-width:350px!important;
    padding:18px 16px 18px 2px!important;
    z-index:8!important;
    position:absolute!important;
    isolation:isolate;
  }
  .perception-copy::before{
    content:"";
    position:absolute;
    inset:-14px -14px -12px -8px;
    z-index:-1;
    border-radius:28px;
    background:radial-gradient(circle at 24% 26%, rgba(7,26,54,.62) 0%, rgba(7,26,54,.44) 44%, rgba(7,26,54,0) 78%);
    filter:blur(10px);
  }
  .perception-copy .section-kicker{
    color:var(--gold)!important;
    margin-bottom:12px!important;
    font-size:.68rem!important;
    letter-spacing:.18em!important;
    text-shadow:0 4px 24px rgba(0,0,0,.22);
  }
  .perception-copy h2{
    font-size:clamp(2.55rem,11.3vw,3.85rem)!important;
    line-height:.93!important;
    max-width:8.8ch!important;
    color:#fff!important;
    text-shadow:0 10px 32px rgba(0,0,0,.28);
    margin:0!important;
  }
  .perception-copy h2 em{
    display:block;
    color:var(--gold)!important;
    font-style:italic;
  }
  .perception-copy>p:last-child{
    margin-top:16px!important;
    max-width:29ch!important;
    color:rgba(255,255,255,.88)!important;
    font-size:.95rem!important;
    line-height:1.52!important;
    text-shadow:0 8px 24px rgba(0,0,0,.18);
  }
  .mobile-story-cue{
    background:linear-gradient(135deg,rgba(7,26,54,.95),rgba(7,26,54,.76))!important;
    border-color:rgba(255,255,255,.16)!important;
    box-shadow:0 22px 60px rgba(0,0,0,.28)!important;
    backdrop-filter:blur(16px)!important;
  }
}

/* ===== RC2.1: new Dennis portrait + stronger masthead branding ===== */
/* The uploaded portrait remains unchanged; only the visible crop is controlled by CSS. */
body.v24 .personal .portrait-wrap img[src*="dennis-broemmel-2026"]{
  object-position:50% 50%;
  filter:none;
}
body.v24.v23-contact-page .contact-card img[src*="dennis-broemmel-2026"]{
  object-position:center 50%!important;
  filter:none!important;
}

/* The company name gains presence without competing with the navigation. */
body.v24 .brand{gap:14px}
body.v24 .brand-logo{
  width:34px;
  height:48px;
  max-width:34px;
}
body.v24 .site-header.is-scrolled .brand-logo{
  width:32px;
  height:45px;
  max-width:32px;
}
body.v24 .brand-name{
  font-size:.92rem;
  letter-spacing:.125em;
}

@media(max-width:1050px){
  body.v24 .brand{gap:11px}
  body.v24 .brand-logo,
  body.v24 .site-header.is-scrolled .brand-logo{
    width:30px;
    height:42px;
    max-width:30px;
  }
  body.v24 .brand-name{
    font-size:.79rem;
    letter-spacing:.11em;
  }
}

@media(max-width:720px){
  body.v24 .brand{gap:9px}
  body.v24 .brand-logo,
  body.v24 .site-header.is-scrolled .brand-logo{
    width:26px;
    height:37px;
    max-width:26px;
  }
  body.v24 .brand-name{
    font-size:.70rem;
    letter-spacing:.095em;
  }
  body.v24.v23-contact-page .contact-card img[src*="dennis-broemmel-2026"]{
    object-position:center 50%!important;
  }
}

/* ===== RC2.2: placement mockup swap + portrait format cleanup ===== */
body.v24 .placement-art{
  background:transparent;
}
body.v24 .placement-art .placement-composite{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  display:block;
  filter:none;
}
body.v24 .visual-frame.is-placement .placement-art{
  display:block;
  animation:v24ArtIn .7s var(--v24-ease) both;
}

body.v24 .personal .portrait-wrap img[src*="dennis-broemmel-2026"]{
  aspect-ratio:1 / 1;
  object-fit:cover;
  object-position:center center;
  filter:none;
}
body.v24.v23-contact-page .contact-card img[src*="dennis-broemmel-2026"]{
  aspect-ratio:1 / 1 !important;
  width:100%;
  height:auto !important;
  object-fit:cover !important;
  object-position:center center !important;
  filter:none !important;
}

@media(max-width:720px){
  body.v24 .placement-art .placement-composite{
    object-fit:contain;
    object-position:center center;
    transform:scale(1.01);
  }
  body.v24 .personal .portrait-wrap{
    max-width:560px;
  }
}

/* ===== RC2.3: final standalone placement artwork ===== */
body.v24 .placement-art .placement-composite[src*="story-platzieren-final-rc23"]{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  transform:none;
  background:#071a36;
}
@media(max-width:720px){
  body.v24 .placement-art .placement-composite[src*="story-platzieren-final-rc23"]{
    object-fit:contain;
    object-position:center center;
    transform:none;
  }
}

/* ===== RC2.4: smooth mobile scroll crossfade for before/after ===== */
.compare-scroll-stage{
  position:relative;
  min-width:0;
}

@media(max-width:720px){
  body.v24 .before-after{
    padding-bottom:24px;
    overflow:visible;
  }
  body.v24 .before-after-grid{
    display:block!important;
  }
  body.v24 .before-after-copy{
    margin-bottom:34px;
  }
  body.v24 .compare-scroll-stage.is-scroll-blend-stage{
    position:relative;
    height:125svh;
    min-height:760px;
    --blend:0;
  }
  body.v24 .compare.is-scroll-blend{
    position:sticky;
    top:92px;
    width:100%;
    aspect-ratio:4 / 5;
    touch-action:pan-y;
    user-select:none;
    -webkit-user-select:none;
    cursor:default;
    contain:paint;
    isolation:isolate;
    transform:translateZ(0);
  }
  body.v24 .compare.is-scroll-blend>img,
  body.v24 .compare.is-scroll-blend .compare-after,
  body.v24 .compare.is-scroll-blend .compare-after img{
    transform:translateZ(0);
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
  }
  body.v24 .compare.is-scroll-blend .compare-after{
    clip-path:none!important;
    opacity:var(--blend,0);
    will-change:opacity;
    transition:none!important;
    pointer-events:none;
  }
  body.v24 .compare.is-scroll-blend .compare-handle{
    display:none!important;
  }
  body.v24 .compare.is-scroll-blend .compare-label{
    transition:none!important;
    will-change:opacity,transform;
    pointer-events:none;
  }
  body.v24 .compare.is-scroll-blend .compare-label-left{
    opacity:calc(1 - var(--blend,0));
    transform:translate3d(0,calc(var(--blend,0) * -5px),0);
  }
  body.v24 .compare.is-scroll-blend .compare-label-right{
    opacity:var(--blend,0);
    transform:translate3d(0,calc((1 - var(--blend,0)) * 5px),0);
  }
  body.v24 .compare.is-scroll-blend:after{
    content:"";
    position:absolute;
    z-index:6;
    left:0;
    right:0;
    bottom:0;
    height:3px;
    background:var(--gold);
    transform:scaleX(var(--blend,0));
    transform-origin:left center;
    will-change:transform;
    pointer-events:none;
  }
}

@media(max-width:420px){
  body.v24 .compare-scroll-stage.is-scroll-blend-stage{
    height:122svh;
    min-height:720px;
  }
  body.v24 .compare.is-scroll-blend{
    top:86px;
  }
}

@media(max-width:720px) and (prefers-reduced-motion:reduce){
  body.v24 .compare-scroll-stage.is-scroll-blend-stage{
    height:auto;
    min-height:0;
  }
  body.v24 .compare.is-scroll-blend{
    position:relative;
    top:auto;
  }
}

/* ===== RC2.5 hero intro refinement ===== */
.hero-stage-intro{
  max-width:min(760px,calc(100vw - 48px));
}
.hero-intro-head{
  display:grid;
  gap:.05em;
  max-width:12ch;
}
.hero-stage-intro .hero-line{
  display:block;
  opacity:1;
  transform:translate3d(0,0,0);
  will-change:opacity,transform,filter;
  text-shadow:0 12px 34px rgba(0,0,0,.30);
}
.hero-stage-intro .hero-line-3 em{
  color:var(--gold-2);
}
.hero-stage-intro .hero-copy{
  max-width:32rem;
  text-shadow:0 10px 28px rgba(0,0,0,.28);
}
.hero-stage-intro .hero-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
}
.hero-stage-intro .hero-actions .button{
  width:auto;
  min-width:min(100%,320px);
}
.hero-secondary-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.76);
}
.hero-secondary-link span{color:var(--gold)}
.hero-intro-minimal .hero-shade{
  background:linear-gradient(180deg,rgba(7,21,45,.16) 0%,rgba(7,21,45,.08) 28%,rgba(7,21,45,.12) 58%,rgba(7,21,45,.50) 100%)!important;
}
.hero-intro-minimal .hero-scroll-cue,
.hero-intro-minimal .hero-frame-status{
  opacity:.9;
}
@media(max-width:720px){
  .hero-stage-intro{
    left:18px!important;
    right:18px!important;
    width:auto!important;
    bottom:98px!important;
  }
  .hero-stage-intro .eyebrow{display:none!important}
  .hero-stage-intro .hero-intro-head{
    max-width:11ch;
    gap:.01em;
  }
  .hero-stage-intro .hero-line{
    text-wrap:balance;
    text-shadow:0 10px 28px rgba(0,0,0,.34);
  }
  .hero-stage-intro .hero-copy{
    max-width:18ch;
    margin-top:20px!important;
    font-size:1rem!important;
    line-height:1.52!important;
  }
  .hero-stage-intro .hero-actions{
    width:100%;
    gap:12px;
    margin-top:22px!important;
  }
  .hero-stage-intro .hero-actions .button{width:100%}
  .hero-secondary-link{
    font-size:.72rem;
    letter-spacing:.14em;
  }
  .hero-intro-minimal .hero-shade{
    background:linear-gradient(180deg,rgba(7,21,45,.10) 0%,rgba(7,21,45,.06) 36%,rgba(7,21,45,.10) 58%,rgba(7,21,45,.44) 100%)!important;
  }
}


/* === rc2-11-homepage.css === */
/* RC2.12 – stable hero readability filter on desktop and mobile */
.hero-stage-center h2,
.hero-stage-final h2{
  color:#fff!important;
  -webkit-text-fill-color:#fff;
}

/* app.js controls opacity: 0 on the clean opening frame, then 1 from the
   first text appearance through the complete sequence. */
body.v24 .hero-sequence .hero-shade,
body.v24 .hero-sequence.hero-intro-minimal .hero-shade,
body.v24 .hero-sequence.hero-door-focus .hero-shade{
  background:
    linear-gradient(180deg,
      rgba(4,18,43,.38) 0%,
      rgba(4,18,43,.39) 52%,
      rgba(4,18,43,.43) 100%)!important;
  transition:opacity .18s linear!important;
}

body.v24 .hero-stage-intro .hero-intro-head,
body.v24 .hero-stage-intro .hero-copy,
body.v24 .hero-stage-center h2,
body.v24 .hero-stage-final h2,
body.v24 .hero-stage-final .text-link,
body.v24 .hero-stage .chapter-number{
  text-shadow:0 10px 32px rgba(0,0,0,.48);
}

@media(max-width:767px){
  body.v24 .hero-sequence .hero-shade,
  body.v24 .hero-sequence.hero-intro-minimal .hero-shade,
  body.v24 .hero-sequence.hero-door-focus .hero-shade{
    background:
      linear-gradient(180deg,
        rgba(4,18,43,.32) 0%,
        rgba(4,18,43,.28) 42%,
        rgba(4,18,43,.38) 68%,
        rgba(4,18,43,.58) 100%)!important;
  }
}


/* === rc2-24-mobile-story-cinematic.css === */
/*
 * RC2.24 – mobile-only cinematic Vermarktungsstory.
 * One continuous sticky timeline, controlled by native scroll progress.
 * No snap points, no touch interception and no forced scroll positions.
 */
@media (max-width:720px){
  html,body{scroll-snap-type:none!important;}

  .perception-story{
    position:relative!important;
    height:560svh!important;
    min-height:4300px!important;
    padding:0!important;
    overflow:visible!important;
    background:#071a36!important;
    touch-action:pan-y!important;
  }

  .perception-story>.perception-sticky{
    position:sticky!important;
    top:0!important;
    width:100%!important;
    height:100svh!important;
    min-height:100svh!important;
    margin:0!important;
    padding:0!important;
    display:block!important;
    overflow:hidden!important;
    background:#071a36!important;
    isolation:isolate!important;
  }

  .perception-sticky>.perception-visual,
  .perception-sticky>.perception-copy,
  .perception-story>.perception-steps,
  .mobile-story-cue,
  .mobile-story-panel,
  .mobile-story-rail{
    display:none!important;
  }

  .mobile-cinematic-story{
    --cinematic-progress-opacity:0;
    position:absolute;
    inset:0;
    z-index:2;
    width:100%;
    height:100%;
    overflow:hidden;
    background:#071a36;
    color:#fff;
  }

  .mobile-cinematic-panel{
    --cinematic-y:18px;
    --cinematic-scale:1.035;
    position:absolute;
    inset:0;
    z-index:1;
    opacity:0;
    visibility:hidden;
    transform:translate3d(0,var(--cinematic-y),0);
    will-change:opacity,transform;
    transition:none!important;
  }

  .mobile-cinematic-intro{
    z-index:1;
    display:flex;
    align-items:flex-end;
    padding:max(118px,calc(env(safe-area-inset-top) + 98px)) 24px max(54px,calc(env(safe-area-inset-bottom) + 38px));
  }

  .mobile-cinematic-intro-image,
  .mobile-cinematic-intro-shade{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
  }

  .mobile-cinematic-intro-image{
    object-fit:cover;
    object-position:56% center;
    transform:scale(var(--cinematic-scale));
    filter:saturate(.82) contrast(1.04) brightness(.78);
    will-change:transform;
  }

  .mobile-cinematic-intro-shade{
    z-index:1;
    background:
      linear-gradient(180deg,rgba(4,16,34,.28) 0%,rgba(4,16,34,.12) 25%,rgba(4,16,34,.46) 58%,rgba(4,16,34,.98) 100%),
      linear-gradient(90deg,rgba(4,16,34,.72) 0%,rgba(4,16,34,.30) 62%,rgba(4,16,34,.10) 100%);
  }

  .mobile-cinematic-intro-copy{
    position:relative;
    z-index:2;
    width:100%;
    max-width:390px;
    margin:0 auto;
  }

  .mobile-cinematic-intro-copy .section-kicker{
    margin:0 0 17px;
    color:var(--gold);
    font-size:.64rem;
    font-weight:800;
    line-height:1.35;
    letter-spacing:.19em;
    text-transform:uppercase;
  }

  .mobile-cinematic-intro-copy h2{
    margin:0;
    color:#fff;
    font-family:var(--serif);
    font-size:clamp(2.30rem,9.65vw,3.20rem);
    font-weight:400;
    line-height:.98;
    letter-spacing:-.038em;
    text-shadow:0 12px 36px rgba(0,0,0,.38);
  }

  .mobile-cinematic-intro-copy h2 .perception-line{
    display:block;
    white-space:nowrap;
  }

  .mobile-cinematic-intro-copy h2 em{
    display:block;
    margin-top:.10em;
    color:var(--gold);
    font-weight:400;
  }

  .mobile-cinematic-intro-copy>p:last-child{
    max-width:33ch;
    margin:20px 0 0;
    color:rgba(255,255,255,.88);
    font-size:.94rem;
    line-height:1.58;
    text-shadow:0 8px 26px rgba(0,0,0,.34);
  }

  .mobile-cinematic-step{
    z-index:2;
    display:grid;
    grid-template-rows:minmax(0,46svh) minmax(0,1fr);
    gap:24px;
    padding:max(112px,calc(env(safe-area-inset-top) + 94px)) 18px max(34px,calc(env(safe-area-inset-bottom) + 20px));
    background:#071a36;
  }

  .mobile-cinematic-media{
    position:relative;
    width:100%;
    height:100%;
    min-height:0;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.17);
    background:#0a2145;
    box-shadow:0 28px 70px rgba(0,0,0,.28);
  }

  .mobile-cinematic-media::after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:25%;
    pointer-events:none;
    background:linear-gradient(180deg,transparent,rgba(3,14,31,.18));
  }

  .mobile-cinematic-media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
    transform:scale(var(--cinematic-scale));
    will-change:transform;
  }

  .mobile-cinematic-step[data-mode="placement"] .mobile-cinematic-media{
    background:#081a37;
  }

  .mobile-cinematic-step[data-mode="placement"] .mobile-cinematic-media img{
    object-fit:contain;
    padding:8px;
  }

  .mobile-cinematic-step-copy{
    align-self:start;
    width:100%;
    max-width:640px;
    margin:0 auto;
  }

  .mobile-cinematic-meta{
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 0 8px;
    color:var(--gold);
    font-size:.65rem;
    font-weight:850;
    letter-spacing:.17em;
    text-transform:uppercase;
  }

  .mobile-cinematic-meta::after{
    content:"";
    flex:1;
    height:1px;
    background:rgba(255,255,255,.16);
  }

  .mobile-cinematic-meta small{
    font:inherit;
    opacity:.92;
  }

  .mobile-cinematic-step h3{
    margin:0;
    color:#fff;
    font-family:var(--serif);
    font-size:clamp(2.35rem,10vw,3.25rem);
    font-weight:400;
    line-height:.98;
    letter-spacing:-.035em;
  }

  .mobile-cinematic-step p{
    max-width:38ch;
    margin:13px 0 0;
    color:rgba(255,255,255,.72);
    font-size:.91rem;
    line-height:1.62;
  }

  .mobile-cinematic-progress{
    position:absolute;
    z-index:8;
    left:18px;
    right:18px;
    bottom:max(14px,env(safe-area-inset-bottom));
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    color:rgba(255,255,255,.58);
    font-size:.58rem;
    font-weight:800;
    letter-spacing:.15em;
    opacity:var(--cinematic-progress-opacity);
    pointer-events:none;
  }

  .mobile-cinematic-progress i{
    position:relative;
    height:1px;
    overflow:hidden;
    background:rgba(255,255,255,.18);
  }

  .mobile-cinematic-progress b{
    position:absolute;
    inset:0;
    display:block;
    background:var(--gold);
    transform:scaleX(0);
    transform-origin:left center;
    will-change:transform;
  }
}

@media (max-width:390px){
  .perception-story{height:575svh!important;}
  .mobile-cinematic-intro{padding-left:18px;padding-right:18px;}
  .mobile-cinematic-intro-copy h2{font-size:clamp(2.12rem,9.55vw,2.75rem);}
  .mobile-cinematic-intro-copy>p:last-child{font-size:.88rem;}
  .mobile-cinematic-step{
    grid-template-rows:minmax(0,43svh) minmax(0,1fr);
    gap:20px;
    padding-left:16px;
    padding-right:16px;
  }
  .mobile-cinematic-step h3{font-size:clamp(2.15rem,9.5vw,2.85rem);}
  .mobile-cinematic-step p{font-size:.86rem;line-height:1.57;}
}

@media (prefers-reduced-motion:reduce) and (max-width:720px){
  .mobile-cinematic-panel,
  .mobile-cinematic-media img,
  .mobile-cinematic-intro-image{transform:none!important;}
}


/* === rc2-18-homepage.css === */
/* RC2.18 consolidated homepage corrections */
.hero-stage-intro .eyebrow{display:none!important}
body.v24 .hero-sequence .hero-shade{opacity:0}
body.v24 .hero-stage-intro .hero-line,body.v24 .hero-stage-intro .hero-copy,body.v24 .hero-stage-intro .hero-actions{opacity:0;transform:translate3d(0,18px,0)}
.perception-line{display:inline}
.instagram-showcase{position:relative;overflow:hidden;padding:clamp(88px,10vw,150px) 0;background:var(--paper-2);color:var(--navy);border-top:1px solid rgba(13,33,68,.09)}
.instagram-showcase:before{content:"";position:absolute;width:520px;height:520px;right:-230px;top:-250px;border:1px solid rgba(199,162,93,.22);border-radius:50%;pointer-events:none}
.instagram-showcase-grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(48px,7vw,110px)}
.instagram-showcase-copy{position:relative;z-index:2}.instagram-showcase-copy h2{margin:0;max-width:8.8ch;font-family:var(--display);font-size:clamp(3rem,5.4vw,6.2rem);font-weight:400;line-height:.96;letter-spacing:-.04em}
.instagram-showcase-copy>p:not(.section-kicker){max-width:34rem;margin:27px 0 0;color:rgba(13,33,68,.65);font-size:1.02rem;line-height:1.75}
.instagram-profile-link{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:34px;padding:16px 0;border-top:1px solid rgba(13,33,68,.16);border-bottom:1px solid rgba(13,33,68,.16);color:var(--navy);transition:border-color .3s ease,color .3s ease}.instagram-profile-link:hover{color:#9b7532;border-color:rgba(199,162,93,.7)}.instagram-profile-link span{display:grid;gap:3px}.instagram-profile-link small{color:rgba(13,33,68,.55);font-size:.61rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.instagram-profile-link strong{font-size:.96rem;font-weight:650}.instagram-profile-link>b{font-size:1.15rem;font-weight:400}
.instagram-showcase-gallery{position:relative;display:grid;grid-template-columns:1.18fr .82fr;grid-template-rows:1fr 1fr;gap:10px;height:min(69vh,670px);min-height:520px;padding:10px;background:#fff;box-shadow:0 34px 90px rgba(13,33,68,.16);isolation:isolate}.instagram-tile{position:relative;overflow:hidden;margin:0;background:#d8d3c8}.instagram-tile-main{grid-row:1/3}.instagram-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(6,20,43,.25));pointer-events:none}.instagram-tile img{width:100%;height:100%;object-fit:cover;transition:transform .85s cubic-bezier(.22,.78,.18,1)}.instagram-tile-main img{object-position:52% 50%}.instagram-showcase-gallery:hover .instagram-tile img{transform:scale(1.035)}
.instagram-gallery-label{position:absolute;z-index:4;left:28px;bottom:28px;display:flex;align-items:center;gap:10px;padding:13px 16px;background:rgba(7,26,54,.92);color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;box-shadow:0 15px 34px rgba(0,0,0,.23);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.instagram-gallery-label b{color:var(--gold);font-size:.9rem}
.mobile-menu .mobile-instagram-link{display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;gap:2px 13px!important;align-items:center!important;margin-top:16px!important;padding:15px 4px!important;border-top:1px solid rgba(255,255,255,.14)!important;border-bottom:1px solid rgba(255,255,255,.14)!important;color:#fff!important}.mobile-menu .mobile-instagram-link svg{grid-row:1/3;color:var(--gold)}.mobile-menu .mobile-instagram-link span{font-family:var(--sans)!important;font-size:.78rem!important;font-weight:750!important;line-height:1.15!important;letter-spacing:.08em!important;text-transform:uppercase!important}.mobile-menu .mobile-instagram-link small{font-family:var(--sans)!important;font-size:.62rem!important;line-height:1.2!important;letter-spacing:.05em!important;color:rgba(255,255,255,.57)!important}
@media(max-width:900px){.instagram-showcase-grid{grid-template-columns:1fr;gap:42px}.instagram-showcase-copy h2{max-width:11ch}.instagram-showcase-gallery{height:620px}}
@media(max-width:720px){
.perception-copy{top:90px!important;left:20px!important;right:20px!important;width:auto!important;max-width:none!important;padding-right:0!important}.perception-copy h2{max-width:none!important;font-size:clamp(2.16rem,9.85vw,2.68rem)!important;line-height:.96!important;letter-spacing:-.035em!important}.perception-copy h2 .perception-line{display:block!important;width:max-content;max-width:100%;white-space:nowrap}.perception-copy h2 em{display:block!important;margin-top:.13em!important;font-size:.91em!important;line-height:.98!important}.perception-copy>p:last-child{margin-top:13px!important;max-width:31ch!important;font-size:.87rem!important;line-height:1.5!important}
.perception-steps .perception-step,.perception-steps .perception-step:first-child{min-height:54svh!important;height:54svh!important}.perception-mobile-end-hold{display:block!important;height:88svh!important;min-height:590px!important}
.is-mobile-property-rail .property-sticky{gap:13px!important;padding-bottom:39px!important}.is-mobile-property-rail .property-intro:after{margin-top:8px!important}.is-mobile-property-rail .property-card div{left:22px!important;right:22px!important;bottom:70px!important}.is-mobile-property-rail .property-card h3{font-size:clamp(1.95rem,8.55vw,2.85rem)!important;line-height:1.02!important}.is-mobile-property-rail .property-card span{margin-top:12px!important}
.instagram-showcase{padding:82px 0 88px}.instagram-showcase:before{width:300px;height:300px;right:-180px;top:-110px}.instagram-showcase-grid{gap:34px}.instagram-showcase-copy h2{max-width:10ch;font-size:clamp(2.65rem,12.2vw,3.65rem);line-height:.96}.instagram-showcase-copy>p:not(.section-kicker){margin-top:21px;font-size:.94rem;line-height:1.67}.instagram-profile-link{margin-top:27px}.instagram-showcase-gallery{height:475px;min-height:0;grid-template-columns:1.12fr .88fr;gap:7px;padding:7px;box-shadow:0 24px 60px rgba(13,33,68,.16)}.instagram-gallery-label{left:18px;bottom:18px;padding:12px 13px;font-size:.58rem}}
@media(max-width:390px){.perception-copy h2{font-size:clamp(2.02rem,9.45vw,2.36rem)!important}.perception-copy>p:last-child{font-size:.84rem!important}.perception-steps .perception-step,.perception-steps .perception-step:first-child{min-height:52svh!important;height:52svh!important}.perception-mobile-end-hold{height:90svh!important;min-height:560px!important}.is-mobile-property-rail .property-card div{bottom:66px!important}.instagram-showcase-gallery{height:430px}}
@media(prefers-reduced-motion:reduce){body.v24 .hero-stage-intro .hero-line,body.v24 .hero-stage-intro .hero-copy,body.v24 .hero-stage-intro .hero-actions{opacity:1;transform:none}body.v24 .hero-sequence .hero-shade{opacity:1}}


/* === rc2-19-shared.css === */
/* RC2.19 – shared mobile navigation consistency */
.mobile-menu .mobile-instagram-link{
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr)!important;
  gap:2px 13px!important;
  align-items:center!important;
  margin-top:16px!important;
  padding:15px 4px!important;
  border-top:1px solid rgba(255,255,255,.14)!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
  color:#fff!important;
}
.mobile-menu .mobile-instagram-link svg{
  grid-row:1/3;
  color:var(--gold,#c7a25d);
}
.mobile-menu .mobile-instagram-link span{
  font-family:var(--sans,Arial,sans-serif)!important;
  font-size:.78rem!important;
  font-weight:750!important;
  line-height:1.15!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.mobile-menu .mobile-instagram-link small{
  font-family:var(--sans,Arial,sans-serif)!important;
  font-size:.62rem!important;
  line-height:1.2!important;
  letter-spacing:.05em!important;
  color:rgba(255,255,255,.57)!important;
}


/* === rc2-19-homepage.css === */
/* RC2.19 – refined mobile Vermarktungsstory */
.mobile-story-rail{display:none}

@media(max-width:720px){
  /* Intro cue: no oversized card, only the first chapter and a quiet motion cue. */
  .mobile-story-cue{
    left:32px!important;
    right:auto!important;
    bottom:max(28px,env(safe-area-inset-bottom))!important;
    width:auto!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    gap:13px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  .mobile-story-cue .story-cue-arrow{
    display:grid;
    place-items:center;
    width:34px;
    height:44px;
    color:var(--gold);
    font-family:var(--sans);
    font-size:1.35rem;
    font-weight:300;
    line-height:1;
    animation:rc219CueArrow 1.65s cubic-bezier(.22,.61,.36,1) infinite;
  }
  .mobile-story-cue .story-cue-copy{
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:baseline;
    gap:9px;
  }
  .mobile-story-cue .story-cue-copy small{
    color:var(--gold)!important;
    font-size:.62rem!important;
    font-weight:850!important;
    letter-spacing:.16em!important;
  }
  .mobile-story-cue .story-cue-copy strong{
    color:#fff;
    font-family:var(--display);
    font-size:1.35rem!important;
    font-weight:400!important;
    line-height:1!important;
    letter-spacing:-.015em;
  }
  .mobile-story-cue>i{display:none!important}

  /* Persistent, restrained orientation during the four chapters. */
  .mobile-story-rail{
    position:absolute;
    z-index:10;
    top:94px;
    left:22px;
    right:22px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    opacity:0;
    visibility:hidden;
    transform:translate3d(0,-8px,0);
    transition:opacity .32s ease,transform .42s cubic-bezier(.22,.61,.36,1),visibility .32s;
    pointer-events:none;
    color:#fff;
    text-shadow:0 5px 22px rgba(0,0,0,.42);
  }
  .mobile-story-rail.is-visible{
    opacity:1;
    visibility:visible;
    transform:none;
  }
  .mobile-story-rail-label{
    display:flex;
    align-items:baseline;
    gap:8px;
    min-width:0;
    white-space:nowrap;
  }
  .mobile-story-rail-label small{
    color:var(--gold);
    font-size:.59rem;
    font-weight:850;
    letter-spacing:.15em;
  }
  .mobile-story-rail-label strong{
    overflow:hidden;
    color:rgba(255,255,255,.94);
    font-size:.61rem;
    font-weight:780;
    letter-spacing:.11em;
    text-overflow:ellipsis;
    text-transform:uppercase;
  }
  .mobile-story-rail-dots{
    display:flex;
    align-items:center;
    gap:7px;
  }
  .mobile-story-rail-dots i{
    display:block;
    width:18px;
    height:1px;
    background:rgba(255,255,255,.28);
    transition:width .32s ease,background .32s ease;
  }
  .mobile-story-rail-dots i.is-active{
    width:30px;
    background:var(--gold);
  }

  /* The last chapter reads as a deliberate conclusion, not an accidental exit. */
  .perception-story.is-final-step .mobile-story-panel{
    border-color:rgba(199,162,93,.48)!important;
  }
  .perception-story.is-final-step .mobile-story-continue{
    color:var(--gold)!important;
    font-size:.58rem!important;
    font-weight:850!important;
    letter-spacing:.12em!important;
    text-transform:uppercase;
  }
  .perception-story.is-final-step .mobile-story-progress i{
    background:var(--gold)!important;
  }

  /* While the sticky story is active, vertical movement is handled one chapter at a time. */
  .perception-story.is-mobile-snap-zone{touch-action:pan-x;overscroll-behavior-y:contain}
}

@media(max-width:390px){
  .mobile-story-cue{left:26px!important;bottom:max(22px,env(safe-area-inset-bottom))!important}
  .mobile-story-cue .story-cue-copy strong{font-size:1.22rem!important}
  .mobile-story-rail{top:88px;left:18px;right:18px}
  .mobile-story-rail-dots{gap:5px}
  .mobile-story-rail-dots i{width:14px}
  .mobile-story-rail-dots i.is-active{width:24px}
}

@keyframes rc219CueArrow{
  0%,100%{transform:translateY(-3px);opacity:.58}
  48%{transform:translateY(7px);opacity:1}
}

@media(prefers-reduced-motion:reduce){
  .mobile-story-cue .story-cue-arrow{animation:none}
}


/* === rc2-20-homepage.css === */
/* RC2.20 – mobile story safety override
 * Native vertical scrolling must always remain available. The chapter snap is
 * handled after touchend by app-rc220.js and no longer by a hard touch lock.
 */
@media (max-width:720px){
  .perception-story.is-mobile-snap-zone{
    touch-action:auto!important;
    overscroll-behavior-y:auto!important;
  }
}


/* === rc2-28-final-polish.css === */
/* RC2.28 – final responsive polish */

/* Keep the footer wordmark as one coherent brand unit on every page. */
.footer-logo{
  white-space:nowrap;
  min-width:0;
}
.footer-logo span{
  white-space:nowrap;
  font-size:clamp(1.6rem,3vw,3.1rem)!important;
  line-height:1.05;
}
.footer-brand{min-width:0}

/* Better balance between the valuation copy and the form on desktop/widescreen. */
@media (min-width:1051px){
  .valuation{
    padding:clamp(110px,8vw,138px) 0!important;
  }
  .valuation-grid{
    grid-template-columns:minmax(0,.94fr) minmax(520px,1.06fr)!important;
    gap:clamp(56px,5vw,86px)!important;
  }
  .valuation-copy h2{
    font-size:clamp(3.65rem,4vw,4.35rem)!important;
    line-height:.98!important;
    letter-spacing:-.04em!important;
    text-wrap:initial!important;
  }
  .valuation-title-line{
    display:block;
    white-space:nowrap;
  }
  .valuation-copy>p:nth-of-type(2){
    max-width:510px;
    margin-top:24px;
  }
}

/* On small screens the wording can wrap naturally again. */
@media (max-width:1050px){
  .valuation-title-line{display:inline;white-space:normal}
}

@media (max-width:360px){
  .footer-logo{gap:10px!important}
  .footer-logo img{width:28px!important;height:auto!important}
  .footer-logo span{font-size:1.52rem!important}
}


/* === rc2-29-header-logo.css === */
/* RC2.29 – mobile header logo reliability */
.brand-logo{
  display:block!important;
  object-fit:contain!important;
  object-position:center!important;
  flex:0 0 auto!important;
}
@media (max-width:720px){
  body.v24 .brand-logo,
  body.v24 .site-header.is-scrolled .brand-logo,
  .brand-logo{
    width:30px!important;
    height:42px!important;
    max-width:30px!important;
    min-width:30px!important;
  }
}

