@font-face{font-family:Inter;src:url('/assets/Inter.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--ink:#090909;--cream:#fff;--muted:#676767;--line:#dedede;--olive:#707070;--accent:#f0f0f0;--paper:#fff;--ease:cubic-bezier(.22,.7,.1,1)}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,summary{font:inherit}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}figure,p,h1,h2,h3,ul{margin:0}figure{overflow:hidden}h1,h2,h3{font-family:Inter,Arial,sans-serif;font-weight:650;line-height:1.03;letter-spacing:-.055em}h2{font-size:clamp(40px,5.2vw,80px);font-weight:700}h3{font-size:24px}a,button,input,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}.wrap{width:min(1640px,calc(100% - 64px));margin-inline:auto}.section{padding-block:110px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.08em;line-height:1.6;text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:#090909;color:#fff;border:1px solid #090909;border-radius:40px;min-height:56px;padding:17px 29px;font-size:13px;font-weight:600;text-align:center;line-height:1.5;transition:background .3s,color .3s,transform .4s var(--ease)}.button:hover{background:#343434;border-color:#343434}.button.light{background:#fff;color:#090909;border-color:#fff}.button.light:hover{background:#dedede;border-color:#dedede}.text-link{display:inline-block;font-size:13px;font-weight:550;padding:9px 0;border-bottom:1px solid currentColor;line-height:1.5}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:#fff;color:#000;padding:14px}.skip:focus{top:12px}.scroll-progress{position:fixed;inset:0 0 auto;height:2px;background:#aaa;transform:scaleX(0);transform-origin:left;z-index:50;pointer-events:none}
/* The offer lives inside the film, with an uninterrupted view on the right. */
.campaign-header{position:absolute;inset:0 0 auto;z-index:10;color:#fff;width:calc(100% - 64px);margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;min-height:106px}.campaign-brand{grid-column:2;grid-row:1;width:181px;height:46px}.campaign-brand img{object-fit:contain;filter:brightness(0) invert(1)}.campaign-nav{grid-column:1;grid-row:1;display:flex;gap:23px;font-size:11px;font-weight:550}.campaign-nav a{white-space:nowrap;padding:7px 0;border-bottom:1px solid transparent}.campaign-nav a[aria-current]{border-color:#fff}.header-location{justify-self:end;text-align:right;font-size:10px;line-height:1.7}.campaign-hero{position:relative;isolation:isolate;overflow:hidden;background:#141414;color:#fff;min-height:780px;min-height:max(780px,100svh);display:flex;align-items:end;padding:175px 0 30px}.hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden;background:#292929}.hero-media img,.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.03);pointer-events:none}.hero-media video{opacity:0;transition:opacity 1.2s}.hero-media.is-playing video{opacity:1}.hero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0009 0%,#0002 75%),linear-gradient(180deg,#0006 0%,#0000 30%,#0002 60%,#000b 100%)}.hero-wrap{width:calc(100% - 80px)}.offer-content{max-width:1100px}.offer-label{display:inline-block;border:1px solid #ffffff85;border-radius:25px;padding:9px 15px;font-size:10px;line-height:1.3;letter-spacing:.08em;font-weight:600;margin-bottom:25px}.offer-title{letter-spacing:-.065em;font-size:clamp(75px,12.1vw,182px);line-height:.92;font-weight:750}.offer-title .offer-first{display:block;font-size:.33em;letter-spacing:-.035em;line-height:1.15;margin-bottom:9px;font-weight:600}.offer-title strong{display:block;font-weight:750}.offer-description{font-size:17px;line-height:1.75;margin-top:28px;max-width:640px;color:#f7f7f7}.offer-description b{font-weight:700}.hero-actions{display:flex;gap:30px;align-items:center;margin-top:28px}.hero-actions .button{min-width:210px}.hero-actions .text-link{border-color:#ffffff80}.offer-condition{font-size:10px;line-height:1.7;color:#e1e1e1;max-width:490px;margin-top:22px}.hero-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff40;padding-top:20px;margin-top:42px;gap:20px;font-size:9px;font-weight:550;letter-spacing:.05em}.hero-footer a{padding-right:8px}.campaign-f2 .offer-title{font-size:clamp(74px,9vw,136px)}.campaign-f2 .offer-title .offer-first{font-size:.29em}
.arrival-line{padding-block:30px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);font-size:13px}.arrival-line>p:first-child{font-size:10px;letter-spacing:.04em;font-weight:550}.arrival-line a{font-size:11px;border-bottom:1px solid #999}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:55px;margin-bottom:48px}.section-heading h2{margin-top:20px}.section-heading>p{max-width:370px;color:var(--muted);font-size:14px;line-height:1.8}
/* Every apartment and the corresponding Smart value can be compared at once. */
.apartment-section{padding-top:95px}.apartment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.campaign-f2 .apartment-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.apartment-panel{min-width:0}.apartment-image{height:420px;position:relative;overflow:hidden;background:#efefef}.apartment-image>img{transition:transform 1.4s var(--ease)}.apartment-panel:hover .apartment-image>img{transform:scale(1.05)}.apartment-image::after{content:'';position:absolute;inset:70% 0 0;background:linear-gradient(transparent,#0006);pointer-events:none}.apartment-image figcaption{position:absolute;bottom:14px;left:15px;right:15px;color:#fff;font-size:8px;z-index:1;line-height:1.5}.apartment-body{padding:27px 0 0;display:flex;flex-direction:column;align-items:flex-start}.apartment-body .eyebrow{font-size:10px;letter-spacing:.04em;color:#707070}.apartment-body h3{font-size:38px;line-height:1.1;margin:10px 0 20px;text-transform:uppercase}.apartment-price span{font-size:9px;letter-spacing:.06em;display:block;color:#737373}.apartment-price strong{display:block;font-size:38px;font-weight:600;letter-spacing:-.045em;line-height:1.2;margin:4px 0}.apartment-price small{font-size:11px;color:#646464}.smart-value{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 0;margin:20px 0 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.smart-value span{display:block;font-size:11px;color:#777}.smart-value strong{font-size:25px;font-weight:600;letter-spacing:-.035em}.smart-value>b{font-size:9px;font-weight:600;letter-spacing:.04em;border:1px solid #111;border-radius:20px;padding:6px 10px}.apartment-body .button{width:100%;min-height:52px;font-size:11px;margin-top:20px;padding:14px 18px}.plan-disclosure{width:100%;margin-top:5px;font-size:11px}summary::-webkit-details-marker{display:none}.plan-disclosure summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 0}.plan-disclosure summary::after{content:'+';font-size:21px;font-weight:300}.plan-disclosure[open] summary::after{content:'−'}.plan-disclosure img{height:auto;max-height:350px;object-fit:contain;margin-block:16px}.plan-disclosure p{font-size:10px;color:#777}.offer-footnote{max-width:1100px;color:#777;font-size:10px;line-height:1.8;margin-top:30px}.offer-footnote a{border-bottom:1px solid #aaa}.campaign-f2 .apartment-image{height:360px}.campaign-f2 .apartment-body h3{font-size:31px}.campaign-f2 .apartment-price strong{font-size:29px}.campaign-f2 .smart-value strong{font-size:18px}
/* The furniture bonus follows the apartment selection, as a separate benefit. */
.bonus-section{background:#090909;color:#fff;display:grid;grid-template-columns:1fr 1fr;margin:0 32px;min-height:690px;border-radius:32px;overflow:hidden}.bonus-visual{min-width:0;overflow:hidden}.bonus-visual img{object-position:center 53%;transition:transform 1.7s var(--ease)}.bonus-section:hover .bonus-visual img{transform:scale(1.035)}.bonus-content{padding:64px;align-self:center}.bonus-content .eyebrow{color:#ccc}.bonus-number{font-size:clamp(120px,15vw,220px);line-height:1;font-weight:650;letter-spacing:-.09em;margin:20px 0 24px}.bonus-number span{font-size:.46em;letter-spacing:-.08em;vertical-align:top;position:relative;top:18px}.bonus-content h2{font-size:clamp(30px,3.3vw,54px);line-height:1.05;margin-bottom:22px}.bonus-content>p:not(.eyebrow){font-size:14px;line-height:1.85;max-width:420px}.bonus-content small{display:block;font-size:10px;line-height:1.8;max-width:400px;color:#aaa;margin-top:15px}.bonus-content .button{margin-top:27px;min-height:49px;font-size:11px}
.smart-section{background:#fff;color:#090909;padding-bottom:65px}.smart-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.smart-image{height:650px;position:sticky;top:30px}.smart-image img{height:calc(100% + 64px);margin-top:-32px;transform:translateY(var(--parallax-y,0px))}.smart-image figcaption{position:absolute;bottom:18px;left:20px;right:20px;color:#fff;font-size:9px;text-shadow:0 1px 7px #000}.smart-detail{border-top:1px solid var(--line)}.smart-detail:last-of-type{border-bottom:1px solid var(--line)}.smart-detail summary{list-style:none;display:flex;align-items:baseline;gap:20px;padding:28px 0;cursor:pointer;font-size:25px;font-weight:550;letter-spacing:-.035em;line-height:1.2}.smart-detail summary small{font-size:10px;letter-spacing:0;color:#888;flex:0 0 20px}.smart-detail summary::after{content:'+';font-size:25px;font-weight:300;margin-left:auto}.smart-detail[open] summary::after{content:'−'}.smart-detail ul{list-style:none;padding:0 0 27px 40px;display:grid;gap:12px;color:#646464;font-size:13px}.smart-detail li{position:relative;padding-left:15px}.smart-detail li::before{content:'';width:3px;height:3px;background:#777;border-radius:50%;position:absolute;top:10px;left:0}.smart-guarantees{display:flex;flex-wrap:wrap;gap:13px 25px;margin-top:30px;font-size:10px;font-weight:500;color:#444}.supplier-section{background:#fff;padding:0 0 85px;border-bottom:1px solid #ddd}.supplier-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:22px}.supplier-heading>p:last-child{font-size:12px;color:#777}.supplier-logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:30px;min-height:150px;background:#fff}.supplier-logo{height:140px;display:flex;align-items:center;justify-content:center;background:#fff}.supplier-logo img{object-fit:contain;width:75%;max-width:180px;height:60px}.supplier-grohe img{width:112px;height:86px}.supplier-gewiss img{width:170px;height:114px}.supplier-artceram img{max-width:175px}
.complex-intro{padding-bottom:60px}.complex-heading{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.complex-heading h2{margin-top:22px}.complex-heading>div:last-child{padding-top:25px}.complex-heading p:not(.eyebrow){font-size:15px;line-height:1.85;color:#666;max-width:560px;margin-bottom:22px}.cinema-image{height:650px;position:relative;overflow:hidden;margin-inline:32px}.cinema-image>img{height:calc(100% + 64px);margin-top:-32px;transform:translateY(var(--parallax-y,0px))}.cinema-image::after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#0009)}.cinema-caption{position:absolute;bottom:40px;left:40px;right:40px;display:flex;justify-content:space-between;align-items:end;gap:30px;color:#fff}.cinema-caption h3{font-size:clamp(40px,5vw,70px);font-weight:650;line-height:1}.cinema-caption p{text-align:right;max-width:270px;font-size:10px;line-height:1.7}.project-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;padding:48px 0;border-bottom:1px solid var(--line)}.project-stats strong{font-size:55px;font-weight:550;line-height:1.1;letter-spacing:-.06em}.project-stats p{font-size:12px;color:#777;line-height:1.8;margin-top:13px}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;padding-top:50px}.details-grid .detail-index{display:block;font-size:9px;letter-spacing:.05em;color:#777;margin-bottom:20px}.details-grid h3{font-size:24px;font-weight:600;margin-bottom:20px}.details-grid p{font-size:13px;color:#666;line-height:1.85}.location-section{padding-top:15px}.location-image{display:block;overflow:hidden}.location-image img{height:auto;transition:transform 1.5s var(--ease)}.location-image:hover img{transform:scale(1.025)}.location-caption{display:flex;justify-content:space-between;gap:30px;margin-top:16px;color:#777;font-size:10px;line-height:1.8}.location-caption a{text-decoration:underline;text-underline-offset:4px}
/* The brochure form comes after the apartments, benefits and location. */
.contact-section{border-top:1px solid var(--line);padding-top:95px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:start}.contact-intro h2{margin:24px 0}.contact-intro>p:not(.eyebrow){font-size:14px;color:#777;max-width:420px;line-height:1.85}.contact-photo{margin-top:35px;height:250px}.contact-meta{margin-top:22px;display:flex;justify-content:space-between;align-items:end;gap:25px;font-size:11px;line-height:1.7;color:#666}.contact-meta .phone{font-size:22px;letter-spacing:-.035em;color:#111}.campaign-page .lead-form.lead-contact{margin:0;padding:0;background:#fff;border:0;border-radius:0;box-shadow:none}.campaign-page .lead-contact h3{font-family:Inter,Arial,sans-serif;font-weight:600;font-size:28px;letter-spacing:-.04em}.campaign-page .lead-contact input,.campaign-page .lead-contact select{width:100%;max-width:100%;min-width:0;background:#f5f5f5;color:#111;border:1px solid #f0f0f0;border-radius:30px;padding:15px 20px;min-height:56px}.campaign-page .lead-contact input::placeholder{color:#777}.campaign-page .lead-contact input:focus,.campaign-page .lead-contact select:focus{outline-color:#333}.campaign-page .lead-contact .country-select-wrap,.campaign-page .phone-country-row{min-width:0}.campaign-page .lead-contact .form-result{background:#fff;border-color:#777}.campaign-page .lead-contact .contact-submit{font-size:12px;min-height:53px;width:auto;min-width:230px;padding-inline:35px}.campaign-page .lead-contact .demo-note{color:#777;border-color:#ddd;font-size:10px}.campaign-page .lead-contact .privacy-note{font-size:10px;color:#777}.campaign-page .lead-contact .field-help{color:#777}.campaign-page .lead-contact .contact-form-description{font-size:13px;margin-bottom:30px}.campaign-page .lead-contact .phone-prefix{color:#111}.campaign-page .lead-contact [aria-invalid="true"]{border-color:#9b382d}
.process-section{background:#f3f3f3}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:45px}.steps article{border-top:1px solid #ccc;padding-top:22px}.steps b{display:block;font-size:12px;font-weight:400;color:#777;margin-bottom:30px}.steps h3{font-size:28px;font-weight:550;line-height:1.15;margin-bottom:19px}.steps p{font-size:13px;line-height:1.85;color:#666;max-width:340px}.campaign-terms{border-top:1px solid #ccc;padding-top:30px;margin-top:55px;display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.campaign-terms h3{font-size:22px;font-weight:550;line-height:1.4}.campaign-terms p{font-size:11px;color:#666;line-height:1.9}.campaign-terms p+p{margin-top:10px}.campaign-terms a{border-bottom:1px solid #777}.faq-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.faq-section h2{margin-top:22px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;align-items:baseline;justify-content:space-between;gap:30px;padding:24px 0;font-size:15px;cursor:pointer}.faq-list summary::after{content:'+';font-size:23px;font-weight:300}.faq-list details[open] summary::after{content:'−'}.faq-list p{padding:0 35px 25px 0;font-size:13px;line-height:1.85;color:#777}.campaign-footer{background:#090909;color:#fff;padding:60px 0 26px;overflow:hidden}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;font-size:12px;line-height:1.9}.footer-top .eyebrow{color:#999;font-size:9px;margin-bottom:12px}.footer-top a{display:block}.footer-top>div:last-child{text-align:right}.footer-logo{object-fit:contain;width:100%;height:clamp(100px,20vw,280px);filter:brightness(0) invert(1);margin:65px 0 30px}.footer-bottom{display:flex;justify-content:space-between;gap:40px;font-size:9px;color:#888;border-top:1px solid #333;padding-top:20px;line-height:1.8}.footer-bottom p{max-width:800px}.footer-bottom a{white-space:nowrap}.mobile-cta{display:none}.campaign-page .whatsapp-contact{background:#090909;color:#fff;border:1px solid #666;box-shadow:0 5px 18px #0002;min-height:48px;gap:8px;padding:9px 14px 9px 11px}.campaign-page .whatsapp-contact:hover{background:#333}.campaign-page .whatsapp-contact svg{width:24px;height:24px}.campaign-page .whatsapp-contact__label{font-size:9px}.campaign-page .whatsapp-contact__number{font-size:12px}
/* Motion is an enhancement; without JS everything stays visible. */
.has-motion [data-reveal]{opacity:0;transform:translateY(35px);transition:opacity .85s ease,transform 1.1s var(--ease);transition-delay:var(--reveal-delay,0ms)}.has-motion [data-reveal].is-revealed{opacity:1;transform:translateY(0)}.offer-label{animation:offer-in .8s .1s both}.offer-title .offer-first{animation:offer-in 1s .16s both}.offer-title strong{animation:offer-in 1.25s .25s both}.offer-description,.hero-actions,.offer-condition{animation:offer-in 1s .4s both}@keyframes offer-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.campaign-hero{padding-bottom:40px}.offer-condition{font-size:11px}}
@media(max-width:1150px){.campaign-nav{font-size:10px;gap:15px}.header-location{font-size:9px}.hero-wrap{width:calc(100% - 64px)}.offer-title{font-size:13vw}.apartment-grid{gap:22px}.apartment-image{height:350px}.apartment-body h3{font-size:31px}.apartment-price strong{font-size:32px}.smart-value{gap:8px}.smart-value span{font-size:10px}.smart-value strong{font-size:23px}.smart-value>b{font-size:8px;padding:5px 7px}.campaign-f2 .apartment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 25px}.bonus-content{padding:45px}.bonus-section{min-height:610px}.smart-layout{gap:45px}.smart-image{height:570px}.smart-detail summary{font-size:22px}.complex-heading{gap:60px}.contact-grid{gap:50px}.campaign-page .lead-form.lead-contact{padding:0}.faq-section{gap:50px}.steps{gap:35px}.details-grid{gap:35px}}
@media(max-width:850px){.wrap{width:calc(100% - 40px)}.section{padding-block:80px}.campaign-header{width:calc(100% - 40px);grid-template-columns:1fr;gap:13px;padding:22px 0 17px;min-height:0}.campaign-brand{grid-column:1;grid-row:1;justify-self:center;width:157px;height:40px}.campaign-nav{grid-column:1;grid-row:2;justify-content:center;font-size:10px;gap:40px}.header-location{display:none}.campaign-hero{padding-top:180px;min-height:max(750px,100svh)}.hero-wrap{width:calc(100% - 40px)}.offer-title{font-size:14.2vw}.offer-title .offer-first{font-size:.37em}.offer-description{font-size:16px}.hero-footer{font-size:8px}.hero-footer a{display:none}.arrival-line{gap:20px;font-size:11px}.arrival-line>p:first-child{display:none}.section-heading{gap:30px}.section-heading h2{font-size:48px}.section-heading>p{font-size:13px;max-width:270px}.apartment-grid{gap:18px}.apartment-image{height:290px}.apartment-body h3{font-size:26px}.apartment-price strong{font-size:29px}.smart-value{display:block}.smart-value>b{display:inline-block;margin-top:10px}.apartment-body .button{font-size:10px;padding-inline:9px}.apartment-price small{font-size:10px}.plan-disclosure summary{font-size:10px}.bonus-section{margin-inline:20px;min-height:580px;border-radius:25px;grid-template-columns:.85fr 1.15fr}.bonus-content{padding:34px}.bonus-content h2{font-size:33px}.bonus-content>p:not(.eyebrow){font-size:13px}.bonus-number{font-size:125px}.bonus-number span{top:11px}.smart-layout{gap:30px}.smart-image{height:550px}.smart-detail summary{font-size:21px;gap:12px}.smart-detail ul{font-size:12px;padding-left:32px}.supplier-logos{gap:15px;min-height:130px}.supplier-logo{height:120px}.supplier-grohe img{width:80px;height:65px}.supplier-gewiss img{width:130px;height:90px}.complex-heading{gap:40px}.complex-heading h2{font-size:48px}.complex-heading p:not(.eyebrow){font-size:13px}.cinema-image{height:520px;margin-inline:20px}.cinema-caption{left:25px;right:25px;bottom:30px}.cinema-caption h3{font-size:45px}.project-stats{gap:23px}.project-stats strong{font-size:40px}.project-stats p{font-size:10px}.details-grid{gap:30px}.details-grid h3{font-size:21px}.details-grid p{font-size:12px}.contact-grid{gap:35px;grid-template-columns:.85fr 1.15fr}.contact-intro h2{font-size:43px}.contact-intro>p:not(.eyebrow){font-size:13px}.contact-photo{height:210px}.contact-meta{display:block;font-size:10px}.contact-meta .phone{display:block;font-size:20px;margin-bottom:15px}.campaign-page .lead-form.lead-contact{padding:0}.campaign-page .lead-contact h3{font-size:25px}.campaign-page .phone-country-row{grid-template-columns:1fr}.campaign-page .contact-fields{grid-template-columns:1fr}.steps{gap:25px}.steps h3{font-size:25px}.campaign-terms{gap:40px}.faq-section{gap:35px}.faq-section h2{font-size:45px}}
@media(max-width:640px){.wrap,.hero-wrap{width:calc(100% - 36px)}.section{padding-block:62px}.campaign-header{width:calc(100% - 36px);padding-top:22px;gap:18px}.campaign-nav{font-size:9px;justify-content:space-between;gap:20px}.campaign-hero{min-height:max(740px,100svh);padding:185px 0 25px;align-items:end}.hero-media img,.hero-media video{object-position:58% center}.hero-media::after{background:linear-gradient(180deg,#0005 0%,#0001 24%,#0005 49%,#000c 100%),linear-gradient(90deg,#0005,#0000)}.offer-label{font-size:8px;letter-spacing:.06em;padding:9px 12px;margin-bottom:24px}.offer-title{font-size:18.1vw;line-height:1.04;letter-spacing:-.068em}.offer-title .offer-first{font-size:.40em;margin-bottom:6px;letter-spacing:-.045em}.offer-description{font-size:14px;line-height:1.8;margin-top:23px;max-width:360px}.hero-actions{align-items:flex-start;flex-direction:column;gap:13px;margin-top:25px}.hero-actions .button{width:100%;min-height:53px;font-size:12px}.hero-actions .text-link{font-size:11px;align-self:center}.offer-condition{font-size:9px;line-height:1.7;margin-top:19px;max-width:370px;color:#ccc}.hero-footer{font-size:8px;line-height:1.8;letter-spacing:.015em;padding-top:17px;margin-top:32px;gap:20px;align-items:start}.hero-footer>span:last-of-type{text-align:right;max-width:100px}.campaign-f2 .offer-title{font-size:16.5vw}.campaign-f2 .offer-title .offer-first{font-size:.38em}.arrival-line{padding-block:22px;gap:15px;font-size:10px}.arrival-line a{font-size:9px;white-space:nowrap}.section-heading{display:block;margin-bottom:32px}.section-heading h2{font-size:40px;margin-top:18px;letter-spacing:-.05em}.section-heading>p{max-width:none;margin-top:23px;font-size:13px;line-height:1.85}.apartment-grid,.campaign-f2 .apartment-grid{grid-template-columns:1fr;gap:48px}.apartment-image,.campaign-f2 .apartment-image{height:auto;aspect-ratio:1/1.04}.apartment-body{padding-top:24px}.apartment-body h3,.campaign-f2 .apartment-body h3{font-size:35px;margin:8px 0 18px}.apartment-price strong,.campaign-f2 .apartment-price strong{font-size:35px}.apartment-price small{font-size:11px}.smart-value{display:flex;padding-block:17px;margin:20px 0 10px}.smart-value span{font-size:11px}.smart-value strong{font-size:26px}.smart-value>b{margin:0;font-size:9px;padding:6px 10px}.campaign-f2 .smart-value strong{font-size:22px}.apartment-body .button{font-size:12px;min-height:51px;margin-top:17px}.plan-disclosure summary{font-size:12px}.offer-footnote{font-size:10px;margin-top:32px}.bonus-section{display:flex;flex-direction:column;margin:0 14px;border-radius:24px;min-height:0}.bonus-visual{order:2;height:310px}.bonus-visual img{object-position:center 47%}.bonus-content{padding:35px 25px 37px;width:100%}.bonus-content .eyebrow{font-size:9px}.bonus-number{font-size:41vw;margin:18px 0 22px}.bonus-number span{top:12px}.bonus-content h2{font-size:34px;margin-bottom:21px}.bonus-content>p:not(.eyebrow){font-size:14px}.bonus-content small{font-size:10px}.bonus-content .button{font-size:11px;min-height:48px}.smart-section{padding-bottom:45px}.smart-layout{display:flex;flex-direction:column;gap:30px}.smart-image{position:relative;top:auto;height:410px;width:100%}.smart-content{width:100%}.smart-detail summary{font-size:23px;padding:24px 0;gap:13px}.smart-detail ul{font-size:13px;padding-left:34px}.smart-guarantees{font-size:10px;gap:12px 18px}.supplier-section{padding-bottom:45px}.supplier-heading{display:block;margin-bottom:12px}.supplier-heading .eyebrow{font-size:10px}.supplier-heading>p:last-child{font-size:12px;margin-top:8px}.supplier-logos{grid-template-columns:repeat(6,1fr);gap:8px}.supplier-logo{grid-column:span 2;height:100px}.supplier-logo img{width:90%;max-width:120px;height:50px}.supplier-grohe img{width:73px;height:57px}.supplier-gewiss{grid-column:2/span 2}.supplier-gewiss img{width:140px;height:95px}.supplier-artceram{grid-column:4/span 2}.complex-intro{padding-bottom:32px}.complex-heading{display:block}.complex-heading h2{font-size:42px;margin:18px 0 25px}.complex-heading>div:last-child{padding-top:0}.complex-heading p:not(.eyebrow){font-size:14px}.cinema-image{height:470px;margin:0 14px}.cinema-caption{display:block;left:22px;right:22px;bottom:25px}.cinema-caption h3{font-size:37px}.cinema-caption p{text-align:left;margin-top:20px;font-size:9px}.project-stats{grid-template-columns:1fr 1fr;padding-block:34px;gap:30px 20px}.project-stats strong{font-size:44px}.project-stats p{font-size:10px;margin-top:10px}.details-grid{grid-template-columns:1fr;gap:28px;padding-top:35px}.details-grid article{border-bottom:1px solid #ddd;padding-bottom:27px}.details-grid article:last-child{border:0;padding:0}.details-grid h3{font-size:23px;margin-bottom:15px}.details-grid p{font-size:13px}.details-grid .detail-index{margin-bottom:12px}.location-section{padding-top:12px}.location-caption{display:block;font-size:9px}.location-caption a{display:inline-block;margin-top:8px}.contact-section{padding-top:50px}.contact-grid{display:block}.contact-intro h2{font-size:42px;margin:18px 0 22px}.contact-intro>p:not(.eyebrow){font-size:13px}.contact-photo,.contact-meta{display:none}.campaign-page .lead-form.lead-contact{margin-top:32px;padding:0;border-radius:0}.campaign-page .lead-contact h3{font-size:27px}.campaign-page .lead-contact .contact-form-description{font-size:13px;margin-bottom:30px}.steps{grid-template-columns:1fr;gap:27px;margin-top:32px}.steps article{display:grid;grid-template-columns:30px 1fr;gap:10px 15px;padding-top:20px}.steps b{grid-column:1;grid-row:1/3;margin:3px 0 0}.steps h3{grid-column:2;font-size:26px;margin:0}.steps p{grid-column:2;font-size:13px;max-width:none}.campaign-terms{grid-template-columns:1fr;gap:20px;margin-top:35px;padding-top:27px}.campaign-terms h3{font-size:21px}.campaign-terms p{font-size:11px}.faq-section{display:block}.faq-section h2{font-size:40px;margin-bottom:32px}.faq-list summary{font-size:14px;gap:20px;padding-block:21px}.faq-list p{padding-right:0;font-size:13px}.campaign-footer{padding:38px 0 105px}.footer-top{grid-template-columns:1fr 1fr;gap:26px;font-size:10px}.footer-top>div:last-child{grid-column:1/-1;text-align:left;display:flex;gap:15px 25px;flex-wrap:wrap}.footer-top>div:last-child .eyebrow{width:100%;margin-bottom:-5px}.footer-logo{height:95px;margin:35px 0}.footer-bottom{display:block;font-size:8px}.footer-bottom a{display:inline-block;margin-top:15px}.mobile-cta{display:flex;align-items:center;justify-content:center;position:fixed;bottom:12px;left:14px;right:14px;z-index:20;min-height:50px;border-radius:30px;background:#090909;color:#fff;border:1px solid #777;font-size:12px;font-weight:550;box-shadow:0 5px 25px #0002}.campaign-page .whatsapp-contact{bottom:76px;right:14px;min-height:42px;padding:8px 12px 8px 9px}.campaign-page:has(.mobile-cta[hidden]) .whatsapp-contact{bottom:14px}.campaign-page .whatsapp-contact__label{display:none}.campaign-page .whatsapp-contact__number{font-size:11px}.campaign-page .whatsapp-contact svg{width:22px;height:22px}}
@media(max-width:360px){.offer-description{font-size:13px}.offer-label{font-size:7px}.offer-title .offer-first{font-size:.40em}.campaign-nav{font-size:8px}.campaign-hero{min-height:730px}.section-heading h2,.complex-heading h2,.contact-intro h2{font-size:35px}.bonus-content{padding:30px 21px}.bonus-content h2{font-size:29px}.campaign-page .lead-form.lead-contact{padding:0}.supplier-logo img{max-width:95px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.has-motion [data-reveal]{opacity:1;transform:none}[data-parallax]{transform:none!important}.hero-media video{display:none}}

/* Form vocabulary follows the original SeaYou contact page: white canvas, soft grey pill fields. */
.campaign-page .lead-contact label{font-size:14px;font-weight:600;letter-spacing:0;text-transform:uppercase;color:#919191;margin-bottom:14px}.campaign-page .contact-fields{gap:27px 20px}.campaign-page .lead-contact .phone-prefix{left:20px}.campaign-page .lead-contact .phone-number-wrap input{padding-left:calc(var(--prefix-width,53px) + 7px)}.campaign-page .lead-contact input:focus,.campaign-page .lead-contact select:focus{background:#fafafa;outline:1px solid #111;outline-offset:1px}.campaign-page .lead-contact .contact-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.campaign-page .contact-form-description{color:#777}.campaign-page .lead-contact .contact-submit:disabled{background:#333}
@media(max-width:640px){.campaign-page .lead-contact .contact-submit{width:100%}.contact-section .contact-intro>p:not(.eyebrow){max-width:350px}.campaign-page .contact-fields{gap:24px}.campaign-page .lead-contact label{font-size:12px}}

/* Integrated logo and purchase message. */
.campaign-header{top:0;min-height:94px}.offer-purchase{display:block;font-size:clamp(27px,3.3vw,50px);font-weight:650;letter-spacing:-.04em;line-height:1.12;margin-bottom:25px}.offer-description{max-width:655px;font-size:15px;line-height:1.8}.campaign-f1 .campaign-hero{padding-top:190px;min-height:max(870px,100svh)}.offer-purchase{animation:offer-in 1s .12s both}.campaign-page .whatsapp-contact{background:#25d366;color:#fff;width:58px;height:58px;min-height:58px;max-width:58px;padding:0;gap:0;border-radius:50%;border-color:#ffffff80;justify-content:center;box-shadow:0 5px 20px #0003}.campaign-page .whatsapp-contact:hover{background:#1ebe5d}.campaign-page .whatsapp-contact svg{width:30px;height:30px}
@media(max-width:850px){.campaign-header{top:0;padding:21px 0;display:flex;justify-content:center;min-height:82px}.offer-purchase{font-size:30px}}
@media(max-width:640px){.campaign-header{top:0;padding:20px 0;min-height:82px}.offer-purchase{font-size:24px;line-height:1.15;margin-bottom:22px;max-width:350px}.campaign-f1 .campaign-hero{min-height:max(850px,100svh);padding-top:178px}.offer-description{font-size:13px;line-height:1.8;margin-top:20px;max-width:360px}.campaign-page .whatsapp-contact{width:52px;height:52px;min-height:52px;max-width:52px;padding:0}.campaign-page .whatsapp-contact svg{width:28px;height:28px}}
@media(max-width:360px){.offer-purchase{font-size:22px}.campaign-f1 .campaign-hero{min-height:850px}}

.campaign-header .header-location{grid-column:3;grid-row:1}

.offer-title--limited .offer-first{font-size:clamp(24px,3.3vw,50px);line-height:1.25;letter-spacing:0;max-width:1000px;margin-bottom:12px}
.offer-title--limited strong{font-size:clamp(52px,9vw,136px);font-weight:700;line-height:1.08;letter-spacing:.01em}
@media(max-width:640px){.offer-title--limited .offer-first{font-size:7.3vw;max-width:340px}.offer-title--limited strong{font-size:13.2vw}}

/* Keep the Phase 2 headline readable at every screen width. */
.campaign-f2 .offer-title{letter-spacing:.01em;line-height:1.12}
.campaign-f2 .offer-title strong{font-weight:700}
.campaign-f2 .offer-title .offer-first{letter-spacing:0;line-height:1.25;margin-bottom:14px}
@media(max-width:640px){.campaign-f2 .offer-title{font-size:14.5vw}}

/* Phase 2 compares the project price with the announced January price. */
.campaign-f2 .project-price-comparison{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;padding-block:17px;align-items:start}
.campaign-f2 .project-price-comparison span{font-size:10px;line-height:1.6;margin-bottom:6px}
.campaign-f2 .project-price-comparison strong{font-size:22px;white-space:nowrap;line-height:1.25}
.campaign-f2 .project-price-comparison>div:first-child strong{color:#777;font-weight:450}
.reservation-value{background:#f3f3f3;width:100%;border-radius:16px;padding:17px 18px}
.reservation-value>span{display:block;font-size:10px;color:#666;line-height:1.5}
.reservation-value>strong{display:block;font-size:26px;letter-spacing:-.035em;line-height:1.3;margin-top:6px;font-weight:600}
.reservation-value small{font-size:10px;font-weight:400;letter-spacing:0;color:#666;white-space:nowrap}
.payment-section .section-heading{margin-bottom:15px}
.payment-schedule{border-bottom:0;padding-block:34px 0;gap:0}
.payment-schedule>div{border-top:1px solid #bbb;padding:25px 30px 0 0;min-width:0}
.payment-schedule>div+div{padding-left:30px;border-left:1px solid #ddd}
.payment-schedule strong{font-size:clamp(55px,6vw,90px);font-weight:650}
.payment-schedule p{font-size:13px;color:#555;line-height:1.8}
.payment-section .offer-footnote{margin-top:30px}
@media(min-width:1151px){.campaign-f2 .apartment-price strong{font-size:clamp(29px,2.7vw,42px)}}
@media(max-width:850px){.campaign-f2 .project-price-comparison strong{font-size:25px}.payment-schedule>div+div{padding-left:20px}.payment-schedule>div{padding-right:15px}.payment-schedule p{font-size:11px}}
@media(max-width:640px){.campaign-f2 .project-price-comparison strong{font-size:26px}.campaign-f2 .project-price-comparison span{font-size:11px}.reservation-value>strong{font-size:30px}.reservation-value>span,.reservation-value small{font-size:11px}.payment-schedule{grid-template-columns:1fr 1fr;gap:30px 0}.payment-schedule>div:nth-child(3){padding-left:0;border-left:0}.payment-schedule strong{font-size:62px}.payment-schedule p{font-size:12px}}

/* Campaign prices stay separate from package values and reservation deposits. */
.campaign-page {
  --offer-green: #087b42;
  --offer-green-light: #eaf7ef;
  --offer-red: #bc3039;
}
.price-reference {
  display: block;
  width: fit-content;
  color: var(--offer-red);
  font-size: 30px;
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: 0;
  text-decoration-thickness: 2px;
  text-decoration-color: var(--offer-red);
  white-space: nowrap;
}
.price-offer {
  color: var(--offer-green);
  font-variant-numeric: tabular-nums;
}
.deal-reference > span, .deal-current > span {
  display: block;
  font-size: 11px;
  line-height: 1.5;
  color: #555;
  margin-bottom: 7px;
}
.deal-reference > small, .deal-current > small {
  display: block;
  font-size: 11px;
  line-height: 1.5;
  margin-top: 5px;
  color: #626262;
}
.deal-current > .price-offer {
  display: block;
  font-size: 54px;
  font-weight: 750;
  line-height: 1.1;
  letter-spacing: -.025em;
  white-space: nowrap;
}
.offer-deal {
  padding: 26px 0;
  background: transparent;
  color: inherit;
  border: 0;
  border-block: 1px solid #d5d5d5;
  border-radius: 0;
  min-width: 0;
}
.deal-kicker {
  font-size: 11px;
  font-weight: 750;
  line-height: 1.6;
  letter-spacing: .06em;
  padding-bottom: 19px;
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: 21px;
}
.deal-comparison { display: grid; gap: 18px; }
.deal-saving {
  display: block;
  background: var(--offer-green-light);
  color: #066534;
  border: 1px solid #cee8d7;
  border-radius: 8px;
  padding: 11px 13px;
  font-size: 13px;
  line-height: 1.6;
  font-weight: 600;
  margin-top: 21px;
}
.deal-saving strong { font-size: 1.15em; font-weight: 750; white-space: nowrap; }
.deal-note { color: #626262; font-size: 10px; line-height: 1.7; margin-top: 15px; }
.offer-deal--hero {
  --offer-green: #b5edc9;
  --offer-red: #ffb1b1;
  border-color: #ffffff65;
  color: #fff;
  box-shadow: none;
  text-shadow: 0 2px 14px #0004;
}
.campaign-hero:has(.offer-deal--hero) .hero-media::after {
  background: linear-gradient(90deg,#0009 0%,#0005 45%,#0009 100%),linear-gradient(180deg,#0004 0%,#0000 30%,#0004 65%,#000b 100%);
}
.offer-deal .deal-kicker {
  border: 0;
  padding: 0;
  margin-bottom: 26px;
  font-size: 10px;
  font-weight: 550;
  letter-spacing: .1em;
  line-height: 1.7;
}
.offer-deal .deal-saving {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin-top: 25px;
  font-size: 12px;
  font-weight: 500;
  color: inherit;
}
.offer-deal .deal-saving strong { font-size: 1.25em; }
.offer-deal--hero .deal-reference > span,
.offer-deal--hero .deal-current > span { color: #ffffffd9; font-size: 11px; }
.offer-deal--hero .deal-reference > small,
.offer-deal--hero .deal-current > small { color: #ffffffd9; }
.offer-deal--hero .price-reference { font-size: 34px; font-weight: 500; }
.offer-deal--hero .deal-current > .price-offer { font-size: 58px; font-weight: 650; letter-spacing: 0; }
.campaign-f1 .offer-deal--hero .deal-current > .price-offer { font-size: 78px; line-height: 1; }
.offer-deal--hero .deal-note { color: #ffffffc7; margin-top: 12px; max-width: 340px; }
.has-offer-deal { max-width: none; }
.campaign-f1 .campaign-hero { min-height: max(780px,100svh); padding-top: 140px; }
.has-offer-deal .offer-label {
  width: fit-content;
  font-weight: 750;
  background: #ffffff15;
  border-color: #ffffff90;
}
.offer-deal--recap { margin-top: 27px; padding: 25px 0; }
.campaign-page .contact-intro h2 { font-size: clamp(34px,3.8vw,58px); letter-spacing: -.02em; line-height: 1.12; }
.offer-deal--recap .deal-comparison { grid-template-columns: 1fr 1fr; gap: 18px; }
.offer-deal--recap .deal-current > .price-offer { font-size: clamp(28px,2.7vw,43px); }
.offer-deal--recap .price-reference { font-size: 26px; }
.offer-deal--recap .deal-kicker { margin-bottom: 20px; padding-bottom: 0; }
.apartment-panel {
  border: 1px solid #e1e5e2;
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 8px 35px #00000006;
}
.apartment-deal-badge {
  position: absolute;
  top: 16px;
  left: 14px;
  right: 14px;
  z-index: 2;
  width: fit-content;
  max-width: calc(100% - 28px);
  padding: 9px 13px;
  background: var(--offer-green);
  color: #fff;
  border-radius: 6px;
  box-shadow: 0 3px 14px #0002;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.5;
  letter-spacing: .025em;
}
.apartment-body { padding: 25px 24px 26px; }
.apartment-section .section-heading h2 { letter-spacing: -.025em; line-height: 1.12; }
.apartment-body h3 { letter-spacing: -.02em; line-height: 1.15; }
.apartment-body .apartment-price { width: 100%; }
.apartment-body .apartment-price > span { font-size: 11px; letter-spacing: 0; color: #555; }
.apartment-body .apartment-price .price-offer { font-weight: 750; letter-spacing: -.02em; }
.apartment-body .button { background: var(--offer-green); border-color: var(--offer-green); color: #fff; }
.apartment-body .button:hover { background: #066134; border-color: #066134; }
.apartment-reference { margin-bottom: 17px; }
.apartment-reference .price-reference { font-size: 26px; }
.apartment-body > .deal-saving { width: 100%; margin-block: 18px 16px; }
.apartment-body .reservation-value { margin-top: 0; border-radius: 8px; }
.smart-value.smart-offer {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 17px 12px;
  padding: 19px 16px 0;
  border: 1px solid #cde5d5;
  border-radius: 12px;
  background: #f2faf5;
  margin: 22px 0 14px;
  align-items: start;
}
.smart-offer .price-reference { font-size: 25px; }
.smart-offer .deal-current > .price-offer { font-size: 42px; }
.smart-offer .deal-current > small { color: #066534; font-size: 10px; font-weight: 650; }
.smart-offer .deal-reference > span, .smart-offer .deal-current > span { color: #4c6253; font-size: 10px; }
.smart-offer > .deal-saving {
  grid-column: 1 / -1;
  border: 0;
  border-top: 1px solid #cde5d5;
  border-radius: 0;
  background: transparent;
  padding: 11px 0;
  margin: 0;
  font-size: 10px;
}
.campaign-f1 .bonus-number { color: #63ed96; font-weight: 750; letter-spacing: -.045em; }
.campaign-f1 .bonus-number span { letter-spacing: 0; }
.campaign-f2 .apartment-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.campaign-f2 .apartment-body { padding-inline: 20px; }
.campaign-f2 .apartment-price .price-offer { font-size: clamp(27px,2.65vw,42px); }

@media(min-width:1101px) {
  .has-offer-deal {
    display: grid;
    grid-template-columns: minmax(0,1fr) 360px;
    column-gap: clamp(36px,4vw,72px);
    align-items: start;
  }
  .has-offer-deal > :not(.offer-deal) { grid-column: 1; }
  .has-offer-deal .offer-deal--hero { grid-column: 2; grid-row: 2 / 6; align-self: center; }
  .has-offer-deal .offer-title--limited strong { font-size: clamp(52px,6.3vw,108px); }
  .has-offer-deal .offer-purchase { font-size: clamp(27px,2.65vw,43px); }
  .has-offer-deal .offer-title--limited .offer-first { font-size: clamp(24px,2.4vw,40px); }
  .campaign-f2 .has-offer-deal .offer-title { font-size: clamp(74px,7.2vw,120px); }
}
@media(max-width:1250px) and (min-width:641px) {
  .apartment-grid, .campaign-f2 .apartment-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
  .campaign-f2 .apartment-price .price-offer { font-size: 37px; }
  .offer-deal--recap .deal-comparison { grid-template-columns: 1fr; }
}
@media(max-width:1100px) {
  .offer-deal--hero { margin-top: 27px; max-width: 640px; }
  .offer-deal--hero .deal-comparison { grid-template-columns: 1fr 1.2fr; align-items: center; }
  .offer-deal--hero .deal-saving { margin-top: 20px; }
  .offer-deal--hero .deal-note { max-width: 480px; }
  .campaign-f1 .campaign-hero, .campaign-f2 .campaign-hero { padding-top: 135px; }
}
@media(max-width:640px) {
  .campaign-f1 .campaign-hero, .campaign-f2 .campaign-hero { padding-top: 122px; }
  .has-offer-deal .offer-purchase { font-size: 6.2vw; margin-bottom: 17px; }
  .has-offer-deal .offer-title--limited .offer-first { font-size: 6.2vw; max-width: none; }
  .has-offer-deal .offer-title--limited strong { font-size: 12.4vw; }
  .campaign-f2 .has-offer-deal .offer-title { font-size: 13.5vw; }
  .offer-deal { padding: 23px 0; border-block-width: 1px; border-radius: 0; }
  .offer-deal--hero { margin-top: 24px; }
  .offer-deal--hero .deal-comparison { grid-template-columns: 1fr 1.12fr; gap: 15px; }
  .deal-kicker { font-size: 9px; margin-bottom: 15px; padding-bottom: 13px; }
  .deal-current > .price-offer { font-size: clamp(28px,8.2vw,50px); }
  .offer-deal .deal-kicker { font-size: 9px; margin-bottom: 22px; }
  .offer-deal .deal-saving { font-size: 11px; margin-top: 21px; }
  .offer-deal--hero .price-reference { font-size: clamp(25px,7vw,36px); }
  .offer-deal--hero .deal-current > .price-offer { font-size: clamp(30px,8.8vw,48px); }
  .campaign-f1 .offer-deal--hero .deal-current > .price-offer { font-size: 58px; }
  .offer-deal--hero .deal-reference > span, .offer-deal--hero .deal-current > span { font-size: 10px; }
  .price-reference, .offer-deal--recap .price-reference { font-size: clamp(23px,6.2vw,34px); }
  .deal-reference > span, .deal-current > span { font-size: 9px; }
  .deal-reference > small, .deal-current > small { font-size: 9px; }
  .deal-saving { font-size: 11px; padding: 9px 11px; }
  .deal-note { font-size: 9px; margin-top: 12px; }
  .offer-deal--recap .deal-comparison { grid-template-columns: 1fr 1.12fr; gap: 15px; }
  .offer-deal--recap .deal-current > .price-offer { font-size: clamp(28px,8.2vw,43px); }
  .apartment-grid, .campaign-f2 .apartment-grid { grid-template-columns: 1fr; gap: 32px; }
  .apartment-image, .campaign-f2 .apartment-image { aspect-ratio: 1.15; }
  .apartment-body, .campaign-f2 .apartment-body { padding: 23px 22px 25px; }
  .apartment-body .apartment-price .price-offer { font-size: 38px; }
  .apartment-deal-badge { font-size: 10px; }
  .apartment-reference .price-reference { font-size: 27px; }
  .smart-offer .price-reference { font-size: 24px; }
  .smart-offer .deal-current > .price-offer { font-size: 41px; }
  .apartment-body > .deal-saving { font-size: 13px; }
  .apartment-body .reservation-value > strong { font-size: 27px; }
}

/* Introduce the address and build quality before comparing apartments. */
.complex-overview { padding-block: 68px 35px; }
.complex-overview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px,4.5vw,72px); align-items: stretch; }
.complex-overview-photo { position: relative; min-height: 470px; background: #ededeb; }
.complex-overview-photo img { object-position: 55% center; }
.complex-overview-photo::after { content: ''; position: absolute; inset: 65% 0 0; background: linear-gradient(transparent,#0008); pointer-events: none; }
.complex-overview-photo figcaption { position: absolute; left: 25px; right: 25px; bottom: 23px; z-index: 1; color: #fff; font-size: 11px; line-height: 1.6; }
.complex-overview-copy { padding: 4px 0; }
.complex-overview-copy h2 { margin-top: 17px; font-size: clamp(32px,3.3vw,51px); line-height: 1.12; letter-spacing: -.035em; }
.complex-overview-address { margin-top: 16px; font-size: 17px; }
.complex-highlights { display: grid; gap: 21px; margin-top: 31px; }
.complex-highlights h3 { font-size: 19px; line-height: 1.25; letter-spacing: -.015em; margin-bottom: 7px; }
.complex-highlights p { max-width: 590px; font-size: 14px; line-height: 1.7; color: #616161; }
.complex-more { margin-top: 21px; font-size: 12px; }
.complex-more summary { cursor: pointer; width: fit-content; border-bottom: 1px solid #aaa; padding-bottom: 3px; }
.complex-more p { margin-top: 12px; max-width: 590px; color: #616161; line-height: 1.7; }
.complex-overview-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 26px; margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--line); }
.complex-overview-stats strong { display: block; font-size: clamp(27px,2.8vw,40px); font-weight: 550; letter-spacing: -.025em; line-height: 1.2; }
.complex-overview-stats span { display: block; margin-top: 8px; font-size: 12px; color: #666; line-height: 1.6; }
.complex-overview-note { margin-top: 22px; font-size: 10px; color: #777; line-height: 1.7; }
.complex-overview + .apartment-section { padding-top: 48px; }

/* Keep all apartment choices together; details stay inline on small screens. */
.apartment-comparison, .apartment-details-close { display: none; }
.apartment-body h3, .campaign-f2 .apartment-body h3 { letter-spacing: -.015em; word-spacing: .05em; }
@media (min-width: 900px) {
  .campaign-f1 .apartment-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
  .apartment-image, .campaign-f2 .apartment-image { height: clamp(210px,21vw,310px); }
  .apartment-body, .campaign-f2 .apartment-body { padding: 21px 20px 23px; }
  .apartment-body h3, .campaign-f2 .apartment-body h3 { font-size: clamp(27px,2.5vw,37px); margin: 8px 0 17px; }
  .apartment-body .apartment-price .price-offer { font-size: clamp(27px,2.8vw,41px); }
  .smart-value.smart-offer { padding: 16px 12px 0; gap: 15px 9px; }
  .smart-offer .price-reference { font-size: clamp(20px,2vw,27px); }
  .smart-offer .deal-current > .price-offer { font-size: 37px; }
  .apartment-body .button { min-height: 48px; padding: 12px 14px; font-size: 11px; }
}
@media (min-width: 1100px) {
  .campaign-f2 .apartment-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; }
  .campaign-f2 .apartment-image { height: clamp(200px,19vw,280px); }
  .campaign-f2 .apartment-body { padding-inline: 18px; }
  .campaign-f2 .apartment-body .apartment-price .price-offer { font-size: clamp(27px,2.5vw,38px); }
}
@media (min-width: 900px) and (max-width: 1099px) {
  .campaign-f2 .apartment-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 899px) {
  .complex-overview-grid { grid-template-columns: 1fr 1.1fr; gap: 27px; }
  .complex-overview-photo { min-height: 440px; }
  .complex-overview-copy h2 { font-size: 30px; }
  .complex-overview-address { font-size: 14px; }
  .complex-highlights { gap: 17px; margin-top: 23px; }
  .complex-highlights h3 { font-size: 17px; }
  .complex-highlights p { font-size: 13px; }
  .comparison-is-compact .apartment-comparison { display: block; }
  .apartment-comparison-hint { font-size: 13px; color: #666; margin: 0 0 17px; }
  .apartment-summary-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; align-items: stretch; }
  .campaign-f2 .apartment-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .apartment-summary { padding: 0; appearance: none; text-align: left; border: 1px solid #dedede; border-radius: 10px; background: #fff; overflow: hidden; color: var(--ink); min-width: 0; font: inherit; transition: border-color .2s,box-shadow .2s; }
  .apartment-summary:hover, .apartment-summary[aria-expanded="true"] { border-color: #111; box-shadow: 0 0 0 1px #111; }
  .apartment-summary > img { height: auto; aspect-ratio: 1.55; object-fit: cover; }
  .apartment-summary-content { display: flex; flex-direction: column; align-items: flex-start; padding: 14px; }
  .apartment-summary-title { font-size: 21px; font-weight: 650; letter-spacing: -.02em; line-height: 1.2; }
  .apartment-summary-area { font-size: 12px; color: #666; line-height: 1.5; margin-top: 7px; min-height: 36px; }
  .apartment-summary-from { margin-top: 12px; font-size: 11px; color: #666; }
  .apartment-summary-price { margin-top: 2px; font-size: clamp(21px,3.9vw,32px); font-weight: 750; line-height: 1.2; color: var(--offer-green); letter-spacing: -.025em; white-space: nowrap; }
  .apartment-summary-tax { font-size: 11px; color: #666; margin-top: 4px; }
  .apartment-summary-benefit { font-size: 12px; color: #066534; font-weight: 600; line-height: 1.5; margin-top: 14px; min-height: 36px; }
  .campaign-f1 .apartment-summary-benefit--smart { display: flex; flex-direction: column; gap: 4px; width: 100%; min-height: 0; padding-top: 11px; border-top: 1px solid #e7e7e7; color: #111; }
  .apartment-summary-smart-value { color: var(--offer-red); font-size: clamp(14px,3.9vw,20px); font-weight: 500; line-height: 1.3; text-decoration-thickness: 1.5px; white-space: nowrap; }
  .apartment-summary-smart-free { color: var(--offer-green); font-size: clamp(14px,4vw,20px); font-weight: 800; line-height: 1.3; }
  .apartment-summary-action { font-size: 12px; margin-top: 15px; border-bottom: 1px solid #aaa; padding-bottom: 2px; }
  .comparison-is-compact .apartment-grid, .campaign-f2 .comparison-is-compact .apartment-grid { display: block; }
  .comparison-is-compact .apartment-panel { margin-top: 23px; border-radius: 12px; }
  .comparison-is-compact .apartment-panel > .apartment-image { display: none; }
  .comparison-is-compact .apartment-details-close { display: block; margin: 17px 20px 0 auto; padding: 0 0 3px; border: 0; border-bottom: 1px solid #aaa; color: #555; background: none; font-size: 12px; }
  .comparison-is-compact .apartment-body, .campaign-f2 .comparison-is-compact .apartment-body { padding: 14px 22px 24px; }
  .comparison-is-compact .apartment-body h3 { font-size: 29px; margin-bottom: 17px; }
  .comparison-is-compact .apartment-body .apartment-price .price-offer { font-size: 35px; }
}
@media (max-width: 640px) {
  .complex-overview { padding-top: 40px; padding-bottom: 22px; }
  .complex-overview-grid { display: flex; flex-direction: column; gap: 26px; }
  .complex-overview-photo { min-height: 0; height: 230px; }
  .complex-overview-photo figcaption { left: 17px; right: 17px; bottom: 15px; font-size: 9px; }
  .complex-overview-copy h2 { font-size: clamp(28px,7.6vw,38px); margin-top: 13px; }
  .complex-overview-address { font-size: 15px; margin-top: 13px; }
  .complex-highlights { margin-top: 25px; gap: 20px; }
  .complex-highlights h3 { font-size: 18px; }
  .complex-highlights p { font-size: 13px; line-height: 1.75; }
  .complex-overview-stats { grid-template-columns: 1fr 1fr; gap: 24px 16px; margin-top: 27px; padding-top: 23px; }
  .complex-overview-stats strong { font-size: 29px; }
  .complex-overview-stats span { font-size: 11px; margin-top: 6px; }
  .complex-overview-note { font-size: 9px; margin-top: 21px; }
  .complex-overview + .apartment-section { padding-top: 38px; }
  .apartment-summary-grid { gap: 8px; }
  .apartment-summary-content { padding: 10px 8px 13px; }
  .apartment-summary-title { font-size: clamp(14px,3.9vw,20px); }
  .apartment-summary-area { font-size: 10px; min-height: 31px; line-height: 1.5; margin-top: 6px; }
  .apartment-summary-from, .apartment-summary-tax { font-size: 10px; }
  .apartment-summary-from { margin-top: 9px; }
  .apartment-summary-price { font-size: clamp(15px,4.2vw,24px); letter-spacing: -.025em; }
  .apartment-summary-benefit { font-size: 11px; min-height: 34px; margin-top: 12px; }
  .apartment-summary-action { font-size: 11px; margin-top: 12px; }
  .apartment-comparison-hint { font-size: 12px; margin-bottom: 14px; }
  .campaign-f2 .apartment-summary-grid { gap: 12px; }
  .campaign-f2 .apartment-summary > img { aspect-ratio: 1.9; }
  .campaign-f2 .apartment-summary-content { padding: 12px; }
  .campaign-f2 .apartment-summary-title { font-size: 18px; }
  .campaign-f2 .apartment-summary-area { font-size: 11px; min-height: 33px; }
  .campaign-f2 .apartment-summary-price { font-size: clamp(22px,6vw,29px); }
  .campaign-f2 .apartment-summary-benefit { min-height: 17px; font-size: 11px; }
}
@media (max-width: 360px) {
  .campaign-f1 .apartment-summary-content { padding-inline: 6px; }
  .campaign-f1 .apartment-summary-price { font-size: 14px; }
  .campaign-f2 .apartment-summary-content { padding-inline: 10px; }
  .campaign-f2 .apartment-summary-price { font-size: 20px; }
}
.campaign-page .lead-contact .terms-check { display:flex; align-items:flex-start; gap:12px; margin-top:24px; }
.campaign-page .lead-contact .terms-check input { flex:0 0 auto; width:20px; min-width:20px; height:20px; min-height:20px; margin:2px 0 0; padding:0; accent-color:#111; }
.campaign-page .lead-contact .terms-check label { margin:0; color:#333; font-size:13px; font-weight:400; line-height:1.6; text-transform:none; }
.campaign-page .lead-contact .terms-check a { color:inherit; text-decoration:underline; }
.campaign-page .lead-contact .terms-error { margin-left:32px; }
.footer-legal-links { display:flex; flex-wrap:wrap; gap:12px 22px; }
@media(max-width:850px) { .footer-legal-links { margin-top:15px; } .footer-legal-links a { margin-top:0; } }
