:root { --ink:#14201d; --pine:#152b27; --deep:#0d1b19; --sage:#70847d; --mist:#e7e9e4; --paper:#f4f1e9; --warm:#d9cdb9; --white:#fffefa; --serif:"Iowan Old Style","Baskerville","Times New Roman",serif; --sans:"Helvetica Neue","Avenir Next","Segoe UI",Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
img { display:block; max-width:100%; }
.section-shell { width:min(1320px,calc(100% - 80px)); margin-inline:auto; }
.section-kicker { color:#68736e; display:block; font-size:11px; font-weight:650; letter-spacing:.19em; text-transform:uppercase; }
.section-kicker::before { content:""; display:inline-block; width:26px; height:1px; margin:0 12px 3px 0; background:currentColor; }
.section-kicker.on-dark { color:#aebbb5; }
h1,h2,h3,p { margin-top:0; }
h2 { font-family:var(--serif); font-size:clamp(48px,5.2vw,78px); font-weight:400; letter-spacing:-.045em; line-height:.98; }
h2 em { color:#77847e; font-weight:400; }

.site-header { align-items:center; color:var(--white); display:grid; gap:36px; grid-template-columns:1fr auto 1fr; height:104px; left:0; padding:0 52px; position:fixed; right:0; top:0; transition:background .35s ease,height .35s ease,border-color .35s ease; z-index:50; }
.site-header.scrolled { backdrop-filter:blur(16px); background:rgba(13,27,25,.92); border-bottom:1px solid rgba(255,255,255,.1); height:78px; }
.brand { align-items:center; display:inline-flex; gap:12px; justify-self:start; line-height:1; width:fit-content; }
.brand-mark { display:grid; gap:3px; grid-template-columns:8px 8px; transform:rotate(-4deg); }
.brand-mark i { background:currentColor; border-radius:1px; height:8px; opacity:.85; }
.brand-mark i:nth-child(3) { opacity:.52; }
.brand-mark i:nth-child(4) { opacity:.28; }
.brand strong { display:block; font-size:15px; letter-spacing:.16em; }
.brand small { display:block; font-size:10px; letter-spacing:.18em; margin-top:5px; opacity:.72; }
.nav { display:flex; gap:32px; }
.nav a { font-size:12px; letter-spacing:.08em; opacity:.82; position:relative; }
.nav a::after { background:currentColor; bottom:-7px; content:""; height:1px; left:0; position:absolute; transform:scaleX(0); transform-origin:right; transition:transform .3s ease; width:100%; }
.nav a:hover::after { transform:scaleX(1); transform-origin:left; }
.header-call { align-items:center; display:flex; font-size:11px; gap:16px; justify-self:end; letter-spacing:.1em; text-transform:uppercase; }
.header-call span + span { align-items:center; border:1px solid rgba(255,255,255,.45); border-radius:50%; display:inline-flex; height:38px; justify-content:center; transition:.25s ease; width:38px; }
.header-call:hover span + span { background:var(--white); color:var(--ink); transform:rotate(45deg); }
.menu-toggle { background:none; border:0; color:inherit; cursor:pointer; display:none; height:44px; padding:0; position:relative; width:44px; }
.menu-toggle i { background:currentColor; height:1px; left:10px; position:absolute; transition:.25s ease; width:24px; }
.menu-toggle i:first-child { top:17px; }
.menu-toggle i:last-child { top:25px; }
.menu-toggle.active i:first-child { top:21px; transform:rotate(45deg); }
.menu-toggle.active i:last-child { top:21px; transform:rotate(-45deg); }

.hero { color:var(--white); min-height:100svh; overflow:hidden; position:relative; }
.hero-image { animation:heroZoom 14s ease-out both; background:url('/img/hero-residence.webp') 60% 53%/cover no-repeat; inset:0; position:absolute; transform:scale(1.04); }
.hero-shade { background:linear-gradient(90deg,rgba(5,18,17,.76) 0%,rgba(5,18,17,.45) 46%,rgba(5,18,17,.13) 76%),linear-gradient(0deg,rgba(5,18,17,.52) 0%,transparent 42%); inset:0; position:absolute; }
.hero-grain { background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.09'/%3E%3C/svg%3E"); inset:0; opacity:.26; pointer-events:none; position:absolute; }
.hero-content { display:flex; flex-direction:column; justify-content:center; margin:0 auto; min-height:100svh; padding:150px 0 108px; position:relative; width:min(1320px,calc(100% - 120px)); z-index:2; }
.hero-eyebrow { animation:heroIn .8s .15s ease both; display:flex; gap:38px; margin-bottom:42px; }
.eyebrow { font-size:10px; font-weight:650; letter-spacing:.21em; text-transform:uppercase; }
.hero-eyebrow span + span::before { content:""; display:inline-block; height:1px; margin:0 16px 3px 0; width:34px; background:rgba(255,255,255,.65); }
.hero h1 { animation:heroIn 1s .25s cubic-bezier(.22,.9,.28,1) both; font-family:var(--serif); font-size:clamp(72px,8.2vw,132px); font-weight:400; letter-spacing:-.055em; line-height:.84; margin:0; max-width:1090px; }
.hero h1 em { color:#d9d2c4; font-weight:400; }
.hero-bottom { align-items:end; animation:heroIn 1s .45s ease both; display:grid; gap:70px; grid-template-columns:minmax(250px,470px) 1fr; margin:56px 0 0 20%; }
.hero-bottom>p { font-family:var(--serif); font-size:19px; line-height:1.55; margin-bottom:0; opacity:.88; }
.hero-actions { align-items:center; display:flex; gap:32px; }
.button { align-items:center; border:1px solid transparent; display:inline-flex; font-size:11px; font-weight:700; gap:28px; justify-content:space-between; letter-spacing:.12em; min-height:58px; padding:0 24px; text-transform:uppercase; transition:background .3s ease,color .3s ease,transform .3s ease; }
.button:hover { transform:translateY(-2px); }
.button-light { background:var(--white); color:var(--ink); }
.button-light:hover { background:var(--warm); }
.text-link { align-items:center; display:inline-flex; font-size:11px; font-weight:700; gap:15px; letter-spacing:.1em; text-transform:uppercase; }
.text-link span { transition:transform .25s ease; }
.text-link:hover span { transform:translateX(5px); }
.text-link.light { color:var(--white); }
.text-link.dark { color:var(--ink); border-bottom:1px solid #aeb5b0; padding-bottom:8px; }
.hero-index { bottom:38px; font-size:9px; left:52px; letter-spacing:.16em; opacity:.65; position:absolute; text-transform:uppercase; z-index:3; }
.scroll-cue { align-items:center; bottom:0; display:flex; flex-direction:column; gap:11px; left:50%; position:absolute; transform:translateX(-50%); z-index:3; }
.scroll-cue span { font-size:8px; letter-spacing:.25em; text-transform:uppercase; }
.scroll-cue i { animation:pulseLine 2s ease-in-out infinite; background:rgba(255,255,255,.65); height:44px; width:1px; }

.trust-strip { background:var(--white); display:grid; grid-template-columns:repeat(4,1fr); padding:0 4%; }
.trust-item { border-right:1px solid #e1e2dd; min-height:160px; padding:42px 36px; }
.trust-item:last-child { border-right:0; }
.trust-item strong { display:block; font-family:var(--serif); font-size:28px; font-weight:400; letter-spacing:-.02em; }
.trust-item span { color:#737d78; display:block; font-size:10px; letter-spacing:.08em; margin-top:10px; text-transform:uppercase; }
.intro { padding-bottom:155px; padding-top:150px; }
.intro-grid { display:grid; gap:90px; grid-template-columns:1.4fr .6fr; margin-top:62px; }
.intro h2 { margin-bottom:0; }
.intro-copy { align-self:end; padding-bottom:8px; }
.intro-copy p { color:#5d6964; font-family:var(--serif); font-size:20px; line-height:1.65; margin-bottom:38px; }

.services { background:var(--deep); color:var(--white); padding:144px 0 130px; }
.services-head { align-items:end; display:grid; gap:100px; grid-template-columns:1.5fr .5fr; }
.services-head h2 { margin:34px 0 0; }
.services-head h2 em,.process h2 em,.contact h2 em { color:#9aa7a1; }
.services-head>p { color:#aeb9b4; font-family:var(--serif); font-size:18px; line-height:1.6; margin-bottom:8px; }
.service-list { border-top:1px solid rgba(255,255,255,.18); margin-top:84px; }
.service-row { align-items:center; border-bottom:1px solid rgba(255,255,255,.18); display:grid; gap:42px; grid-template-columns:80px 1fr auto; min-height:178px; transition:background .3s ease,padding .3s ease; }
.service-row:hover { background:rgba(255,255,255,.035); padding:0 24px; }
.service-number { color:#82918b; font-family:var(--serif); font-size:15px; }
.service-row h3 { font-family:var(--serif); font-size:clamp(30px,3vw,46px); font-weight:400; letter-spacing:-.025em; margin:0 0 11px; }
.service-row p { color:#95a19d; font-size:13px; line-height:1.6; margin:0; }
.round-arrow { align-items:center; border:1px solid rgba(255,255,255,.25); border-radius:50%; display:flex; height:56px; justify-content:center; transition:.3s ease; width:56px; }
.service-row:hover .round-arrow { background:var(--white); color:var(--ink); transform:rotate(45deg); }

.valuation { min-height:820px; overflow:hidden; position:relative; }
.valuation-image { background:linear-gradient(90deg,rgba(10,23,21,.15),rgba(10,23,21,.04)),url('/img/hero-residence.webp') 50% 67%/cover no-repeat; inset:0; position:absolute; transform:scale(1.015); }
.valuation-panel { background:rgba(21,43,39,.96); color:var(--white); left:6%; max-width:630px; padding:72px 70px; position:absolute; top:50%; transform:translateY(-50%); }
.valuation-panel h2 { font-size:clamp(44px,4.8vw,69px); margin:34px 0; }
.valuation-panel h2 em { color:#abb6b0; }
.valuation-panel p { color:#b9c2be; font-family:var(--serif); font-size:18px; line-height:1.65; margin-bottom:34px; max-width:440px; }
.valuation-panel small { color:#8f9a95; display:block; font-size:9px; letter-spacing:.12em; margin-top:20px; text-transform:uppercase; }

.properties { padding-bottom:155px; padding-top:150px; }
.properties-head { align-items:end; display:flex; justify-content:space-between; }
.properties-head h2 { margin:32px 0 0; }
.property-grid { display:grid; gap:28px; grid-template-columns:repeat(3,1fr); margin-top:74px; }
.property-card:nth-child(2) { margin-top:82px; }
.property-image { aspect-ratio:.78; display:block; overflow:hidden; position:relative; }
.property-image::after { background:linear-gradient(0deg,rgba(10,20,18,.36),transparent 44%); content:""; inset:0; position:absolute; }
.property-image img { height:100%; object-fit:cover; transition:transform .85s cubic-bezier(.2,.7,.2,1); width:100%; }
.property-image:hover img { transform:scale(1.045); }
.property-image>span { color:var(--white); font-family:var(--serif); font-size:14px; left:20px; position:absolute; top:20px; z-index:2; }
.property-image>i { align-items:center; backdrop-filter:blur(8px); background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.44); border-radius:50%; bottom:20px; color:var(--white); display:flex; height:52px; justify-content:center; position:absolute; right:20px; transition:.3s ease; width:52px; z-index:2; }
.property-image:hover>i { background:var(--white); color:var(--ink); transform:rotate(45deg); }
.property-copy { padding-top:24px; }
.property-place { color:#718079; font-size:9px; font-weight:650; letter-spacing:.16em; text-transform:uppercase; }
.property-copy h3 { font-family:var(--serif); font-size:24px; font-weight:400; line-height:1.2; margin:14px 0 25px; }
.property-meta { border-top:1px solid #cfd2cc; display:flex; font-size:11px; justify-content:space-between; padding-top:16px; }
.property-meta span { color:#6f7974; }
.property-meta strong { font-family:var(--serif); font-size:14px; font-weight:400; }

.process { background:var(--pine); color:var(--white); padding:145px 0; }
.process .section-shell { display:grid; gap:100px; grid-template-columns:.75fr 1.25fr; }
.process-copy { position:sticky; top:130px; height:fit-content; }
.process-copy h2 { font-size:clamp(46px,4.3vw,68px); margin:34px 0; }
.process-copy>p { color:#aeb8b3; font-family:var(--serif); font-size:18px; line-height:1.6; max-width:440px; }
.process-steps { border-top:1px solid rgba(255,255,255,.2); list-style:none; margin:0; padding:0; }
.process-steps li { border-bottom:1px solid rgba(255,255,255,.2); display:grid; gap:28px; grid-template-columns:70px .6fr 1fr; padding:42px 0; }
.process-steps span { color:#87978f; font-family:var(--serif); font-size:14px; }
.process-steps h3 { font-family:var(--serif); font-size:27px; font-weight:400; margin:0; }
.process-steps p { color:#aeb8b3; font-size:13px; line-height:1.65; margin:2px 0 0; }

.region { min-height:820px; overflow:hidden; position:relative; }
.region-image { background:url('/img/rosenheim.webp') 50% 50%/cover no-repeat; inset:0; position:absolute; }
.region-image::after { background:linear-gradient(90deg,rgba(11,24,21,.7),rgba(11,24,21,.08)); content:""; inset:0; position:absolute; }
.region-card { color:var(--white); left:max(40px,calc((100% - 1320px)/2)); max-width:560px; position:absolute; top:50%; transform:translateY(-50%); }
.region-card h2 { margin:34px 0; }
.region-card h2 em { color:#cad2ce; }
.region-card p { font-family:var(--serif); font-size:18px; line-height:1.65; max-width:500px; }
.region-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:32px; }
.region-tags span { backdrop-filter:blur(8px); background:rgba(255,255,255,.11); border:1px solid rgba(255,255,255,.24); border-radius:30px; font-size:9px; letter-spacing:.12em; padding:11px 16px; text-transform:uppercase; }

.expertise { align-items:center; display:grid; gap:120px; grid-template-columns:.75fr 1.25fr; padding-bottom:155px; padding-top:155px; }
.expertise-certificate { background:var(--white); box-shadow:0 34px 80px rgba(27,36,33,.12); margin-left:36px; padding:18px; position:relative; transform:rotate(-2deg); }
.expertise-certificate img { aspect-ratio:.71; object-fit:cover; object-position:top; }
.expertise-certificate span { background:var(--pine); bottom:-18px; color:var(--white); font-size:9px; letter-spacing:.2em; padding:17px 25px; position:absolute; right:-18px; }
.expertise-copy h2 { font-size:clamp(45px,4.3vw,69px); margin:34px 0; }
.expertise-copy>p { color:#5e6a64; font-family:var(--serif); font-size:18px; line-height:1.7; max-width:670px; }
.expertise-copy blockquote { border-left:1px solid #9ba7a1; font-family:var(--serif); font-size:22px; line-height:1.5; margin:38px 0; max-width:660px; padding-left:30px; }
.testimonial { background:#d8d2c4; padding:145px max(40px,calc((100% - 1040px)/2)); text-align:center; }
.quote-mark { color:#52625c; font-family:var(--serif); font-size:90px; height:65px; line-height:1; }
.testimonial blockquote { font-family:var(--serif); font-size:clamp(32px,4vw,54px); letter-spacing:-.025em; line-height:1.2; margin:24px auto 32px; }
.testimonial p { color:#5e6964; font-size:9px; font-weight:650; letter-spacing:.17em; text-transform:uppercase; }

.contact { background:var(--deep); color:var(--white); padding:145px 0; }
.contact-grid { align-items:start; display:grid; gap:110px; grid-template-columns:1fr 1fr; }
.contact h2 { font-size:clamp(50px,5vw,76px); margin:34px 0; }
.contact-copy>p { color:#a9b5b0; font-family:var(--serif); font-size:18px; line-height:1.65; max-width:520px; }
.direct-contact { display:flex; flex-direction:column; font-family:var(--serif); font-size:19px; gap:11px; margin-top:40px; }
.contact-form { border-top:1px solid rgba(255,255,255,.2); display:flex; flex-direction:column; gap:24px; padding-top:30px; }
.contact-form label { display:flex; flex-direction:column; gap:9px; }
.contact-form label>span { color:#84928c; font-size:9px; letter-spacing:.14em; text-transform:uppercase; }
.contact-form input,.contact-form select,.contact-form textarea { background:transparent; border:0; border-bottom:1px solid rgba(255,255,255,.22); border-radius:0; color:var(--white); outline:none; padding:10px 0 14px; resize:vertical; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:var(--white); }
.contact-form select option { color:var(--ink); }
.form-row { display:grid; gap:24px; grid-template-columns:1fr 1fr; }
.contact-form .consent { align-items:flex-start; display:flex; flex-direction:row; gap:10px; }
.consent input { margin-top:2px; }
.contact-form .consent span { font-size:9px; line-height:1.5; text-transform:none; }
.contact-form .button { align-self:flex-start; cursor:pointer; margin-top:8px; }
.home-contact-route { border:1px solid rgba(255,255,255,.22); padding:55px; }
.home-contact-route>span { color:#8e9a94; font-size:9px; letter-spacing:.16em; text-transform:uppercase; }
.home-contact-route h3 { font-family:var(--serif); font-size:38px; font-weight:400; line-height:1.12; margin:26px 0 20px; }
.home-contact-route p { color:#aeb9b4; font-family:var(--serif); font-size:17px; line-height:1.6; }
.home-contact-route .button { margin-top:20px; }

.footer { background:#091513; color:var(--white); padding:70px 0 30px; }
.footer-top { align-items:center; border-bottom:1px solid rgba(255,255,255,.13); display:flex; justify-content:space-between; padding-bottom:42px; }
.footer-top p { color:#75827c; font-size:9px; letter-spacing:.18em; margin:0; text-transform:uppercase; }
.footer-grid { display:grid; gap:50px; grid-template-columns:1.4fr 1fr 1fr 1.4fr; padding:62px 0; }
.footer-grid h3 { color:#74817b; font-size:9px; letter-spacing:.16em; margin-bottom:22px; text-transform:uppercase; }
.footer-grid p,.footer-grid a { color:#b3bcb8; display:block; font-family:var(--serif); font-size:15px; line-height:1.65; }
.footer-grid a { margin-bottom:5px; }
.footer-contact a { color:var(--white); font-size:19px; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.13); color:#67736e; display:flex; font-size:8px; justify-content:space-between; letter-spacing:.13em; padding-top:25px; text-transform:uppercase; }

.reveal { opacity:0; transform:translateY(26px); transition:opacity .8s ease,transform .8s cubic-bezier(.2,.72,.18,1); }
.reveal.visible { opacity:1; transform:translateY(0); }
.delay-1 { transition-delay:.09s; }.delay-2 { transition-delay:.18s; }.delay-3 { transition-delay:.27s; }
@keyframes heroIn { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }
@keyframes heroZoom { from { transform:scale(1.09); } to { transform:scale(1.035); } }
@keyframes pulseLine { 0%,100% { transform:scaleY(.35); transform-origin:top; } 50% { transform:scaleY(1); transform-origin:top; } }

@media (max-width:1100px) {
  .site-header { grid-template-columns:1fr auto; padding:0 32px; }
  .nav { align-items:center; background:var(--deep); flex-direction:column; inset:0; justify-content:center; opacity:0; pointer-events:none; position:fixed; transform:translateY(-12px); transition:.3s ease; z-index:-1; }
  .nav.open { opacity:1; pointer-events:auto; transform:none; }
  .nav a { font-family:var(--serif); font-size:38px; letter-spacing:0; }
  .header-call { display:none; }.menu-toggle { display:block; justify-self:end; }
  .hero-content { width:min(100% - 64px,920px); }.hero-bottom { margin-left:10%; }
  .services-head,.contact-grid { gap:70px; }.process .section-shell { gap:64px; }.expertise { gap:70px; }
}

@media (max-width:760px) {
  .section-shell { width:calc(100% - 40px); }
  .site-header { height:78px; padding:0 20px; }.site-header.scrolled { height:68px; }
  .hero { min-height:820px; }.hero-image { background-position:64% 50%; }
  .hero-content { justify-content:flex-end; min-height:820px; padding:120px 20px 118px; width:100%; }
  .hero-eyebrow { flex-direction:column; gap:8px; margin-bottom:26px; }.hero-eyebrow span + span::before { display:none; }
  .hero h1 { font-size:clamp(57px,17vw,78px); line-height:.88; }
  .hero-bottom { display:block; margin:32px 0 0; }.hero-bottom>p { font-size:16px; max-width:380px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:20px; margin-top:28px; }
  .hero-index { display:none; }.scroll-cue { left:auto; right:22px; transform:none; }
  .trust-strip { grid-template-columns:1fr 1fr; padding:0; }.trust-item { border-bottom:1px solid #e1e2dd; min-height:130px; padding:30px 20px; }.trust-item:nth-child(2) { border-right:0; }
  .intro { padding:100px 0; }.intro-grid,.services-head,.process .section-shell,.expertise,.contact-grid { grid-template-columns:1fr; }
  .intro-grid { gap:36px; margin-top:38px; }h2 { font-size:46px; }
  .services { padding:100px 0; }.services-head { gap:36px; }.service-list { margin-top:55px; }
  .service-row { gap:18px; grid-template-columns:36px 1fr auto; min-height:150px; }.service-row p { display:none; }.service-row h3 { font-size:28px; }.round-arrow { height:44px; width:44px; }
  .valuation { min-height:760px; }.valuation-panel { bottom:0; left:0; max-width:none; padding:48px 24px; right:0; top:auto; transform:none; }
  .properties { padding:100px 0; }.properties-head { align-items:flex-start; flex-direction:column; gap:28px; }.property-grid { grid-template-columns:1fr; margin-top:50px; }.property-card:nth-child(2) { margin-top:0; }.property-image { aspect-ratio:.92; }
  .process { padding:100px 0; }.process-copy { position:static; }.process-steps li { gap:12px 20px; grid-template-columns:42px 1fr; }.process-steps p { grid-column:2; }
  .region { min-height:730px; }.region-image { background-position:42% 50%; }.region-card { bottom:56px; left:20px; max-width:calc(100% - 40px); top:auto; transform:none; }
  .expertise { padding:100px 0; }.expertise-certificate { margin:0 22px; }.testimonial { padding:100px 20px; }.contact { padding:100px 0; }.form-row { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }.footer-top,.footer-bottom { align-items:flex-start; flex-direction:column; gap:20px; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }*,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }.reveal { opacity:1; transform:none; } }

/* ================================================================
   IM PLUS CINEMATIC HOME — editorial system inspired by the pacing,
   scale and spatial confidence of contemporary residence websites.
   Prefix-scoped so every existing inner page remains stable.
   ================================================================ */
.cinema-home { --c-cream:#f0eadf; --c-ink:#171813; --c-burgundy:#31091d; --c-wine:#4a0c2a; --c-acid:#dbe1bf; --c-line:rgba(23,24,19,.23); background:var(--c-cream); color:var(--c-ink); overflow:clip; }
.cinema-home h1,.cinema-home h2,.cinema-home h3,.cinema-home p { margin:0; }
.cinema-home h1,.cinema-home h2,.cinema-home h3,.c-manifest-lead,.c-number strong,.c-quote blockquote { font-family:"Bodoni 72","Bodoni MT",Didot,"Iowan Old Style",Georgia,serif; }
.cinema-home em { font-weight:400; }
.cinema-home a:focus-visible,.cinema-home button:focus-visible { outline:2px solid #edf1c7; outline-offset:4px; }
.cinema-reveal { opacity:0; transform:translateY(54px); transition:opacity 1.1s cubic-bezier(.2,.75,.2,1),transform 1.1s cubic-bezier(.2,.75,.2,1); }
.cinema-reveal.is-visible { opacity:1; transform:none; }
.c-chapter { display:block; font-size:9px; font-weight:700; letter-spacing:.21em; text-transform:uppercase; }
.c-chapter.light { color:rgba(255,255,255,.64); }
.c-mark { display:grid; gap:3px; grid-template-columns:7px 7px; height:17px; transform:rotate(-5deg); width:17px; }
.c-mark i { background:currentColor; height:7px; }
.c-mark i:nth-child(2) { opacity:.72; }.c-mark i:nth-child(3) { opacity:.45; }.c-mark i:nth-child(4) { opacity:.2; }

.c-header { align-items:center; color:#fff; display:flex; height:94px; justify-content:space-between; left:0; padding:0 38px; position:fixed; right:0; top:0; transition:background .4s,height .4s,color .4s; z-index:90; }
.c-header.is-scrolled { backdrop-filter:blur(14px); background:rgba(22,19,17,.86); height:72px; }
.c-mini-brand { align-items:center; display:flex; gap:12px; }
.c-mini-brand>span:last-child { display:flex; flex-direction:column; gap:4px; }
.c-mini-brand b { font-size:12px; letter-spacing:.17em; }.c-mini-brand small { font-size:7px; letter-spacing:.2em; opacity:.75; }
.c-header-actions { align-items:center; display:flex; gap:35px; }
.c-header-actions>a { border-bottom:1px solid rgba(255,255,255,.7); font-size:9px; letter-spacing:.16em; padding-bottom:7px; }
.c-menu-button { align-items:center; background:none; border:0; color:inherit; cursor:pointer; display:grid; gap:0 12px; grid-template-columns:auto 29px; height:44px; padding:0; position:relative; }
.c-menu-button span { font-size:9px; grid-row:1/3; letter-spacing:.15em; }
.c-menu-button i { background:currentColor; grid-column:2; height:1px; transition:transform .3s,width .3s; width:29px; }
.c-menu-button.active i:first-of-type { transform:translateY(3px) rotate(45deg); }.c-menu-button.active i:last-of-type { transform:translateY(-3px) rotate(-45deg); }
.c-menu { background:var(--c-burgundy); color:#fff; display:grid; grid-template-columns:.9fr 1.1fr; inset:0; opacity:0; padding:120px 7vw 65px; pointer-events:none; position:fixed; transform:translateY(-24px); transition:opacity .45s,transform .55s cubic-bezier(.2,.75,.2,1); visibility:hidden; z-index:80; }
.c-menu.open { opacity:1; pointer-events:auto; transform:none; visibility:visible; }
.c-menu-visual { align-self:center; max-width:460px; position:relative; }.c-menu-visual img { aspect-ratio:.78; filter:grayscale(.4) sepia(.18); height:auto; object-fit:cover; width:76%; }
.c-menu-visual>div { background:var(--c-cream); bottom:-32px; color:var(--c-ink); padding:24px; position:absolute; right:0; width:48%; }.c-menu-visual span { font-size:8px; letter-spacing:.16em; }.c-menu-visual p { font-family:var(--serif); font-size:15px; line-height:1.5; margin-top:14px; }
.c-menu nav { align-self:center; display:flex; flex-direction:column; }.c-menu nav a { align-items:center; border-bottom:1px solid rgba(255,255,255,.2); display:grid; grid-template-columns:38px 1fr auto; padding:12px 0; }.c-menu nav small { font-size:8px; opacity:.48; }.c-menu nav span { font-family:var(--serif); font-size:clamp(42px,5vw,76px); font-style:italic; line-height:1; }.c-menu nav a>span:last-child { font-family:var(--sans); font-size:18px; font-style:normal; transition:transform .3s; }.c-menu nav a:hover>span:last-child { transform:rotate(45deg); }
.c-menu-contact { align-items:end; bottom:45px; display:flex; gap:30px; position:absolute; right:7vw; }.c-menu-contact a { font-size:10px; letter-spacing:.1em; }

.c-hero { --hero-progress:0; height:185svh; position:relative; }
.c-hero-sticky { color:#fff; height:100svh; overflow:hidden; position:sticky; top:0; }
.c-hero-media,.c-hero-image,.c-hero-film { inset:0; position:absolute; }
.c-hero-media { transform:scale(calc(1.045 + var(--hero-progress) * .075)); }
.c-hero-image { background-position:center; background-repeat:no-repeat; background-size:cover; transition:opacity 1s ease,filter 1s ease; }
.c-hero-image.owner { background-image:url('/img/hero-residence.webp'); }
.c-hero-image.search { background-image:url('/img/property-1.webp'); filter:saturate(.82); opacity:0; }
.c-hero.audience-search .c-hero-image.owner { opacity:0; }.c-hero.audience-search .c-hero-image.search { opacity:1; }
.c-hero-film { background:linear-gradient(180deg,rgba(7,9,8,.35),transparent 28%,transparent 58%,rgba(8,11,9,.48)),linear-gradient(90deg,rgba(10,12,10,.18),transparent 32%,transparent 70%,rgba(10,10,8,.18)); }
.c-hero-film::after { background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E"); content:""; inset:0; opacity:.16; position:absolute; }
.c-hero-title-wrap { left:50%; opacity:calc(1 - var(--hero-progress) * 1.75); position:absolute; text-align:center; top:48%; transform:translate(-50%,calc(-50% - var(--hero-progress) * 150px)); width:88%; }
.c-hero-title-wrap>p { font-size:8px; font-weight:650; letter-spacing:.26em; margin-bottom:14px; }
.c-hero h1 { align-items:center; display:flex; flex-direction:column; font-size:clamp(120px,18vw,280px); font-weight:400; letter-spacing:-.08em; line-height:.58; text-transform:uppercase; }
.c-hero h1 span { display:block; transform:scaleX(.73); white-space:nowrap; }
.c-hero h1 em { font-size:clamp(58px,7.2vw,116px); line-height:.62; margin-left:22%; text-transform:none; transform:rotate(-8deg); }
.c-hero-side { position:absolute; top:50%; transform:translateY(-50%); z-index:3; }.c-hero-side.left { align-items:center; display:flex; flex-direction:column; gap:34px; left:26px; }.c-hero-side.right { align-items:flex-end; display:flex; flex-direction:column; gap:13px; right:26px; }
.c-hero-side.right a { border-bottom:1px solid rgba(255,255,255,.7); font-size:8px; letter-spacing:.14em; padding-bottom:6px; writing-mode:vertical-rl; }.c-hero-side.right small,.c-hero-side.left>small { font-size:7px; letter-spacing:.13em; line-height:1.6; opacity:.7; writing-mode:vertical-rl; }
.c-orbit { align-items:center; border:1px solid rgba(255,255,255,.55); border-radius:50%; display:flex; height:88px; justify-content:center; position:relative; width:88px; }.c-orbit>span { animation:cOrbit 18s linear infinite; font-size:6px; inset:8px; letter-spacing:.12em; position:absolute; text-align:center; word-spacing:7px; }.c-orbit .c-mark { height:20px; width:20px; }
.c-hero-statement { display:flex; font-family:var(--serif); font-size:clamp(15px,1.4vw,22px); font-style:italic; justify-content:space-between; left:10.5%; letter-spacing:.02em; opacity:calc(.95 - var(--hero-progress) * .4); position:absolute; right:10.5%; top:61%; }.c-hero-statement span:last-child { text-align:right; }
.c-hotspot { align-items:center; display:flex; flex-direction:column; gap:8px; position:absolute; }.c-hotspot>span { align-items:center; backdrop-filter:blur(6px); background:rgba(255,255,255,.17); border:1px solid rgba(255,255,255,.8); border-radius:50%; display:flex; height:33px; justify-content:center; transition:transform .35s,background .35s; width:33px; }.c-hotspot small { font-size:7px; letter-spacing:.13em; opacity:0; transform:translateY(-4px); transition:.3s; }.c-hotspot:hover>span { background:#fff;color:#111;transform:rotate(45deg) scale(1.1);}.c-hotspot:hover small { opacity:1;transform:none;}.c-hotspot.one{left:30%;top:35%;}.c-hotspot.two{right:22%;top:62%;}
.c-audience-toggle { align-items:center; bottom:42px; display:flex; gap:15px; left:50%; position:absolute; transform:translateX(-50%); z-index:4; }.c-audience-toggle button { background:none; border:0; color:rgba(255,255,255,.54); cursor:pointer; font-size:7px; letter-spacing:.15em; padding:8px 0; transition:color .3s; }.c-audience-toggle button.active { color:#fff; }.c-audience-toggle i { background:rgba(255,255,255,.45); height:1px; position:relative; width:43px; }.c-audience-toggle i::after { background:#fff; border-radius:50%; content:""; height:5px; left:0; position:absolute; top:-2px; transition:transform .5s cubic-bezier(.2,.75,.2,1); width:5px; }.audience-search .c-audience-toggle i::after { transform:translateX(38px); }
.c-scroll { align-items:center; bottom:28px; display:flex; flex-direction:column; gap:8px; left:26px; position:absolute; }.c-scroll span { font-size:6px; letter-spacing:.16em; writing-mode:vertical-rl; }.c-scroll i { animation:cPulse 1.8s ease-in-out infinite; background:#fff; height:24px; width:1px; }

.c-manifest { background:var(--c-cream); padding:150px 0 0; }
.c-manifest-grid { display:grid; gap:5vw; grid-template-columns:.55fr 1.3fr .75fr; margin:0 auto 150px; width:min(1380px,calc(100% - 9vw)); }
.c-manifest-lead { font-size:clamp(44px,5.6vw,86px); letter-spacing:-.045em; line-height:.98; }.c-manifest-lead em { color:#6b6b61; }.c-manifest-copy { align-self:end; }.c-manifest-copy p { color:#5e5e55; font-family:var(--serif); font-size:17px; line-height:1.65; }.c-manifest-copy a,.c-certificate-copy>a { border-bottom:1px solid var(--c-line); display:flex; font-size:9px; justify-content:space-between; letter-spacing:.14em; margin-top:35px; padding-bottom:10px; }
.c-editorial-collage { height:1050px; margin:auto; max-width:1600px; position:relative; }
.c-collage-color { background:var(--c-burgundy); bottom:0; height:73%; left:16%; position:absolute; width:46%; }
.c-collage-word { left:4.5%; position:absolute; top:4%; z-index:4; }.c-collage-word span,.c-collage-word strong { display:block; font-family:var(--serif); font-size:clamp(74px,10vw,158px); font-weight:400; letter-spacing:-.075em; line-height:.67; transform:scaleX(.8); transform-origin:left; }.c-collage-word em { color:var(--c-wine); display:block; font-family:var(--serif); font-size:clamp(58px,7vw,110px); margin-left:34%; margin-top:-1%; transform:rotate(-8deg); }
.c-editorial-collage figure { margin:0; position:absolute; z-index:3; }.c-editorial-collage img { height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.2,.75,.2,1); width:100%; }.c-editorial-collage figure:hover img { transform:scale(1.025); }.c-editorial-collage figcaption { font-size:7px; letter-spacing:.16em; margin-top:10px; }
.c-collage-a { height:420px; left:7%; overflow:visible; top:33%; width:35%; }.c-collage-a img { object-position:center; }
.c-collage-b { height:540px; right:7%; top:26%; width:38%; }.c-collage-b img { object-position:center; }
.c-collage-note { bottom:7%; color:#fff; display:flex; flex-direction:column; left:46%; position:absolute; z-index:5; }.c-collage-note small,.c-collage-note span { font-size:8px; letter-spacing:.18em; }.c-collage-note strong { font-family:var(--serif); font-size:110px; font-weight:400; letter-spacing:-.08em; line-height:.9; }

.c-numbers { background:var(--c-cream); display:grid; grid-template-columns:repeat(4,1fr); padding:120px 5vw 160px; }.c-number { border-left:1px solid var(--c-line); min-height:290px; padding:0 3vw; }.c-number small { font-size:8px; letter-spacing:.17em; }.c-number strong { display:block; font-size:clamp(55px,5.5vw,86px); font-weight:400; letter-spacing:-.06em; margin-top:60px; }.c-number sup { font-size:.35em; }.c-number p { color:#66665c; font-family:var(--serif); font-size:15px; line-height:1.5; margin-top:18px; }

.c-royal { background:var(--c-burgundy); color:#fff; display:grid; grid-template-columns:1.12fr .88fr; min-height:1050px; overflow:hidden; }
.c-royal-art { min-height:950px; position:relative; }.c-royal-block { background:#4b0c2b; bottom:0; left:0; position:absolute; top:0; width:52%; }.c-royal-art img { object-fit:cover; position:absolute; }.c-royal-art img.large { height:66%; left:14%; top:15%; width:72%; }.c-royal-art img.small { bottom:8%; height:32%; right:2%; width:37%; }.c-royal-art>span { bottom:4%; font-family:var(--serif); font-size:clamp(88px,10vw,155px); left:3%; letter-spacing:-.08em; line-height:.62; opacity:.88; position:absolute; transform:scaleX(.72); transform-origin:left; }
.c-royal-copy { align-self:center; padding:100px 7vw 100px 4vw; }.c-royal h2,.c-services h2,.c-properties h2,.c-region h2,.c-process h2,.c-certificate h2,.c-contact h2 { font-family:var(--serif); font-size:clamp(64px,7vw,108px); font-weight:400; letter-spacing:-.06em; line-height:.83; }.c-royal h2 { margin:50px 0 38px; }.c-royal h2 em { color:#c3a4b4; }.c-royal-copy>p { color:#cab7c0; font-family:var(--serif); font-size:18px; line-height:1.65; max-width:460px; }
.c-circle-link { align-items:center; border:1px solid rgba(255,255,255,.45); border-radius:50%; display:flex; height:150px; justify-content:center; margin-top:55px; position:relative; transition:background .4s,color .4s,transform .4s; width:150px; }.c-circle-link>span:first-child { font-size:8px; letter-spacing:.14em; line-height:1.6; text-align:center; }.c-circle-link>span:last-child { position:absolute; right:24px; top:24px; }.c-circle-link:hover { background:var(--c-cream); color:var(--c-ink); transform:rotate(-6deg); }

.c-services { background:var(--c-cream); display:grid; gap:9vw; grid-template-columns:.8fr 1.2fr; padding:170px 7vw; }.c-services-intro { align-self:start; position:sticky; top:120px; }.c-services h2 { margin:50px 0 35px; }.c-services h2 em { color:#77766b; }.c-services-intro>p { color:#64645b; font-family:var(--serif); font-size:17px; line-height:1.65; max-width:400px; }
.c-service { align-items:center; border-top:1px solid var(--c-line); display:grid; gap:22px; grid-template-columns:42px 1fr 1fr 50px; min-height:170px; padding:28px 0; }.c-service:last-child { border-bottom:1px solid var(--c-line); }.c-service small { font-size:8px; }.c-service h3 { font-size:clamp(42px,4.5vw,72px); font-style:italic; font-weight:400; letter-spacing:-.05em; }.c-service p { color:#69695f; font-family:var(--serif); font-size:15px; line-height:1.55; }.c-service>i { align-items:center; border:1px solid var(--c-line); border-radius:50%; display:flex; font-style:normal; height:48px; justify-content:center; transition:background .35s,color .35s,transform .35s; width:48px; }.c-service:hover>i { background:var(--c-burgundy); color:#fff; transform:rotate(45deg); }
.c-marquee { background:var(--c-acid); overflow:hidden; padding:22px 0; white-space:nowrap; }.c-marquee>div { animation:cMarquee 24s linear infinite; display:inline-flex; gap:34px; }.c-marquee span { font-family:var(--serif); font-size:17px; letter-spacing:.04em; }.c-marquee em { font-size:18px; }

.c-properties { background:#121814; color:#fff; padding:150px 0 160px; }.c-properties-head { align-items:end; display:flex; justify-content:space-between; margin:0 auto 90px; width:min(1370px,calc(100% - 10vw)); }.c-properties h2 { margin-top:45px; }.c-properties h2 em { color:#9aaa9c; }.c-properties-head>a { border-bottom:1px solid rgba(255,255,255,.35); display:flex; font-size:8px; gap:35px; letter-spacing:.14em; padding-bottom:10px; }
.c-property-track { display:flex; gap:28px; overflow-x:auto; padding:0 5vw 25px; scroll-snap-type:x mandatory; scrollbar-color:#657067 transparent; }.c-property { flex:0 0 min(620px,74vw); scroll-snap-align:start; }.c-property:nth-child(2) { margin-top:110px; }.c-property-image { display:block; height:min(68vh,690px); overflow:hidden; position:relative; }.c-property-image::after { background:linear-gradient(0deg,rgba(0,0,0,.45),transparent 45%); content:""; inset:0; position:absolute; }.c-property-image img { height:100%; object-fit:cover; transition:transform 1s cubic-bezier(.2,.75,.2,1); width:100%; }.c-property-image:hover img { transform:scale(1.035); }.c-property-image>span { font-family:var(--serif); font-size:15px; left:20px; position:absolute; top:20px; z-index:2; }.c-property-image>i { align-items:center; backdrop-filter:blur(8px); background:rgba(255,255,255,.13); border:1px solid rgba(255,255,255,.7); border-radius:50%; bottom:20px; display:flex; font-style:normal; height:52px; justify-content:center; position:absolute; right:20px; transition:transform .35s,background .35s,color .35s; width:52px; z-index:2; }.c-property-image:hover>i { background:#fff;color:#111;transform:rotate(45deg);}.c-property-place { color:#94a099; font-size:8px; letter-spacing:.15em; margin-top:22px; text-transform:uppercase; }.c-property h3 { font-size:clamp(32px,3.2vw,50px); font-weight:400; line-height:1.03; margin:15px 0 28px; max-width:600px; }.c-property-meta { border-top:1px solid rgba(255,255,255,.2); display:flex; font-size:10px; justify-content:space-between; padding-top:15px; }.c-property-meta span { color:#9da59f; }.c-property-meta strong { font-family:var(--serif); font-size:17px; font-weight:400; }

.c-region { height:170svh; position:relative; }.c-region-sticky { color:#fff; height:100svh; overflow:hidden; position:sticky; top:0; }.c-region-image,.c-region-shade { inset:0; position:absolute; }.c-region-image { background:url('/img/rosenheim.webp') center/cover no-repeat; transform:scale(1.08); }.c-region-shade { background:linear-gradient(90deg,rgba(14,17,14,.74),rgba(14,17,14,.12) 70%),linear-gradient(0deg,rgba(9,12,10,.35),transparent); }.c-region-copy { left:9vw; max-width:710px; position:absolute; top:50%; transform:translateY(-50%); }.c-region-copy.is-visible { transform:translateY(-50%); }.c-region h2 { margin:48px 0 35px; }.c-region h2 em { color:#d5d0c2; }.c-region-copy>p { font-family:var(--serif); font-size:18px; line-height:1.65; max-width:560px; }.c-region-copy>div { display:flex; flex-wrap:wrap; gap:9px; margin-top:40px; }.c-region-copy>div span { border:1px solid rgba(255,255,255,.35); border-radius:50px; font-size:7px; letter-spacing:.12em; padding:10px 14px; }.c-region .c-orbit { bottom:50px; position:absolute; right:45px; }

.c-process { background:var(--c-cream); display:grid; gap:10vw; grid-template-columns:.9fr 1.1fr; padding:170px 7vw; }.c-process-title { align-self:start; position:sticky; top:120px; }.c-process h2 { margin-top:50px; }.c-process h2 em { color:#77766b; }.c-process ol { list-style:none; margin:0; padding:0; }.c-process li { border-top:1px solid var(--c-line); display:grid; gap:20px 35px; grid-template-columns:55px 1fr; padding:45px 0 55px; }.c-process li:last-child { border-bottom:1px solid var(--c-line); }.c-process li>span { font-size:8px; }.c-process li h3 { font-size:clamp(42px,4.5vw,70px); font-style:italic; font-weight:400; line-height:1; }.c-process li p { color:#68685f; font-family:var(--serif); font-size:16px; grid-column:2; line-height:1.55; max-width:440px; }

.c-certificate { background:#d8d8ca; display:grid; gap:8vw; grid-template-columns:1.05fr .95fr; padding:150px 7vw; }.c-certificate-copy { align-self:center; }.c-certificate h2 { font-size:clamp(58px,6vw,92px); margin:50px 0 36px; }.c-certificate h2 em { color:#6d6d62; }.c-certificate-copy>p { color:#56564f; font-family:var(--serif); font-size:17px; line-height:1.7; max-width:650px; }.c-certificate blockquote { border-left:1px solid #999b8e; color:#45453f; font-size:21px; font-style:italic; line-height:1.5; margin:40px 0 0; max-width:620px; padding-left:25px; }.c-certificate-art { margin:0; position:relative; }.c-certificate-art>div { background:#e9e9df; padding:20px; transform:rotate(2.5deg); }.c-certificate-art img { width:100%; }.c-certificate-art figcaption { background:var(--c-burgundy); bottom:5%; color:#fff; display:flex; flex-direction:column; left:-10%; padding:26px 32px; position:absolute; }.c-certificate-art figcaption span,.c-certificate-art figcaption small { font-size:7px; letter-spacing:.16em; }.c-certificate-art figcaption strong { font-family:var(--serif); font-size:30px; font-weight:400; margin:10px 0; }
.c-quote { background:var(--c-burgundy); color:#fff; padding:160px 12vw; position:relative; text-align:center; }.c-quote>span { color:#a87f94; font-family:var(--serif); font-size:180px; left:8vw; line-height:1; position:absolute; top:70px; }.c-quote blockquote { font-size:clamp(38px,5vw,75px); font-style:italic; letter-spacing:-.035em; line-height:1.08; margin:0 auto; max-width:1250px; position:relative; }.c-quote p { color:#b796a6; font-size:8px; letter-spacing:.17em; margin-top:55px; }

.c-contact { background:#171b18; color:#fff; display:grid; gap:6vw; grid-template-columns:1.2fr .8fr; padding:150px 7vw 100px; }.c-contact-title>span { color:#9ba69e; font-size:8px; letter-spacing:.18em; }.c-contact h2 { font-size:clamp(72px,8vw,124px); margin-top:48px; }.c-contact h2 em { color:#a9b5ac; }.c-contact-action { align-self:end; }.c-contact-action>p { color:#aeb6b0; font-family:var(--serif); font-size:18px; line-height:1.65; max-width:430px; }.light-circle { border-color:rgba(255,255,255,.45); }.c-contact-data { border-top:1px solid rgba(255,255,255,.18); display:grid; font-family:var(--serif); font-size:18px; gap:12px; grid-column:1/-1; grid-template-columns:1fr 1fr auto; margin-top:70px; padding-top:28px; }.c-contact-data p { color:#879189; font-size:14px; text-align:right; }
.c-footer { background:#0d100e; color:#fff; padding:70px 5vw 30px; }.c-footer-brand { align-items:center; border-bottom:1px solid rgba(255,255,255,.14); display:flex; gap:14px; padding-bottom:45px; }.c-footer-brand strong { font-size:17px; letter-spacing:.16em; }.c-footer-brand>span:last-child { color:#7f8982; font-size:8px; letter-spacing:.18em; }.c-footer nav { display:flex; flex-wrap:wrap; gap:4vw; justify-content:center; padding:70px 0; }.c-footer nav a { font-family:var(--serif); font-size:clamp(24px,2.6vw,42px); font-style:italic; }.c-footer-meta { border-top:1px solid rgba(255,255,255,.14); color:#768078; display:flex; font-size:7px; justify-content:space-between; letter-spacing:.13em; padding-top:25px; }

@keyframes cOrbit { to { transform:rotate(360deg); } }
@keyframes cPulse { 0%,100% { transform:scaleY(.25); transform-origin:top; } 50% { transform:scaleY(1); transform-origin:top; } }
@keyframes cMarquee { to { transform:translateX(-50%); } }

@media (max-width:1000px) {
  .c-manifest-grid,.c-royal,.c-services,.c-process,.c-certificate,.c-contact { grid-template-columns:1fr; }
  .c-manifest-grid { gap:50px; }.c-manifest-copy { max-width:550px; }
  .c-royal-art { min-height:800px; }.c-royal-copy { padding:100px 8vw 130px; }
  .c-services-intro,.c-process-title { position:static; }.c-services,.c-process { gap:90px; }
  .c-certificate-art { margin:0 auto; max-width:650px; }.c-contact-data { grid-template-columns:1fr 1fr; }.c-contact-data p { grid-column:1/-1; text-align:left; }
}

@media (max-width:720px) {
  .c-header { height:72px; padding:0 18px; }.c-header-actions>a { display:none; }.c-menu { grid-template-columns:1fr; padding:100px 24px 35px; }.c-menu-visual { display:none; }.c-menu nav span { font-size:44px; }.c-menu-contact { align-items:flex-start; bottom:30px; flex-direction:column; gap:8px; left:24px; right:auto; }
  .c-hero { height:150svh; }.c-hero h1 { font-size:clamp(110px,39vw,165px); line-height:.56; }.c-hero h1 em { font-size:48px; margin-left:13%; }.c-hero-title-wrap { top:47%; width:100%; }.c-hero-title-wrap>p { font-size:6px; }.c-hero-side.left { left:14px; }.c-hero-side.left>small { display:none; }.c-orbit { height:66px; width:66px; }.c-orbit>span { font-size:5px; }.c-hero-side.right { right:14px; }.c-hero-side.right small,.c-hero-side.right a:first-child { display:none; }.c-hero-statement { font-size:13px; left:5%; right:5%; top:64%; }.c-hotspot.one { left:22%;top:31%;}.c-hotspot.two{right:17%;top:66%;}.c-audience-toggle{bottom:55px;width:max-content}.c-scroll{display:none}
  .c-manifest { padding-top:95px; }.c-manifest-grid { margin-bottom:100px; width:calc(100% - 40px); }.c-manifest-lead { font-size:47px; }.c-editorial-collage { height:820px; }.c-collage-word { left:2%; top:2%; }.c-collage-word span,.c-collage-word strong { font-size:68px; }.c-collage-word em { font-size:50px; margin-left:18%; }.c-collage-color { height:68%; left:4%; width:73%; }.c-collage-a { height:280px; left:7%; top:33%; width:65%; }.c-collage-b { height:340px; right:5%; top:51%; width:57%; }.c-collage-note { bottom:5%; left:8%; }.c-collage-note strong { font-size:78px; }
  .c-numbers { grid-template-columns:1fr 1fr; padding:70px 20px 100px; }.c-number { min-height:230px; padding:25px 20px; }.c-number:nth-child(3),.c-number:nth-child(4){border-top:1px solid var(--c-line)}.c-number strong { font-size:52px; margin-top:35px; }
  .c-royal { min-height:0; }.c-royal-art { min-height:650px; }.c-royal-art img.large { height:58%; left:8%; top:14%; width:82%; }.c-royal-art img.small { bottom:7%; height:29%; right:2%; width:46%; }.c-royal-art>span { font-size:86px; }.c-royal-copy { padding:85px 20px 110px; }.c-royal h2,.c-services h2,.c-properties h2,.c-region h2,.c-process h2,.c-certificate h2 { font-size:59px; }.c-circle-link { height:130px; width:130px; }
  .c-services,.c-process,.c-certificate { padding:100px 20px; }.c-service { gap:12px; grid-template-columns:30px 1fr 44px; min-height:125px; }.c-service h3 { font-size:43px; }.c-service p { display:none; }.c-service>i { height:42px; width:42px; }
  .c-properties { padding:100px 0; }.c-properties-head { align-items:flex-start; flex-direction:column; gap:40px; margin-bottom:60px; width:calc(100% - 40px); }.c-property-track { padding-inline:20px; }.c-property { flex-basis:85vw; }.c-property:nth-child(2) { margin-top:65px; }.c-property-image { height:58vh; }.c-property h3 { font-size:34px; }
  .c-region { height:130svh; }.c-region-copy { left:20px; max-width:calc(100% - 40px); right:20px; }.c-region-copy>p { font-size:16px; }.c-region .c-orbit { bottom:25px; right:20px; }
  .c-process { gap:70px; }.c-process li h3 { font-size:43px; }
  .c-certificate { gap:90px; }.c-certificate-art figcaption { left:-5px; }.c-quote { padding:110px 20px; }.c-quote>span { font-size:110px; left:10px; top:45px; }.c-quote blockquote { font-size:37px; }
  .c-contact { padding:105px 20px 70px; }.c-contact h2 { font-size:66px; }.c-contact-action { margin-top:65px; }.c-contact-data { grid-template-columns:1fr; }.c-contact-data p { grid-column:auto; }.c-footer { padding-inline:20px; }.c-footer nav { align-items:center; flex-direction:column; }.c-footer-meta { flex-direction:column; gap:12px; }
}

@media (prefers-reduced-motion:reduce) {
  .cinema-reveal { opacity:1; transform:none; }
  .c-orbit>span,.c-marquee>div,.c-scroll i { animation:none!important; }
  .c-hero-media,.c-hero-title-wrap { transform:none!important; }
}

/* =================================================================
   IM PLUS — FLUID CINEMATIC REBUILD
   A continuous homepage experience. Scoped to .flow-home.
   ================================================================= */
.flow-home { --f-ink:#171a16; --f-paper:#ece8df; --f-white:#f8f5ee; --f-wine:#4b1729; --f-gold:#c6ad7b; --f-line:rgba(23,26,22,.22); background:var(--f-paper); color:var(--f-ink); overflow:clip; }
.flow-home * { box-sizing:border-box; }
.flow-home h1,.flow-home h2,.flow-home h3,.flow-home p { margin:0; }
.flow-home h1,.flow-home h2,.flow-home h3,.flow-home blockquote,.f-story-line>p,.f-home-price strong,.f-proof-numbers strong { font-family:"Bodoni 72","Bodoni MT",Didot,"Iowan Old Style",Georgia,serif; font-weight:400; }
.flow-home em { font-weight:400; }
.flow-home img { height:100%; object-fit:cover; width:100%; }
.flow-home a:focus-visible,.flow-home button:focus-visible { outline:2px solid var(--f-gold); outline-offset:5px; }
.f-reveal { opacity:0; transform:translateY(55px); transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1); }
.f-reveal.seen { opacity:1; transform:none; }

.f-logo { align-items:center; color:inherit; display:grid; gap:0 10px; grid-template-columns:18px auto; line-height:1; }
.f-logo>i { background:currentColor; height:7px; width:7px; }.f-logo>i:nth-child(1){grid-column:1;grid-row:1}.f-logo>i:nth-child(2){grid-column:1;grid-row:1;margin-left:10px;opacity:.7}.f-logo>i:nth-child(3){grid-column:1;grid-row:2;opacity:.42}.f-logo>i:nth-child(4){grid-column:1;grid-row:2;margin-left:10px;opacity:.18}
.f-logo b { font-size:12px; grid-column:2; grid-row:1; letter-spacing:.17em; }.f-logo small { font-size:6px; grid-column:2; grid-row:2; letter-spacing:.26em; margin-top:4px; opacity:.68; }
.f-header { align-items:center; color:#fff; display:grid; grid-template-columns:1fr auto 1fr; height:94px; left:0; padding:0 3vw; position:fixed; right:0; top:0; transition:background .45s,color .45s,height .45s; z-index:100; }
.f-header.solid { backdrop-filter:blur(14px); background:rgba(20,23,19,.88); height:72px; }.f-header.menu-open { background:transparent; color:#fff; }
.f-header>a:first-child { justify-self:start; }.f-header-value { border-bottom:1px solid rgba(255,255,255,.55); display:flex; font-size:8px; gap:28px; grid-column:2; letter-spacing:.17em; padding-bottom:8px; }
.f-menu-toggle { align-items:center; background:none; border:0; color:inherit; cursor:pointer; display:grid; gap:0 12px; grid-column:3; grid-template-columns:auto 28px; height:44px; justify-self:end; padding:0; }.f-menu-toggle span { font-size:8px; grid-row:1/3; letter-spacing:.16em; }.f-menu-toggle i { background:currentColor; grid-column:2; height:1px; transition:transform .35s; width:28px; }.f-menu-toggle.active i:first-of-type { transform:translateY(3px) rotate(45deg); }.f-menu-toggle.active i:last-of-type { transform:translateY(-3px) rotate(-45deg); }
.f-menu { background:#151915; color:#fff; display:grid; grid-template-columns:.9fr 1.1fr; inset:0; opacity:0; padding:125px 7vw 55px; pointer-events:none; position:fixed; transform:translateY(-25px); transition:opacity .45s,transform .55s cubic-bezier(.2,.75,.2,1); visibility:hidden; z-index:90; }.f-menu.active { opacity:1; pointer-events:auto; transform:none; visibility:visible; }
.f-menu-image { align-self:center; height:65vh; max-width:480px; overflow:hidden; position:relative; }.f-menu-image::after { background:linear-gradient(0deg,rgba(0,0,0,.55),transparent 45%); content:""; inset:0; position:absolute; }.f-menu-image img { filter:saturate(.72); }.f-menu-image>span { bottom:22px; font-size:7px; left:22px; letter-spacing:.17em; position:absolute; z-index:2; }
.f-menu nav { align-self:center; display:flex; flex-direction:column; }.f-menu nav a { align-items:center; border-bottom:1px solid rgba(255,255,255,.15); display:grid; grid-template-columns:45px 1fr auto; padding:11px 0; }.f-menu nav small { color:#778079; font-size:8px; }.f-menu nav strong { font-family:var(--serif); font-size:clamp(42px,5.1vw,78px); font-style:italic; font-weight:400; letter-spacing:-.04em; }.f-menu nav a>span { font-size:18px; transition:transform .3s; }.f-menu nav a:hover>span { transform:rotate(45deg); }
.f-menu-bottom { bottom:42px; display:flex; gap:30px; position:absolute; right:7vw; }.f-menu-bottom a { font-size:9px; letter-spacing:.08em; }

.f-hero { --hero-p:0; height:185svh; position:relative; }.f-hero-sticky { color:#fff; height:100svh; overflow:hidden; position:sticky; top:0; }
.f-hero-image,.f-hero-grade { inset:0; position:absolute; }.f-hero-image { background:url('/img/editorial-estate.webp') 58% 50%/cover no-repeat; filter:saturate(.86) contrast(1.03); transform:scale(calc(1.03 + var(--hero-p) * .1)); }.f-hero-grade { background:linear-gradient(180deg,rgba(6,11,9,.34),rgba(6,11,9,.02) 28%,rgba(6,11,9,.12) 59%,rgba(6,11,9,.76)),linear-gradient(90deg,rgba(6,11,9,.26),transparent 50%); }
.f-hero-topline { display:flex; font-size:7px; justify-content:space-between; left:7vw; letter-spacing:.19em; opacity:calc(1 - var(--hero-p) * 2); position:absolute; right:7vw; top:19%; }
.f-hero-copy { bottom:11%; left:7vw; opacity:calc(1 - var(--hero-p) * 1.7); position:absolute; transform:translateY(calc(var(--hero-p) * -110px)); width:min(1050px,80vw); }.f-hero-copy>p { font-size:8px; letter-spacing:.22em; margin-bottom:28px; }.f-hero-copy h1 { font-size:clamp(88px,11.4vw,178px); letter-spacing:-.072em; line-height:.72; }.f-hero-copy h1 span,.f-hero-copy h1 em { display:block; }.f-hero-copy h1 em { color:#dfd8ca; font-size:.63em; margin-left:22%; }
.f-hero-actions { display:flex; gap:34px; margin-left:48%; margin-top:48px; }.f-hero-actions a { border-bottom:1px solid rgba(255,255,255,.55); display:flex; font-size:8px; gap:25px; letter-spacing:.15em; padding-bottom:9px; }
.f-hero-second { bottom:12%; left:7vw; opacity:clamp(0,calc((var(--hero-p) - .53) * 3),1); position:absolute; transform:translateY(calc((1 - var(--hero-p)) * 90px)); }.f-hero-second>span { font-size:8px; letter-spacing:.2em; }.f-hero-second strong { display:block; font-family:var(--serif); font-size:clamp(100px,16vw,245px); font-style:italic; font-weight:400; letter-spacing:-.08em; line-height:.72; margin:20px 0 45px; }.f-hero-second p { font-family:var(--serif); font-size:18px; line-height:1.5; margin-left:35vw; }
.f-scroll { align-items:center; bottom:0; display:flex; flex-direction:column; gap:11px; position:absolute; right:3vw; }.f-scroll span { font-size:6px; letter-spacing:.16em; writing-mode:vertical-rl; }.f-scroll i { animation:fLine 1.8s ease-in-out infinite; background:#fff; height:55px; width:1px; }.f-hero-coordinate { bottom:3vw; font-size:6px; left:3vw; letter-spacing:.14em; position:absolute; writing-mode:vertical-rl; }

.f-story { background:var(--f-paper); padding:150px 0 0; }.f-story-line { display:grid; gap:6vw; grid-template-columns:.45fr 1.55fr; margin:auto; width:min(1380px,calc(100% - 10vw)); }.f-story-line>span,.f-homes-intro>span,.f-value-heading>span,.f-proof-intro>span,.f-region-copy>span,.f-contact-heading>span { font-size:8px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }.f-story-line>p { font-size:clamp(50px,7vw,108px); letter-spacing:-.055em; line-height:.91; max-width:1120px; }.f-story-line>p em { color:#78786c; }
.f-story-gallery { height:1250px; margin-top:130px; position:relative; }.f-story-gallery figure { margin:0; position:absolute; }.f-story-gallery figcaption { font-size:7px; letter-spacing:.16em; margin-top:11px; }.f-story-main { height:720px; left:5vw; top:9%; width:57vw; }.f-story-main img { object-position:center; }.f-story-side { height:500px; right:5vw; top:47%; width:32vw; }.f-story-side img { object-position:center; }
.f-story-words { left:39vw; position:absolute; top:1%; z-index:3; }.f-story-words span,.f-story-words strong { display:block; font-family:var(--serif); font-size:clamp(90px,12vw,185px); font-weight:400; letter-spacing:-.08em; line-height:.66; transform:scaleX(.78); transform-origin:left; }.f-story-words em { color:var(--f-wine); display:block; font-family:var(--serif); font-size:clamp(58px,8vw,122px); margin-left:16vw; transform:rotate(-8deg); }
.f-story-note { background:var(--f-wine); bottom:4%; color:#fff; left:13vw; padding:52px; position:absolute; width:35vw; z-index:3; }.f-story-note p { font-family:var(--serif); font-size:clamp(22px,2.3vw,36px); font-style:italic; line-height:1.25; }.f-story-note a { border-bottom:1px solid rgba(255,255,255,.35); display:flex; font-size:8px; justify-content:space-between; letter-spacing:.15em; margin-top:45px; padding-bottom:10px; }

.f-homes-intro { background:#171b17; color:#fff; padding:160px 7vw 120px; position:relative; }.f-homes-intro::before { background:var(--f-wine); content:""; height:3px; left:0; position:absolute; top:0; width:34%; }.f-homes-intro h2 { font-size:clamp(68px,8.5vw,132px); letter-spacing:-.065em; line-height:.82; margin:55px 0 45px; }.f-homes-intro h2 em { color:#b3bcae; }.f-homes-intro>p { color:#aeb6ae; font-family:var(--serif); font-size:17px; line-height:1.6; margin-left:54%; max-width:420px; }
.f-home-stack { background:#171b17; position:relative; }.f-home-scene { height:120svh; position:relative; }.f-home-card { background:#171b17; color:#fff; display:grid; grid-template-columns:1.35fr .65fr; height:100svh; overflow:hidden; position:sticky; top:0; }.f-home-scene.light .f-home-card { background:var(--f-paper); color:var(--f-ink); }
.f-home-media { --mx:0px; --my:0px; overflow:hidden; position:relative; }.f-home-media img { transform:scale(1.045) translate(var(--mx),var(--my)); transition:transform .8s cubic-bezier(.2,.75,.2,1); }.f-home-film { background:linear-gradient(180deg,rgba(0,0,0,.15),transparent 45%,rgba(0,0,0,.43)); inset:0; position:absolute; }.f-home-number { color:#fff; font-family:var(--serif); font-size:20px; left:25px; position:absolute; top:25px; }.f-home-status { bottom:25px; color:#fff; font-size:7px; left:25px; letter-spacing:.17em; }
.f-home-copy { align-self:center; padding:7vw 4.5vw; }.f-home-copy>div:first-child { display:flex; flex-direction:column; gap:9px; }.f-home-copy small,.f-home-copy>div:first-child>span { font-size:7px; letter-spacing:.15em; text-transform:uppercase; }.f-home-copy>div:first-child>span { color:#899289; }.f-home-copy h3 { font-size:clamp(54px,5.5vw,88px); font-style:italic; letter-spacing:-.055em; line-height:.92; margin:50px 0 42px; }.f-home-copy ul { border-top:1px solid currentColor; display:flex; flex-wrap:wrap; gap:12px 0; list-style:none; margin:0; opacity:.72; padding:18px 0 0; }.f-home-copy li { border-right:1px solid currentColor; font-family:var(--serif); font-size:14px; padding:0 15px; }.f-home-copy li:first-child { padding-left:0; }.f-home-copy li:last-child { border:0; }
.f-home-price { display:flex; flex-direction:column; margin:55px 0 36px; }.f-home-price strong { font-size:34px; margin-top:8px; }.f-home-copy>a { border-bottom:1px solid currentColor; display:flex; font-size:8px; justify-content:space-between; letter-spacing:.16em; max-width:270px; padding-bottom:10px; }
.f-all-homes { align-items:center; background:#171b17; color:#fff; display:flex; flex-direction:column; padding:95px 20px 140px; text-align:center; }.f-all-homes p { color:#879187; font-size:7px; letter-spacing:.2em; margin-bottom:32px; }.f-all-homes a { align-items:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; display:flex; flex-direction:column; font-size:8px; gap:18px; height:165px; justify-content:center; letter-spacing:.15em; transition:background .35s,color .35s,transform .35s; width:165px; }.f-all-homes a:hover { background:#fff;color:#171b17;transform:rotate(-6deg) }

.f-emotion { color:#fff; height:115svh; overflow:hidden; position:relative; }.f-emotion-image,.f-emotion-grade { inset:0; position:absolute; }.f-emotion-image { background:url('/img/editorial-penthouse.webp') center/cover no-repeat; transform:scale(1.05); }.f-emotion-grade { background:linear-gradient(90deg,rgba(13,17,14,.72),rgba(13,17,14,.05)),linear-gradient(0deg,rgba(13,17,14,.4),transparent 55%); }.f-emotion blockquote { bottom:13%; font-family:var(--serif); font-size:clamp(58px,7.5vw,116px); font-weight:400; left:7vw; letter-spacing:-.06em; line-height:.88; margin:0; position:absolute; }.f-emotion blockquote em { color:#d8d1c1; }.f-emotion>span { font-size:7px; letter-spacing:.17em; position:absolute; right:3vw; top:50%; writing-mode:vertical-rl; }

.f-value { background:var(--f-paper); padding:165px 7vw; position:relative; }.f-value-heading { display:grid; gap:5vw; grid-template-columns:.45fr 1.55fr; }.f-value-heading h2,.f-proof-intro h2,.f-region-copy h2,.f-contact-heading h2 { font-size:clamp(68px,8vw,124px); letter-spacing:-.065em; line-height:.82; }.f-value-heading h2 em,.f-proof-intro h2 em { color:#77776d; }
.f-value-flow { display:grid; gap:8vw; grid-template-columns:.85fr 1.15fr; margin-top:120px; }.f-value-image { height:760px; position:sticky; top:100px; }.f-value-image::after { background:linear-gradient(0deg,rgba(0,0,0,.45),transparent 45%); content:""; inset:0; position:absolute; }.f-value-image span { bottom:24px; color:#fff; font-size:7px; left:24px; letter-spacing:.17em; position:absolute; z-index:2; }.f-value-flow ol { list-style:none; margin:0; padding:0; }.f-value-flow li { border-top:1px solid var(--f-line); display:grid; gap:30px; grid-template-columns:45px 1fr; min-height:225px; padding:42px 0; }.f-value-flow li:last-child { border-bottom:1px solid var(--f-line); }.f-value-flow li small { font-size:8px; }.f-value-flow h3 { font-size:clamp(45px,5vw,77px); font-style:italic; letter-spacing:-.05em; line-height:1; }.f-value-flow li p { color:#606058; font-family:var(--serif); font-size:16px; line-height:1.6; margin-top:22px; max-width:470px; }
.f-value-cta { align-items:center; background:var(--f-wine); border-radius:50%; color:#fff; display:flex; height:180px; justify-content:center; margin:-60px 0 0 38%; position:relative; transition:transform .35s; width:180px; z-index:3; }.f-value-cta>span:first-child { font-size:8px; letter-spacing:.15em; line-height:1.6; text-align:center; }.f-value-cta>span:last-child { position:absolute; right:28px; top:27px; }.f-value-cta:hover { transform:rotate(-7deg); }

.f-proof { background:#d7d8ca; padding:0 0 160px; }.f-proof-track { background:var(--f-gold); overflow:hidden; padding:22px 0; white-space:nowrap; }.f-proof-track span { animation:fMarquee 28s linear infinite; display:inline-block; font-family:var(--serif); font-size:18px; letter-spacing:.04em; }
.f-proof-grid { display:grid; gap:7vw; grid-template-columns:1fr 1fr; padding:160px 7vw 130px; }.f-proof-intro h2 { margin-top:52px; }.f-proof-numbers { display:grid; grid-template-columns:1fr 1fr; }.f-proof-numbers article { border-left:1px solid rgba(23,26,22,.25); min-height:260px; padding:25px 3vw; }.f-proof-numbers article:last-child { border-top:1px solid rgba(23,26,22,.25); grid-column:1/-1; }.f-proof-numbers strong { display:block; font-size:clamp(58px,6vw,94px); letter-spacing:-.06em; }.f-proof-numbers sup { font-size:.35em; }.f-proof-numbers p { color:#595b53; font-family:var(--serif); font-size:14px; line-height:1.5; margin-top:25px; }
.f-certificate { align-items:center; display:grid; gap:10vw; grid-template-columns:.8fr 1.2fr; margin:auto; width:min(1200px,calc(100% - 14vw)); }.f-certificate-card { background:#f3f2e9; box-shadow:0 30px 70px rgba(30,30,24,.13); padding:24px; transform:rotate(-2.5deg); }.f-certificate-copy>span { font-size:8px; letter-spacing:.17em; }.f-certificate-copy h3 { font-size:clamp(58px,7vw,105px); letter-spacing:-.06em; line-height:.84; margin:45px 0 35px; }.f-certificate-copy h3 em { color:#717369; }.f-certificate-copy p { color:#55574f; font-family:var(--serif); font-size:17px; line-height:1.7; max-width:590px; }.f-certificate-copy a { border-bottom:1px solid rgba(23,26,22,.3); display:flex; font-size:8px; justify-content:space-between; letter-spacing:.15em; margin-top:42px; max-width:310px; padding-bottom:10px; }

.f-region { color:#fff; min-height:1050px; overflow:hidden; position:relative; }.f-region-image { background:url('/img/rosenheim.webp') center/cover no-repeat; inset:0; position:absolute; transform:scale(1.06); }.f-region::after { background:linear-gradient(90deg,rgba(12,16,13,.78),rgba(12,16,13,.12) 72%),linear-gradient(0deg,rgba(12,16,13,.45),transparent); content:""; inset:0; position:absolute; }.f-region-copy { left:8vw; max-width:850px; position:absolute; top:50%; transform:translateY(-50%); z-index:2; }.f-region-copy.seen { transform:translateY(-50%); }.f-region-copy h2 { margin:50px 0 40px; }.f-region-copy h2 em { color:#d9d5c8; }.f-region-copy>p { color:#d7dcd6; font-family:var(--serif); font-size:18px; line-height:1.7; max-width:580px; }.f-region-copy>div { display:flex; flex-wrap:wrap; gap:9px; margin-top:45px; }.f-region-copy>div>* { border:1px solid rgba(255,255,255,.4); border-radius:30px; font-size:7px; letter-spacing:.14em; padding:11px 15px; }
.f-testimonial { background:var(--f-wine); color:#fff; overflow:hidden; padding:170px 11vw; position:relative; text-align:center; }.f-testimonial>span { color:#956276; font-family:var(--serif); font-size:210px; left:6vw; line-height:1; position:absolute; top:60px; }.f-testimonial blockquote { font-family:var(--serif); font-size:clamp(39px,5.5vw,84px); font-style:italic; letter-spacing:-.045em; line-height:1.08; margin:auto; max-width:1320px; position:relative; }.f-testimonial p { color:#ba95a4; font-size:7px; letter-spacing:.18em; margin-top:60px; }
.f-contact { background:#171b17; color:#fff; display:grid; gap:6vw; grid-template-columns:1.2fr .8fr; padding:160px 7vw 90px; }.f-contact-heading h2 { margin-top:55px; }.f-contact-heading h2 em { color:#aeb8ae; }.f-contact-side { align-self:end; }.f-contact-side>p { color:#aeb6af; font-family:var(--serif); font-size:18px; line-height:1.7; max-width:430px; }.f-contact-side>a { align-items:center; border:1px solid rgba(255,255,255,.38); border-radius:50%; display:flex; height:160px; justify-content:center; margin-top:50px; position:relative; transition:background .35s,color .35s,transform .35s; width:160px; }.f-contact-side>a>span:first-child { font-size:8px; letter-spacing:.15em; line-height:1.6; text-align:center; }.f-contact-side>a>span:last-child { position:absolute; right:25px; top:25px; }.f-contact-side>a:hover { background:#fff;color:#171b17;transform:rotate(-6deg) }.f-contact-data { align-items:start; border-top:1px solid rgba(255,255,255,.16); display:grid; font-family:var(--serif); font-size:20px; gap:30px; grid-column:1/-1; grid-template-columns:1fr 1fr auto; margin-top:70px; padding-top:30px; }.f-contact-data p { color:#8f9991; font-size:14px; line-height:1.5; }
.f-footer { background:#0e110f; color:#fff; padding:65px 5vw 28px; }.f-footer>.f-logo { border-bottom:1px solid rgba(255,255,255,.13); padding-bottom:45px; }.f-footer nav { display:flex; flex-wrap:wrap; gap:4vw; justify-content:center; padding:70px 0; }.f-footer nav a { font-family:var(--serif); font-size:clamp(27px,3vw,46px); font-style:italic; }.f-footer>div { border-top:1px solid rgba(255,255,255,.13); color:#788179; display:flex; font-size:7px; justify-content:space-between; letter-spacing:.12em; padding-top:25px; }

@keyframes fLine { 0%,100%{transform:scaleY(.25);transform-origin:top}50%{transform:scaleY(1);transform-origin:top} }
@keyframes fMarquee { to{transform:translateX(-50%)} }

@media(max-width:1000px) {
  .f-story-line,.f-value-heading,.f-proof-grid,.f-contact { grid-template-columns:1fr; }.f-story-line,.f-value-heading { gap:55px; }
  .f-story-words { left:23vw; }.f-story-main { width:67vw; }.f-story-side { width:42vw; }.f-story-note { left:8vw; width:46vw; }
  .f-home-card { grid-template-columns:1.1fr .9fr; }.f-value-flow { gap:6vw; }.f-proof-grid { gap:80px; }.f-contact-data { grid-template-columns:1fr 1fr; }.f-contact-data p { grid-column:1/-1; }
}

@media(max-width:720px) {
  .f-header { height:72px; padding:0 18px; }.f-header-value { display:none; }.f-menu { grid-template-columns:1fr; padding:96px 22px 30px; }.f-menu-image { display:none; }.f-menu nav strong { font-size:43px; }.f-menu-bottom { align-items:flex-start; bottom:25px; flex-direction:column; gap:7px; left:22px; right:auto; }
  .f-hero { height:155svh; }.f-hero-topline { left:20px;right:20px;top:16%;}.f-hero-topline span:last-child{display:none}.f-hero-copy{bottom:13%;left:20px;width:calc(100% - 40px)}.f-hero-copy>p{font-size:6px;line-height:1.5}.f-hero-copy h1{font-size:79px;line-height:.78}.f-hero-copy h1 em{font-size:.62em;margin-left:10%}.f-hero-actions{align-items:flex-start;flex-direction:column;gap:20px;margin:35px 0 0 22%}.f-hero-second{bottom:14%;left:20px}.f-hero-second strong{font-size:120px}.f-hero-second p{font-size:15px;margin-left:20%;}.f-scroll{right:14px}.f-hero-coordinate{display:none}
  .f-story{padding-top:100px}.f-story-line{width:calc(100% - 40px)}.f-story-line>p{font-size:49px}.f-story-gallery{height:930px;margin-top:90px}.f-story-main{height:480px;left:0;top:10%;width:85vw}.f-story-side{height:320px;right:0;top:54%;width:58vw}.f-story-words{left:6vw;top:1%}.f-story-words span,.f-story-words strong{font-size:77px}.f-story-words em{font-size:54px;margin-left:22vw}.f-story-note{bottom:2%;left:20px;padding:30px;width:65vw}.f-story-note p{font-size:22px}
  .f-homes-intro{padding:105px 20px 80px}.f-homes-intro h2{font-size:55px;line-height:.86;margin:40px 0}.f-homes-intro>p{font-size:15px;margin-left:16%;}.f-home-scene{height:145svh}.f-home-card{display:flex;flex-direction:column}.f-home-media{height:55svh;flex:0 0 auto}.f-home-copy{display:flex;flex-direction:column;flex:1;justify-content:center;padding:35px 22px}.f-home-copy h3{font-size:48px;margin:28px 0 24px}.f-home-copy ul{padding-top:13px}.f-home-price{margin:30px 0 24px}.f-home-price strong{font-size:28px}.f-all-homes{padding-bottom:100px}
  .f-emotion{height:90svh}.f-emotion blockquote{bottom:12%;font-size:51px;left:20px;right:20px}.f-emotion>span{right:12px}.f-value{padding:105px 20px}.f-value-heading h2,.f-proof-intro h2,.f-region-copy h2,.f-contact-heading h2{font-size:56px}.f-value-flow{display:flex;flex-direction:column;margin-top:75px}.f-value-image{height:65svh;position:relative;top:auto}.f-value-flow li{min-height:185px}.f-value-flow h3{font-size:46px}.f-value-cta{height:145px;margin:45px auto 0;width:145px}
  .f-proof{padding-bottom:105px}.f-proof-grid{padding:105px 20px 80px}.f-proof-numbers article{min-height:220px;padding:25px 17px}.f-proof-numbers strong{font-size:53px}.f-certificate{grid-template-columns:1fr;gap:80px;width:calc(100% - 40px)}.f-certificate-card{margin:0 20px}.f-certificate-copy h3{font-size:58px}.f-region{min-height:850px}.f-region-copy{left:20px;right:20px}.f-region-copy h2{font-size:52px}.f-testimonial{padding:115px 20px}.f-testimonial>span{font-size:120px;left:8px;top:30px}.f-testimonial blockquote{font-size:38px}.f-contact{padding:105px 20px 65px}.f-contact-side{margin-top:55px}.f-contact-data{grid-template-columns:1fr;font-size:17px}.f-contact-data p{grid-column:auto}.f-footer{padding-inline:20px}.f-footer nav{align-items:center;flex-direction:column}.f-footer>div{flex-direction:column;gap:12px}
}

@media(prefers-reduced-motion:reduce) {
  .f-reveal { opacity:1; transform:none; }.f-hero-image,.f-hero-copy,.f-hero-second,.f-home-media img { transform:none!important; }.f-scroll i,.f-proof-track span { animation:none!important; }
}

/* Inner pages */
.inner-wrap { width:min(1220px,calc(100% - 80px)); margin-inline:auto; }
.inner-header { align-items:center; background:rgba(10,25,22,.96); color:var(--white); display:grid; gap:32px; grid-template-columns:1fr auto 1fr; height:84px; left:0; padding:0 44px; position:absolute; right:0; top:0; z-index:40; }
.inner-nav { display:flex; gap:30px; }
.inner-nav a { font-size:11px; letter-spacing:.08em; opacity:.84; }
.inner-nav a:hover { opacity:1; }
.inner-call { font-size:11px; justify-self:end; letter-spacing:.12em; }
.inner-footer { background:#091513; color:var(--white); padding:70px 0 28px; }
.inner-footer-head { align-items:center; border-bottom:1px solid rgba(255,255,255,.13); display:flex; justify-content:space-between; padding-bottom:40px; }
.inner-footer-head p { color:#7d8a84; font-size:9px; letter-spacing:.18em; margin:0; text-transform:uppercase; }
.inner-footer-grid { display:grid; gap:44px; grid-template-columns:1.25fr repeat(3,1fr); padding:56px 0; }
.inner-footer-grid h3 { color:#74817b; font-size:9px; letter-spacing:.15em; margin-bottom:20px; text-transform:uppercase; }
.inner-footer-grid p,.inner-footer-grid a { color:#b5beb9; display:block; font-family:var(--serif); font-size:14px; line-height:1.7; margin-bottom:3px; }
.inner-footer-grid a:hover { color:var(--white); }
.office-data>a { color:var(--white); margin-top:20px; }
.inner-footer-bottom { border-top:1px solid rgba(255,255,255,.13); color:#68746f; display:flex; font-size:8px; justify-content:space-between; letter-spacing:.12em; padding-top:24px; text-transform:uppercase; }

.inner-hero { align-items:flex-end; color:var(--white); display:flex; min-height:760px; overflow:hidden; position:relative; }
.inner-hero>img { height:100%; inset:0; object-fit:cover; position:absolute; width:100%; }
.inner-hero-overlay { background:linear-gradient(90deg,rgba(7,22,19,.84),rgba(7,22,19,.3) 66%,rgba(7,22,19,.12)),linear-gradient(0deg,rgba(7,22,19,.6),transparent 50%); inset:0; position:absolute; }
.inner-hero-copy { padding-bottom:92px; position:relative; z-index:2; }
.inner-hero-copy>span,.listing-hero .inner-wrap>span,.about-hero-copy>span,.simple-hero .inner-wrap>span,.contact-page-grid>div>span,.legal>span,.team-intro>span,.property-story>div>span,.expose-showcase>div>span { color:#aebbb5; display:block; font-size:10px; font-weight:650; letter-spacing:.19em; margin-bottom:28px; text-transform:uppercase; }
.inner-hero-copy h1 { font-family:var(--serif); font-size:clamp(60px,7.3vw,105px); font-weight:400; letter-spacing:-.05em; line-height:.9; margin:0 0 30px; max-width:1050px; }
.inner-hero-copy p { color:#d1d7d3; font-family:var(--serif); font-size:19px; line-height:1.6; margin-bottom:36px; max-width:650px; }
.inner-hero-count { bottom:46px; font-size:8px; letter-spacing:.18em; position:absolute; right:44px; z-index:2; }
.editorial { padding:120px 0 80px; }
.editorial-section { border-top:1px solid #cbd0c9; display:grid; gap:60px; grid-template-columns:120px 1fr; padding:70px 0 90px; }
.editorial-index { color:#75817b; font-family:var(--serif); font-size:14px; }
.editorial-section>div:last-child { display:grid; gap:26px 60px; grid-template-columns:1fr 1fr; }
.editorial-section h2 { font-size:clamp(42px,4.2vw,64px); grid-column:1/-1; margin-bottom:14px; max-width:860px; }
.editorial-section p { color:#5b6761; font-family:var(--serif); font-size:18px; line-height:1.7; margin:0; }
.editorial-section ul { display:grid; gap:12px; grid-column:1/-1; grid-template-columns:1fr 1fr; list-style:none; margin:12px 0 0; padding:0; }
.editorial-section li { align-items:center; border-top:1px solid #d4d7d1; display:flex; font-size:13px; gap:14px; line-height:1.5; padding:15px 0; }
.editorial-section li span { color:#71827a; }
.inner-trust { background:var(--white); }
.inner-trust .inner-wrap { display:grid; grid-template-columns:repeat(4,1fr); }
.inner-trust .inner-wrap>div { border-right:1px solid #e0e2dc; padding:45px 30px; }
.inner-trust .inner-wrap>div:last-child { border-right:0; }
.inner-trust strong { display:block; font-family:var(--serif); font-size:25px; font-weight:400; }
.inner-trust span { color:#707a75; display:block; font-size:9px; letter-spacing:.12em; margin-top:8px; text-transform:uppercase; }
.contact-band { background:var(--pine); color:var(--white); padding:100px 0; }
.contact-band .inner-wrap { align-items:end; display:grid; gap:70px; grid-template-columns:1.25fr .75fr; }
.contact-band .inner-wrap>div:first-child>span { color:#9aa8a1; display:block; font-size:9px; letter-spacing:.16em; margin-bottom:24px; text-transform:uppercase; }
.contact-band h2 { font-size:clamp(48px,5.3vw,78px); margin:0; max-width:820px; }
.contact-band-links { align-items:flex-start; display:flex; flex-direction:column; gap:12px; }
.contact-band-links>a:not(.button) { border-bottom:1px solid rgba(255,255,255,.22); display:flex; font-family:var(--serif); font-size:18px; justify-content:space-between; padding:12px 0; width:100%; }
.contact-band-links .button { margin-top:16px; }

.listing-hero { background:var(--pine); color:var(--white); padding:210px 0 100px; }
.listing-hero h1,.simple-hero h1,.contact-page h1,.about-hero h1 { font-family:var(--serif); font-size:clamp(64px,8vw,112px); font-weight:400; letter-spacing:-.055em; line-height:.86; margin:0; }
.listing-hero h1 em,.simple-hero h1 em,.contact-page h1 em,.about-hero h1 em { color:#9ba9a2; font-weight:400; }
.listing-hero p,.simple-hero p { color:#b9c3be; font-family:var(--serif); font-size:19px; line-height:1.6; margin:35px 0 0; max-width:620px; }
.listing-area { padding:80px 0 130px; }
.listing-toolbar { align-items:center; border-bottom:1px solid #cbd0c9; display:flex; justify-content:space-between; margin-bottom:60px; padding-bottom:22px; }
.listing-toolbar>div { display:flex; gap:8px; }
.listing-toolbar button { background:transparent; border:1px solid #c9cec8; border-radius:24px; color:#53615b; cursor:pointer; font-size:10px; letter-spacing:.08em; padding:10px 16px; text-transform:uppercase; }
.listing-toolbar button.active { background:var(--pine); border-color:var(--pine); color:var(--white); }
.listing-toolbar>span { color:#6f7974; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.listing-grid { display:grid; gap:70px 28px; grid-template-columns:1fr 1fr; }
.listing-card:nth-child(even) { margin-top:70px; }
.listing-image { aspect-ratio:1.22; display:block; overflow:hidden; position:relative; }
.listing-image::after { background:linear-gradient(0deg,rgba(8,19,17,.34),transparent 50%); content:""; inset:0; position:absolute; }
.listing-image img { height:100%; object-fit:cover; transition:transform .7s ease; width:100%; }
.listing-image:hover img { transform:scale(1.04); }
.listing-image>span { background:rgba(13,27,25,.82); color:var(--white); font-size:9px; left:18px; letter-spacing:.12em; padding:9px 12px; position:absolute; text-transform:uppercase; top:18px; z-index:2; }
.listing-image>i { align-items:center; background:var(--white); border-radius:50%; bottom:18px; display:flex; height:46px; justify-content:center; position:absolute; right:18px; transition:transform .3s ease; width:46px; z-index:2; }
.listing-image:hover>i { transform:rotate(45deg); }
.listing-copy { padding-top:22px; }
.listing-copy small { color:#76817c; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.listing-copy h2 { font-size:31px; line-height:1.12; margin:14px 0 25px; }
.listing-copy>div { border-top:1px solid #ccd0ca; display:grid; font-size:11px; gap:16px; grid-template-columns:auto auto 1fr; padding-top:15px; }
.listing-copy>div span { color:#68736e; }
.listing-copy>div strong { font-family:var(--serif); font-size:15px; font-weight:400; justify-self:end; }

.property-detail-hero { align-items:flex-end; color:var(--white); display:flex; min-height:820px; overflow:hidden; position:relative; }
.property-detail-hero>img { height:100%; inset:0; object-fit:cover; position:absolute; width:100%; }
.property-detail-shade { background:linear-gradient(0deg,rgba(6,19,16,.76),transparent 68%); inset:0; position:absolute; }
.property-detail-hero .inner-wrap { padding-bottom:75px; position:relative; z-index:2; }
.property-detail-hero .inner-wrap>span { font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.property-detail-hero h1 { font-family:var(--serif); font-size:clamp(50px,6vw,88px); font-weight:400; letter-spacing:-.045em; line-height:.94; margin:24px 0; max-width:1040px; }
.property-detail-hero .inner-wrap>strong { font-family:var(--serif); font-size:26px; font-weight:400; }
.property-facts { background:var(--white); display:grid; grid-template-columns:repeat(4,1fr); margin-top:-1px; }
.property-facts>div { border-right:1px solid #e2e4de; padding:40px 30px; }
.property-facts>div:last-child { border-right:0; }
.property-facts small { color:#758079; display:block; font-size:8px; letter-spacing:.14em; margin-bottom:10px; text-transform:uppercase; }
.property-facts strong { font-family:var(--serif); font-size:23px; font-weight:400; }
.property-story { display:grid; gap:90px; grid-template-columns:1fr 1fr; padding:130px 0; }
.property-story h2 { margin:0; }
.property-story>div:last-child { align-self:end; }
.property-story p { color:#5d6863; font-family:var(--serif); font-size:19px; line-height:1.7; }

.about-hero { background:var(--deep); color:var(--white); display:grid; grid-template-columns:.86fr 1.14fr; min-height:780px; padding-top:84px; }
.about-hero-image { min-height:696px; overflow:hidden; }
.about-hero-image img { filter:saturate(.72); height:100%; object-fit:cover; width:100%; }
.about-hero-copy { align-self:center; padding:70px 8vw; }
.about-hero h1 { font-size:clamp(56px,6vw,90px); }
.about-hero-copy p { color:#b6c0bb; font-family:var(--serif); font-size:18px; line-height:1.65; margin-top:38px; max-width:580px; }
.team { padding:130px 0; }
.team-intro { display:grid; gap:40px; grid-template-columns:.45fr 1.55fr; }
.team-intro h2 { margin:0; }
.team-grid { display:grid; gap:70px; grid-template-columns:1fr 1fr; margin-top:90px; }
.team-grid article>img,.team-certificate { aspect-ratio:.9; margin-bottom:28px; overflow:hidden; }
.team-grid article>img { height:auto; object-fit:cover; object-position:center; width:100%; }
.team-certificate { background:var(--white); padding:18px; }
.team-certificate img { height:100%; object-fit:cover; object-position:top; width:100%; }
.team-grid article:nth-child(2) { margin-top:100px; }
.team-grid small { color:#6d7973; font-size:9px; letter-spacing:.14em; text-transform:uppercase; }
.team-grid h3 { font-family:var(--serif); font-size:38px; font-weight:400; margin:12px 0 18px; }
.team-grid p { color:#5d6963; font-family:var(--serif); font-size:17px; line-height:1.65; }
.team-grid article>a { border-bottom:1px solid #bec5bf; display:flex; font-size:11px; justify-content:space-between; padding:12px 0; }
.office-section { background:var(--pine); color:var(--white); padding:100px 0; }
.office-section .inner-wrap { align-items:center; display:grid; gap:90px; grid-template-columns:1fr 1fr; }
.office-section img { height:470px; object-fit:cover; width:100%; }
.office-section span { color:#9ba8a2; font-size:9px; letter-spacing:.17em; text-transform:uppercase; }
.office-section h2 { font-size:62px; margin:28px 0; }
.office-section p { color:#b5c0bb; font-family:var(--serif); font-size:18px; line-height:1.7; }

.contact-page { background:var(--pine); color:var(--white); min-height:950px; padding:190px 0 110px; }
.contact-page-grid { display:grid; gap:100px; grid-template-columns:1fr 1fr; }
.contact-page-grid>div:first-child>p { color:#b7c1bd; font-family:var(--serif); font-size:18px; line-height:1.65; margin-top:36px; max-width:560px; }
.contact-details { border-top:1px solid rgba(255,255,255,.2); display:grid; gap:18px; margin-top:52px; padding-top:34px; }
.contact-details a { font-family:var(--serif); font-size:20px; }
.contact-details p { color:#a6b2ac; font-family:var(--serif); font-size:15px; line-height:1.6; margin:0; }
.light-form { background:var(--paper); color:var(--ink); display:flex; flex-direction:column; gap:20px; padding:52px; }
.form-intro>span { color:#728078; font-size:9px; letter-spacing:.15em; text-transform:uppercase; }
.form-intro h2 { font-size:38px; line-height:1.05; margin:18px 0 15px; }
.light-form label { display:flex; flex-direction:column; gap:7px; }
.light-form label>span { color:#738078; font-size:8px; letter-spacing:.13em; text-transform:uppercase; }
.light-form>div:not(.form-intro) { display:grid; gap:20px; grid-template-columns:1fr 1fr; }
.light-form input,.light-form select,.light-form textarea { background:transparent; border:0; border-bottom:1px solid #bfc5be; border-radius:0; color:var(--ink); outline:none; padding:9px 0 12px; }
.light-form .form-check { align-items:flex-start; flex-direction:row; }
.light-form .form-check input { margin-top:3px; }
.light-form .form-check span { line-height:1.45; text-transform:none; }
.form-submit { align-self:flex-start; background:var(--pine); color:var(--white); cursor:pointer; }
.form-success { align-self:center; background:var(--paper); color:var(--ink); padding:60px; }
.form-success>span { align-items:center; border:1px solid #9eaaa4; border-radius:50%; display:flex; font-size:24px; height:58px; justify-content:center; width:58px; }
.form-success h2 { font-size:55px; margin:30px 0 20px; }
.form-success p { color:#5f6a65; font-family:var(--serif); font-size:18px; line-height:1.65; }
.form-success button { background:none; border:0; border-bottom:1px solid currentColor; cursor:pointer; padding:8px 0; }

.simple-hero { background:var(--pine); color:var(--white); padding:210px 0 110px; }
.checklist { padding:120px 0; }
.checklist-head { display:grid; gap:50px; grid-template-columns:.45fr 1.55fr; margin-bottom:70px; }
.checklist-head>span { color:#6d7973; font-size:9px; letter-spacing:.15em; text-transform:uppercase; }
.checklist-head h2 { font-size:62px; margin:0; }
.checklist ol { border-top:1px solid #cbd0c9; list-style:none; margin:0; padding:0; }
.checklist li { align-items:center; border-bottom:1px solid #cbd0c9; display:grid; gap:35px; grid-template-columns:60px 1fr 35px; padding:28px 0; }
.checklist li>span { color:#78837d; font-family:var(--serif); }
.checklist li p { font-family:var(--serif); font-size:21px; margin:0; }
.checklist li i { color:#86918b; font-size:22px; font-style:normal; }
.magazines { padding:100px 0 130px; }
.magazines>a { align-items:center; border-top:1px solid #cbd0c9; display:grid; gap:50px; grid-template-columns:140px 1fr 60px; min-height:170px; transition:padding .3s ease; }
.magazines>a:last-child { border-bottom:1px solid #cbd0c9; }
.magazines>a:hover { padding:0 20px; }
.magazines>a>span { color:#748079; font-size:9px; letter-spacing:.13em; text-transform:uppercase; }
.magazines h2 { font-size:42px; margin:0 0 10px; }
.magazines p { color:#68736e; margin:0; }
.magazines i { align-items:center; border:1px solid #b9c0ba; border-radius:50%; display:flex; height:52px; justify-content:center; transition:.3s ease; width:52px; }
.magazines>a:hover i { background:var(--pine); color:var(--white); transform:rotate(45deg); }
.expose-showcase { align-items:center; display:grid; gap:90px; grid-template-columns:1fr 1fr; padding:120px 0; }
.expose-showcase h2 { font-size:58px; }
.expose-showcase p { color:#5c6862; font-family:var(--serif); font-size:18px; line-height:1.65; }
.expose-showcase ul { border-top:1px solid #cbd0c9; list-style:none; margin:35px 0 0; padding:0; }
.expose-showcase li { border-bottom:1px solid #cbd0c9; font-size:12px; padding:14px 0; }
.expose-showcase img { height:680px; object-fit:cover; width:100%; }
.legal { min-height:800px; padding:180px 0 120px; }
.legal h1 { font-family:var(--serif); font-size:clamp(62px,8vw,108px); font-weight:400; letter-spacing:-.05em; margin:0; }
.legal-intro { color:#66716c; font-family:var(--serif); font-size:20px; margin:30px 0 70px; }
.legal article { border-top:1px solid #cbd0c9; display:grid; gap:50px; grid-template-columns:.6fr 1.4fr; padding:45px 0; }
.legal article h2 { font-size:30px; margin:0; }
.legal article p { color:#5f6a65; font-family:var(--serif); font-size:16px; line-height:1.65; margin:0 0 10px; }
.legal-note { background:#e3dfd5; color:#59655f; font-size:11px; line-height:1.65; margin-top:50px; padding:22px; }
.not-found { min-height:760px; padding:220px 0 120px; text-align:center; }
.not-found>span { color:#718078; font-family:var(--serif); font-size:20px; }
.not-found h1 { font-family:var(--serif); font-size:74px; font-weight:400; margin:25px auto; max-width:800px; }
.not-found p { color:#67726c; font-family:var(--serif); font-size:18px; }
.not-found>div { align-items:center; display:flex; gap:25px; justify-content:center; margin-top:35px; }

@media (max-width:1000px) {
  .inner-header { grid-template-columns:1fr auto; padding:0 28px; }.inner-nav { align-items:center; background:var(--deep); flex-direction:column; inset:0; justify-content:center; opacity:0; pointer-events:none; position:fixed; transform:translateY(-10px); transition:.3s ease; z-index:-1; }.inner-nav.open { opacity:1; pointer-events:auto; transform:none; }.inner-nav a { font-family:var(--serif); font-size:36px; }.inner-call { display:none; }.inner-header .menu-toggle { display:block; justify-self:end; }
  .editorial-section>div:last-child { grid-template-columns:1fr; }.editorial-section h2,.editorial-section ul { grid-column:auto; }
  .contact-band .inner-wrap,.property-story,.contact-page-grid,.office-section .inner-wrap,.expose-showcase { gap:60px; }
}

@media (max-width:720px) {
  .inner-wrap { width:calc(100% - 40px); }.inner-header { height:72px; padding:0 20px; }
  .inner-hero { min-height:740px; }.inner-hero-copy { padding-bottom:65px; }.inner-hero-copy h1 { font-size:56px; }.inner-hero-copy p { font-size:17px; }.inner-hero-count { display:none; }
  .editorial { padding:80px 0 50px; }.editorial-section { gap:25px; grid-template-columns:1fr; padding:45px 0 65px; }.editorial-section h2 { font-size:42px; }.editorial-section ul { grid-template-columns:1fr; }
  .inner-trust .inner-wrap { grid-template-columns:1fr 1fr; width:100%; }.inner-trust .inner-wrap>div { border-bottom:1px solid #e0e2dc; padding:30px 20px; }
  .contact-band { padding:75px 0; }.contact-band .inner-wrap,.property-story,.contact-page-grid,.office-section .inner-wrap,.expose-showcase { grid-template-columns:1fr; }.contact-band h2 { font-size:48px; }
  .inner-footer-grid { grid-template-columns:1fr 1fr; }.inner-footer-head,.inner-footer-bottom { align-items:flex-start; flex-direction:column; gap:18px; }
  .listing-hero,.simple-hero { padding:170px 0 80px; }.listing-hero h1,.simple-hero h1,.contact-page h1 { font-size:58px; }.listing-grid { grid-template-columns:1fr; }.listing-card:nth-child(even) { margin-top:0; }.listing-toolbar { align-items:flex-start; flex-direction:column; gap:18px; }.listing-toolbar>div { flex-wrap:wrap; }
  .property-detail-hero { min-height:700px; }.property-detail-hero h1 { font-size:46px; }.property-facts { grid-template-columns:1fr 1fr; width:100%; }.property-facts>div { border-bottom:1px solid #e2e4de; padding:26px 20px; }.property-story { padding:90px 0; }
  .about-hero { grid-template-columns:1fr; padding-top:72px; }.about-hero-image { min-height:380px; }.about-hero-copy { padding:70px 20px; }.about-hero h1 { font-size:52px; }.team-intro,.checklist-head { grid-template-columns:1fr; }.team-grid { grid-template-columns:1fr; }.team-grid article:nth-child(2) { margin-top:0; }.office-section img { height:330px; }
  .contact-page { padding:150px 0 80px; }.light-form { padding:32px 22px; }.light-form>div:not(.form-intro) { grid-template-columns:1fr; }.form-success { padding:40px 25px; }
  .checklist { padding:80px 0; }.checklist li { gap:15px; grid-template-columns:38px 1fr 24px; }.checklist li p { font-size:18px; }.magazines>a { gap:18px; grid-template-columns:1fr 48px; padding:30px 0; }.magazines>a>span { grid-column:1/-1; }.expose-showcase { padding:80px 0; }.expose-showcase img { height:480px; }
  .legal { padding:150px 0 90px; }.legal article { gap:20px; grid-template-columns:1fr; }.not-found h1 { font-size:50px; }.not-found>div { flex-direction:column; }
}

/* Readable type scale and complete property tools */
.inner-header{position:fixed}.inner-nav a,.inner-call{font-size:12px;font-weight:600}.inner-footer-head p,.inner-footer-grid h3{font-size:11px}.inner-footer-bottom{font-size:10px}.inner-footer-grid p,.inner-footer-grid a{font-size:15px}
.inner-hero-copy>span,.listing-hero .inner-wrap>span,.about-hero-copy>span,.simple-hero .inner-wrap>span,.contact-page-grid>div>span,.legal>span,.team-intro>span,.property-story>div>span,.expose-showcase>div>span{font-size:12px}
.inner-hero-count{font-size:10px}.editorial-section li{font-size:15px}.inner-trust span,.contact-band .inner-wrap>div:first-child>span,.team-grid small,.office-section span,.checklist-head>span,.magazines>a>span,.form-intro>span{font-size:11px}
.listing-toolbar button,.listing-toolbar>span{font-size:12px}.listing-copy small,.listing-image>span{font-size:11px}.listing-copy>div{font-size:13px}.property-facts small{font-size:10px}.light-form label>span{font-size:10px}.legal-note{font-size:13px}

.property-filter{background:#e7e8e1;border-bottom:1px solid #c8cdc6;padding:56px 0 48px}
.filter-head{align-items:end;display:flex;justify-content:space-between;margin-bottom:34px}.filter-head>div>span,.valuation-tool-copy>span,.search-profile .inner-wrap>div:first-child>span{color:#68766f;display:block;font-size:11px;font-weight:700;letter-spacing:.17em;margin-bottom:14px;text-transform:uppercase}.filter-head h2{font-size:44px;margin:0}.filter-head>button{background:none;border:0;border-bottom:1px solid #7d8982;color:#3c4d46;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.08em;padding:8px 0;text-transform:uppercase}
.filter-grid{display:grid;gap:14px;grid-template-columns:2fr repeat(3,1fr)}.filter-grid label{background:#f8f7f2;border:1px solid #ced2cc;display:flex;flex-direction:column;min-height:78px;padding:14px 16px;position:relative}.filter-grid label>span,.valuation-form label>span,.search-profile form label>span{color:#69766f;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.filter-grid input,.filter-grid select{background:transparent;border:0;color:#15231f;font-family:var(--serif);font-size:17px;outline:0;padding:9px 30px 0 0;width:100%}.filter-grid select{cursor:pointer}.filter-search{grid-column:span 2}.filter-search i{font-family:var(--serif);font-size:28px;font-style:normal;position:absolute;right:18px;top:28px}
.listing-media{position:relative}.listing-save{align-items:center;background:rgba(248,249,244,.94);border:0;border-radius:30px;bottom:18px;color:#17261f;cursor:pointer;display:flex;font-size:10px;font-weight:700;gap:7px;left:18px;letter-spacing:.08em;padding:10px 14px;position:absolute;text-transform:uppercase;z-index:3}.listing-save span{font-size:17px;line-height:.7}.listing-save.saved{background:#18312a;color:#fff}
.listing-empty{border:1px solid #c7ccc5;padding:80px;text-align:center}.listing-empty>span{color:#728078;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.listing-empty h2{font-size:50px;margin:24px auto 20px;max-width:760px}.listing-empty p{color:#65706b;font-family:var(--serif);font-size:18px;line-height:1.6;margin:0 auto;max-width:680px}.listing-empty button,.valuation-success button,.profile-success button{background:none;border:0;border-bottom:1px solid currentColor;color:#22332c;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.09em;margin-top:28px;padding:8px 0;text-transform:uppercase}
.search-profile{background:#102821;color:var(--white);padding:110px 0}.search-profile .inner-wrap{display:grid;gap:90px;grid-template-columns:.9fr 1.1fr}.search-profile h2{font-size:clamp(50px,5.5vw,78px);margin:0}.search-profile h2 em{color:#9dafa6}.search-profile .inner-wrap>div:first-child>span{color:#9aaba2}.search-profile .inner-wrap>div:first-child>p{color:#acb9b3;font-family:var(--serif);font-size:18px;line-height:1.65;max-width:560px}.search-profile form{display:grid;gap:18px;grid-template-columns:1fr 1fr}.search-profile form label{display:flex;flex-direction:column;gap:7px}.search-profile form label>span{color:#9aaba2}.search-profile input,.search-profile select{background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.26);border-radius:0;color:#fff;outline:0;padding:10px 0 13px}.search-profile select option{color:#14201d}.search-profile .form-check{align-items:center;flex-direction:row;grid-column:1/-1}.search-profile .form-check input{width:auto}.search-profile .button{justify-self:start}.profile-success{align-self:center;border:1px solid rgba(255,255,255,.24);padding:48px}.profile-success>span,.valuation-success>span{align-items:center;border:1px solid currentColor;border-radius:50%;display:flex;font-size:20px;height:52px;justify-content:center;width:52px}.profile-success h3,.valuation-success h3{font-family:var(--serif);font-size:38px;font-weight:400;margin:26px 0 16px}.profile-success p{color:#afbbb5;font-family:var(--serif);font-size:17px;line-height:1.6}.profile-success button{color:#fff}
.valuation-tool{display:grid;gap:80px;grid-template-columns:.8fr 1.2fr;padding:120px 0 40px}.valuation-tool-copy h2{font-size:clamp(48px,5vw,72px);margin:0 0 30px}.valuation-tool-copy p{color:#5e6a64;font-family:var(--serif);font-size:18px;line-height:1.7}.valuation-tool-copy>div{border-top:1px solid #c8cdc6;display:grid;gap:10px 18px;grid-template-columns:34px 1fr;margin-top:36px;padding-top:25px}.valuation-tool-copy>div b{color:#74817a;font-family:var(--serif);font-weight:400}.valuation-form{background:#e6e5de;padding:46px}.valuation-form-grid{display:grid;gap:24px 20px;grid-template-columns:1fr 1fr}.valuation-form label{display:flex;flex-direction:column;gap:8px}.valuation-form label.wide{grid-column:1/-1}.valuation-form input,.valuation-form select{background:transparent;border:0;border-bottom:1px solid #aeb6af;border-radius:0;color:#15231f;outline:0;padding:10px 0 12px}.valuation-form .form-check{align-items:flex-start;flex-direction:row}.valuation-form .form-check input{margin-top:3px}.valuation-form .form-submit{margin-top:30px}.valuation-success{align-self:center;background:#e6e5de;padding:60px}.valuation-success p{color:#5d6963;font-family:var(--serif);font-size:18px;line-height:1.65}

@media(max-width:1000px){.filter-grid{grid-template-columns:repeat(2,1fr)}.search-profile .inner-wrap,.valuation-tool{gap:55px;grid-template-columns:1fr}.inner-nav a{font-size:38px}}
@media(max-width:720px){
  .inner-nav a{font-size:32px}.inner-footer-grid p,.inner-footer-grid a{font-size:16px}
  .property-filter{padding:42px 0}.filter-head{align-items:flex-start;flex-direction:column;gap:20px}.filter-head h2{font-size:38px}.filter-grid{grid-template-columns:1fr}.filter-search{grid-column:auto}
  .listing-empty{padding:55px 22px}.listing-empty h2{font-size:39px}
  .search-profile{padding:80px 0}.search-profile .inner-wrap{grid-template-columns:1fr}.search-profile form{grid-template-columns:1fr}.search-profile .form-check{grid-column:auto}.profile-success{padding:35px 24px}
  .valuation-tool{padding:80px 0 20px}.valuation-form{padding:32px 20px}.valuation-form-grid{grid-template-columns:1fr}.valuation-form label.wide{grid-column:auto}.valuation-success{padding:42px 24px}
}

/* v3.0 responsive guardrails and property gallery. */
body.im-plus-inner{overflow-x:hidden}.im-plus-elementor-page,.im-plus-listing-page,.im-plus-property-detail{max-width:100%;overflow-x:hidden;width:100%}
.property-gallery{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:40px;padding-top:55px}.property-gallery a{aspect-ratio:1.35;display:block;overflow:hidden}.property-gallery img{height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1);width:100%}.property-gallery a:hover img{transform:scale(1.04)}
@media(min-width:721px) and (max-width:1100px){
  .inner-wrap{width:calc(100% - 56px)}.listing-hero,.simple-hero{padding-left:0;padding-right:0}.listing-hero h1,.simple-hero h1,.contact-page h1{font-size:clamp(58px,8.5vw,82px)}
  .filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-search{grid-column:auto}.listing-grid{gap:55px 22px}.listing-copy h2{font-size:clamp(31px,4.2vw,43px)}
  .property-detail-hero h1{font-size:clamp(52px,7vw,78px)}.property-story{gap:45px;grid-template-columns:.8fr 1.2fr}.property-facts{grid-template-columns:repeat(2,1fr)}
  .contact-page-grid,.office-section .inner-wrap,.expose-showcase{gap:45px}.downloads-grid{gap:55px 22px}
}
@media(max-width:720px){
  .inner-wrap{max-width:100%;width:calc(100% - 36px)}.listing-hero,.simple-hero{padding-bottom:68px;padding-top:145px}.listing-hero h1,.simple-hero h1,.contact-page h1{font-size:clamp(43px,13vw,58px);line-height:.94}.listing-hero p,.simple-hero p{font-size:17px;line-height:1.55}
  .property-filter{padding:36px 0}.filter-grid{gap:10px}.filter-grid label{min-height:74px;padding:12px 14px}.filter-grid input,.filter-grid select{font-size:17px}.listing-area{padding-top:60px}.listing-toolbar>span{line-height:1.5}.listing-card{margin-bottom:12px}.listing-image{aspect-ratio:1.12}.listing-copy h2{font-size:clamp(30px,9vw,40px)}.listing-copy>div{align-items:flex-start;flex-wrap:wrap;gap:9px 15px}.listing-copy>div strong{margin-left:auto}
  .listing-map .inner-wrap,.contact-map .inner-wrap{gap:32px}.map-frame{min-height:300px}.map-consent-card h2,.contact-map h2{font-size:clamp(40px,12vw,52px)}
  .property-detail-hero{min-height:82svh}.property-detail-hero h1{font-size:clamp(39px,11vw,52px)}.property-facts{grid-template-columns:1fr 1fr}.property-gallery{gap:8px;grid-template-columns:1fr 1fr;padding:35px 0}.property-gallery a{aspect-ratio:1}.property-story{padding:70px 0}.property-story h2{font-size:clamp(40px,12vw,52px)}
  .search-profile form,.valuation-form-grid{grid-template-columns:1fr}.search-profile .form-check,.valuation-form label.wide{grid-column:auto}.light-form,.valuation-form{padding:28px 18px}.downloads-grid{grid-template-columns:1fr}
}

/* v2.0 page tools and responsive layouts */
.listing-map,.contact-map{background:#d8ddd6;padding:92px 0}
.listing-map .inner-wrap,.contact-map .inner-wrap{display:grid;gap:54px;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)}
.map-consent-card,.contact-map .inner-wrap>div:first-child{align-self:center}
.map-consent-card>span,.contact-map .inner-wrap>div:first-child>span,.downloads-hero span,.download-card>div>span,.valuation-methods article>span{color:#66746d;display:block;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.map-consent-card h2,.contact-map h2{font-size:clamp(46px,5.2vw,74px);margin:25px 0}
.map-consent-card p,.contact-map p{color:#58665f;font-family:var(--serif);font-size:17px;line-height:1.65;max-width:530px}
.map-consent-card button,.contact-map button{align-items:center;background:#142b25;border:0;color:#fff;cursor:pointer;display:flex;font-size:11px;font-weight:700;gap:32px;justify-content:space-between;letter-spacing:.09em;margin:28px 0 16px;min-height:58px;padding:0 22px;text-transform:uppercase}
.map-consent-card>a{border-bottom:1px solid #8d9992;color:#5e6c65;font-size:11px;padding-bottom:5px}
.map-frame{background:radial-gradient(circle at 54% 48%,rgba(178,153,106,.35),transparent 24%),linear-gradient(145deg,#789089,#243832);border:1px solid rgba(255,255,255,.48);min-height:460px;overflow:hidden;position:relative}
.map-frame:empty::before{border:1px solid rgba(255,255,255,.22);border-radius:50%;content:"";height:72%;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:58%}
.map-frame:empty::after{background:#fff;border:8px solid rgba(255,255,255,.25);border-radius:50%;box-shadow:0 0 0 1px rgba(255,255,255,.65);content:"";height:8px;left:53%;position:absolute;top:49%;width:8px}
.map-frame iframe{border:0;height:100%;inset:0;position:absolute;width:100%}
.saved-counter{border:0!important;padding:0!important}.saved-counter.active{background:transparent!important;color:#142b25!important}

.valuation-methods{display:grid;gap:1px;grid-template-columns:repeat(3,1fr);padding-bottom:120px;padding-top:75px}
.valuation-methods article{border-left:1px solid #c8cdc6;min-height:330px;padding:35px 42px}
.valuation-methods article:last-child{border-right:1px solid #c8cdc6}
.valuation-methods h2{font-size:38px;margin:45px 0 25px}
.valuation-methods p{color:#5e6a64;font-family:var(--serif);font-size:17px;line-height:1.65}

.downloads-hero{background:var(--pine);color:#fff;padding:210px 0 105px}
.downloads-hero span{color:#aebbb5;margin-bottom:28px}
.downloads-hero h1{font-family:var(--serif);font-size:clamp(64px,8vw,112px);font-weight:400;letter-spacing:-.055em;line-height:.88;margin:0;max-width:980px}
.downloads-hero p{color:#b9c3be;font-family:var(--serif);font-size:19px;line-height:1.6;margin:34px 0 0;max-width:620px}
.downloads-page{padding-bottom:130px;padding-top:110px}
.downloads-grid{display:grid;gap:78px 30px;grid-template-columns:repeat(3,1fr)}
.download-card>div{aspect-ratio:.77;background:#dedfd9;margin-bottom:26px;overflow:hidden;position:relative}
.download-card img{height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1);width:100%}
.download-card:hover img{transform:scale(1.045)}
.download-card>div>span{background:rgba(14,31,26,.84);color:#fff;left:16px;padding:9px 12px;position:absolute;top:16px}
.download-card h2{font-size:31px;line-height:1.12;margin:0 0 24px}
.download-card>a{border-top:1px solid #c6cbc5;display:flex;font-size:11px;font-weight:700;justify-content:space-between;letter-spacing:.1em;padding-top:15px;text-transform:uppercase}

.elementor-page .elementor-element>.e-con-inner,.elementor-page .e-con{--container-max-width:100%;--content-width:100%}
.im-plus-static-header .lg-header{position:absolute}
.inner-hero-copy h1,.listing-hero h1,.simple-hero h1,.contact-page h1,.about-hero h1,.downloads-hero h1,.legal h1{font-size:clamp(var(--im-inner-title-min,56px),var(--im-inner-title-vw,7.3vw),var(--im-inner-title-max,112px))}
.inner-hero-copy p,.listing-hero p,.simple-hero p,.editorial-section p,.contact-page-grid>div:first-child>p,.property-story p,.search-profile .inner-wrap>div:first-child>p{font-size:var(--im-copy-size,19px)}

@media(max-width:1000px){
  .listing-map .inner-wrap,.contact-map .inner-wrap{grid-template-columns:1fr}.map-frame{min-height:420px}
  .valuation-methods{grid-template-columns:1fr}.valuation-methods article{border-left:0;border-top:1px solid #c8cdc6;min-height:0;padding:45px 0}.valuation-methods article:last-child{border-bottom:1px solid #c8cdc6;border-right:0}
  .downloads-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .listing-map,.contact-map{padding:68px 0}.map-frame{min-height:340px}.map-consent-card h2,.contact-map h2{font-size:44px}
  .downloads-hero{padding:165px 0 78px}.downloads-hero h1{font-size:58px}.downloads-page{padding:75px 0 95px}.downloads-grid{gap:65px;grid-template-columns:1fr}.download-card h2{font-size:32px}
  .inner-hero-copy h1,.listing-hero h1,.simple-hero h1,.contact-page h1,.about-hero h1,.downloads-hero h1,.legal h1{font-size:clamp(44px,14vw,58px);overflow-wrap:anywhere}
}

/* ==========================================================
   IM PLUS 5.0 — Product-style property pages and inline gallery
   ========================================================== */
.property-product{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.72fr);gap:clamp(34px,5vw,82px);padding-bottom:100px;padding-top:145px}
.property-product-gallery{min-width:0}
.property-product-stage{background:#d9ddd7;overflow:hidden;position:relative;aspect-ratio:1.28}
.property-product-slide{display:none;height:100%;inset:0;margin:0;position:absolute;width:100%}
.property-product-slide.active{display:block;animation:imGalleryIn .45s ease both}
.property-product-slide img{display:block;height:100%;object-fit:cover;width:100%}
.property-gallery-arrow,.product-card-arrow{align-items:center;appearance:none;backdrop-filter:blur(14px);background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.72);border-radius:50%;color:#fff;cursor:pointer;display:flex;height:48px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:.25s ease;width:48px;z-index:4}
.property-gallery-arrow:hover,.product-card-arrow:hover{background:#fff;color:#14231e}
.property-gallery-arrow.prev,.product-card-arrow.prev{left:18px}.property-gallery-arrow.next,.product-card-arrow.next{right:18px}
.property-gallery-counter,.product-card-counter{backdrop-filter:blur(13px);background:rgba(15,31,25,.4);border:1px solid rgba(255,255,255,.42);border-radius:999px;bottom:18px;color:#fff;font-size:10px;letter-spacing:.14em;padding:10px 14px;position:absolute;right:18px;z-index:4}
.property-product-thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;padding-bottom:5px;scrollbar-width:thin}
.property-product-thumbs button{appearance:none;background:none;border:0;cursor:pointer;flex:0 0 92px;height:68px;opacity:.55;padding:0;transition:.25s ease}
.property-product-thumbs button.active{box-shadow:inset 0 0 0 2px #14231e;opacity:1;padding:3px}
.property-product-thumbs img{height:100%;object-fit:cover;width:100%}
.property-product-info{align-self:start;padding-top:14px;position:sticky;top:120px}
.property-product-kicker{color:#718079;font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.property-product-info h1{font-family:var(--serif);font-size:clamp(42px,4.2vw,68px);font-weight:400;letter-spacing:-.045em;line-height:.98;margin:26px 0 18px}
.property-product-location{color:#68736e;font-size:13px;line-height:1.55;margin:0}
.property-product-price{display:block;font-family:var(--serif);font-size:32px;font-weight:400;margin:34px 0}
.property-product-facts{border-bottom:1px solid #cfd2cc;border-top:1px solid #cfd2cc;display:grid;grid-template-columns:repeat(2,1fr);margin:0 0 32px}
.property-product-facts>div{border-bottom:1px solid #e0e2dc;padding:20px 12px 20px 0}
.property-product-facts small{color:#7b8580;display:block;font-size:9px;letter-spacing:.13em;margin-bottom:8px;text-transform:uppercase}
.property-product-facts strong{font-family:var(--serif);font-size:20px;font-weight:400}
.property-product-actions{align-items:flex-start;display:flex;flex-direction:column;gap:18px}.property-product-actions>a:not(.button){border-bottom:1px solid #aeb4af;padding-bottom:4px}
@keyframes imGalleryIn{from{opacity:.25;transform:scale(1.012)}to{opacity:1;transform:none}}

/* Product cards: image slider stays inside the image, information stays below. */
.product-card-gallery{position:relative}.product-card-stage{position:relative}.product-card-slide{display:none;height:100%;inset:0;position:absolute;width:100%;z-index:1}.product-card-slide.active{display:block}.product-card-slide img{height:100%;object-fit:cover;width:100%}.product-card-stage>span{z-index:3}.product-card-arrow{height:40px;width:40px}.product-card-arrow.prev{left:14px}.product-card-arrow.next{right:14px}.product-card-counter{bottom:14px;right:14px}.product-card-gallery .listing-save{z-index:6}

@media(max-width:900px){.property-product{grid-template-columns:1fr;padding-top:110px}.property-product-info{position:relative;top:auto}.property-product-stage{aspect-ratio:1.15}}
@media(max-width:600px){.property-product{gap:28px;padding:92px 18px 70px}.property-product-stage{aspect-ratio:.92}.property-product-info h1{font-size:clamp(36px,11vw,48px)}.property-product-price{font-size:28px}.property-gallery-arrow{height:42px;width:42px}.property-product-thumbs button{flex-basis:72px;height:54px}.property-product-facts{grid-template-columns:1fr 1fr}}
