/* Final refinement layer for all pages except Home & Garden. */
:root{
  --ref-navy:#0b2a3e;
  --ref-navy-2:#163e56;
  --ref-gold:#b18a35;
  --ref-gold-dark:#8f6d27;
  --ref-blue:#54778f;
  --ref-blue-soft:#eef4f7;
  --ref-ink-soft:#536774;
  --ref-line:rgba(11,42,62,.12);
  --ref-white:#fff;
}
body:not(.page-garden){font-size:16px!important;font-feature-settings:"kern" 1,"liga" 1!important}
body:not(.page-garden):before{opacity:.48!important}
body:not(.page-garden) :is(h1,h2,h3,.headline){font-weight:500!important;letter-spacing:-.035em!important;text-wrap:balance}
body:not(.page-garden) p{color:var(--ref-ink-soft)!important;line-height:1.76!important}
body:not(.page-garden) section{padding-block:clamp(84px,9vw,132px)!important}
body:not(.page-garden) .section-head{max-width:720px!important;margin-bottom:52px!important}
body:not(.page-garden) .section-head :is(.mono,.tag),body:not(.page-garden) .eyebrow{color:var(--ref-gold-dark)!important;font-family:"Space Grotesk",Arial,sans-serif!important;font-size:12px!important;font-weight:600!important;line-height:1.35!important;letter-spacing:.135em!important;font-variant-ligatures:normal!important;text-rendering:optimizeLegibility!important}
body:not(.page-garden) :is(.sheet-tag,.trust-strip,.why-stat .stat-label){font-family:"Space Grotesk",Arial,sans-serif!important;font-weight:600!important;letter-spacing:.1em!important}
body:not(.page-garden) .section-head h2{font-size:clamp(2.45rem,4.4vw,4rem)!important;line-height:1.02!important;margin-top:14px!important}
body:not(.page-garden) .section-head p{font-size:1.02rem!important;max-width:61ch!important;margin-top:20px!important}
body:not(.page-garden) .btn{min-height:48px!important;padding-inline:24px!important;border-radius:2px!important;letter-spacing:.06em!important}
body:not(.page-garden) :is(.service-card,.about-card){border:1px solid var(--ref-line)!important;border-top:1px solid var(--ref-line)!important;background:#fff!important;box-shadow:0 15px 45px rgba(11,42,62,.055)!important;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease!important}
body:not(.page-garden) :is(.service-card,.about-card):hover{transform:translateY(-6px)!important;border-color:rgba(177,138,53,.33)!important;box-shadow:0 25px 62px rgba(11,42,62,.1)!important}
body:not(.page-garden) .service-card .ico{width:48px!important;height:48px!important;padding:11px!important;border-radius:50%!important;background:#eef3f1!important;color:var(--ref-navy-2)!important;stroke-width:1.45!important}
body:not(.page-garden) :is(input,textarea,select){border:1px solid rgba(11,42,62,.2)!important;border-radius:2px!important;padding:14px 15px!important;font:500 .94rem/1.4 "Space Grotesk",sans-serif!important}
body:not(.page-garden) :is(input,textarea,select):focus{border-color:var(--ref-gold)!important;box-shadow:0 0 0 4px rgba(177,138,53,.1)!important}

/* Main page: architectural, calm and confident. */
body.page-home .hero{min-height:calc(100vh - 84px)!important;padding-block:0!important}
body.page-home .hero-inner{padding-block:clamp(84px,10vw,142px)!important}
body.page-home .hero .headline{font-size:clamp(3.8rem,6.5vw,7rem)!important;line-height:.92!important;max-width:900px!important}
body.page-home .hero .nowrap-phrase{white-space:normal!important;overflow-wrap:anywhere!important}
body.page-home .hero .lede{font-size:1.08rem!important;max-width:58ch!important;margin-top:30px!important}
body.page-home .hero-inner{width:min(68vw,820px)!important;max-width:none!important;margin-left:0!important;margin-right:auto!important;padding-left:clamp(18px,2vw,30px)!important;padding-right:24px!important}
body.page-home .hero-inner:before{display:none!important}
body.page-home .hero-inner>div{max-width:610px!important;margin-left:0!important;margin-right:auto!important}
body.page-home .hero-bg{left:27%!important;background-position:58% center!important;mask-image:linear-gradient(to right,transparent 0,#000 14%,#000 100%)!important}
body.page-home .hero-scrim{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.97) 24%,rgba(255,255,255,.78) 35%,rgba(255,255,255,.22) 49%,rgba(255,255,255,0) 64%)!important}
body.page-home .lede-note{max-width:55ch!important;border-left:2px solid var(--ref-gold)!important;background:rgba(255,255,255,.88)!important;color:var(--ref-ink-soft)!important;font-family:"Space Grotesk",Arial,sans-serif!important;font-size:1rem!important;font-weight:400!important;line-height:1.68!important;letter-spacing:normal!important}
body.page-home .about-grid{gap:22px!important}
body.page-home .about-card{position:relative!important;padding:38px 36px!important}
body.page-home .about-card:before{content:"";position:absolute;left:-1px;top:-1px;width:56px;height:3px;background:var(--ref-gold)}
body.page-home .about-card h3{font-size:1.55rem!important;margin:15px 0!important}
body.page-home :is(.about-card p,.step p,.why-card p){font-size:1rem!important;line-height:1.72!important}
body.page-home .floor-list li{font-family:"Space Grotesk",Arial,sans-serif!important;font-size:.78rem!important;line-height:1.4!important;letter-spacing:normal!important}
body.page-home .section-blueprint{padding-top:112px!important}
body.page-home .cross-section{filter:drop-shadow(0 30px 45px rgba(11,42,62,.09))}
body.page-home .steps{border-color:var(--ref-line)!important}
body.page-home .step{border-color:var(--ref-line)!important;padding:40px 36px!important}
body.page-home .why-grid .service-card{min-height:270px!important;padding:34px!important}

/* CAD: precise blueprint language with warmer editorial typography. */
body.page-cad{--ref-blue:#4f7188!important;background:#fff!important}
body.page-cad:before{opacity:.6!important;background-size:40px 40px!important;mask-image:linear-gradient(to bottom,rgba(0,0,0,.6),transparent 72%)!important}
body.page-cad .hero{min-height:calc(100vh - 84px)!important;padding-block:0!important}
body.page-cad .hero-grid{gap:clamp(44px,6vw,90px)!important;padding-block:clamp(76px,9vw,124px)!important}
body.page-cad .hero .headline{font-size:clamp(3.7rem,6.2vw,6.7rem)!important;line-height:.93!important}
body.page-cad .hero .headline em{color:#4f7188!important;font-weight:500!important}
body.page-cad .hero .lede{font-size:1.05rem!important;max-width:59ch!important}
body.page-cad .hero-art{border:1px solid rgba(79,113,136,.2)!important;box-shadow:0 30px 74px rgba(11,42,62,.12)!important}
body.page-cad .services-grid{gap:22px!important}
body.page-cad .service-card{position:relative!important;padding:38px 36px!important}
body.page-cad .service-card:before{content:"";position:absolute;left:-1px;top:-1px;width:56px;height:3px;background:#65869b}
body.page-cad .service-card .ico{background:var(--ref-blue-soft)!important;color:#41677f!important}
body.page-cad .portfolio-tabs{border-color:var(--ref-line)!important}
body.page-cad .ptab{font:700 12px/1 "Space Grotesk",sans-serif!important;letter-spacing:.06em!important;color:var(--ref-ink-soft)!important}
body.page-cad .ptab.active{color:var(--ref-navy)!important;border-color:#54778f!important}
body.page-cad .portfolio-card{border-color:var(--ref-line)!important;box-shadow:0 24px 64px rgba(11,42,62,.08)!important}
body.page-cad .step{border-color:var(--ref-line)!important}
body:is(.page-cad,.page-sale) #ablauf .step-body h3{font-size:1.22rem!important;line-height:1.25!important;margin-bottom:9px!important}
body:is(.page-cad,.page-sale) #ablauf .step-body p{font-size:1rem!important;line-height:1.7!important}
body.page-cad .faq-item{border-color:var(--ref-line)!important}
body.page-cad .faq-q{font-family:"Source Serif 4",Georgia,serif!important;font-size:1.17rem!important;font-weight:500!important;color:var(--ref-navy)!important}
body:is(.page-cad,.page-sale) .logo{display:block;color:inherit;text-decoration:none}
body.page-cad .contact-band{background:#f6f7f6!important;color:var(--ref-navy)!important}
body.page-cad .contact-band :is(h2,.sheet-tag span:last-child,.contact-info li){color:var(--ref-navy)!important}
body.page-cad .contact-band :is(p,.contact-info .k,.field label,.consent-label span,.form-note){color:#526875!important}
body.page-cad .contact-band .contact-info li{border-color:rgba(11,42,62,.14)!important}
body.page-cad .contact-band :is(input,select,textarea){background:#fff!important;color:var(--ref-navy)!important;border-color:rgba(11,42,62,.22)!important}
body.page-cad .contact-band :is(input,textarea)::placeholder{color:#788993!important}
body.page-cad .contact-band .consent-label a{color:#315d78!important}
body.page-cad .contact-band .btn-primary{background:var(--ref-gold)!important;border-color:var(--ref-gold)!important;color:#fff!important}
body.page-cad{position:relative!important;isolation:isolate!important}
body.page-cad>section:not(.contact-band){background:rgba(255,255,255,.9)!important}
body.page-cad>section[style*="paper-2"]{background:rgba(246,248,248,.91)!important}
body.page-cad .ambient-cad-model{position:fixed;right:-12px;top:22vh;width:min(46vw,660px);aspect-ratio:3/2;z-index:2;pointer-events:none;opacity:.78;perspective:1100px;filter:drop-shadow(0 25px 34px rgba(11,42,62,.13))}
body.page-cad .cad-model-float{position:absolute;inset:0;transform-origin:52% 70%;animation:cad-model-float 11s cubic-bezier(.45,.05,.55,.95) infinite}
body.page-cad .cad-model-half{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
body.page-cad .cad-model-solid{clip-path:inset(0 49.7% 0 0)}
body.page-cad .cad-model-wire{clip-path:inset(0 0 0 50.3%);animation:cad-model-open 11s cubic-bezier(.45,.05,.55,.95) infinite}
body.page-cad .cad-model-scan{position:absolute;inset:6% 3%;background:linear-gradient(180deg,transparent 0,rgba(255,255,255,0) 44%,rgba(133,181,207,.5) 49%,rgba(255,255,255,.78) 50%,rgba(133,181,207,.26) 52%,transparent 57%);background-size:100% 260%;background-position:0 -120%;-webkit-mask:url("images/cad-house-model.png") center/contain no-repeat;mask:url("images/cad-house-model.png") center/contain no-repeat;mix-blend-mode:screen;opacity:0;animation:cad-model-scan 16s ease-in-out infinite}
body.page-cad>header,body.page-cad>section,body.page-cad>footer{position:relative;z-index:1}
body.page-cad>header .header-inner,body.page-cad>section>.wrap,body.page-cad>footer .wrap{position:relative;z-index:3}
body.page-cad>header,body.page-cad>.contact-band,body.page-cad>footer{z-index:4}
body.page-cad>section:not(.contact-band){z-index:auto}
body.page-cad>section:not(.contact-band) :is(.wrap,.section-head,.hero-grid,.hero-art,.service-card,.portfolio-card,.steps,.step,.faq-list,.faq-item,.portfolio-tabs){position:relative;z-index:3}
@keyframes cad-model-float{0%,100%{transform:rotateY(-1.2deg) rotateZ(-.35deg) translate3d(0,0,0)}42%{transform:rotateY(2.2deg) rotateZ(.35deg) translate3d(-4px,-5px,0)}72%{transform:rotateY(.2deg) rotateZ(-.1deg) translate3d(1px,-2px,0)}}
@keyframes cad-model-open{0%,18%,100%{transform:translate3d(0,0,0)}43%,58%{transform:translate3d(8px,-3px,0)}78%{transform:translate3d(2px,-1px,0)}}
@keyframes cad-model-scan{0%,61%,100%{opacity:0;background-position:0 -120%}66%{opacity:.22}78%{opacity:.7;background-position:0 185%}84%{opacity:0;background-position:0 185%}}

/* Sale: white luxury with restrained navy and brushed gold. */
body.page-sale{background:#fff!important;color:var(--ref-navy)!important}
body.page-sale .hero{min-height:calc(100vh - 84px)!important;padding-block:0!important}
body.page-sale .hero-grid{gap:clamp(46px,6vw,92px)!important;padding-block:clamp(76px,9vw,124px)!important}
body.page-sale .hero .headline{font-size:clamp(3.8rem,6.4vw,6.9rem)!important;line-height:.92!important}
body.page-sale .hero .lede{font-size:1.06rem!important;max-width:57ch!important}
body.page-sale .hero-art{box-shadow:0 34px 82px rgba(11,42,62,.14)!important}
body.page-sale .hero-art{min-height:590px!important;background:url("images/hero-german-house.png") center/cover no-repeat!important}
body.page-sale .hero-art>.ph-inner{display:none!important}
body.page-sale .hero-mark{background:#fff!important;border:1px solid var(--ref-line)!important;box-shadow:0 18px 48px rgba(11,42,62,.09)!important}
body.page-sale .services-grid{gap:18px!important}
body.page-sale .service-card{position:relative!important;padding:34px 30px!important;min-height:270px!important}
body.page-sale .service-card:before{content:"";position:absolute;left:-1px;top:-1px;width:48px;height:3px;background:var(--ref-gold)}
body.page-sale .service-card .ico{background:#f4efe3!important;color:var(--ref-gold-dark)!important}
body.page-sale .listing-card{border:1px solid var(--ref-line)!important;background:#fff!important;box-shadow:0 14px 44px rgba(11,42,62,.055)!important;transition:transform .35s ease,box-shadow .35s ease!important}
body.page-sale .listing-card:hover{transform:translateY(-5px)!important;box-shadow:0 24px 58px rgba(11,42,62,.1)!important}
body.page-sale .listings-grid{grid-template-columns:minmax(280px,560px)!important;justify-content:center!important}
body.page-sale .listing-card:nth-child(n+2){display:none!important}
body.page-sale .listing-ph{min-height:230px!important;background:linear-gradient(145deg,#f8f6f0,#edf1f2)!important}
body.page-sale .step{border-color:var(--ref-line)!important}
body.page-sale .faq-item{border-color:var(--ref-line)!important}
body.page-sale .faq-q{font-family:"Source Serif 4",Georgia,serif!important;font-size:1.17rem!important;font-weight:500!important;color:var(--ref-navy)!important}
body.page-sale{position:relative!important;isolation:isolate!important}
body.page-sale>section:not(.contact-band){background:rgba(255,255,255,.86)!important}
body.page-sale .ambient-keys{position:fixed;right:34px;top:19vh;width:252px;height:378px;z-index:0;pointer-events:none;opacity:.72;transform-origin:50% 7%;animation:keys-gentle-sway 8.8s cubic-bezier(.45,.05,.55,.95) infinite;filter:drop-shadow(0 18px 24px rgba(11,42,62,.14))}
body.page-sale .ambient-keys img{display:block;width:100%;height:100%;object-fit:contain}
body.page-sale .ambient-keys .keys-shine{position:absolute;inset:0;background:linear-gradient(108deg,transparent 37%,rgba(255,255,255,0) 43%,rgba(255,255,255,.76) 49%,rgba(255,244,205,.5) 52%,rgba(255,255,255,0) 58%,transparent 64%);background-size:250% 100%;background-position:140% 0;-webkit-mask:url("images/real-estate-keys.png") center/contain no-repeat;mask:url("images/real-estate-keys.png") center/contain no-repeat;mix-blend-mode:screen;opacity:0;animation:keys-small-glint 13s ease-in-out infinite}
body.page-sale>header,body.page-sale>section,body.page-sale>footer{position:relative;z-index:1}
body.page-sale>header .header-inner,body.page-sale>section>.wrap,body.page-sale>footer .wrap{position:relative;z-index:3}
@keyframes keys-gentle-sway{0%,100%{transform:rotate(-1.5deg) translate3d(0,0,0)}36%{transform:rotate(1.8deg) translate3d(2px,-2px,0)}68%{transform:rotate(-.35deg) translate3d(-1px,1px,0)}}
@keyframes keys-small-glint{0%,70%,100%{opacity:0;background-position:140% 0}74%{opacity:.5}82%{opacity:.72;background-position:-55% 0}87%{opacity:0;background-position:-55% 0}}
body.page-home .why-card{border:1px solid var(--ref-line)!important;background:#fff!important;box-shadow:0 15px 45px rgba(11,42,62,.05)!important;transition:transform .35s ease,box-shadow .35s ease!important}
body.page-home .why-card:hover{transform:translateY(-5px)!important;box-shadow:0 24px 58px rgba(11,42,62,.09)!important}
body.page-home .why-card .ico{color:var(--ref-navy-2)!important;stroke-width:1.45!important}
body.page-home .why-card{padding:30px!important}
body.page-home .why-stat .stat-num{font-size:1.42rem!important;line-height:1.05!important;letter-spacing:.025em!important;margin-bottom:16px!important;color:var(--ref-gold-dark)!important}
body.page-home footer{background:var(--ref-navy)!important;color:#b9c5cc!important;border-top:1px solid rgba(255,255,255,.1)!important}
body.page-home footer h4{color:#fff!important;font-weight:600!important}
body.page-home footer p,body.page-home footer li{color:#b9c5cc!important}
body.page-home footer a{color:#e6edf0!important}
body.page-home footer .amp{color:var(--ref-gold)!important}

/* Legal pages: readable editorial documents, no dated beige styling. */
body.page-legal{background:#fff!important;color:var(--ref-navy)!important}
body.page-legal:before{display:none!important}
body.page-legal>.wrap{max-width:920px!important;padding:72px 32px 112px!important}
body.page-legal .back{display:inline-flex!important;align-items:center!important;min-height:40px!important;margin-bottom:54px!important;color:var(--ref-gold-dark)!important;font:700 12px/1 "Space Grotesk",sans-serif!important;letter-spacing:.08em!important;text-transform:uppercase!important}
body.page-legal h1{font-family:"Source Serif 4",Georgia,serif!important;font-size:clamp(3.3rem,7vw,6.2rem)!important;font-weight:500!important;line-height:.94!important;letter-spacing:-.05em!important;margin-bottom:64px!important}
body.page-legal section{display:grid!important;grid-template-columns:minmax(180px,240px) 1fr!important;gap:34px!important;padding:34px 0!important;border-top:1px solid var(--ref-line)!important}
body.page-legal section h2{font-family:"Space Grotesk",sans-serif!important;font-size:.72rem!important;font-weight:700!important;line-height:1.5!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--ref-gold-dark)!important;margin:0!important}
body.page-legal section :is(p,ul){font-family:"Source Serif 4",Georgia,serif!important;font-size:1rem!important;color:#405661!important;line-height:1.78!important}
body.page-legal section .mono{font-family:"Space Grotesk",sans-serif!important;font-size:.9rem!important;line-height:1.75!important;color:#405661!important}
body.page-legal section a{color:var(--ref-navy-2)!important;text-underline-offset:3px!important}

@media(max-width:900px){body:not(.page-garden) section{padding-block:76px!important}body:not(.page-garden) .section-head{margin-bottom:38px!important}body.page-home .why-grid .service-card,body.page-sale .service-card{min-height:0!important}}
@media(max-width:900px){body.page-sale .ambient-keys{right:18px;top:23vh;width:208px;height:312px;opacity:.56}}
@media(max-width:560px){body.page-sale .ambient-keys{right:8px;top:27vh;width:160px;height:240px;opacity:.42}}
@media(max-width:900px){body.page-cad .ambient-cad-model{right:-38px;top:25vh;width:min(64vw,500px);opacity:.6}}
@media(max-width:560px){body.page-cad .ambient-cad-model{right:-42px;top:29vh;width:330px;opacity:.48}}
@media(max-width:640px){body.page-legal>.wrap{padding:42px 22px 80px!important}body.page-legal .back{margin-bottom:38px!important}body.page-legal h1{margin-bottom:46px!important}body.page-legal section{grid-template-columns:1fr!important;gap:12px!important;padding:28px 0!important}}
@media(prefers-reduced-motion:reduce){body:not(.page-garden) *,body:not(.page-garden) *:before,body:not(.page-garden) *:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(prefers-reduced-motion:reduce){body.page-sale .ambient-keys .keys-shine{display:none!important}}
@media(prefers-reduced-motion:reduce){body.page-cad .cad-model-scan{display:none!important}}
