.rivi-v18-page { display: block; width: 100%; min-width: 320px; }
@font-face{font-family:Manrope;src:url(../fonts/manrope-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Manrope;src:url(../fonts/manrope-500.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Manrope;src:url(../fonts/manrope-600.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Manrope;src:url(../fonts/manrope-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Manrope;src:url(../fonts/manrope-800.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}.rivi-v18-page{--sky: #c7eaf7;--sky-deep: #9dcddd;--paper: #f5f5f1;--white: #fff;--ink: #090d11;--ink-soft: #151b21;--muted: #4e5b62;--muted-dark: #a9b0b5;--line: rgba(9, 13, 17, .14);--line-dark: rgba(255, 255, 255, .16);--ease: cubic-bezier(.16, 1, .3, 1);--gutter: clamp(20px, 4vw, 56px);--content: 1240px;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}.rivi-v18-page{scroll-behavior:smooth;background:var(--ink)}.site-shell{margin:0;min-width:320px;min-height:100vh;background:var(--paper);color:var(--ink)}.site-shell,button,input,select,textarea{font-family:inherit}button,a,select{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p,blockquote{margin:0}::selection{color:var(--white);background:var(--ink)}:focus-visible{outline:3px solid #277e9c;outline-offset:4px}.site-shell{position:relative;overflow:clip}.skip-link{position:fixed;top:12px;left:12px;z-index:100;padding:12px 16px;border-radius:8px;color:var(--white);background:var(--ink);transform:translateY(-160%);transition:transform .18s ease}.skip-link:focus{transform:translateY(0)}.scroll-progress{position:fixed;inset:0 0 auto;z-index:90;height:3px;background:var(--ink);transform-origin:left}.pointer-glow{position:fixed;z-index:2;width:340px;height:340px;pointer-events:none;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 68%);mix-blend-mode:soft-light}.section{padding:clamp(88px,11vw,176px) var(--gutter)}.site-header{position:fixed;inset:0 0 auto;z-index:50;height:84px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--gutter);border-bottom:1px solid transparent}.brand{width:max-content;display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:18px;font-weight:800;letter-spacing:-.035em}.brand-mark{width:30px;height:30px;display:inline-grid;place-items:center;border:1px solid currentColor;border-radius:50% 50% 42% 42%;transition:transform .26s var(--ease),background-color .26s ease,color .26s ease}.brand:hover .brand-mark{color:var(--sky);background:var(--ink);transform:rotate(-7deg)}.desktop-nav{display:flex;align-items:center;gap:34px}.desktop-nav a{position:relative;min-height:44px;display:flex;align-items:center;font-size:12px;font-weight:600;letter-spacing:.025em;text-transform:uppercase}.desktop-nav a:after{content:"";position:absolute;right:0;bottom:9px;left:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .24s var(--ease)}.desktop-nav a:hover:after{transform:scaleX(1);transform-origin:left}.header-actions{justify-self:end;display:flex;align-items:center;gap:10px}.header-cta{height:48px;display:inline-flex;align-items:center;gap:16px;padding:0 8px 0 18px;border:0;border-radius:13px;color:var(--white);background:var(--ink);box-shadow:0 10px 26px #090d112e;cursor:pointer;transition:transform .22s var(--ease),box-shadow .22s ease}.header-cta span{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;color:var(--ink);background:var(--white);transition:transform .26s var(--ease)}.header-cta:hover{transform:translateY(-2px);box-shadow:0 15px 34px #090d113b}.header-cta:hover span{transform:rotate(8deg)}.menu-button{width:48px;height:48px;display:none;place-items:center;border:1px solid var(--line);border-radius:13px;background:#ffffff80;cursor:pointer}.mobile-menu{position:absolute;inset:84px 12px auto;display:none;flex-direction:column;padding:18px;border:1px solid var(--line);border-radius:0 0 16px 16px;background:#f5f5f1fa;box-shadow:0 24px 50px #090d1129}.mobile-menu a{min-height:58px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:20px;font-weight:700}.mobile-menu button{min-height:52px;margin-top:18px;border:0;border-radius:12px;color:var(--white);background:var(--ink);font-weight:650}.hero{position:relative;height:1450px;color:var(--ink);background:var(--sky)}.hero-sticky{position:fixed;inset:0;z-index:0;height:100vh;min-height:760px;overflow:hidden;background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.22),transparent 34%),linear-gradient(180deg,#c3e5f7,#9fc9dc 56%,#316073)}main>section:not(.hero),.footer{position:relative;z-index:1}.hero-smoke{position:absolute;pointer-events:none;will-change:transform;background:radial-gradient(ellipse at 9% 62%,rgba(255,255,255,.88) 0 8%,transparent 28%),radial-gradient(ellipse at 28% 45%,rgba(255,255,255,.78) 0 11%,transparent 31%),radial-gradient(ellipse at 48% 64%,rgba(255,255,255,.92) 0 10%,transparent 32%),radial-gradient(ellipse at 68% 44%,rgba(255,255,255,.76) 0 12%,transparent 34%),radial-gradient(ellipse at 89% 60%,rgba(255,255,255,.9) 0 9%,transparent 29%);filter:blur(11px);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 15%,#000 85%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 15%,#000 85%,transparent 100%)}.hero-smoke:after{content:"";position:absolute;inset:12% 4% 0;background:radial-gradient(ellipse at 18% 62%,rgba(255,255,255,.72) 0 10%,transparent 33%),radial-gradient(ellipse at 52% 54%,rgba(255,255,255,.68) 0 16%,transparent 38%),radial-gradient(ellipse at 82% 66%,rgba(255,255,255,.74) 0 11%,transparent 34%);filter:blur(22px)}.hero-smoke-rear{z-index:0;width:92vw;height:64vh;opacity:.82;filter:blur(8px)}.hero-smoke-rear-left{top:10vh;left:-43vw;rotate:-7deg}.hero-smoke-rear-right{top:4vh;right:-42vw;rotate:8deg}.hero-smoke-veil{z-index:2;top:7vh;width:64vw;height:54vh;opacity:0;filter:blur(7px)}.hero-smoke-veil-left{left:-36vw;rotate:-5deg}.hero-smoke-veil-right{right:-34vw;rotate:7deg}.hero-smoke-front{z-index:4;top:82vh;width:88vw;height:48vh;opacity:.34;filter:blur(9px);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 6%,#000 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 6%,#000 100%)}.hero-smoke-front:before{content:"";position:absolute;inset:44% -8% -12%;background:linear-gradient(180deg,#fff0,#fff 72%);filter:blur(12px)}.hero-smoke-front-left{left:-29vw}.hero-smoke-front-right{right:-29vw}.hero-copy{position:absolute;z-index:1;top:180px;right:0;left:0;max-width:1240px;margin:0 auto;padding:0 var(--gutter);text-align:center;transform-origin:center center}.hero-proof{width:max-content;max-width:100%;min-height:42px;margin:0 auto 10px;display:flex;align-items:center;gap:10px;padding:5px 14px 5px 6px;border:1px solid rgba(255,255,255,.64);border-radius:999px;color:#24343b;background:#ffffff73;box-shadow:0 10px 36px #3260721f;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:12px;font-weight:600}.proof-faces{display:flex;padding-left:8px}.proof-faces i{width:26px;height:26px;display:grid;place-items:center;margin-left:-8px;border:2px solid rgba(255,255,255,.85);border-radius:50%;color:var(--white);background:var(--ink);font-size:9px;font-style:normal}.proof-faces i:nth-child(2){background:#4d6b76}.proof-faces i:nth-child(3){background:#7d6657}.hero h1{max-width:1280px;margin:0 auto;overflow:hidden;font-size:clamp(3rem,7.4vw,6.25rem);line-height:1;font-weight:800;letter-spacing:-.04em}.hero-word{display:inline-block}.hero-word:not(:last-child){margin-right:.2em}.hero-summary{max-width:600px;margin:10px auto 0;color:#40545c;font-size:clamp(16px,1.4vw,18px);line-height:1.6}.hero-actions{display:flex;justify-content:center;gap:10px;margin-top:20px}.hero-actions .button{min-height:44px}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:0 10px 0 19px;border:1px solid transparent;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:color .22s ease,background-color .22s ease,border-color .22s ease,box-shadow .22s ease}.button span,.button>svg:last-child{width:32px;height:32px;display:grid;place-items:center;padding:7px;border-radius:8px}.button-dark{color:var(--white);background:var(--ink);box-shadow:0 12px 28px #090d112e}.button-dark span,.button-dark>svg:last-child{color:var(--ink);background:var(--white)}.button-dark:hover{background:#202b32;box-shadow:0 17px 34px #090d113b}.button-outline{padding:0 20px;border-color:#090d11a6;background:#ffffff24}.button-outline:hover{background:#ffffff7a}.button-light{color:var(--ink);background:var(--white);box-shadow:0 12px 28px #0003}.button-light span{color:var(--white);background:var(--ink)}.hero-image-motion{position:absolute;z-index:3;top:514px;right:0;left:0;height:auto;aspect-ratio:4086 / 2642}.hero-image-wrap{position:absolute;inset:0;overflow:visible;filter:drop-shadow(0 -22px 50px rgba(29,55,66,.18))}.hero-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:center center}.scroll-cue{position:absolute;right:var(--gutter);bottom:24px;z-index:5;min-height:44px;display:flex;align-items:center;gap:8px;padding:0 14px;border-radius:999px;color:var(--ink);background:#ffffffdb;box-shadow:0 10px 30px #090d1126;font-size:11px;font-weight:700;text-transform:uppercase}.scroll-cue svg{transition:transform .22s var(--ease)}.scroll-cue:hover svg{transform:translateY(3px)}.section-intro{max-width:var(--content);margin:0 auto clamp(64px,8vw,112px);display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);align-items:center;gap:clamp(40px,7vw,96px)}.section-intro h2,.collection-head h2,.process-copy h2,.experience-head h2,.faq h2,.footer h2{max-width:840px;font-size:clamp(2.5rem,5vw,5.4rem);line-height:.98;letter-spacing:-.04em;font-weight:750}.section-intro p,.experience-head p,.faq-intro p{max-width:520px;color:var(--muted);font-size:clamp(16px,1.45vw,19px);line-height:1.65}.section-intro.inverse h2,.section-intro.inverse p{color:var(--white)}.section-intro.inverse p{color:var(--muted-dark)}.impact{background:var(--paper)}.impact-stage{max-width:var(--content);margin:0 auto;display:grid;grid-template-columns:minmax(220px,.72fr) minmax(420px,1.45fr) minmax(220px,.72fr);align-items:stretch;gap:12px}.impact-photo-wrap{min-height:520px;overflow:hidden;border-radius:14px}.impact-photo{width:100%;height:120%;object-fit:cover}.impact-principles{display:grid;gap:10px}.principle{min-height:160px;display:flex;align-items:center;justify-content:space-between;gap:28px;overflow:hidden;padding:24px 30px;border-radius:14px;background:#efefed}.principle strong{font-size:clamp(3rem,5.5vw,6.4rem);line-height:.8;letter-spacing:-.05em}.principle span{max-width:24ch;display:grid;gap:7px;color:var(--muted);line-height:1.45}.principle b{color:var(--ink);font-size:12px;letter-spacing:.04em}.statement-band{position:relative;height:125vh;color:var(--ink);background:#f1f1ef}.statement-sticky{position:sticky;top:0;height:100vh;display:grid;place-items:center;overflow:hidden;padding:var(--gutter)}.statement-focus{max-width:1050px;text-align:center;font-size:clamp(2.6rem,5vw,5.2rem);line-height:1.13;letter-spacing:-.045em;font-weight:520}.statement-focus span{display:inline-block}.selected{padding-right:0;padding-bottom:0;padding-left:0;background:var(--white)}.selected .section-intro{padding-right:var(--gutter);padding-left:var(--gutter)}.featured-grid{width:100%}.property-card{position:relative;height:100vh;min-height:720px;overflow:hidden;isolation:isolate}.property-button{position:absolute;z-index:3;top:50%;left:50%;width:min(340px,calc(100% - 40px));min-height:250px;display:grid;align-content:center;justify-items:center;gap:24px;padding:26px;border:1px solid rgba(255,255,255,.18);border-radius:18px;color:var(--white);background:#090d11a3;box-shadow:0 30px 80px #0000004d;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);text-align:center;cursor:pointer;translate:-50% -50%;transition:background-color .26s ease,border-color .26s ease,box-shadow .26s ease}.property-button:hover{border-color:#ffffff5c;background:#090d11c2;box-shadow:0 36px 100px #0006}.property-backdrop,.property-backdrop-shade{position:absolute;inset:-8% 0;width:100%;height:116%}.property-backdrop{z-index:-2;object-fit:cover}.property-backdrop-shade{z-index:-1;background:linear-gradient(180deg,#090d1124,#090d1157)}.property-category{padding:9px 12px;border-radius:999px;color:#ffffffd1;background:#ffffff1a;font-size:11px;font-weight:700;text-transform:uppercase}.property-meta{display:grid;justify-items:center;gap:12px}.property-meta strong{font-size:clamp(30px,3vw,44px);letter-spacing:-.035em}.property-meta small{display:flex;align-items:center;gap:6px;color:#ffffffc2}.property-meta>span:last-child{min-height:46px;display:flex;align-items:center;gap:8px;margin-top:4px;padding:0 12px 0 16px;border-radius:12px;color:var(--ink);background:var(--white);white-space:nowrap;font-size:13px;font-weight:700}.services{color:var(--ink);background:var(--white)}.service-list{max-width:var(--content);height:620px;margin:0 auto;display:flex;gap:12px}.service-row{min-width:0;flex:.72;overflow:hidden;border-radius:16px;background:#f1f1ef;transition:flex .52s var(--ease),background-color .3s ease}.service-row.is-open{flex:2.2;color:var(--white);background:#8f9293}.service-row>button{position:relative;width:100%;height:100%;display:block;overflow:hidden;padding:30px;border:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.service-index{position:absolute;z-index:2;top:22px;right:25px;color:#090d1114;font-size:clamp(4.5rem,8vw,8.8rem);line-height:1;letter-spacing:-.06em;font-weight:700}.service-row.is-open .service-index{color:#ffffffeb}.service-title{position:absolute;z-index:3;right:28px;bottom:32px;left:28px;display:flex;flex-direction:column-reverse;gap:10px;font-size:clamp(1.7rem,2.6vw,3.3rem);line-height:1.02;letter-spacing:-.04em;transition:transform .36s var(--ease),color .28s ease}.service-title small{max-width:34ch;color:currentColor;opacity:.66;font-size:14px;line-height:1.5;letter-spacing:0}.service-row:not(.is-open) .service-title small{display:none}.service-row>button>img{position:absolute;right:4%;bottom:-7%;width:74%;height:64%;object-fit:cover;object-position:center;border-radius:50% 50% 0 0/12% 12% 0 0;filter:saturate(.88)}.service-row.is-open>button:after{content:"";position:absolute;z-index:2;inset:45% 0 0;background:linear-gradient(180deg,transparent,rgba(9,13,17,.58));pointer-events:none}.service-detail{display:none}.collection{color:var(--white);background:var(--ink-soft)}.collection-head{max-width:var(--content);margin:0 auto 72px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.collection-head h2{max-width:820px}.filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.filters button{min-height:44px;padding:0 16px;border:1px solid var(--line-dark);border-radius:999px;color:var(--muted-dark);background:transparent;cursor:pointer;transition:color .22s ease,background-color .22s ease,border-color .22s ease}.filters button:hover,.filters button.active{color:var(--ink);border-color:var(--sky);background:var(--sky)}.collection-list{max-width:var(--content);margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.collection-item{position:relative;min-height:520px;display:block;grid-column:span 7;overflow:hidden;padding:0;border:0;border-radius:14px;color:var(--white);background:#1a2228;text-align:left;cursor:pointer}.collection-item:nth-child(2n){grid-column:span 5}.collection-item:nth-child(3n){grid-column:span 5}.collection-item:nth-child(4n){grid-column:span 7}.collection-image,.collection-image img,.collection-sheen{position:absolute;inset:0}.collection-image img{width:100%;height:100%;object-fit:cover;transition:transform .85s var(--ease),filter .45s ease}.collection-sheen{background:linear-gradient(180deg,#090d110a 35%,#090d11c7)}.collection-copy{position:absolute;z-index:2;right:28px;bottom:28px;left:28px;display:grid;gap:9px}.collection-copy small{color:#ffffffb8;font-size:11px;font-weight:650;text-transform:uppercase}.collection-copy strong{font-size:clamp(28px,3.5vw,54px);line-height:1;letter-spacing:-.04em}.collection-copy>span{display:flex;align-items:center;justify-content:space-between;font-size:13px}.collection-copy svg{width:44px;height:44px;padding:11px;border:1px solid rgba(255,255,255,.5);border-radius:50%;transition:transform .28s var(--ease),background-color .28s ease,color .28s ease}.collection-item:hover .collection-image img{transform:scale(1.05);filter:saturate(1.05)}.collection-item:hover .collection-copy svg{color:var(--ink);background:var(--white);transform:rotate(8deg)}.highlight-moment{position:relative;height:190vh;min-height:1300px;color:var(--ink);background:var(--white)}.highlight-sticky{position:sticky;top:0;height:100vh;min-height:720px;display:grid;place-items:center;overflow:hidden}.highlight-ticker{position:absolute;z-index:0;width:max-content;color:#21343b;white-space:nowrap;font-size:clamp(5rem,11vw,12rem);line-height:.8;letter-spacing:-.06em;font-weight:750}.highlight-frame{position:absolute;z-index:1;inset:10% 0;overflow:hidden;transform-origin:center;box-shadow:0 40px 100px #090d112e}.highlight-frame img,.highlight-shade{position:absolute;inset:0;width:100%;height:100%}.highlight-frame img{object-fit:cover;object-position:center}.highlight-shade{background:linear-gradient(180deg,#090d110f,#090d1180)}.highlight-copy{position:relative;z-index:2;width:min(760px,calc(100% - 40px));display:grid;gap:18px;color:var(--white);text-align:center}.highlight-copy span{font-size:12px;letter-spacing:.04em;text-transform:uppercase}.highlight-copy strong{font-size:clamp(2.6rem,5vw,5.2rem);line-height:.98;letter-spacing:-.045em}.process{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(54px,8vw,128px);background:var(--paper)}.process-visual{min-width:0}.process-image-wrap{position:sticky;top:120px;height:calc(100vh - 160px);min-height:600px;overflow:hidden;border-radius:14px}.process-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.process-image-wrap:hover img{transform:scale(1.035)}.process-image-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 54%,rgba(9,13,17,.62))}.process-image-wrap span{position:absolute;z-index:2;right:32px;bottom:32px;left:32px;color:var(--white);font-size:clamp(28px,3vw,44px);line-height:1.05;letter-spacing:-.035em;font-weight:650}.process-copy{padding-top:36px}.process-copy h2{margin-bottom:clamp(70px,9vw,130px)}.process-steps{border-top:1px solid var(--line)}.process-step{display:grid;grid-template-columns:54px 1fr;gap:20px;padding:34px 0;border-bottom:1px solid var(--line)}.process-step>span{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:12px}.process-step h3{margin:0 0 10px;font-size:clamp(24px,2.5vw,36px);letter-spacing:-.035em}.process-step p{max-width:54ch;color:var(--muted);line-height:1.65}.experience{color:var(--ink);background:var(--sky)}.experience-head{max-width:var(--content);margin:0 auto 70px;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:64px}.experience-rail{width:calc(100% + (var(--gutter) * 2));margin-left:calc(var(--gutter) * -1);overflow:hidden}.experience-track{width:max-content;display:flex;gap:14px;padding-left:var(--gutter)}.experience-track:hover{animation-play-state:paused}.experience-card{width:min(440px,82vw);min-height:320px;display:flex;flex-direction:column;padding:28px;border-radius:14px;color:var(--white);background:var(--ink);box-shadow:0 18px 50px #20465326}.experience-card>svg{width:42px;height:42px;padding:10px;border:1px solid var(--line-dark);border-radius:50%;color:var(--sky)}.experience-card blockquote{margin:auto 0;font-size:clamp(24px,2.3vw,34px);line-height:1.25;letter-spacing:-.03em}.experience-card p{color:var(--muted-dark);font-size:13px}.faq{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:clamp(70px,11vw,160px);background:var(--white)}.faq-intro{position:sticky;top:128px;align-self:start}.faq-intro p{margin-top:28px}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item>button{width:100%;min-height:88px;display:grid;grid-template-columns:1fr 44px;align-items:center;gap:24px;padding:20px 0;border:0;background:transparent;text-align:left;cursor:pointer}.faq-item>button>span{font-size:clamp(18px,1.7vw,23px);font-weight:650;letter-spacing:-.02em}.faq-item i{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%}.faq-item>div{overflow:hidden}.faq-item p{max-width:66ch;padding:0 70px 30px 0;color:var(--muted);line-height:1.7}.footer{color:var(--white);background:var(--ink)}.footer-scene{position:relative;min-height:760px;display:grid;place-items:center;overflow:hidden}.footer-scene>img,.footer-overlay{position:absolute;inset:0;width:100%;height:100%}.footer-scene>img{top:-8%;height:116%;object-fit:cover;object-position:center}.footer-overlay{background:linear-gradient(180deg,#090d1147,#090d11d1)}.footer-cta{position:relative;z-index:2;max-width:920px;padding:80px var(--gutter);text-align:center}.footer-cta h2{max-width:900px}.footer-cta p{max-width:590px;margin:28px auto 30px;color:#ffffffc2;font-size:18px;line-height:1.6}.footer-bottom{position:relative;max-width:100%;min-height:620px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:90px;padding:90px var(--gutter) 50px}.footer-brand>span{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800}.footer-brand>span svg{width:28px}.footer-brand p{max-width:390px;margin-top:22px;color:var(--muted-dark);line-height:1.6}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:40px}.footer-links>div{display:flex;flex-direction:column;gap:13px}.footer-links strong{margin-bottom:8px;color:#717b83;font-size:12px;text-transform:uppercase}.footer-links a{width:max-content;min-height:32px;display:flex;align-items:center;gap:8px;color:#e6eaed}.footer-links a svg{width:16px}.footer-legal{grid-column:1 / -1;align-self:end;display:flex;justify-content:space-between;gap:30px;padding-top:38px;border-top:1px solid var(--line-dark);color:#7f898f;font-size:12px}.footer-word{position:absolute;right:-.06em;bottom:-.2em;left:-.06em;color:#ffffff13;font-size:clamp(8rem,21vw,24rem);line-height:.8;font-weight:800;letter-spacing:-.065em;text-align:center;pointer-events:none}.dialog-layer{position:fixed;inset:0;z-index:80;display:flex;justify-content:flex-end;background:#040709a3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.property-drawer{position:relative;width:min(680px,100%);height:100%;overflow-y:auto;background:var(--paper);box-shadow:-24px 0 70px #00000042}.dialog-close{position:absolute;top:18px;right:18px;z-index:4;width:48px;height:48px;display:grid;place-items:center;border:0;border-radius:50%;color:var(--ink);background:#ffffffe6;box-shadow:0 12px 30px #090d112e;cursor:pointer;transition:transform .22s var(--ease)}.dialog-close:hover{transform:rotate(8deg) scale(1.04)}.drawer-image{height:47vh;min-height:390px}.drawer-image img{width:100%;height:100%;object-fit:cover}.drawer-copy{padding:42px clamp(24px,5vw,64px) 70px}.drawer-copy>p:first-child{margin-bottom:12px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.drawer-copy h2{font-size:clamp(42px,6vw,72px);line-height:.98;letter-spacing:-.04em}.drawer-copy>span{display:flex;align-items:center;gap:7px;margin-top:18px;color:var(--muted)}.drawer-copy>span svg{width:16px}.drawer-copy>p:nth-of-type(2){margin-top:36px;font-size:18px;line-height:1.65}.drawer-note{margin:28px 0;padding:18px;border-radius:12px;color:#425158;background:#e7edf0;font-size:13px;line-height:1.55}.contact-layer{align-items:center;justify-content:center;padding:20px}.contact-dialog{position:relative;width:min(780px,100%);max-height:calc(100vh - 40px);overflow-y:auto;padding:clamp(34px,6vw,72px);border-radius:16px;color:var(--ink);background:var(--sky);box-shadow:0 30px 90px #00000057}.contact-heading h2,.success-state h2{max-width:620px;padding-right:36px;font-size:clamp(2.6rem,6vw,5rem);line-height:.98;letter-spacing:-.04em}.contact-heading>p,.success-state>p{max-width:590px;margin-top:20px;color:#43555d;line-height:1.6}.contact-dialog form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:38px}.contact-dialog label{display:grid;gap:8px;font-size:12px;font-weight:700}.contact-dialog label:nth-of-type(4){grid-column:1 / -1}.contact-dialog input,.contact-dialog select,.contact-dialog textarea{width:100%;min-height:52px;padding:13px 15px;border:1px solid rgba(9,13,17,.22);border-radius:10px;color:var(--ink);background:#ffffff9e;font-size:16px;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.contact-dialog textarea{resize:vertical}.contact-dialog input:focus,.contact-dialog select:focus,.contact-dialog textarea:focus{outline:none;border-color:var(--ink);background:var(--white);box-shadow:0 0 0 3px #090d111f}.contact-dialog input::placeholder,.contact-dialog textarea::placeholder{color:#63747b}.form-error{grid-column:1 / -1;padding:12px 14px;border-radius:10px;color:#7d1010;background:#f9dcdc;font-size:13px}.submit-button{grid-column:1 / -1;justify-self:start;margin-top:4px}.submit-button:disabled{opacity:.6;cursor:wait}.success-state{min-height:480px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.success-state>span{width:62px;height:62px;display:grid;place-items:center;margin-bottom:28px;border-radius:50%;color:var(--white);background:var(--ink)}.success-state .button{margin-top:30px}@media(max-width:1024px){.site-header{grid-template-columns:1fr auto}.desktop-nav{display:none}.menu-button,.mobile-menu{display:flex}.menu-button{display:grid}.hero{height:1250px}.hero-smoke-rear{width:92vw}.hero-smoke-front{width:104vw}.section-intro{grid-template-columns:1fr;gap:28px}.impact-stage{grid-template-columns:1fr 1fr}.impact-photo-wrap{min-height:430px}.impact-principles{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.principle{min-height:180px;align-items:flex-start;flex-direction:column}.service-list{height:560px}.collection-head{align-items:flex-start;flex-direction:column}.filters{justify-content:flex-start}.process{grid-template-columns:1fr}.process-image-wrap{position:relative;top:0;height:72vw;min-height:540px}.experience-head{grid-template-columns:1fr;gap:28px}.faq{grid-template-columns:1fr}.faq-intro{position:relative;top:0}}@media(max-width:720px){.rivi-v18-page{--gutter: 20px}.site-header{height:72px}.brand{font-size:16px}.brand-mark{width:28px;height:28px}.header-cta{display:none}.mobile-menu{inset:72px 8px auto}.pointer-glow,.hero-smoke-rear{display:none}.hero{height:1080px}.hero-copy{top:180px;padding-top:0}.hero-proof{margin-bottom:10px;font-size:10px}.hero h1{font-size:clamp(3rem,14vw,4.6rem)}.hero-summary{margin-top:10px;font-size:15px}.hero-actions{align-items:stretch;width:min(100%,350px);gap:6px;margin:20px auto 0}.hero-actions .button{min-width:0;flex:1;gap:8px;padding:0 6px 0 12px;font-size:12px}.hero-actions .button span,.hero-actions .button>svg:last-child{width:28px;height:28px;padding:6px}.hero-actions .button-outline{border-color:#090d113d;background:#ffffffe6;box-shadow:0 12px 30px #090d111f;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.hero-image-motion{right:-10%;left:-10%;height:94.8vw;aspect-ratio:auto}.hero-image-wrap img{object-fit:contain;object-position:center top}.hero-smoke-front{top:80vh;width:145vw;height:36vh}.hero-smoke-front-left{left:-66vw}.hero-smoke-front-right{right:-66vw}.scroll-cue{right:16px;bottom:16px}.section-intro h2,.collection-head h2,.process-copy h2,.experience-head h2,.faq h2,.footer h2{font-size:clamp(2.55rem,13vw,4.2rem)}.impact-photo-wrap{min-height:390px}.impact-photo-right{display:none}.impact-stage,.impact-principles{display:block}.principle{min-height:130px;margin-top:10px;align-items:center;flex-direction:row}.statement-band{height:112vh}.statement-focus{font-size:clamp(2.35rem,11vw,3.8rem)}.property-card{height:82vh;min-height:650px}.property-button{min-height:230px}.property-meta{justify-items:center}.service-list{height:auto;flex-direction:column}.service-row,.service-row.is-open{flex:none;height:190px}.service-row.is-open{height:480px}.service-row>button{padding:22px}.service-title{right:22px;bottom:24px;left:22px;font-size:2rem}.service-title small{font-size:12px}.service-row>button>img{width:82%;height:60%}.collection-list{display:block}.collection-item{width:100%;min-height:500px;margin-bottom:14px}.collection-copy{right:20px;bottom:20px;left:20px}.process{gap:68px}.highlight-moment{height:155vh;min-height:1050px}.highlight-frame{inset:13% 0}.highlight-copy{width:calc(100% - 56px)}.highlight-copy strong{font-size:clamp(2.2rem,10vw,3.4rem)}.highlight-ticker{font-size:24vw}.process-image-wrap{height:116vw;min-height:500px}.process-copy h2{margin-bottom:64px}.process-step{grid-template-columns:42px 1fr}.faq-item p{padding-right:10px}.footer-scene{min-height:680px}.footer-cta{padding-right:20px;padding-left:20px}.footer-bottom{min-height:700px;grid-template-columns:1fr;gap:54px;padding-top:68px}.footer-links{gap:26px}.footer-legal{align-items:flex-start;flex-direction:column}.footer-word{bottom:-.04em;font-size:25vw}.drawer-image{min-height:320px}.contact-layer{align-items:flex-end;padding:0}.contact-dialog{max-height:94dvh;padding:38px 20px 28px;border-radius:16px 16px 0 0}.contact-dialog form{grid-template-columns:1fr}.contact-dialog label:nth-of-type(4),.form-error,.submit-button{grid-column:auto}.submit-button{width:100%}}@media(prefers-reduced-motion:reduce){.rivi-v18-page{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.statement-track,.experience-track{transform:none!important}.experience-rail{overflow-x:auto}}

  

  /* V4: Homy referansından ölçülen tipografi, cam kart ve hero katman tokenları. */
  @font-face {
    font-family: "Special Gothic";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/special-gothic-700.ttf") format("truetype");
  }

  @font-face {
    font-family: "Switzer";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/switzer-400.woff2") format("woff2");
  }

  @font-face {
    font-family: "Switzer";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/switzer-500.woff2") format("woff2");
  }

  @font-face {
    font-family: "Switzer";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/switzer-600.woff2") format("woff2");
  }

  .rivi-v18-page {
    --homy-display: "Special Gothic", Manrope, Arial, sans-serif;
    --homy-sans: "Switzer", Manrope, Arial, sans-serif;
    --homy-ink: #080b0f;
    --homy-muted: #4b5b63;
    --homy-glass: rgba(11, 17, 23, 0.35);
  }

  .site-shell,
  .button,
  input,
  select,
  textarea {
    font-family: var(--homy-sans);
  }

  .site-header {
    height: 84px;
  }

  .desktop-nav a,
  .mobile-menu a,
  .header-cta,
  .button {
    font-family: var(--homy-sans);
    font-size: 14px;
    font-weight: 500;
    line-height: 22.4px;
  }

  .hero h1 {
    max-width: 1320px;
    font-family: var(--homy-display);
    font-size: clamp(3.75rem, 7.8125vw, 6.25rem);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.01em;
  }

  .hero-summary {
    max-width: 600px;
    color: var(--homy-muted);
    font-family: var(--homy-sans);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6;
  }

  .hero-proof,
  .property-category,
  .collection-copy small,
  .highlight-copy span,
  .footer-links strong {
    font-family: var(--homy-sans);
    font-weight: 400;
  }

  .section-intro h2,
  .collection-head h2,
  .process-copy h2,
  .experience-head h2,
  .faq h2,
  .footer h2 {
    max-width: 540px;
    font-family: var(--homy-sans);
    font-size: clamp(2.25rem, 3.75vw, 3.375rem);
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: normal;
  }

  .section-intro p,
  .experience-head p,
  .faq-intro p,
  .process-step p,
  .footer-cta p {
    color: var(--homy-muted);
    font-family: var(--homy-sans);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6;
  }

  .process-step h3,
  .property-meta strong,
  .collection-copy strong,
  .drawer-copy h2,
  .contact-heading h2,
  .success-state h2 {
    font-family: var(--homy-sans);
    font-weight: 500;
    letter-spacing: normal;
  }

  .property-meta strong,
  .collection-copy strong {
    font-size: 34px;
    line-height: 1.4;
  }

  .property-button {
    width: min(324px, calc(100% - 40px));
    min-height: 231px;
    gap: 18px;
    border: 0;
    border-radius: 15px;
    background: var(--homy-glass);
    box-shadow: 0 3px 10px rgba(11, 17, 23, 0.5);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
  }

  .property-button:hover {
    border-color: transparent;
    background: rgba(11, 17, 23, 0.46);
    box-shadow: 0 10px 24px rgba(11, 17, 23, 0.5);
  }

  .property-category {
    padding: 5px 15px;
    border-radius: 0 0 10px 10px;
    background: rgba(255, 255, 255, 0.07);
  }

  .property-meta small {
    font-family: var(--homy-sans);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
  }

  .property-meta > span:last-child {
    min-height: 44px;
    border-radius: 12px;
  }

  .hero-smoke-rear {
    opacity: 0.92;
    filter: blur(10px);
  }

  .hero-smoke-front {
    top: 62vh;
    width: 110vw;
    height: 56vh;
    opacity: 0.58;
    filter: blur(15px);
  }

  .hero-smoke-front-left { left: -36vw; }
  .hero-smoke-front-right { right: -36vw; }

  /* Dört sütunlu hizmet şeridi 768px'te metni kırpmadan korur. */
  @media (min-width: 721px) and (max-width: 900px) {
    .services-grid > button,
    .service-title {
      min-width: 0;
    }

    .service-title {
      white-space: normal;
      overflow-wrap: anywhere;
      font-size: 12px;
      line-height: 1.28;
    }
  }

  @media (max-width: 720px) {
    .hero h1 {
      font-size: clamp(3.25rem, 13.2vw, 4.7rem);
      letter-spacing: -0.02em;
    }

    .hero-summary,
    .section-intro p,
    .experience-head p,
    .faq-intro p,
    .process-step p,
    .footer-cta p {
      font-size: 16px;
    }

    .section-intro h2,
    .collection-head h2,
    .process-copy h2,
    .experience-head h2,
    .faq h2,
    .footer h2 {
      font-size: clamp(2.2rem, 10.4vw, 3rem);
      line-height: 1.16;
    }

    .property-button {
      width: min(324px, calc(100% - 40px));
      min-height: 231px;
    }

    .hero-smoke-front {
      top: 67vh;
      width: 150vw;
      height: 42vh;
      opacity: 0.62;
    }
  }



  /* V5: Homy'nin bölüm etiketleri ve Rusça metinler için dengeli başlık ritmi. */
  .hero h1 {
    max-width: 100%;
    font-size: clamp(3.75rem, 6.25vw, 5rem);
    line-height: 1;
  }

  .section-intro h2,
  .collection-head h2,
  .process-copy h2,
  .experience-head h2,
  .faq h2,
  .footer h2 {
    max-width: 42rem;
    line-height: 1.26;
  }

  .impact .section-intro h2::before,
  .selected .section-intro h2::before,
  .services .section-intro h2::before,
  .collection .collection-head h2::before,
  .process .process-copy h2::before,
  .experience .experience-head h2::before,
  .faq .faq-intro h2::before,
  .footer h2::before {
    display: block;
    margin-bottom: 14px;
    color: #4b5b63;
    font-family: var(--homy-sans);
    font-size: 14px;
    font-weight: 400;
    line-height: 22.4px;
    letter-spacing: normal;
  }

  .impact .section-intro h2::before { content: 'НАШ ПОДХОД'; }
  .selected .section-intro h2::before { content: 'ИЗБРАННЫЕ ОБЪЕКТЫ'; }
  .services .section-intro h2::before { content: 'СОПРОВОЖДЕНИЕ'; }
  .collection .collection-head h2::before { content: 'КАТАЛОГ НЕДВИЖИМОСТИ'; }
  .process .process-copy h2::before { content: 'ПРОЦЕСС ПОКУПКИ'; }
  .experience .experience-head h2::before { content: 'ПОЧЕМУ RIVI HOME'; }
  .faq .faq-intro h2::before { content: 'ВАЖНО ЗНАТЬ'; }
  .footer h2::before { content: 'ЛИЧНАЯ ПОДБОРКА'; }

  @media (max-width: 720px) {
    .hero h1 {
      font-size: clamp(3rem, 11.5vw, 4.25rem);
    }

    .section-intro h2,
    .collection-head h2,
    .process-copy h2,
    .experience-head h2,
    .faq h2,
    .footer h2 {
      max-width: none;
      line-height: 1.16;
    }
  }



  /* V7: Homy hero geçişi. Ev V5'te zaten verilen JmEO referans varlığıdır. */
  .hero-sticky {
    background: linear-gradient(180deg, #c3e5f7 0%, #9fc9dc 56%, #316073 100%);
  }

  /* Genel amaçlı CSS sisleri referansın varlık tabanlı iki bulut katmanını bozuyordu. */
  .hero-smoke {
    display: none !important;
  }

  .hero-image-motion {
    top: 513.6px;
  }

  .hero-image-wrap {
    filter: none;
  }

  /* Special Gothic Rusça glif sunmadığı için başlık gerçek Manrope 800 + kontrollü konturla referansın kütlesine yaklaşır. */
  .hero h1 {
    font-family: Manrope, Arial, sans-serif;
    font-weight: 800 !important;
    -webkit-text-stroke: 1px currentColor;
    paint-order: stroke fill;
  }

  /* Homy'nin gerçek tipografik eşikleri: 100 / 70 / 51 px. */
  @media (min-width: 1200px) {
    .hero h1 {
      font-size: 100px;
      letter-spacing: -1px;
      line-height: 100px;
    }
  }

  @media (min-width: 721px) and (max-width: 1199px) {
    .hero h1 {
      font-size: 70px;
      letter-spacing: -0.7px;
      line-height: 70px;
    }
  }

  /* Referanstaki gibi menü, sağdaki iletişim eyleminin hemen solunda kalır. */
  @media (min-width: 721px) {
    .site-header {
      grid-template-columns: minmax(0, 1fr) auto auto;
      column-gap: 34px;
    }

    .desktop-nav {
      justify-self: end;
    }
  }

  /* Fotoğraf üstündeki footer CTA'sı: ince noktalı etiket ve gerçek okunurluk. */
  .footer-cta h2::before {
    content: none !important;
    display: none !important;
  }

  .footer-eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin: 0 0 14px;
    color: #eaf4f7;
    font-family: var(--homy-sans);
    font-size: 14px;
    font-weight: 400;
    line-height: 22.4px;
  }

  .footer-eyebrow::before {
    content: '';
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 999px;
    background: currentColor;
  }

  .footer-cta p {
    color: #f6f6f6 !important;
    text-shadow: 0 1px 16px rgba(8, 11, 15, 0.58);
  }

  /* Buton sabit kalır; aynı ok soldan girip sağdan çıkar. */
  .velora-arrow-frame {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transform: none !important;
  }

  .velora-arrow-frame > svg {
    position: relative;
    z-index: 1;
    display: block;
    transition: transform 230ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
  }

  .velora-arrow-frame > .velora-arrow-clone {
    position: absolute;
    inset: 0;
    z-index: 2;
    transform: translateX(-160%);
  }

  .header-cta:hover,
  .header-cta:hover .velora-arrow-frame {
    transform: none !important;
  }

  @media (hover: hover) and (pointer: fine) {
    .button:hover .velora-arrow-frame > svg:not(.velora-arrow-clone),
    .button:focus-visible .velora-arrow-frame > svg:not(.velora-arrow-clone),
    .header-cta:hover .velora-arrow-frame > svg:not(.velora-arrow-clone),
    .header-cta:focus-visible .velora-arrow-frame > svg:not(.velora-arrow-clone) {
      transform: translateX(160%);
    }

    .button:hover .velora-arrow-frame > .velora-arrow-clone,
    .button:focus-visible .velora-arrow-frame > .velora-arrow-clone,
    .header-cta:hover .velora-arrow-frame > .velora-arrow-clone,
    .header-cta:focus-visible .velora-arrow-frame > .velora-arrow-clone {
      transform: translateX(0);
    }
  }

  .impact {
    position: relative;
    z-index: 1;
    overflow: visible;
    background: #ffffff;
  }

  .impact > .section-intro,
  .impact > .impact-stage {
    position: relative;
    z-index: 2;
  }

  .homy-cloud-layer {
    position: absolute;
    left: calc((100% - 100vw) / 2 - 32px);
    z-index: 0;
    display: block;
    width: calc(100vw + 65px);
    height: 464px;
    overflow: visible;
    pointer-events: none;
  }

  .homy-cloud-layer img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
  }

  .homy-cloud-layer--near { top: -130px; }
  .homy-cloud-layer--far { top: -260px; }

  /* Homy'nin 324×231 cam bilgi paneli: bütün seçili ilanlarda aynı geometri. */
  @media (min-width: 1024px) {
    .impact {
      padding-top: 80px;
      padding-bottom: 80px;
    }

    .impact-stage {
      height: 326px;
      margin-top: 64px;
      grid-template-rows: 326px;
    }

    .impact-photo-wrap,
    .impact-principles {
      min-height: 0;
      height: 326px;
    }

    .impact-principles {
      grid-template-rows: repeat(3, minmax(0, 1fr));
    }

    .principle {
      min-height: 0;
      height: auto;
      padding: 16px 30px;
    }

    .principle strong {
      font-size: 52px;
      line-height: 1;
    }

    .property-button {
      width: 324px;
      min-height: 0;
      height: 231px;
      gap: 14px;
      padding: 18px 20px;
      border-color: rgba(255, 255, 255, 0.18);
      border-radius: 15px;
      background: rgba(11, 17, 23, 0.35);
      box-shadow: none;
      backdrop-filter: blur(5px);
      -webkit-backdrop-filter: blur(5px);
    }

    .property-button:hover {
      background: rgba(11, 17, 23, 0.46);
      box-shadow: 0 10px 24px rgba(11, 17, 23, 0.5);
    }

    .property-category {
      padding: 5px 15px;
      border-radius: 0 0 10px 10px;
      background: rgba(255, 255, 255, 0.07);
    }

    .property-meta {
      gap: 7px;
    }

    .property-meta > span:last-child {
      min-height: 44px;
      margin-top: 0;
      border-radius: 12px;
    }
  }

  @media (max-width: 720px) {
    .hero {
      height: 895px;
    }

    .hero h1 {
      font-size: 51px;
      letter-spacing: -0.51px;
      line-height: 51px;
    }

    .hero-image-motion {
      top: 525.5px !important;
    }

    .homy-cloud-layer--near { top: -130px; }
    .homy-cloud-layer--far { top: -260px; }
  }

  @media (prefers-reduced-motion: reduce) {
    .homy-cloud-layer,
    .homy-cloud-layer img {
      transition: none !important;
      animation: none !important;
    }

    .velora-arrow-frame > svg {
      transition: none !important;
      transform: none !important;
    }

    .velora-arrow-frame > .velora-arrow-clone {
      display: none;
    }
  }




    @media (max-width: 720px) {
      .v12-experience-feature {
        position: relative !important;
        height: 420px !important;
        overflow: hidden !important;
        background: #011231 !important;
      }

      .v12-experience-feature > img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center bottom !important;
      }

      .v12-experience-feature::after {
        position: absolute !important;
        z-index: 1 !important;
        inset: 42% 0 0 !important;
        background: linear-gradient(180deg, transparent, rgba(1, 18, 49, 0.88)) !important;
        content: '' !important;
      }

      .v12-experience-feature figcaption {
        position: absolute !important;
        z-index: 2 !important;
        right: 24px !important;
        bottom: 24px !important;
        left: 24px !important;
        display: grid !important;
        gap: 5px !important;
        width: auto !important;
        color: #fff !important;
      }

      .v12-experience-feature figcaption strong {
        color: #fff !important;
        font-size: 26px !important;
        line-height: 1.15 !important;
      }

      .v12-experience-feature figcaption span {
        color: rgba(255, 255, 255, 0.84) !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
      }
    }
  


    @media (max-width: 720px) {
      .selected.v14-properties-restored,
      .collection.v14-listings-restored {
        box-sizing: border-box !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
        background: #fff !important;
        color: #080b0f !important;
      }

      .v14-property-scenes {
        position: relative !important;
        isolation: isolate !important;
        height: auto !important;
      }

      .v14-property-scene {
        position: relative !important;
        top: auto !important;
        z-index: auto !important;
        display: grid !important;
        width: 100% !important;
        height: 72dvh !important;
        min-height: 560px !important;
        max-height: 720px !important;
        overflow: hidden !important;
        place-items: center !important;
        border: 0 !important;
        background: #080b0f !important;
        isolation: isolate !important;
      }

      .v14-scene-image,
      .v14-scene-shade {
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        width: 100% !important;
        height: 100% !important;
      }

      .v14-scene-image {
        z-index: 0 !important;
        max-width: none !important;
        object-fit: cover !important;
        object-position: center !important;
        transform: scale(1.02) !important;
      }

      .v14-scene-shade {
        z-index: 1 !important;
        pointer-events: none !important;
        background: linear-gradient(180deg, rgba(8, 11, 15, 0.38) 0%, rgba(8, 11, 15, 0.25) 40%, rgba(8, 11, 15, 0.72) 100%) !important;
      }

      .v14-scene-panel-motion {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        z-index: 2 !important;
        width: min(calc(100vw - 40px), 324px) !important;
        opacity: 1 !important;
        filter: none !important;
        transform: translate3d(-50%, -50%, 0) !important;
      }

      .v14-scene-panel {
        box-sizing: border-box !important;
        position: relative !important;
        display: flex !important;
        width: 100% !important;
        height: 218px !important;
        min-height: 218px !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding: 48px 18px 18px !important;
        border: 1px solid rgba(255, 255, 255, 0.16) !important;
        border-radius: 15px !important;
        background: rgba(11, 17, 23, 0.55) !important;
        box-shadow: 0 18px 50px rgba(0, 0, 0, 0.30) !important;
        color: #fff !important;
        text-align: center !important;
        backdrop-filter: blur(5px) !important;
        -webkit-backdrop-filter: blur(5px) !important;
      }

      .v14-scene-price {
        position: absolute !important;
        top: -20px !important;
        left: 50% !important;
        display: inline-flex !important;
        min-height: 39px !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 16px !important;
        transform: translateX(-50%) !important;
        border: 1px solid rgba(255, 255, 255, 0.10) !important;
        border-radius: 0 0 11px 11px !important;
        background: rgba(255, 255, 255, 0.08) !important;
        color: rgba(255, 255, 255, 0.96) !important;
        font: 500 15px/1 Manrope, Arial, sans-serif !important;
        white-space: nowrap !important;
      }

      .v14-scene-title {
        margin: 0 !important;
        color: #fff !important;
        font: 500 30px/1.22 Manrope, Arial, sans-serif !important;
        letter-spacing: -0.03em !important;
      }

      .v14-scene-location {
        margin: 8px 0 16px !important;
        color: rgba(255, 255, 255, 0.94) !important;
        font: 500 15px/1.45 Manrope, Arial, sans-serif !important;
      }

      .v14-scene-cta,
      .v14-listing-all {
        box-sizing: border-box !important;
        display: inline-flex !important;
        min-height: 44px !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        padding: 0 9px 0 16px !important;
        border: 1px solid #fff !important;
        border-radius: 12px !important;
        appearance: none !important;
        -webkit-appearance: none !important;
        background: #fff !important;
        color: #080b0f !important;
        font: 500 14px/1 Manrope, Arial, sans-serif !important;
        cursor: pointer !important;
      }

      .v14-arrow-frame {
        position: relative !important;
        display: grid !important;
        width: 30px !important;
        height: 30px !important;
        flex: 0 0 30px !important;
        overflow: hidden !important;
        place-items: center !important;
        border-radius: 9px !important;
        background: #080b0f !important;
        color: #fff !important;
      }

      .v14-arrow-frame svg {
        position: absolute !important;
        display: block !important;
        width: 16px !important;
        height: 16px !important;
        fill: none !important;
        stroke: currentColor !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
        stroke-width: 1.8 !important;
      }

      .v14-arrow-frame svg:last-child {
        transform: translateX(-160%) !important;
      }

      .v14-listing-all {
        border-color: #080b0f !important;
        background: #080b0f !important;
        color: #fff !important;
        box-shadow: 0 10px 22px rgba(8, 11, 15, 0.14) !important;
      }

      .v14-listing-all .v14-arrow-frame {
        background: #fff !important;
        color: #080b0f !important;
      }

      .v14-listing-grid {
        box-sizing: border-box !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-rows: 344px !important;
        width: min(calc(100% - 40px), 680px) !important;
        margin: 0 auto !important;
        padding: 0 0 52px !important;
        gap: 16px !important;
      }

      .v14-listing-card {
        box-sizing: border-box !important;
        position: relative !important;
        display: block !important;
        width: 100% !important;
        height: 344px !important;
        min-height: 344px !important;
        overflow: hidden !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 15px !important;
        appearance: none !important;
        -webkit-appearance: none !important;
        background: #080b0f !important;
        color: #fff !important;
        cursor: pointer !important;
        isolation: isolate !important;
        text-align: left !important;
      }

      .v14-listing-card::after {
        position: absolute !important;
        z-index: 1 !important;
        inset: 0 !important;
        content: '' !important;
        pointer-events: none !important;
        background: linear-gradient(180deg, rgba(8, 11, 15, 0.01) 28%, rgba(8, 11, 15, 0.20) 50%, rgba(8, 11, 15, 0.82) 100%) !important;
      }

      .v14-listing-image {
        position: absolute !important;
        inset: 0 !important;
        z-index: 0 !important;
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        object-fit: cover !important;
        object-position: center !important;
      }

      .v14-listing-chip {
        position: absolute !important;
        top: 18px !important;
        right: 18px !important;
        z-index: 2 !important;
        display: inline-flex !important;
        min-height: 32px !important;
        align-items: center !important;
        gap: 6px !important;
        padding: 0 12px !important;
        border-radius: 999px !important;
        background: rgba(255, 255, 255, 0.96) !important;
        color: #080b0f !important;
        font: 500 14px/1 Manrope, Arial, sans-serif !important;
      }

      .v14-listing-chip svg,
      .v14-listing-meta svg {
        display: block !important;
        width: 15px !important;
        height: 15px !important;
        flex: 0 0 15px !important;
        fill: none !important;
        stroke: currentColor !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
        stroke-width: 1.8 !important;
      }

      .v14-listing-copy {
        position: absolute !important;
        right: 20px !important;
        bottom: 19px !important;
        left: 20px !important;
        z-index: 2 !important;
        display: grid !important;
        gap: 8px !important;
      }

      .v14-listing-name {
        color: #fff !important;
        font: 500 17px/1.3 Manrope, Arial, sans-serif !important;
      }

      .v14-listing-request {
        color: #fff !important;
        font: 500 28px/1.08 Manrope, Arial, sans-serif !important;
        letter-spacing: -0.03em !important;
      }

      .v14-listing-meta {
        display: flex !important;
        min-width: 0 !important;
        align-items: center !important;
        gap: 10px !important;
        color: rgba(255, 255, 255, 0.94) !important;
        font: 500 14px/1.35 Manrope, Arial, sans-serif !important;
      }

      .v14-listing-meta span {
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
      }

      .v14-listing-meta i {
        display: block !important;
        width: 1px !important;
        height: 18px !important;
        flex: 0 0 1px !important;
        background: rgba(255, 255, 255, 0.72) !important;
      }
    }

    @media (max-width: 390px) {
      .v14-scene-title {
        font-size: 27px !important;
      }

      .v14-listing-meta {
        gap: 7px !important;
        font-size: 12px !important;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .v14-scene-image,
      .v14-arrow-frame svg,
      .v14-listing-image,
      .v14-listing-card {
        transition: none !important;
        animation: none !important;
      }
    }
  

/* V8 interaction routes — mounted inside the V7 Shadow DOM. */
.velora-v8-shell {
  --v8-ink: #090d12;
  --v8-paper: #ffffff;
  --v8-mist: #f4f5f5;
  --v8-muted: #50606a;
  --v8-line: rgba(9, 13, 18, 0.12);
  --v8-sky: #c7eaf7;
  --v8-ease: cubic-bezier(0.16, 1, 0.3, 1);
  position: fixed;
  z-index: 2147483000;
  inset: 0;
  display: block;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  color: var(--v8-ink);
  font-family: Manrope, Arial, sans-serif;
  transition: opacity 220ms var(--v8-ease), visibility 0s linear 220ms;
}

.velora-v8-shell[data-open="true"] {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transition-delay: 0s;
}

.velora-v8-page {
  position: relative;
  display: grid;
  height: 100%;
  min-height: 100%;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  background: var(--v8-paper);
  animation: velora-v8-page-in 340ms var(--v8-ease) both;
}

.velora-v8-scroller {
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: rgba(9, 13, 18, 0.38) transparent;
}

.velora-v8-header {
  position: relative;
  z-index: 3;
  display: grid;
  min-height: 84px;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 34px;
  padding: 0 clamp(28px, 6.4vw, 92px);
  border-bottom: 1px solid rgba(9, 13, 18, 0.09);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 8px 30px rgba(26, 42, 51, 0.04);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.velora-v8-brand,
.velora-v8-nav-button,
.velora-v8-button,
.velora-v8-icon-button,
.velora-v8-card,
.velora-v8-chip,
.velora-v8-clear {
  font: inherit;
  -webkit-tap-highlight-color: transparent;
}

.velora-v8-brand {
  display: inline-flex;
  width: max-content;
  min-height: 44px;
  align-items: center;
  gap: 9px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--v8-ink);
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.04em;
  cursor: pointer;
}

.velora-v8-brand svg {
  width: 25px;
  height: 25px;
  stroke-width: 2.35;
}

.velora-v8-nav {
  display: inline-flex;
  align-items: center;
  gap: 30px;
}

.velora-v8-mobile-menu-button,
.velora-v8-mobile-nav {
  display: none;
}

.velora-v8-nav-button {
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--v8-ink);
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  transition: opacity 180ms ease, transform 180ms var(--v8-ease);
}

.velora-v8-nav-button:hover,
.velora-v8-nav-button:focus-visible {
  opacity: 0.58;
  transform: translateY(-1px);
}

.velora-v8-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 10px 0 19px;
  border: 1px solid var(--v8-ink);
  border-radius: 14px;
  background: var(--v8-ink);
  color: #fff;
  box-shadow: 0 10px 22px rgba(9, 13, 18, 0.14);
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  transition: box-shadow 220ms var(--v8-ease), transform 220ms var(--v8-ease), background 220ms var(--v8-ease), color 220ms var(--v8-ease);
}

.velora-v8-button:hover,
.velora-v8-button:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 15px 28px rgba(9, 13, 18, 0.2);
}

.velora-v8-button:active {
  transform: translateY(0) scale(0.98);
}

.velora-v8-button--header {
  justify-self: end;
  min-height: 48px;
  padding-left: 18px;
}

.velora-v8-button--light {
  border-color: var(--v8-ink);
  background: transparent;
  color: var(--v8-ink);
  box-shadow: none;
}

.velora-v8-button--light:hover,
.velora-v8-button--light:focus-visible {
  background: rgba(9, 13, 18, 0.055);
  box-shadow: none;
}

.velora-v8-arrow-frame {
  position: relative;
  display: grid;
  width: 30px;
  height: 30px;
  overflow: hidden;
  place-items: center;
  border-radius: 9px;
  background: #fff;
  color: var(--v8-ink);
}

.velora-v8-arrow-frame svg {
  position: absolute;
  width: 17px;
  height: 17px;
  transition: transform 220ms var(--v8-ease);
}

.velora-v8-arrow-frame svg:last-child {
  transform: translateX(-150%);
}

@media (hover: hover) and (pointer: fine) {
  .velora-v8-button:hover .velora-v8-arrow-frame svg:first-child,
  .velora-v8-button:focus-visible .velora-v8-arrow-frame svg:first-child {
    transform: translateX(150%);
  }

  .velora-v8-button:hover .velora-v8-arrow-frame svg:last-child,
  .velora-v8-button:focus-visible .velora-v8-arrow-frame svg:last-child {
    transform: translateX(0);
  }
}

.velora-v8-icon-button {
  display: inline-grid;
  width: 44px;
  height: 44px;
  place-items: center;
  padding: 0;
  border: 1px solid var(--v8-line);
  border-radius: 12px;
  background: #fff;
  color: var(--v8-ink);
  cursor: pointer;
  transition: background 180ms ease, transform 180ms var(--v8-ease), box-shadow 180ms var(--v8-ease);
}

.velora-v8-icon-button:hover,
.velora-v8-icon-button:focus-visible {
  transform: translateY(-1px);
  background: var(--v8-mist);
  box-shadow: 0 8px 18px rgba(9, 13, 18, 0.09);
}

.velora-v8-icon-button svg {
  width: 19px;
  height: 19px;
}

.velora-v8-content {
  width: min(100% - 48px, 1256px);
  margin: 0 auto;
  padding: clamp(62px, 9vw, 120px) 0 88px;
}

.velora-v8-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(290px, 0.72fr);
  align-items: end;
  gap: clamp(36px, 8vw, 126px);
  margin-bottom: clamp(48px, 7vw, 88px);
}

.velora-v8-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 22px;
  color: #586a74;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.35;
}

.velora-v8-eyebrow::before {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border: 1px solid currentColor;
  border-radius: 50%;
  box-shadow: inset 0 0 0 2px #fff;
  background: currentColor;
  content: '';
}

.velora-v8-heading {
  max-width: 13ch;
  margin: 0;
  color: var(--v8-ink);
  font-size: clamp(43px, 3.9vw, 58px);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 0.98;
  text-wrap: balance;
}

.velora-v8-intro-copy {
  max-width: 35ch;
  margin: 0 0 3px;
  color: var(--v8-muted);
  font-size: clamp(16px, 1.42vw, 19px);
  font-weight: 500;
  line-height: 1.54;
}

.velora-v8-listing-layout {
  display: grid;
  grid-template-columns: minmax(270px, 0.36fr) minmax(0, 1fr);
  align-items: start;
  gap: 30px;
}

.velora-v8-filters {
  position: sticky;
  top: 22px;
  padding: 22px 20px 24px;
  border-radius: 16px;
  background: var(--v8-mist);
}

.velora-v8-filter-topline,
.velora-v8-field-label,
.velora-v8-card-meta,
.velora-v8-contact-status,
.velora-v8-route-caption,
.velora-v8-spec dt,
.velora-v8-note {
  color: #5a6973;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
}

.velora-v8-filter-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  color: var(--v8-ink);
  font-size: 17px;
  font-weight: 700;
}

.velora-v8-clear {
  min-height: 36px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--v8-ink);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.velora-v8-filter-group + .velora-v8-filter-group {
  margin-top: 23px;
}

.velora-v8-field-label {
  display: block;
  margin-bottom: 8px;
}

.velora-v8-input,
.velora-v8-select,
.velora-v8-textarea {
  width: 100%;
  min-height: 46px;
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: 10px;
  outline: none;
  background: #fff;
  color: var(--v8-ink);
  font: inherit;
  font-size: 14px;
  line-height: 1.2;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.velora-v8-select {
  cursor: pointer;
}

.velora-v8-textarea {
  min-height: 132px;
  padding-top: 13px;
  resize: vertical;
}

.velora-v8-input::placeholder,
.velora-v8-textarea::placeholder {
  color: #75838b;
  opacity: 1;
}

.velora-v8-input:focus,
.velora-v8-select:focus,
.velora-v8-textarea:focus {
  border-color: rgba(9, 13, 18, 0.54);
  box-shadow: 0 0 0 3px rgba(199, 234, 247, 0.86);
}

.velora-v8-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.velora-v8-chip {
  min-height: 36px;
  padding: 0 12px;
  border: 0;
  border-radius: 10px;
  background: #fff;
  color: #50606a;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: background 160ms ease, color 160ms ease, transform 160ms var(--v8-ease);
}

.velora-v8-chip:hover,
.velora-v8-chip:focus-visible {
  transform: translateY(-1px);
  color: var(--v8-ink);
}

.velora-v8-chip[aria-pressed="true"] {
  background: var(--v8-ink);
  color: #fff;
}

.velora-v8-result-count {
  margin: 0 0 14px;
  color: #60717b;
  font-size: 13px;
  font-weight: 500;
}

.velora-v8-property-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.velora-v8-card {
  position: relative;
  display: flex;
  min-height: 332px;
  align-items: flex-end;
  overflow: hidden;
  padding: 18px;
  border: 0;
  border-radius: 18px;
  background: #18242b;
  color: #fff;
  text-align: left;
  cursor: pointer;
  isolation: isolate;
  transition: transform 260ms var(--v8-ease), box-shadow 260ms var(--v8-ease);
}

.velora-v8-card:hover,
.velora-v8-card:focus-visible {
  transform: translateY(-5px);
  box-shadow: 0 18px 33px rgba(9, 13, 18, 0.2);
}

.velora-v8-card::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg, rgba(9, 13, 18, 0.02) 31%, rgba(9, 13, 18, 0.76) 100%);
  content: '';
}

.velora-v8-card-image {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 640ms var(--v8-ease), filter 640ms var(--v8-ease);
}

.velora-v8-card:hover .velora-v8-card-image,
.velora-v8-card:focus-visible .velora-v8-card-image {
  transform: scale(1.045);
  filter: saturate(1.04);
}

.velora-v8-status {
  position: absolute;
  top: 18px;
  right: 18px;
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: var(--v8-ink);
  font-size: 12px;
  font-weight: 600;
}

.velora-v8-status svg {
  width: 13px;
  height: 13px;
}

.velora-v8-card-copy {
  position: relative;
  width: 100%;
}

.velora-v8-card-title {
  display: block;
  margin-bottom: 8px;
  font-size: clamp(19px, 1.75vw, 25px);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.05;
}

.velora-v8-card-location,
.velora-v8-card-category {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
}

.velora-v8-card-location svg {
  width: 14px;
  height: 14px;
}

.velora-v8-card-category {
  margin-top: 10px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
}

.velora-v8-empty {
  display: grid;
  min-height: 332px;
  place-items: center;
  padding: 28px;
  border: 1px solid var(--v8-line);
  border-radius: 18px;
  color: var(--v8-muted);
  text-align: center;
}

.velora-v8-detail-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 28px;
  margin-bottom: 36px;
}

.velora-v8-detail-heading {
  max-width: 14ch;
  margin: 0;
  font-size: clamp(43px, 3.9vw, 58px);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 0.98;
  text-wrap: balance;
}

.velora-v8-detail-location {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 18px;
  color: var(--v8-muted);
  font-size: 16px;
  font-weight: 500;
}

.velora-v8-detail-location svg {
  width: 18px;
  height: 18px;
}

.velora-v8-price-note {
  margin: 0 0 3px;
  font-size: clamp(22px, 2.6vw, 36px);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
  text-align: right;
}

.velora-v8-gallery {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(240px, 0.82fr);
  gap: 14px;
  margin-bottom: clamp(52px, 7vw, 88px);
}

.velora-v8-gallery-main,
.velora-v8-gallery-side img {
  display: block;
  width: 100%;
  object-fit: cover;
  border-radius: 18px;
}

.velora-v8-gallery-main {
  min-height: 502px;
  height: 100%;
}

.velora-v8-gallery-side {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.velora-v8-gallery-side img {
  min-height: 0;
  height: 100%;
}

.velora-v8-detail-body {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(290px, 0.72fr);
  gap: clamp(36px, 9vw, 138px);
}

.velora-v8-detail-body h2,
.velora-v8-contact-copy h2,
.velora-v8-about-copy h2,
.velora-v8-process-title {
  margin: 0 0 18px;
  font-size: clamp(28px, 2.7vw, 39px);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.03;
}

.velora-v8-detail-description,
.velora-v8-about-copy p,
.velora-v8-process-copy p,
.velora-v8-contact-copy p {
  max-width: 63ch;
  margin: 0;
  color: var(--v8-muted);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.56;
}

.velora-v8-specs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--v8-line);
  border-radius: 16px;
  background: var(--v8-line);
}

.velora-v8-spec {
  min-height: 116px;
  padding: 20px;
  background: #fff;
}

.velora-v8-spec dt {
  margin-bottom: 9px;
}

.velora-v8-spec dd {
  margin: 0;
  color: var(--v8-ink);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.velora-v8-detail-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 28px;
  margin-top: clamp(54px, 8vw, 108px);
  padding: clamp(28px, 5vw, 58px);
  overflow: hidden;
  border-radius: 20px;
  background: var(--v8-ink);
  color: #fff;
}

.velora-v8-detail-cta h2 {
  max-width: 16ch;
  margin: 0 0 12px;
  font-size: clamp(30px, 3vw, 46px);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
}

.velora-v8-detail-cta p {
  max-width: 52ch;
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.52;
}

.velora-v8-detail-cta .velora-v8-button {
  border-color: #fff;
  background: #fff;
  color: var(--v8-ink);
  box-shadow: none;
}

.velora-v8-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.96fr) minmax(360px, 1fr);
  gap: 20px;
}

.velora-v8-contact-copy {
  position: relative;
  display: flex;
  min-height: 580px;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  padding: clamp(26px, 4vw, 40px);
  border-radius: 18px;
  background: #081017;
  color: #fff;
  isolation: isolate;
}

.velora-v8-contact-copy::before {
  position: absolute;
  z-index: -2;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 16, 23, 0.22), rgba(8, 16, 23, 0.95));
  content: '';
}

.velora-v8-contact-image {
  position: absolute;
  z-index: -3;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.87;
}

.velora-v8-contact-copy h2,
.velora-v8-contact-copy p {
  color: #fff;
}

.velora-v8-contact-copy p {
  max-width: 28ch;
  color: rgba(255, 255, 255, 0.76);
}

.velora-v8-contact-commitment {
  display: grid;
  gap: 12px;
}

.velora-v8-contact-commitment svg {
  width: 30px;
  height: 30px;
}

.velora-v8-contact-commitment strong {
  font-size: 18px;
  letter-spacing: -0.03em;
}

.velora-v8-contact-form-wrap {
  padding: clamp(24px, 3.4vw, 42px);
  border-radius: 18px;
  background: var(--v8-mist);
}

.velora-v8-contact-form {
  display: grid;
  gap: 16px;
}

.velora-v8-contact-form .velora-v8-field-label {
  margin-bottom: 7px;
}

.velora-v8-form-error,
.velora-v8-form-success {
  margin: 2px 0 0;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
}

.velora-v8-form-error {
  padding: 12px 14px;
  background: #fff0ef;
  color: #9d251a;
}

.velora-v8-form-success {
  display: grid;
  min-height: 420px;
  align-content: center;
  gap: 17px;
}

.velora-v8-form-success svg {
  width: 42px;
  height: 42px;
  color: #1e5c47;
}

.velora-v8-form-success h2 {
  margin: 0;
  font-size: clamp(30px, 3vw, 42px);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
}

.velora-v8-form-success p {
  max-width: 38ch;
  margin: 0;
  color: var(--v8-muted);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.55;
}

.velora-v8-process-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(38px, 8vw, 116px);
  align-items: start;
}

.velora-v8-process-title {
  max-width: 11ch;
  font-size: clamp(43px, 3.9vw, 58px);
}

.velora-v8-process-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.velora-v8-process-item {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 18px;
  padding: 22px 0;
  border-top: 1px solid var(--v8-line);
}

.velora-v8-process-item:last-child {
  border-bottom: 1px solid var(--v8-line);
}

.velora-v8-process-number {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: var(--v8-ink);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}

.velora-v8-process-item h2 {
  margin: 0 0 8px;
  color: var(--v8-ink);
  font-size: 22px;
  font-weight: 750;
  letter-spacing: -0.03em;
  line-height: 1.08;
}

.velora-v8-process-item p {
  margin: 0;
  color: var(--v8-muted);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.52;
}

.velora-v8-about-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.97fr);
  align-items: start;
  gap: clamp(38px, 8vw, 112px);
}

.velora-v8-about-copy {
  padding-top: 20px;
}

.velora-v8-about-copy h2 {
  max-width: 11ch;
  font-size: clamp(43px, 3.9vw, 58px);
}

.velora-v8-about-media {
  display: grid;
  grid-template-rows: minmax(280px, 1fr) auto;
  gap: 16px;
}

.velora-v8-about-media img {
  display: block;
  width: 100%;
  min-height: 385px;
  height: 100%;
  object-fit: cover;
  border-radius: 18px;
}

.velora-v8-about-media-note {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 13px;
  padding: 17px 0 0;
  border-top: 1px solid var(--v8-line);
}

.velora-v8-about-media-note svg {
  width: 27px;
  height: 27px;
}

.velora-v8-about-media-note p {
  margin: 0;
  color: var(--v8-muted);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.48;
}

.velora-v8-about-values {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: clamp(50px, 7vw, 94px);
  overflow: hidden;
  border: 1px solid var(--v8-line);
  border-radius: 18px;
  background: var(--v8-line);
}

.velora-v8-about-value {
  min-height: 198px;
  padding: 27px;
  background: #fff;
}

.velora-v8-about-value h2 {
  margin: 0 0 10px;
  font-size: 23px;
  font-weight: 750;
  letter-spacing: -0.03em;
  line-height: 1.08;
}

.velora-v8-about-value p {
  margin: 0;
  color: var(--v8-muted);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.52;
}

.velora-v8-footer-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: clamp(52px, 8vw, 106px);
  padding-top: 28px;
  border-top: 1px solid var(--v8-line);
}

.velora-v8-footer-cta p {
  max-width: 48ch;
  margin: 0;
  color: var(--v8-muted);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
}

.velora-v8-focus-sentinel {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.velora-v8-shell :focus-visible {
  outline: 3px solid #5a9cbc;
  outline-offset: 3px;
}

@keyframes velora-v8-page-in {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1040px) {
  .velora-v8-header {
    gap: 22px;
    padding-inline: 28px;
  }

  .velora-v8-nav {
    gap: 19px;
  }

  .velora-v8-listing-layout,
  .velora-v8-contact-grid {
    grid-template-columns: 1fr;
  }

  .velora-v8-filters {
    position: static;
  }

  .velora-v8-filter-groups-inline {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
  }

  .velora-v8-filter-groups-inline .velora-v8-filter-group + .velora-v8-filter-group {
    margin-top: 0;
  }

  .velora-v8-contact-copy {
    min-height: 410px;
  }
}

@media (max-width: 760px) {
  .velora-v8-header {
    min-height: 70px;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 12px;
    padding-inline: 20px;
  }

  .velora-v8-nav {
    display: none;
  }

  .velora-v8-mobile-menu-button {
    display: inline-grid;
    width: 44px;
    height: 44px;
    place-items: center;
    padding: 0;
    border: 1px solid var(--v8-line);
    border-radius: 12px;
    background: #fff;
    color: var(--v8-ink);
    cursor: pointer;
  }

  .velora-v8-mobile-menu-button svg {
    width: 20px;
    height: 20px;
  }

  .velora-v8-mobile-nav {
    position: absolute;
    top: calc(100% + 9px);
    right: 20px;
    z-index: 4;
    width: min(236px, calc(100vw - 40px));
    padding: 9px;
    border: 1px solid var(--v8-line);
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 16px 34px rgba(9, 13, 18, 0.15);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  .velora-v8-page[data-mobile-nav="true"] .velora-v8-mobile-nav {
    display: grid;
    gap: 2px;
  }

  .velora-v8-mobile-nav .velora-v8-nav-button {
    width: 100%;
    min-height: 44px;
    padding: 0 10px;
    border-radius: 9px;
    text-align: left;
  }

  .velora-v8-mobile-nav .velora-v8-nav-button:hover,
  .velora-v8-mobile-nav .velora-v8-nav-button:focus-visible {
    background: var(--v8-mist);
    opacity: 1;
    transform: none;
  }

  .velora-v8-button--header {
    min-height: 44px;
    gap: 9px;
    padding-left: 13px;
    border-radius: 12px;
    font-size: 13px;
  }

  .velora-v8-arrow-frame {
    width: 26px;
    height: 26px;
    border-radius: 7px;
  }

  .velora-v8-content {
    width: min(100% - 36px, 1256px);
    padding-top: 52px;
    padding-bottom: 56px;
  }

  .velora-v8-intro,
  .velora-v8-detail-body,
  .velora-v8-process-grid,
  .velora-v8-about-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .velora-v8-intro {
    margin-bottom: 42px;
  }

  .velora-v8-heading,
  .velora-v8-detail-heading,
  .velora-v8-process-title,
  .velora-v8-about-copy h2 {
    max-width: 12ch;
    font-size: clamp(38px, 11vw, 51px);
    line-height: 0.99;
  }

  .velora-v8-intro-copy {
    max-width: 33ch;
    font-size: 16px;
  }

  .velora-v8-filter-groups-inline {
    grid-template-columns: 1fr;
  }

  .velora-v8-property-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .velora-v8-card {
    min-height: 294px;
    border-radius: 16px;
  }

  .velora-v8-detail-head {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-bottom: 26px;
  }

  .velora-v8-price-note {
    font-size: 24px;
    text-align: left;
  }

  .velora-v8-gallery {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-bottom: 46px;
  }

  .velora-v8-gallery-main {
    min-height: 296px;
    height: 296px;
    border-radius: 16px;
  }

  .velora-v8-gallery-side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
    gap: 10px;
  }

  .velora-v8-gallery-side img {
    height: 142px;
    border-radius: 14px;
  }

  .velora-v8-specs,
  .velora-v8-about-values {
    grid-template-columns: 1fr;
  }

  .velora-v8-spec {
    min-height: 92px;
  }

  .velora-v8-detail-cta,
  .velora-v8-footer-cta {
    grid-template-columns: 1fr;
    display: grid;
    align-items: start;
  }

  .velora-v8-detail-cta .velora-v8-button,
  .velora-v8-footer-cta .velora-v8-button {
    width: 100%;
  }

  .velora-v8-contact-copy,
  .velora-v8-contact-form-wrap {
    border-radius: 16px;
  }

  .velora-v8-contact-copy {
    min-height: 338px;
  }

  .velora-v8-about-media img {
    min-height: 286px;
  }
}

@media (max-width: 430px) {
  .velora-v8-header {
    padding-inline: 15px;
  }

  .velora-v8-brand {
    font-size: 19px;
  }

  .velora-v8-brand svg {
    width: 22px;
    height: 22px;
  }

  .velora-v8-button--header > span:first-child {
    max-width: 118px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .velora-v8-content {
    width: min(100% - 30px, 1256px);
  }

  .velora-v8-filters {
    padding: 20px 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .velora-v8-shell,
  .velora-v8-page,
  .velora-v8-button,
  .velora-v8-arrow-frame svg,
  .velora-v8-card,
  .velora-v8-card-image,
  .velora-v8-nav-button,
  .velora-v8-icon-button,
  .velora-v8-chip {
    animation: none !important;
    transition: none !important;
  }
}


/*
  V9 — Homy live-reference tuning.
  This layer is mounted after V8 inside the existing Shadow DOM.  It deliberately
  keeps V7/V8 content, supplied media and interaction code intact.
*/

.rivi-v18-page {
  --v9-ink: #080b0f;
  --v9-muted: #4b5b63;
  --v9-paper: #ffffff;
  --v9-mist: #f1f1ef;
  --v9-line: rgba(8, 11, 15, 0.12);
  --v9-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

.site-header,
.site-header a,
.site-header button,
.hero,
.impact,
.statement-band,
.selected,
.services,
.collection,
.highlight-moment,
.experience,
.faq {
  color: var(--v9-ink);
}

.v9-section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  color: var(--v9-muted);
  font-family: Switzer, Manrope, Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 22.4px;
}

.v9-section-eyebrow::before {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  box-sizing: border-box;
  border: 1.25px solid currentColor;
  border-radius: 50%;
  box-shadow: inset 0 0 0 2px #fff;
  background: currentColor;
  content: '';
}

/* Supplied alpha cloud asset: a calm back layer plus a scroll-revealed foreground layer. */
.v9-hero-cloud-layer {
  position: absolute;
  left: -32px;
  width: calc(100% + 64px);
  height: 465px;
  overflow: hidden;
  pointer-events: none;
  will-change: opacity, transform;
}

.v9-hero-cloud-layer img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.v9-hero-cloud-layer--far {
  z-index: 0;
  top: 175px;
  opacity: 0.34;
}

.v9-hero-cloud-layer--front {
  z-index: 4;
  top: 612px;
  opacity: 0;
}

.impact .section-intro h2::before,
.selected .section-intro h2::before,
.services .section-intro h2::before,
.collection .collection-head h2::before,
.experience .experience-head h2::before,
.faq .faq-intro h2::before {
  display: none !important;
  content: none !important;
}

.v9-collection-copy {
  display: grid;
  justify-items: start;
  gap: 16px;
  color: var(--v9-muted);
}

.v9-collection-copy p {
  max-width: 360px;
  margin: 0;
  font-family: Switzer, Manrope, Arial, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 28.8px;
}

.v9-collection-all {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 10px;
  padding: 0 8px 0 16px;
  border: 1px solid var(--v9-ink);
  border-radius: 12px;
  background: var(--v9-ink);
  color: #fff;
  box-shadow: 0 10px 22px rgba(8, 11, 15, 0.16);
  font-family: Switzer, Manrope, Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 22.4px;
  cursor: pointer;
  transition: transform 220ms var(--v9-ease), box-shadow 220ms var(--v9-ease);
}

.v9-collection-all:hover,
.v9-collection-all:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 15px 28px rgba(8, 11, 15, 0.21);
}

.v9-collection-all-arrow {
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 8px;
  background: #fff;
  color: var(--v9-ink);
  font-size: 18px;
  line-height: 1;
  transition: transform 220ms var(--v9-ease);
}

.v9-collection-all:hover .v9-collection-all-arrow,
.v9-collection-all:focus-visible .v9-collection-all-arrow {
  transform: translateX(2px);
}

.v9-highlight-intro {
  position: absolute;
  z-index: 3;
  top: 80px;
  right: 0;
  left: 0;
  display: grid;
  grid-template-columns: minmax(0, 540px) minmax(0, 400px);
  align-items: end;
  justify-content: space-between;
  width: min(calc(100% - 48px), 1256px);
  margin: 0 auto;
  pointer-events: none;
}

.v9-highlight-intro h2 {
  max-width: 540px;
  margin: 0;
  color: var(--v9-ink);
  font-family: Switzer, Manrope, Arial, sans-serif;
  font-size: 48px;
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 67.2px;
}

.v9-highlight-intro p {
  max-width: 400px;
  margin: 0 0 2px;
  color: var(--v9-muted);
  font-family: Switzer, Manrope, Arial, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 28.8px;
}

.v9-highlight-intro .v9-section-eyebrow {
  grid-column: 1 / -1;
  margin-bottom: 20px;
}

/* V8 full-page routes inherit the reference token values and compact header. */
.velora-v8-shell {
  --v8-ink: #080b0f;
  --v8-muted: #4b5b63;
  --v8-line: rgba(8, 11, 15, 0.12);
  --v8-mist: #f1f1ef;
}

.velora-v8-header {
  gap: 24px;
  border-bottom-color: rgba(8, 11, 15, 0.09);
}

.velora-v8-nav {
  gap: 24px;
}

.velora-v8-button,
.velora-v8-button--header {
  min-height: 44px;
  border-radius: 12px;
  font-weight: 500;
}

.velora-v8-arrow-frame {
  width: 28px;
  height: 28px;
  border-radius: 8px;
}

/* Route headers use the same compact visible contact label as the home header. */
.velora-v8-button--header > span:first-child {
  font-size: 0;
}

.velora-v8-button--header > span:first-child::after {
  content: 'Связаться';
  font-size: 14px;
  line-height: 22.4px;
}

.velora-v8-heading,
.velora-v8-process-title,
.velora-v8-about-copy h1 {
  color: var(--v9-ink);
  font-family: Manrope, Arial, sans-serif;
  font-weight: 800;
  -webkit-text-stroke: 0.65px currentColor;
  paint-order: stroke fill;
}

@media (min-width: 1024px) {
  /* Fixed navigation: same 84 px rhythm and reference-sized controls. */
  .site-header {
    min-height: 84px;
    padding: 0 92px !important;
  }

  .desktop-nav {
    gap: 24px !important;
  }

  .desktop-nav a {
    min-height: 44px;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 22.4px;
  }

  .header-cta {
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 8px 0 16px !important;
    border-radius: 12px !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 500 !important;
  }

  .header-cta .velora-arrow-frame {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    color: var(--v9-ink) !important;
  }

  /* Hero measurements: 60/32 container puts the title at x=92 at 1440 px. */
  .hero-copy {
    width: calc(100% - 120px) !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 0 32px !important;
  }

  .hero h1 {
    color: var(--v9-ink);
    font-family: Manrope, Arial, sans-serif;
    font-weight: 800 !important;
    -webkit-text-stroke: 1.2px currentColor;
    paint-order: stroke fill;
  }

  .hero-summary {
    color: var(--v9-muted) !important;
  }

  .hero-image-wrap {
    opacity: 1 !important;
  }

  /* 736 px approach block: 540 / 360 copy columns and 283 / 540 / 283 stage. */
  .impact {
    box-sizing: border-box;
    min-height: 736px;
    padding: 100px 0 80px !important;
  }

  .impact .section-intro {
    display: grid;
    grid-template-columns: 540px 360px;
    align-items: end;
    justify-content: space-between;
    width: min(calc(100% - 48px), 1130px);
    margin: 0 auto 84px !important;
    gap: 0 !important;
  }

  .impact .section-intro h2,
  .selected .section-intro h2,
  .services .section-intro h2,
  .collection-head h2,
  .experience-head h2,
  .faq h2 {
    max-width: 540px !important;
    margin: 0;
    color: var(--v9-ink);
    font-family: Switzer, Manrope, Arial, sans-serif;
    font-size: 48px !important;
    font-weight: 600 !important;
    letter-spacing: -0.04em;
    line-height: 67.2px !important;
  }

  .impact .section-intro p,
  .selected .section-intro p,
  .services .section-intro p,
  .experience-head p,
  .faq-intro p {
    max-width: 360px !important;
    margin: 0 0 2px !important;
    color: var(--v9-muted) !important;
    font-family: Switzer, Manrope, Arial, sans-serif;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 28.8px !important;
  }

  .impact-stage {
    grid-template-columns: 283px minmax(0, 540px) 283px !important;
    grid-template-rows: 304px !important;
    width: min(calc(100% - 48px), 1130px);
    height: 304px !important;
    margin: 0 auto !important;
  }

  .impact-photo-wrap,
  .impact-principles {
    height: 304px !important;
  }

  .impact-principles {
    grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
  }

  .principle {
    min-height: 0 !important;
    padding: 14px 24px !important;
  }

  .statement-band {
    height: 1054px !important;
    min-height: 1054px !important;
  }

  /* 3017 px selected-property sequence: header starts at 100px, image sequence at 317px. */
  .selected {
    box-sizing: border-box;
    padding: 100px 0 0 !important;
  }

  .selected .section-intro {
    display: grid;
    grid-template-columns: 540px 360px;
    align-items: end;
    justify-content: space-between;
    width: min(calc(100% - 48px), 1130px);
    padding: 0 !important;
    margin: 0 auto 47px !important;
    gap: 0 !important;
  }

  .selected .section-intro p {
    max-width: 360px !important;
  }

  /* The Russian selected-property title needs the same two-line cadence without enlarging its column. */
  .selected .section-intro h2 {
    font-size: 44px !important;
    line-height: 58px !important;
  }

  .selected .section-intro {
    margin-bottom: 65px !important;
  }

  /* Homy-size service accordion: 670 + 281 + 281 within a 1256 px rail. */
  .services {
    box-sizing: border-box;
    height: 950px;
    min-height: 950px;
    padding: 80px 0 !important;
  }

  .services .section-intro {
    display: grid;
    grid-template-columns: 540px 360px;
    align-items: end;
    justify-content: space-between;
    width: min(calc(100% - 48px), 1256px);
    margin: 0 auto 64px !important;
    gap: 0 !important;
  }

  .service-list {
    width: min(calc(100% - 48px), 1256px);
    height: 554px !important;
    margin: 0 auto !important;
    gap: 12px !important;
  }

  .service-row {
    height: 554px !important;
    flex: 0 0 281px !important;
    border-radius: 20px !important;
    background: var(--v9-mist) !important;
    color: var(--v9-ink) !important;
    transition: flex-basis 560ms var(--v9-ease), background 360ms var(--v9-ease), color 360ms var(--v9-ease) !important;
  }

  .service-row.is-open {
    flex-basis: 670px !important;
    background: var(--v9-ink) !important;
    color: #fff !important;
  }

  .service-index {
    color: currentColor !important;
    font-size: 112px !important;
    font-weight: 600 !important;
    letter-spacing: -0.07em;
  }

  .service-row:not(.is-open) .service-index {
    color: rgba(8, 11, 15, 0.10) !important;
  }

  .service-row.is-open .service-index {
    color: rgba(255, 255, 255, 0.88) !important;
  }

  /* Reference property-listing block: white two-card grid, compact visible cards and intentional lower whitespace. */
  .collection {
    box-sizing: border-box;
    height: 1252px;
    min-height: 1252px;
    padding: 80px 0 !important;
    background: var(--v9-paper) !important;
    color: var(--v9-ink) !important;
  }

  .collection-head {
    display: grid !important;
    grid-template-columns: 540px 360px;
    grid-template-rows: 170px;
    align-items: end;
    justify-content: space-between;
    width: min(calc(100% - 48px), 1256px);
    margin: 0 auto 64px !important;
    gap: 0 !important;
  }

  .collection-head .filters {
    display: none !important;
  }

  .collection-head > .v9-section-eyebrow {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
  }

  .collection-head > h2 {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    margin-top: 36px !important;
  }

  .collection-head > .v9-collection-copy {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    justify-self: start;
  }

  .collection-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: 420px !important;
    width: min(calc(100% - 48px), 1256px);
    height: 420px !important;
    margin: 0 auto !important;
    gap: 16px !important;
    overflow: hidden;
  }

  .collection-item {
    grid-column: auto !important;
    grid-row: auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: 420px !important;
    border-radius: 20px !important;
    background: #111920 !important;
  }

  .collection-item:nth-child(n + 3) {
    display: none !important;
  }

  .collection-image,
  .collection-image img {
    height: 100% !important;
  }

  .collection-copy {
    padding: 24px 26px !important;
  }

  .collection-copy strong {
    font-size: 28px !important;
    font-weight: 500 !important;
    line-height: 1.28 !important;
  }

  /* The original V7 frame already supplies scroll-driven growth; V9 gives it the reference start state. */
  .highlight-moment {
    height: 2843px !important;
    background: var(--v9-paper) !important;
  }

  .highlight-frame {
    top: 521px !important;
    left: calc(50% - 322.5px) !important;
    width: 645px !important;
    height: 384px !important;
    border-radius: 24px !important;
  }

  .highlight-ticker {
    top: 673px !important;
    color: var(--v9-muted) !important;
  }

  .highlight-copy {
    display: none !important;
  }

  /* The route version retains the purchase-process content; the home flow maps this position to Homy's review sequence. */
  .process {
    display: none !important;
  }

  .experience {
    box-sizing: border-box;
    height: 897px;
    min-height: 897px;
    padding: 80px 0 !important;
    background: var(--v9-paper) !important;
    color: var(--v9-ink) !important;
    overflow: hidden;
  }

  .experience-head {
    display: grid !important;
    grid-template-columns: 540px 360px;
    grid-template-rows: 170px;
    align-items: end;
    justify-content: space-between;
    width: min(calc(100% - 48px), 1256px);
    margin: 0 auto 64px !important;
    gap: 0 !important;
  }

  .experience-head > .v9-section-eyebrow {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
  }

  .experience-head > h2 {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    margin-top: 36px !important;
  }

  .experience-head > p {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    justify-self: start;
  }

  .experience-rail {
    width: min(calc(100% - 48px), 1256px) !important;
    height: 500px !important;
    margin: 0 auto !important;
    overflow: hidden;
  }

  .experience-track {
    height: 500px !important;
  }

  .experience-card {
    box-sizing: border-box;
    height: 500px !important;
    flex: 0 0 400px !important;
    padding: 30px !important;
  }

  .experience-card {
    border-radius: 16px !important;
    background: var(--v9-mist) !important;
    color: var(--v9-ink) !important;
  }

  .experience-card blockquote {
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 28.8px !important;
  }

  .experience-card svg {
    color: rgba(8, 11, 15, 0.32) !important;
  }

  .experience-card p {
    color: var(--v9-muted) !important;
  }

  .faq {
    box-sizing: border-box;
    height: 760px;
    min-height: 760px;
    padding: 80px 0 !important;
    grid-template-columns: 450px 742px !important;
    grid-template-rows: 600px;
    justify-content: center;
    align-items: start;
    gap: 64px !important;
  }

  .faq-intro,
  .faq-list {
    width: 100% !important;
    margin: 0 !important;
  }

  .faq-intro {
    align-self: start;
  }

  .faq-list {
    align-self: start;
  }

  .faq-item > button {
    min-height: 70px !important;
    padding: 0 20px !important;
    font-size: 18px !important;
    line-height: 25.2px !important;
  }

  .faq-item > div {
    padding: 0 20px 18px !important;
  }

  .faq-item > div p {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 22.4px !important;
  }

  .faq-item {
    border-radius: 16px !important;
    background: var(--v9-mist) !important;
  }

  .footer {
    min-height: 1598px;
  }

  .velora-v8-header {
    padding-right: 92px;
    padding-left: 92px;
  }
}

@media (max-width: 1023px) {
  .v9-hero-cloud-layer {
    left: -20px;
    width: calc(100% + 40px);
    height: 340px;
  }

  .v9-hero-cloud-layer--far {
    top: 250px;
    opacity: 0.24;
  }

  .v9-hero-cloud-layer--front {
    top: 485px;
  }

  .v9-highlight-intro {
    position: relative;
    top: auto;
    display: block;
    width: min(calc(100% - 48px), 640px);
    padding: 72px 0 26px;
    pointer-events: auto;
  }

  .v9-highlight-intro h2 {
    font-size: clamp(34px, 7vw, 48px);
    line-height: 1.12;
  }

  .v9-highlight-intro p {
    margin-top: 20px;
  }

  .v9-highlight-intro .v9-section-eyebrow {
    margin-bottom: 14px;
  }
}

@media (max-width: 720px) {
  .v9-section-eyebrow {
    font-size: 12px;
    line-height: 18px;
  }

  .v9-collection-copy p {
    font-size: 16px;
    line-height: 25.6px;
  }

  .velora-v8-button,
  .velora-v8-button--header {
    min-height: 44px;
  }

  .velora-v8-button--header > span:first-child::after {
    font-size: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .v9-hero-cloud-layer {
    transform: none !important;
  }

  .v9-collection-all,
  .v9-collection-all-arrow,
  .service-row {
    transition: none !important;
  }
}


/* V10: Homy-style sticky property sequence and listing composition for RIVI HOME.
 * This layer intentionally reuses the existing RIVI HOME property imagery and route shell.
 */

.selected.v10-top-properties > .section-intro,
.selected.v10-top-properties > .featured-grid,
.collection.v10-property-listings > .collection-head,
.collection.v10-property-listings > .collection-list {
  display: none !important;
}

.selected.v10-top-properties {
  --v10-ink: #080b0f;
  --v10-muted: #4b5b63;
  --v10-line: rgba(8, 11, 15, 0.12);
  --v10-ease: cubic-bezier(0.16, 1, 0.3, 1);
  box-sizing: border-box !important;
  width: 100% !important;
  height: calc(317px + 300dvh) !important;
  min-height: calc(317px + 300vh) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #fff !important;
  color: var(--v10-ink) !important;
}

.v10-selected-intro,
.v10-listing-head {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 600px 400px;
  align-items: end;
  justify-content: space-between;
  width: min(calc(100% - 48px), 1256px);
  margin: 0 auto;
}

.v10-selected-intro {
  height: 317px;
  padding: 80px 0 57px;
}

.v10-heading-copy,
.v10-listing-heading-copy {
  min-width: 0;
}

.v10-section-marker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 22px;
  color: var(--v10-muted);
  font-family: Manrope, Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 22.4px;
}

.v10-section-marker::before {
  box-sizing: border-box;
  width: 12px;
  height: 12px;
  content: '';
  border: 1px solid currentColor;
  border-radius: 50%;
  background: radial-gradient(circle at center, currentColor 0 2px, transparent 2.5px);
}

.v10-selected-title,
.v10-listing-title {
  max-width: 600px;
  margin: 0;
  color: var(--v10-ink);
  font-family: Manrope, Arial, sans-serif;
  font-size: 48px;
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.4;
}

.v10-selected-description,
.v10-listing-description {
  max-width: 400px;
  margin: 0;
  color: var(--v10-muted);
  font-family: Manrope, Arial, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.6;
}

.v10-property-scenes {
  position: relative;
  isolation: isolate;
  height: 300dvh;
}

.v10-property-scene {
  position: sticky;
  top: 0;
  display: grid;
  width: 100%;
  height: 100dvh;
  overflow: hidden;
  place-items: center;
  background: var(--v10-ink);
  isolation: isolate;
  z-index: var(--v10-scene-index, 1);
}

.v10-scene-image,
.v10-scene-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.v10-scene-image {
  display: block;
  object-fit: cover;
  object-position: center;
  transform: scale(1.035) translate3d(var(--v10-scene-x, 0px), var(--v10-scene-y, 0px), 0);
  transition: transform 620ms var(--v10-ease);
  will-change: transform;
}

.v10-scene-shade {
  z-index: 1;
  pointer-events: none;
  /* RIVI HOME'nın gündüz çekimlerini referanstaki sinematik gece tonuna yaklaştırır;
     cam panel böylece fotoğrafın üstünde net bir derinlik katmanı olarak okunur. */
  background:
    linear-gradient(180deg, rgba(8, 11, 15, 0.54) 0%, rgba(8, 11, 15, 0.34) 38%, rgba(8, 11, 15, 0.72) 100%);
}

.v10-scene-panel-motion {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: 324px;
  transform: translate3d(-50%, -50%, 0);
}

.v10-scene-panel {
  box-sizing: border-box;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 324px;
  height: 231px;
  padding: 48px 20px 18px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 15px;
  /* Referanstaki panel aynı ölçüde yarı saydamdır; RIVI HOME kaynak fotoğrafları
     daha aydınlık olduğundan okunabilirlik için tonu bir kademe koyulaştırılır. */
  background: rgba(11, 17, 23, 0.58);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.30);
  color: #fff;
  text-align: center;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.v10-scene-price {
  position: absolute;
  top: -20px;
  left: 50%;
  display: inline-flex;
  min-height: 39px;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  transform: translateX(-50%);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 0 0 11px 11px;
  background: rgba(255, 255, 255, 0.07);
  color: rgba(255, 255, 255, 0.96);
  font-family: Manrope, Arial, sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

.v10-scene-title {
  margin: 0;
  color: #fff;
  font-family: Manrope, Arial, sans-serif;
  /* RIVI HOME'nın ilk proje adı iki satıra çıktığı için, paneli referanstaki
     231px geometride tutan kompakt iç başlık. */
  font-size: 30px;
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.22;
}

.v10-scene-location {
  margin: 8px 0 16px;
  color: rgba(255, 255, 255, 0.94);
  font-family: Manrope, Arial, sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.45;
}

.v10-scene-cta,
.v10-listing-all {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 9px 0 16px;
  border: 1px solid #fff;
  border-radius: 12px;
  background: #fff;
  color: var(--v10-ink);
  font-family: Manrope, Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  transition: transform 210ms var(--v10-ease), box-shadow 210ms var(--v10-ease), background 210ms var(--v10-ease);
}

.v10-arrow-frame {
  position: relative;
  display: grid;
  width: 30px;
  height: 30px;
  overflow: hidden;
  place-items: center;
  border-radius: 9px;
  background: var(--v10-ink);
  color: #fff;
}

.v10-arrow-frame svg {
  position: absolute;
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  transition: transform 220ms var(--v10-ease);
}

.v10-arrow-frame svg:last-child {
  transform: translateX(-160%);
}

.v10-scene-cta:hover,
.v10-listing-all:hover,
.v10-scene-cta:focus-visible,
.v10-listing-all:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 11px 26px rgba(0, 0, 0, 0.23);
}

.v10-scene-cta:active,
.v10-listing-all:active,
.v10-listing-card:active {
  transform: scale(0.985);
}

.v10-scene-cta:focus-visible,
.v10-listing-all:focus-visible,
.v10-listing-card:focus-visible {
  outline: 3px solid #277e9c;
  outline-offset: 4px;
}

@media (hover: hover) and (pointer: fine) {
  .v10-scene-cta:hover .v10-arrow-frame svg:first-child,
  .v10-scene-cta:focus-visible .v10-arrow-frame svg:first-child,
  .v10-listing-all:hover .v10-arrow-frame svg:first-child,
  .v10-listing-all:focus-visible .v10-arrow-frame svg:first-child {
    transform: translateX(160%);
  }

  .v10-scene-cta:hover .v10-arrow-frame svg:last-child,
  .v10-scene-cta:focus-visible .v10-arrow-frame svg:last-child,
  .v10-listing-all:hover .v10-arrow-frame svg:last-child,
  .v10-listing-all:focus-visible .v10-arrow-frame svg:last-child {
    transform: translateX(0);
  }
}

.collection.v10-property-listings {
  --v10-ink: #080b0f;
  --v10-muted: #4b5b63;
  --v10-ease: cubic-bezier(0.16, 1, 0.3, 1);
  box-sizing: border-box !important;
  width: 100% !important;
  height: 1252px !important;
  min-height: 1252px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  color: var(--v10-ink) !important;
}

.v10-listing-head {
  height: 317px;
  padding: 80px 0 57px;
}

.v10-listing-action-copy {
  align-self: end;
}

.v10-listing-description {
  margin-bottom: 13px;
}

.v10-listing-all {
  border-color: var(--v10-ink);
  background: var(--v10-ink);
  color: #fff;
  box-shadow: 0 10px 22px rgba(8, 11, 15, 0.14);
}

.v10-listing-all .v10-arrow-frame {
  background: #fff;
  color: var(--v10-ink);
}

.v10-listing-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 420px;
  width: min(calc(100% - 48px), 1256px);
  margin: 0 auto;
  gap: 16px;
}

.v10-listing-card {
  box-sizing: border-box;
  position: relative;
  display: block;
  width: 100%;
  height: 420px;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: 15px;
  background: var(--v10-ink);
  color: #fff;
  cursor: pointer;
  isolation: isolate;
  text-align: left;
  transition: transform 240ms var(--v10-ease), box-shadow 240ms var(--v10-ease);
}

.v10-listing-card::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: '';
  pointer-events: none;
  background: linear-gradient(180deg, rgba(8, 11, 15, 0.01) 28%, rgba(8, 11, 15, 0.20) 50%, rgba(8, 11, 15, 0.82) 100%);
}

.v10-listing-card:hover,
.v10-listing-card:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 18px 38px rgba(8, 11, 15, 0.20);
}

.v10-listing-image {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 560ms var(--v10-ease), filter 360ms var(--v10-ease);
}

.v10-listing-card:hover .v10-listing-image,
.v10-listing-card:focus-visible .v10-listing-image {
  transform: scale(1.045);
  filter: saturate(1.05);
}

.v10-listing-chip {
  position: absolute;
  top: 24px;
  right: 24px;
  z-index: 2;
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  gap: 6px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  color: var(--v10-ink);
  font-family: Manrope, Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
}

.v10-listing-chip svg,
.v10-listing-meta svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.v10-listing-copy {
  position: absolute;
  right: 26px;
  bottom: 24px;
  left: 26px;
  z-index: 2;
  display: grid;
  gap: 8px;
}

.v10-listing-name {
  color: #fff;
  font-family: Manrope, Arial, sans-serif;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.3;
}

.v10-listing-request {
  color: #fff;
  font-family: Manrope, Arial, sans-serif;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.08;
}

.v10-listing-meta {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
  color: rgba(255, 255, 255, 0.94);
  font-family: Manrope, Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
}

.v10-listing-meta span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v10-listing-meta i {
  display: block;
  width: 1px;
  height: 18px;
  flex: 0 0 1px;
  background: rgba(255, 255, 255, 0.72);
}

@keyframes v10-panel-arrive {
  from {
    opacity: 0;
    filter: blur(9px);
    transform: translate3d(-50%, calc(-50% + 24px), 0);
  }
  to {
    opacity: 1;
    filter: blur(0);
    transform: translate3d(-50%, -50%, 0);
  }
}

@keyframes v10-card-arrive {
  from {
    opacity: 0;
    clip-path: inset(9% 0 0 round 15px);
    transform: translate3d(0, 18px, 0);
  }
  to {
    opacity: 1;
    clip-path: inset(0 0 0 round 15px);
    transform: translate3d(0, 0, 0);
  }
}

#root.v10-motion-enabled .v10-property-scene:not(.v10-scene-active) .v10-scene-panel-motion,
#root.v10-motion-enabled .v10-listing-card:not(.v10-card-active) {
  opacity: 0;
}

#root.v10-motion-enabled .v10-property-scene.v10-scene-active .v10-scene-panel-motion {
  animation: v10-panel-arrive 720ms var(--v10-ease) both;
}

#root.v10-motion-enabled .v10-listing-card.v10-card-active {
  animation: v10-card-arrive 520ms var(--v10-ease) both;
}

#root.v10-motion-enabled .v10-listing-card.v10-card-active:nth-child(2) { animation-delay: 45ms; }
#root.v10-motion-enabled .v10-listing-card.v10-card-active:nth-child(3) { animation-delay: 60ms; }
#root.v10-motion-enabled .v10-listing-card.v10-card-active:nth-child(4) { animation-delay: 105ms; }

@media (max-width: 1023px) {
  .selected.v10-top-properties {
    height: auto !important;
    min-height: 0 !important;
  }

  .v10-selected-intro,
  .v10-listing-head {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    width: min(calc(100% - 40px), 680px);
    height: auto;
    padding: 72px 0 52px;
  }

  .v10-selected-title,
  .v10-listing-title {
    max-width: 620px;
    font-size: clamp(38px, 5.6vw, 48px);
    line-height: 1.2;
  }

  .v10-selected-description,
  .v10-listing-description {
    max-width: 520px;
  }

  .v10-property-scenes {
    height: 240dvh;
  }

  .v10-property-scene {
    height: 80dvh;
    min-height: 620px;
  }

  .collection.v10-property-listings {
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 52px !important;
    overflow: visible !important;
  }

  .v10-listing-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 420px;
    width: min(calc(100% - 40px), 680px);
  }
}

@media (max-width: 540px) {
  .v10-selected-intro,
  .v10-listing-head {
    padding-top: 58px;
    padding-bottom: 42px;
  }

  .v10-section-marker {
    margin-bottom: 16px;
    font-size: 13px;
  }

  .v10-selected-title,
  .v10-listing-title {
    font-size: 39px;
    letter-spacing: -0.035em;
    line-height: 1.12;
  }

  .v10-selected-description,
  .v10-listing-description {
    font-size: 16px;
    line-height: 1.55;
  }

  .v10-property-scenes {
    height: 240dvh;
  }

  .v10-property-scene {
    height: 80dvh;
    min-height: 560px;
  }

  .v10-scene-panel-motion,
  .v10-scene-panel {
    width: min(calc(100vw - 40px), 324px);
  }

  .v10-scene-panel {
    min-height: 218px;
    padding-right: 18px;
    padding-left: 18px;
  }

  .v10-scene-title {
    font-size: 30px;
  }

  .v10-listing-grid {
    grid-auto-rows: 344px;
  }

  .v10-listing-card {
    height: 344px;
  }

  .v10-listing-chip {
    top: 18px;
    right: 18px;
  }

  .v10-listing-copy {
    right: 20px;
    bottom: 19px;
    left: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .v10-scene-image,
  .v10-listing-image,
  .v10-listing-card,
  .v10-scene-cta,
  .v10-listing-all,
  .v10-arrow-frame svg {
    transition: none !important;
    animation: none !important;
  }

  .v10-scene-image {
    transform: none !important;
  }

  #root.v10-motion-enabled .v10-property-scene .v10-scene-panel-motion,
  #root.v10-motion-enabled .v10-listing-card {
    opacity: 1 !important;
    filter: none !important;
  }
}



    .rivi-logo-mounted {
      gap: 0 !important;
    }

    .rivi-logo-crop {
      position: relative !important;
      display: block !important;
      flex: 0 0 auto !important;
      overflow: hidden !important;
      line-height: 0 !important;
    }

    .rivi-logo-crop img {
      position: absolute !important;
      display: block !important;
      max-width: none !important;
      height: auto !important;
    }

    .rivi-logo-crop--light {
      width: 230px !important;
      height: 48px !important;
    }

    .rivi-logo-crop--light img {
      top: -15px !important;
      left: -11px !important;
      width: 256px !important;
      mix-blend-mode: normal;
    }

    .velora-v8-brand.rivi-logo-mounted {
      min-width: 230px !important;
      padding: 0 !important;
      border: 0 !important;
      background: transparent !important;
    }

    .rivi-footer-logo-host {
      display: block !important;
      width: max-content !important;
      max-width: 100% !important;
    }

    .rivi-logo-crop--dark {
      width: 260px !important;
      height: 44px !important;
      border-radius: 6px;
      background: #011231;
    }

    .rivi-logo-crop--dark img {
      top: -32px !important;
      left: -18px !important;
      width: 308px !important;
    }

    @media (max-width: 720px) {
      .rivi-logo-crop--light {
        width: 166px !important;
        height: 35px !important;
      }

      .rivi-logo-crop--light img {
        top: -11px !important;
        left: -8px !important;
        width: 185px !important;
      }

      .velora-v8-brand.rivi-logo-mounted {
        min-width: 166px !important;
      }

      .rivi-logo-crop--dark {
        width: 220px !important;
        height: 40px !important;
      }

      .rivi-logo-crop--dark img {
        top: -27px !important;
        left: -15px !important;
        width: 260px !important;
      }
    }
  

/*
 * V12 tail repair
 *
 * This layer deliberately touches only the flow beginning with
 * “Современные дома…”: highlighted project, experience rail, FAQ and closing
 * scene.  The preceding V11 hero, selected properties, service accordion and
 * catalogue remain untouched.
 */

.rivi-v18-page {
  --v12-ink: #090d11;
  --v12-muted: #4e5b62;
  --v12-paper: #f5f5f1;
  --v12-line: rgba(9, 13, 17, 0.12);
  --v12-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

.v12-highlight,
.v12-experience,
.v12-faq,
.v12-footer {
  color: var(--v12-ink);
  font-family: Switzer, Manrope, Arial, sans-serif;
}

.v12-marker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--v12-muted);
  font-family: Switzer, Manrope, Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 22.4px;
}

.v12-marker::before {
  width: 10px;
  height: 10px;
  box-sizing: border-box;
  border: 1.25px solid currentColor;
  border-radius: 50%;
  content: '';
}

/* The FAQ sits in the middle of an older full-bleed scene.  Give the entire
 * viewport a paper field here, just like the reference, instead of allowing
 * the preceding image to leak into the left and right gutters. */
.faq.v12-faq {
  position: relative !important;
  z-index: 1;
  box-shadow: 0 0 0 100vmax #fff;
  clip-path: inset(0 -100vmax);
}

/* V10's old intersection observer leaves these wrapper elements at
 * blur(9px)/opacity:0 until a late threshold.  That is why the lower-section
 * headings looked broken when the scene first entered the viewport.  The
 * reference keeps editorial copy crisp; motion belongs to the project image
 * and rail, not to readable heading text. */
.v12-highlight .v9-highlight-intro > div,
.v12-experience .experience-head > div,
.v12-faq .faq-intro > div {
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}

@media (min-width: 721px) {
  /*
   * Highlighted home: the reference uses one tall 2,843px scroll scene.
   * Copy scrolls away, while a small framed project image grows into the
   * viewport and carries the horizontal title rail behind it.
   */
  .highlight-moment.v12-highlight {
    height: 2843px !important;
    min-height: 2843px !important;
    overflow: visible !important;
    background: #fff !important;
  }

  .v12-highlight .v9-highlight-intro {
    position: absolute !important;
    z-index: 4;
    top: 80px !important;
    right: 0;
    left: 0;
    display: grid !important;
    grid-template-columns: minmax(0, 600px) minmax(0, 400px) !important;
    grid-template-rows: 173px;
    align-items: end;
    justify-content: space-between;
    width: min(calc(100% - 64px), 1256px) !important;
    margin: 0 auto !important;
    pointer-events: none;
  }

  .v12-highlight .v9-highlight-intro .v9-section-eyebrow {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    margin: 0 0 0 20px !important;
  }

  .v12-highlight .v9-highlight-intro h2 {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    width: 600px;
    max-width: 600px;
    margin: 0 !important;
    color: var(--v12-ink) !important;
    font-family: Switzer, Manrope, Arial, sans-serif !important;
    font-size: 48px !important;
    font-weight: 600 !important;
    letter-spacing: normal !important;
    line-height: 67.2px !important;
  }

  .v12-highlight .v9-highlight-intro > p {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    width: 400px;
    max-width: 400px;
    margin: 0 0 2px !important;
    color: var(--v12-muted) !important;
    font-family: Switzer, Manrope, Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    line-height: 28.8px !important;
  }

  .v12-highlight .highlight-sticky {
    position: sticky !important;
    z-index: 1;
    top: 84px !important;
    width: 100%;
    height: calc(100vh - 84px) !important;
    overflow: hidden !important;
  }

  .v12-highlight .highlight-frame {
    position: absolute !important;
    z-index: 2;
    top: var(--v12-highlight-top, 428px) !important;
    left: 50% !important;
    width: var(--v12-highlight-width, 400px) !important;
    height: var(--v12-highlight-height, 276px) !important;
    overflow: hidden;
    border-radius: var(--v12-highlight-radius, 24px) !important;
    background: var(--v12-paper);
    box-shadow: 0 18px 54px rgba(32, 70, 83, 0.15);
    transform: translate3d(-50%, 0, 0) !important;
    transform-origin: 50% 50%;
    will-change: width, height, top, border-radius;
  }

  .v12-highlight .highlight-frame img,
  .v12-highlight .highlight-frame picture,
  .v12-highlight .highlight-frame picture img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
  }

  .v12-highlight .highlight-ticker {
    position: absolute !important;
    z-index: 1;
    top: var(--v12-ticker-top, 544px) !important;
    left: 0 !important;
    width: max-content !important;
    min-width: max-content;
    margin: 0 !important;
    color: var(--v12-muted) !important;
    font-family: Switzer, Manrope, Arial, sans-serif !important;
    font-size: clamp(48px, 5.35vw, 76px) !important;
    font-weight: 600 !important;
    letter-spacing: -0.045em !important;
    line-height: 1 !important;
    white-space: nowrap;
    transform: translate3d(var(--v12-ticker-x, -38%), 0, 0) !important;
    will-change: transform, top;
  }

  .v12-highlight .highlight-copy {
    display: none !important;
  }

  /*
   * Experience rail: 400px cards are clipped at the viewport edges and a
   * single project card sits over the right end, matching the reference's
   * overlapping, moving composition instead of V11's static three-card row.
   */
  .experience.v12-experience {
    position: relative;
    height: 897px !important;
    min-height: 897px !important;
    padding: 80px 0 !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  .v12-experience .experience-head {
    display: grid !important;
    grid-template-columns: minmax(0, 600px) minmax(0, 400px) !important;
    grid-template-rows: 173px;
    align-items: end;
    justify-content: space-between;
    width: min(calc(100% - 64px), 1256px) !important;
    margin: 0 auto 64px !important;
    gap: 0 !important;
  }

  .v12-experience .experience-head > .v9-section-eyebrow {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    margin: 0 0 0 20px !important;
  }

  .v12-experience .experience-head h2 {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    width: 600px;
    max-width: 600px;
    margin: 0 !important;
    color: var(--v12-ink) !important;
    font-family: Switzer, Manrope, Arial, sans-serif !important;
    font-size: 48px !important;
    font-weight: 600 !important;
    letter-spacing: normal !important;
    line-height: 67.2px !important;
  }

  .v12-experience .experience-head > p {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    width: 400px;
    max-width: 400px;
    margin: 0 0 2px !important;
    color: var(--v12-muted) !important;
    font-family: Switzer, Manrope, Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    line-height: 28.8px !important;
  }

  .v12-experience .experience-rail {
    position: relative;
    width: 100% !important;
    height: 500px !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  .v12-experience .experience-rail::before,
  .v12-experience .experience-rail::after {
    position: absolute;
    z-index: 3;
    top: 0;
    bottom: 0;
    width: min(11vw, 130px);
    pointer-events: none;
    content: '';
  }

  .v12-experience .experience-rail::before {
    left: 0;
    background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
  }

  .v12-experience .experience-rail::after {
    right: 0;
    background: linear-gradient(270deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
  }

  .v12-experience .experience-track {
    display: flex !important;
    width: max-content !important;
    height: 500px !important;
    gap: 30px !important;
    padding: 0 !important;
    transform: translate3d(var(--v12-rail-x, -108px), 0, 0) !important;
    transition: none !important;
    will-change: transform;
  }

  .v12-experience .experience-card {
    display: flex !important;
    flex: 0 0 400px !important;
    width: 400px !important;
    height: 500px !important;
    min-height: 500px !important;
    box-sizing: border-box;
    justify-content: space-between;
    padding: 32px !important;
    border-radius: 16px !important;
    background: var(--v12-paper) !important;
    color: var(--v12-ink) !important;
    box-shadow: none !important;
  }

  .v12-experience .experience-card:nth-child(n + 5) {
    display: none !important;
  }

  .v12-experience .experience-card svg {
    display: none !important;
  }

  .v12-experience .experience-card blockquote {
    position: relative;
    max-width: 336px;
    margin: 38px 0 auto !important;
    color: var(--v12-ink) !important;
    font-family: Switzer, Manrope, Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    line-height: 28.8px !important;
  }

  .v12-experience .experience-card blockquote::before {
    position: absolute;
    top: -44px;
    left: -3px;
    color: rgba(9, 13, 17, 0.22);
    font-family: Georgia, serif;
    font-size: 66px;
    font-weight: 700;
    line-height: 1;
    content: '“';
  }

  .v12-experience .experience-card p {
    margin: 0 !important;
    color: var(--v12-muted) !important;
    font-family: Switzer, Manrope, Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 22.4px !important;
  }

  .v12-experience-feature {
    position: absolute;
    z-index: 5;
    top: 317px;
    right: 32px;
    width: 350px;
    height: 500px;
    margin: 0;
    overflow: hidden;
    border-radius: 16px;
    background: var(--v12-ink);
    box-shadow: 0 18px 50px rgba(9, 13, 17, 0.18);
  }

  .v12-experience-feature img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .v12-experience-feature::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 48%;
    background: linear-gradient(180deg, transparent, rgba(9, 13, 17, 0.76));
    content: '';
  }

  .v12-experience-feature figcaption {
    position: absolute;
    z-index: 1;
    right: 26px;
    bottom: 26px;
    left: 26px;
    display: grid;
    gap: 4px;
    color: #fff;
  }

  .v12-experience-feature strong {
    font-family: Switzer, Manrope, Arial, sans-serif;
    font-size: 28px;
    font-weight: 500;
    letter-spacing: normal;
    line-height: 33.6px;
  }

  .v12-experience-feature span {
    color: rgba(255, 255, 255, 0.82);
    font-family: Switzer, Manrope, Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 22.4px;
  }

  /* Reference FAQ frame: 450 / 64 / 622 within a 1,136px desktop rail. */
  .faq.v12-faq {
    display: grid !important;
    grid-template-columns: 450px minmax(0, 622px) !important;
    grid-template-rows: 600px;
    align-items: start;
    gap: 64px !important;
    width: min(calc(100% - 64px), 1136px) !important;
    height: 760px !important;
    min-height: 760px !important;
    box-sizing: border-box;
    margin: 0 auto !important;
    padding: 80px 0 !important;
    overflow: visible !important;
    background: #fff !important;
  }

  .v12-faq .faq-intro,
  .v12-faq .faq-list {
    width: auto !important;
    margin: 0 !important;
  }

  .v12-faq .faq-intro {
    position: sticky !important;
    top: 120px !important;
    align-self: start;
  }

  .v12-faq .faq-intro > div:first-child {
    display: grid;
    gap: 24px;
  }

  .v12-faq .faq-intro .v9-section-eyebrow {
    margin: 0 0 0 20px !important;
  }

  .v12-faq .faq-intro h2 {
    width: 450px;
    max-width: 450px;
    margin: 0 !important;
    color: var(--v12-ink) !important;
    font-family: Switzer, Manrope, Arial, sans-serif !important;
    font-size: 48px !important;
    font-weight: 600 !important;
    letter-spacing: normal !important;
    line-height: 67.2px !important;
  }

  .v12-faq .faq-intro p {
    max-width: 430px;
    margin: 0 !important;
    color: var(--v12-muted) !important;
    font-family: Switzer, Manrope, Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    line-height: 28.8px !important;
  }

  .v12-faq .faq-item {
    overflow: hidden;
    border: 0 !important;
    border-radius: 16px !important;
    background: var(--v12-paper) !important;
  }

  .v12-faq .faq-item + .faq-item {
    margin-top: 10px !important;
  }

  .v12-faq .faq-item > button {
    min-height: 70px !important;
    padding: 0 20px !important;
    color: var(--v12-ink) !important;
    font-family: Switzer, Manrope, Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    line-height: 25.2px !important;
  }

  .v12-faq .faq-item > button svg {
    flex: 0 0 24px;
  }

  .v12-faq .faq-item > div {
    padding: 0 20px 18px !important;
  }

  .v12-faq .faq-item > div p {
    max-width: 540px;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 22.4px !important;
  }

  /* Keep the existing RIVI HOME content, but restore the reference's contained closing scene. */
  .footer.v12-footer {
    min-height: 0 !important;
    padding: 32px 0 0 !important;
    background: var(--v12-ink) !important;
  }

  .v12-footer .footer-scene {
    min-height: 760px !important;
    margin: 0 16px !important;
    overflow: hidden;
    border-radius: 24px !important;
  }

  .v12-footer .footer-scene > img {
    object-position: center !important;
  }

  .v12-footer .footer-overlay {
    background: linear-gradient(180deg, rgba(9, 13, 17, 0.18), rgba(9, 13, 17, 0.72)) !important;
  }

  .v12-footer .footer-cta {
    width: min(calc(100% - 48px), 600px) !important;
  }
}

@media (max-width: 720px) {
  .highlight-moment.v12-highlight {
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 44px;
    overflow: hidden !important;
    background: #fff !important;
  }

  .v12-highlight .v9-highlight-intro {
    position: relative !important;
    top: auto !important;
    display: block !important;
    width: calc(100% - 40px) !important;
    margin: 0 auto !important;
    padding: 72px 0 28px;
    pointer-events: auto;
  }

  .v12-highlight .v9-section-eyebrow,
  .v12-experience .v9-section-eyebrow,
  .v12-faq .v9-section-eyebrow {
    display: inline-flex;
    margin: 0 0 16px !important;
  }

  .v12-highlight .v9-highlight-intro h2,
  .v12-experience .experience-head h2,
  .v12-faq .faq-intro h2 {
    width: auto;
    max-width: none;
    font-size: clamp(35px, 10vw, 48px) !important;
    font-weight: 600 !important;
    letter-spacing: normal !important;
    line-height: 1.14 !important;
  }

  .v12-highlight .v9-highlight-intro > p,
  .v12-experience .experience-head > p,
  .v12-faq .faq-intro p {
    width: auto;
    max-width: 32rem;
    font-size: 16px !important;
    line-height: 25.6px !important;
  }

  .v12-highlight .highlight-sticky {
    position: relative !important;
    top: auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .v12-highlight .highlight-frame {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: calc(100% - 40px) !important;
    height: min(64vw, 340px) !important;
    margin: 0 auto !important;
    border-radius: 18px !important;
    transform: none !important;
  }

  .v12-highlight .highlight-ticker {
    display: none !important;
  }

  .experience.v12-experience {
    height: auto !important;
    min-height: 0 !important;
    padding: 72px 0 !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  .v12-experience .experience-head {
    display: block !important;
    width: calc(100% - 40px) !important;
    margin: 0 auto 36px !important;
  }

  .v12-experience .experience-head > p {
    margin-top: 18px !important;
  }

  .v12-experience .experience-rail {
    width: 100% !important;
    height: auto !important;
    padding: 0 20px 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .v12-experience .experience-rail::-webkit-scrollbar {
    display: none;
  }

  .v12-experience .experience-rail::before,
  .v12-experience .experience-rail::after {
    display: none;
  }

  .v12-experience .experience-track {
    height: 420px !important;
    gap: 14px !important;
    padding: 0 !important;
    transform: none !important;
  }

  .v12-experience .experience-card {
    flex-basis: min(82vw, 320px) !important;
    width: min(82vw, 320px) !important;
    height: 420px !important;
    min-height: 420px !important;
    padding: 26px !important;
    scroll-snap-align: start;
  }

  .v12-experience-feature {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    width: calc(100% - 40px) !important;
    height: 420px !important;
    margin: 20px auto 0 !important;
  }

  .faq.v12-faq {
    display: block !important;
    width: calc(100% - 40px) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 72px 0 !important;
  }

  .v12-faq .faq-intro {
    position: relative !important;
    top: auto !important;
    width: auto !important;
    margin-bottom: 34px !important;
  }

  .v12-faq .faq-intro > div:first-child {
    display: block;
  }

  .v12-faq .faq-list {
    width: auto !important;
  }

  .v12-faq .faq-item > button {
    min-height: 72px !important;
    padding: 16px 18px !important;
    font-size: 16px !important;
    line-height: 22.4px !important;
  }

  .footer.v12-footer {
    min-height: 0 !important;
    padding: 16px 0 0 !important;
  }

  .v12-footer .footer-scene {
    min-height: 640px !important;
    margin: 0 8px !important;
    border-radius: 18px !important;
  }

  .v12-footer .footer-cta {
    width: calc(100% - 40px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .v12-highlight .highlight-frame,
  .v12-highlight .highlight-ticker,
  .v12-experience .experience-track {
    transition: none !important;
    will-change: auto;
  }
}


/*
 * V13 — reference recovery layer
 *
 * V12 is intentionally left intact.  This layer rebuilds the visual rhythm on
 * top of it with the supplied Antalya assets: a 1320px outer frame, a 1256px
 * editorial rail, visible cloud depth, contained motion, and calm page-scale
 * composition.  The page stays self-contained when it is pasted into Beaver.
 */

.rivi-v18-page {
  --v13-ink: #080b0f;
  --v13-muted: #4b5b63;
  --v13-paper: #f6f6f6;
  --v13-sky: #c3e5f7;
  --v13-sky-deep: #a4d1e2;
  --v13-line: rgba(8, 11, 15, 0.12);
  --v13-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --v13-outer: min(1320px, calc(100vw - 64px));
  --v13-rail: min(1256px, calc(100vw - 64px));
  color: var(--v13-ink);
}

/* Do not let an older reveal observer leave copy soft or unreadable. */
.v13-reference-ready .section-intro > div,
.v13-reference-ready .collection-head > div,
.v13-reference-ready .services .section-intro > div,
.v13-reference-ready .impact .section-intro > div {
  filter: none !important;
}

/* The reference makes the arrow travel inside the tile; the button itself does
 * not jump.  The V7 header used a diagonal up-right path, which made the
 * motion look vertical.  V13 replaces it with a true horizontal hand-off. */
.v13-reference-ready .header-cta,
.v13-reference-ready .hero-actions .button,
.v13-reference-ready .v10-scene-cta,
.v13-reference-ready .v10-listing-all,
.v13-reference-ready .v9-collection-all,
.v13-reference-ready .footer-cta .button {
  transition: box-shadow 220ms var(--v13-ease), background-color 220ms var(--v13-ease), color 220ms var(--v13-ease) !important;
}

.v13-reference-ready .header-cta:hover,
.v13-reference-ready .header-cta:focus-visible,
.v13-reference-ready .hero-actions .button:hover,
.v13-reference-ready .hero-actions .button:focus-visible,
.v13-reference-ready .v10-scene-cta:hover,
.v13-reference-ready .v10-scene-cta:focus-visible,
.v13-reference-ready .v10-listing-all:hover,
.v13-reference-ready .v10-listing-all:focus-visible,
.v13-reference-ready .v9-collection-all:hover,
.v13-reference-ready .v9-collection-all:focus-visible,
.v13-reference-ready .footer-cta .button:hover,
.v13-reference-ready .footer-cta .button:focus-visible {
  transform: none !important;
}

.v13-reference-ready .velora-arrow-frame,
.v13-reference-ready .v10-arrow-frame {
  overflow: hidden !important;
}

.v13-reference-ready .velora-arrow-frame svg,
.v13-reference-ready .v10-arrow-frame svg {
  transition: transform 250ms var(--v13-ease) !important;
}

.v13-reference-ready .velora-arrow-frame svg:first-child,
.v13-reference-ready .v10-arrow-frame svg:first-child {
  transform: translateX(0) !important;
}

.v13-reference-ready .velora-arrow-frame svg:last-child,
.v13-reference-ready .v10-arrow-frame svg:last-child {
  transform: translateX(-155%) !important;
}

@media (hover: hover) and (pointer: fine) {
  .v13-reference-ready .header-cta:hover .velora-arrow-frame svg:first-child,
  .v13-reference-ready .header-cta:focus-visible .velora-arrow-frame svg:first-child,
  .v13-reference-ready .hero-actions .button:hover .velora-arrow-frame svg:first-child,
  .v13-reference-ready .hero-actions .button:focus-visible .velora-arrow-frame svg:first-child,
  .v13-reference-ready .v10-scene-cta:hover .v10-arrow-frame svg:first-child,
  .v13-reference-ready .v10-scene-cta:focus-visible .v10-arrow-frame svg:first-child,
  .v13-reference-ready .v10-listing-all:hover .v10-arrow-frame svg:first-child,
  .v13-reference-ready .v10-listing-all:focus-visible .v10-arrow-frame svg:first-child,
  .v13-reference-ready .v9-collection-all:hover .v9-collection-all-arrow,
  .v13-reference-ready .footer-cta .button:hover .velora-arrow-frame svg:first-child,
  .v13-reference-ready .footer-cta .button:focus-visible .velora-arrow-frame svg:first-child {
    transform: translateX(155%) !important;
  }

  .v13-reference-ready .header-cta:hover .velora-arrow-frame svg:last-child,
  .v13-reference-ready .header-cta:focus-visible .velora-arrow-frame svg:last-child,
  .v13-reference-ready .hero-actions .button:hover .velora-arrow-frame svg:last-child,
  .v13-reference-ready .hero-actions .button:focus-visible .velora-arrow-frame svg:last-child,
  .v13-reference-ready .v10-scene-cta:hover .v10-arrow-frame svg:last-child,
  .v13-reference-ready .v10-scene-cta:focus-visible .v10-arrow-frame svg:last-child,
  .v13-reference-ready .v10-listing-all:hover .v10-arrow-frame svg:last-child,
  .v13-reference-ready .v10-listing-all:focus-visible .v10-arrow-frame svg:last-child,
  .v13-reference-ready .footer-cta .button:hover .velora-arrow-frame svg:last-child,
  .v13-reference-ready .footer-cta .button:focus-visible .velora-arrow-frame svg:last-child {
    transform: translateX(0) !important;
  }
}

@media (min-width: 721px) {
  /* 1320px is the outer frame; the reference keeps 32px breathing room inside
     it, producing the measured 1256px editorial rail at 1440px. */
  .site-header {
    min-height: 84px !important;
    padding-right: max(32px, calc((100vw - 1320px) / 2 + 32px)) !important;
    padding-left: max(32px, calc((100vw - 1320px) / 2 + 32px)) !important;
  }

  .site-header .desktop-nav {
    gap: 24px !important;
  }

  .site-header .desktop-nav a {
    font-family: Switzer, Manrope, Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 22.4px !important;
  }

  .site-header .header-cta {
    min-height: 44px !important;
    height: 44px !important;
    padding: 0 8px 0 16px !important;
    border-radius: 12px !important;
  }

  .site-header .header-cta .velora-arrow-frame {
    width: 28px !important;
    height: 28px !important;
    border-radius: 8px !important;
  }

  /* Hero: sky remains a single continuous atmosphere.  The previous dark
     bottom stop produced the requested-to-remove hard horizontal break. */
  .hero {
    height: 1450px !important;
    min-height: 1450px !important;
  }

  .hero-sticky {
    isolation: isolate;
    background:
      radial-gradient(ellipse 66% 42% at 50% 54%, rgba(255, 255, 255, 0.20) 0%, rgba(255, 255, 255, 0.02) 64%, transparent 76%),
      linear-gradient(180deg, var(--v13-sky) 0%, #b6ddeb 64%, var(--v13-sky-deep) 100%) !important;
  }

  .hero-sticky::before {
    position: absolute;
    z-index: 0;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(ellipse 70% 34% at 50% 86%, rgba(255, 255, 255, 0.13), transparent 68%);
    content: '';
  }

  .hero-sticky > .v9-hero-cloud-layer {
    display: none !important;
  }

  .hero-sticky .hero-copy {
    position: relative;
    z-index: 5 !important;
    width: var(--v13-outer) !important;
    max-width: 1320px !important;
    padding: 0 32px !important;
  }

  .hero-sticky .hero-image-wrap {
    z-index: 2 !important;
    opacity: 1 !important;
  }

  .hero-sticky .hero-image-wrap::after {
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 0;
    left: 0;
    height: 30%;
    pointer-events: none;
    background: linear-gradient(180deg, transparent, rgba(164, 209, 226, 0.16));
    content: '';
  }

  .hero h1 {
    font-family: Manrope, Arial, sans-serif !important;
    font-size: 100px !important;
    font-weight: 900 !important;
    letter-spacing: -1px !important;
    line-height: 100px !important;
    -webkit-text-stroke: 0.66px currentColor;
    paint-order: stroke fill;
  }

  .hero-summary {
    max-width: 600px !important;
    color: var(--v13-muted) !important;
    font-family: Switzer, Manrope, Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    line-height: 28.8px !important;
  }

  .v13-hero-cloud {
    position: absolute;
    z-index: 1;
    left: -8%;
    display: block;
    width: 116%;
    height: auto;
    max-width: none;
    pointer-events: none;
    user-select: none;
    will-change: transform, opacity;
    /* The supplied cloud sheet is intentionally dense at its lower edge.
       Feather both edges so its native bitmap boundary never becomes a
       horizontal stripe against the continuous sky. */
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 12%, #000 72%, transparent 100%);
    mask-image: linear-gradient(180deg, transparent 0%, #000 12%, #000 72%, transparent 100%);
  }

  .v13-hero-cloud--far {
    top: 178px;
    opacity: 0.42;
    transform: translate3d(var(--v13-cloud-far-x, 0px), var(--v13-cloud-far-y, 0px), 0);
  }

  .v13-hero-cloud--front {
    top: var(--v13-cloud-front-top, 694px);
    z-index: 3;
    width: 130%;
    left: -15%;
    opacity: var(--v13-cloud-front-opacity, 0.14);
    transform: translate3d(var(--v13-cloud-front-x, 0px), var(--v13-cloud-front-y, 0px), 0);
  }

  /* Measured Impact geometry: 315 / 606 / 315 within the 1256px rail. */
  .impact.section {
    min-height: 774px !important;
    padding: 100px 0 80px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  .impact .section-intro,
  .selected.v10-top-properties > .v10-selected-intro,
  .services .section-intro,
  .v10-listing-head,
  .v12-highlight .v9-highlight-intro,
  .v12-experience .experience-head {
    width: var(--v13-rail) !important;
    max-width: 1256px !important;
  }

  .impact .section-intro {
    grid-template-columns: minmax(0, 600px) minmax(0, 400px) !important;
    margin: 0 auto 68px !important;
  }

  .impact .section-intro h2,
  .services .section-intro h2,
  .v10-selected-title,
  .v10-listing-title,
  .v12-highlight .v9-highlight-intro h2,
  .v12-experience .experience-head h2,
  .v12-faq .faq-intro h2 {
    color: var(--v13-ink) !important;
    font-family: Switzer, Manrope, Arial, sans-serif !important;
    font-size: 48px !important;
    font-weight: 600 !important;
    letter-spacing: -0.025em !important;
    line-height: 67.2px !important;
  }

  .impact .section-intro p,
  .services .section-intro p,
  .v10-selected-description,
  .v10-listing-description,
  .v12-highlight .v9-highlight-intro > p,
  .v12-experience .experience-head > p,
  .v12-faq .faq-intro p {
    color: var(--v13-muted) !important;
    font-family: Switzer, Manrope, Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    line-height: 28.8px !important;
  }

  .impact-stage {
    display: grid !important;
    grid-template-columns: 315px minmax(0, 606px) 315px !important;
    grid-template-rows: 338px !important;
    width: var(--v13-rail) !important;
    max-width: 1256px !important;
    height: 338px !important;
    margin: 0 auto !important;
    gap: 10px !important;
  }

  .impact-photo-wrap,
  .impact-principles {
    height: 338px !important;
    min-height: 338px !important;
    border-radius: 15px !important;
    overflow: hidden !important;
  }

  .impact-photo-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 700ms var(--v13-ease) !important;
  }

  .impact-stage:hover .impact-photo-wrap img {
    transform: scale(1.025) !important;
  }

  .impact-principles {
    display: grid !important;
    grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  .impact-principles .principle {
    display: grid !important;
    grid-template-columns: minmax(100px, 1fr) minmax(0, 1.08fr) !important;
    min-height: 0 !important;
    height: auto !important;
    align-items: center !important;
    padding: 0 26px !important;
    border-radius: 13px !important;
    background: var(--v13-paper) !important;
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
  }

  .impact-principles .principle strong {
    color: var(--v13-ink) !important;
    font-family: Switzer, Manrope, Arial, sans-serif !important;
    font-size: 42px !important;
    font-weight: 600 !important;
    letter-spacing: -0.045em !important;
    line-height: 1 !important;
  }

  .impact-principles .principle > div {
    display: grid;
    gap: 4px;
  }

  .impact-principles .principle > div > div {
    color: var(--v13-ink) !important;
    font-family: Switzer, Manrope, Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 19.6px !important;
  }

  .impact-principles .principle > div {
    color: var(--v13-muted) !important;
    font-family: Switzer, Manrope, Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 22.4px !important;
  }

  /* This is a subject-world image treatment, not a generic stripe/grid: a
     provided Antalya aerial photo remains soft behind the slow statement. */
  .statement-band {
    position: relative !important;
    isolation: isolate;
    min-height: 1054px !important;
    height: 1054px !important;
    overflow: hidden !important;
    background: #f7f7f5 !important;
  }

  .statement-band::before {
    display: none !important;
    position: absolute;
    z-index: 0;
    inset: -84px 0;
    pointer-events: none;
    content: '';
  }

  .v13-statement-texture {
    position: absolute;
    z-index: 0;
    inset: -84px 0;
    width: 100%;
    height: calc(100% + 168px);
    max-width: none;
    object-fit: cover;
    object-position: center var(--v13-statement-position, 50%);
    filter: grayscale(1) contrast(0.86) brightness(1.18);
    opacity: 0.18;
    transform: translate3d(0, var(--v13-statement-shift, 0px), 0) scale(1.03);
    will-change: transform;
    pointer-events: none;
  }

  .statement-band::after {
    position: absolute;
    z-index: 1;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(ellipse 62% 42% at 50% 50%, rgba(255, 255, 255, 0.78), rgba(247, 247, 245, 0.78) 75%);
    content: '';
  }

  .statement-sticky {
    position: relative !important;
    z-index: 2;
    background: transparent !important;
  }

  .statement-focus {
    width: min(1040px, calc(100% - 160px)) !important;
    color: var(--v13-ink) !important;
    font-family: Switzer, Manrope, Arial, sans-serif !important;
    font-size: clamp(50px, 5vw, 72px) !important;
    font-weight: 600 !important;
    letter-spacing: -0.045em !important;
    line-height: 1.14 !important;
  }

  /* The selected project panel is deliberately glassy like the reference. */
  .v10-scene-panel {
    border-color: rgba(255, 255, 255, 0.16) !important;
    background: rgba(11, 17, 23, 0.35) !important;
    box-shadow: 0 3px 10px rgba(11, 17, 23, 0.50) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
  }

  .v10-scene-shade {
    background: linear-gradient(180deg, rgba(8, 11, 15, 0.24) 0%, rgba(8, 11, 15, 0.08) 40%, rgba(8, 11, 15, 0.44) 100%) !important;
  }

  .v10-selected-intro,
  .v10-listing-head,
  .services .section-intro {
    width: var(--v13-rail) !important;
    max-width: 1256px !important;
  }

  .v10-selected-intro,
  .v10-listing-head {
    grid-template-columns: minmax(0, 600px) minmax(0, 400px) !important;
  }

  /* Property listings are their own calm editorial block, not a wide generic
     card grid.  The image grid still grows underneath its measured header. */
  .collection.v10-property-listings {
    min-height: 1252px !important;
    height: 1252px !important;
    background: #fff !important;
  }

  .v10-listing-grid {
    width: var(--v13-rail) !important;
    max-width: 1256px !important;
    grid-auto-rows: 420px !important;
  }

  .v10-listing-card {
    border-radius: 15px !important;
  }

  /* Highlighted user video inherits V12's measured growing scroll frame. */
  .v12-highlight .highlight-frame video.v13-highlight-video {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    background: #0b1117;
  }

  .v12-highlight .highlight-ticker {
    color: #53626a !important;
  }

  /* Reviews / working-principles rail: clip and fade inside the exact rail,
     while the image holds at the right just as in the live reference. */
  .experience.v12-experience.v13-experience {
    height: 897px !important;
    min-height: 897px !important;
    overflow: hidden !important;
  }

  .v13-experience .experience-head {
    width: var(--v13-rail) !important;
    max-width: 1256px !important;
  }

  .v13-experience .experience-rail {
    width: var(--v13-rail) !important;
    max-width: 1256px !important;
    height: 500px !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    isolation: isolate;
  }

  .v13-experience .experience-rail::before,
  .v13-experience .experience-rail::after {
    width: 82px !important;
    z-index: 6 !important;
  }

  .v13-experience .experience-track {
    transform: translate3d(var(--v13-review-x, -225px), 0, 0) !important;
    will-change: transform;
  }

  .v13-experience .experience-card {
    border-radius: 16px !important;
    background: #f6f6f6 !important;
  }

  .v13-experience .v12-experience-feature {
    top: 317px !important;
    right: max(0px, calc((100vw - 1256px) / 2)) !important;
    width: 350px !important;
    height: 500px !important;
    border-radius: 16px !important;
  }

  /* FAQ: 450 / 64 / 742 within a 1256px rail, matching the live geometry. */
  .faq.v12-faq {
    grid-template-columns: 450px minmax(0, 742px) !important;
    width: var(--v13-rail) !important;
    max-width: 1256px !important;
    gap: 64px !important;
  }

  .v12-faq .faq-intro h2 {
    width: 450px !important;
    max-width: 450px !important;
  }

  .v12-faq .faq-item {
    border-radius: 16px !important;
    background: #f6f6f6 !important;
  }

  .v12-faq .faq-item > button {
    min-height: 70px !important;
    color: var(--v13-ink) !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 25.2px !important;
  }

  .v12-faq .faq-item > button > span {
    color: var(--v13-ink) !important;
    font-family: Switzer, Manrope, Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    letter-spacing: -0.015em !important;
    line-height: 25.2px !important;
  }

  /* Closing CTA mirrors the sky scene.  Only the true footer below remains
     ink; the CTA no longer sits on a black page field. */
  .footer.v12-footer.v13-footer {
    padding: 32px 0 0 !important;
    background: #fff !important;
  }

  .v13-footer .footer-scene {
    position: relative;
    min-height: 820px !important;
    margin: 0 16px !important;
    overflow: hidden !important;
    border-radius: 24px !important;
    isolation: isolate;
    background:
      radial-gradient(ellipse 62% 48% at 50% 30%, rgba(255, 255, 255, 0.24), transparent 72%),
      linear-gradient(180deg, var(--v13-sky) 0%, #afd9e8 68%, #93c3d5 100%) !important;
  }

  .v13-footer .footer-scene > img {
    z-index: 1;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    opacity: 0.56 !important;
    filter: saturate(0.82) contrast(0.96) !important;
    mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.40) 34%, #000 100%);
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.40) 34%, #000 100%);
  }

  .v13-footer .footer-overlay {
    z-index: 2 !important;
    background: linear-gradient(180deg, rgba(195, 229, 247, 0.08), rgba(116, 159, 178, 0.18)) !important;
  }

  .v13-footer .footer-cta {
    position: relative;
    z-index: 4;
    width: min(600px, calc(100% - 48px)) !important;
    color: var(--v13-ink) !important;
  }

  .v13-footer .footer-cta h2 {
    color: var(--v13-ink) !important;
    font-family: Switzer, Manrope, Arial, sans-serif !important;
    font-size: 48px !important;
    font-weight: 600 !important;
    letter-spacing: -0.025em !important;
    line-height: 67.2px !important;
  }

  .v13-footer .footer-cta p {
    color: #415b67 !important;
    font-family: Switzer, Manrope, Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 28.8px !important;
  }

  .v13-footer .footer-eyebrow {
    color: #415b67 !important;
  }

  .v13-footer .v13-footer-cloud {
    position: absolute;
    z-index: 3;
    right: -10%;
    bottom: 2%;
    width: 120%;
    opacity: 0.42;
    pointer-events: none;
    transform: translate3d(var(--v13-footer-cloud-x, 0px), var(--v13-footer-cloud-y, 0px), 0);
    will-change: transform;
  }

  .v13-footer .footer-bottom {
    background: var(--v13-ink) !important;
  }
}

@media (max-width: 720px) {
  .rivi-v18-page {
    --v13-outer: calc(100vw - 40px);
    --v13-rail: calc(100vw - 40px);
  }

  .hero-sticky {
    background: linear-gradient(180deg, var(--v13-sky), #abd6e6) !important;
  }

  .hero-sticky > .v9-hero-cloud-layer {
    display: none !important;
  }

  .hero h1 {
    font-family: Manrope, Arial, sans-serif !important;
    font-size: clamp(48px, 12vw, 64px) !important;
    font-weight: 900 !important;
    letter-spacing: -0.035em !important;
    line-height: 0.98 !important;
    -webkit-text-stroke: 0.35px currentColor;
  }

  .v13-hero-cloud {
    position: absolute;
    left: -22%;
    width: 144%;
    pointer-events: none;
    /* On a narrow viewport the source cloud ends within the visible hero;
       explicitly feather it here too, so no horizontal bitmap edge appears
       through the headline. */
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 16%, #000 64%, transparent 100%);
    mask-image: linear-gradient(180deg, transparent 0%, #000 16%, #000 64%, transparent 100%);
  }

  .v13-hero-cloud--far {
    top: 170px;
    opacity: 0.30;
  }

  .v13-hero-cloud--front {
    top: 510px;
    opacity: 0.22;
  }

  .impact.section {
    padding: 72px 0 !important;
  }

  .impact .section-intro,
  .services .section-intro,
  .v10-selected-intro,
  .v10-listing-head,
  .v12-highlight .v9-highlight-intro,
  .v12-experience .experience-head,
  .faq.v12-faq {
    width: var(--v13-rail) !important;
  }

  .impact .section-intro h2,
  .services .section-intro h2,
  .v10-selected-title,
  .v10-listing-title,
  .v12-highlight .v9-highlight-intro h2,
  .v12-experience .experience-head h2,
  .v12-faq .faq-intro h2,
  .v13-footer .footer-cta h2 {
    font-size: clamp(35px, 10vw, 48px) !important;
    line-height: 1.14 !important;
  }

  .impact .section-intro p,
  .services .section-intro p,
  .v10-selected-description,
  .v10-listing-description,
  .v12-highlight .v9-highlight-intro > p,
  .v12-experience .experience-head > p,
  .v12-faq .faq-intro p,
  .v13-footer .footer-cta p {
    font-size: 16px !important;
    line-height: 25.6px !important;
  }

  .impact-stage {
    grid-template-columns: 1fr !important;
    grid-template-rows: 220px auto 220px !important;
    width: var(--v13-rail) !important;
    height: auto !important;
    gap: 10px !important;
  }

  .impact-photo-wrap {
    height: 220px !important;
    min-height: 220px !important;
  }

  .impact-principles {
    height: 338px !important;
    min-height: 338px !important;
  }

  .impact-principles .principle {
    grid-template-columns: 82px minmax(0, 1fr) !important;
    padding: 0 20px !important;
  }

  .impact-principles .principle strong {
    font-size: 34px !important;
  }

  .statement-band {
    height: 720px !important;
    min-height: 720px !important;
  }

  .statement-focus {
    width: calc(100% - 40px) !important;
    font-size: clamp(38px, 11vw, 54px) !important;
  }

  .v13-experience .experience-rail {
    width: 100% !important;
    overflow-x: auto !important;
  }

  .v13-experience .experience-track {
    transform: none !important;
  }

  .v13-experience .v12-experience-feature {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    width: var(--v13-rail) !important;
    margin: 20px auto 0 !important;
  }

  .faq.v12-faq {
    display: block !important;
    padding: 72px 0 !important;
  }

  .v13-footer .footer-scene {
    min-height: 640px !important;
    margin: 0 8px !important;
    border-radius: 18px !important;
  }

  .v13-footer .footer-cta {
    width: var(--v13-rail) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .v13-hero-cloud,
  .statement-band::before,
  .v13-experience .experience-track,
  .v13-footer .v13-footer-cloud {
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
  }
}


/*
 * V14 — preservation repair
 *
 * This layer deliberately restores only the three broken V12 scenes: the
 * hero's readable-to-overlap scroll choreography, the stacked selected homes,
 * and the four-card catalogue immediately before the video.  Everything after
 * the catalogue remains V13's existing implementation.
 */

.rivi-v18-page {
  --v14-ink: #080b0f;
  --v14-muted: #4b5b63;
  --v14-paper: #f6f6f6;
  --v14-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

@media (min-width: 721px) {
  /* Restore the two-cloud depth from the working V12 scene.  V13's clouds
     remain in the DOM as a non-destructive backup, but cannot paint a second
     layer or create the visibly hard lower band. */
  .v14-hero-recovered .v13-hero-cloud {
    display: none !important;
  }

  .v14-hero-cloud {
    position: absolute;
    left: -32px;
    z-index: 0;
    width: calc(100% + 64px);
    height: 465px;
    overflow: hidden;
    pointer-events: none;
    will-change: opacity, transform;
  }

  .v14-hero-cloud img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
  }

  .v14-hero-cloud--far {
    top: 175px;
    opacity: 0.34;
  }

  .v14-hero-cloud--front {
    top: 612px;
    z-index: 4;
    opacity: 0;
  }

  .v14-hero-recovered .hero-copy {
    z-index: 5 !important;
  }

  .v14-hero-recovered .hero-image-wrap {
    z-index: 2 !important;
  }

  /* At the point the house reaches the title, visual order changes only for
     the current scroll state.  The opening frame therefore stays readable. */
  .v14-hero-recovered.v14-house-over-copy .hero-copy {
    z-index: 1 !important;
  }

  .v14-hero-recovered.v14-house-over-copy .hero-image-wrap {
    z-index: 3 !important;
  }

  /* These clouds originate in the incoming Impact section.  Their measured
     * negative offsets intentionally let them pass over the house while the
     * visitor scrolls from the hero into the next section. */
  .impact.section.v14-impact-cloud-recovered {
    position: relative;
    z-index: 1;
    overflow: visible !important;
  }

  .v14-impact-cloud {
    position: absolute;
    z-index: 0;
    left: -32px;
    width: calc(100% + 64px);
    height: 464px;
    pointer-events: none;
  }

  .v14-impact-cloud img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
  }

  .v14-impact-cloud--far {
    top: -260px;
  }

  .v14-impact-cloud--near {
    top: -130px;
  }

  /* V13's initial V10 install raced the hydrated image sources, so its class
     was never applied.  Once V14 has the existing source material, hide the
     dormant React cards and restore the exact scene hierarchy after them. */
  .selected.v14-properties-restored > .section-intro,
  .selected.v14-properties-restored > .featured-grid,
  .collection.v14-listings-restored > .collection-head,
  .collection.v14-listings-restored > .collection-list {
    display: none !important;
  }

  .selected.v14-properties-restored {
    box-sizing: border-box !important;
    width: 100% !important;
    height: calc(317px + 300dvh) !important;
    min-height: calc(317px + 300vh) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
    color: var(--v14-ink) !important;
  }

  .v14-selected-intro,
  .v14-listing-head {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(0, 600px) minmax(0, 400px);
    align-items: end;
    justify-content: space-between;
    width: min(calc(100% - 64px), 1256px);
    margin: 0 auto;
  }

  .v14-selected-intro {
    height: 317px;
    padding: 80px 0 57px;
  }

  .v14-heading-copy,
  .v14-listing-heading-copy {
    min-width: 0;
  }

  .v14-section-marker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 16px;
    color: var(--v14-muted);
    font-family: Switzer, Manrope, Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 22.4px;
  }

  .v14-section-marker::before {
    box-sizing: border-box;
    width: 10px;
    height: 10px;
    content: '';
    border: 1.25px solid currentColor;
    border-radius: 50%;
    background: radial-gradient(circle at center, currentColor 0 2px, transparent 2.5px);
  }

  .v14-selected-title,
  .v14-listing-title {
    max-width: 600px;
    margin: 0;
    color: var(--v14-ink);
    font-family: Switzer, Manrope, Arial, sans-serif;
    font-size: 48px;
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1.4;
  }

  .v14-selected-description,
  .v14-listing-description {
    max-width: 400px;
    margin: 0;
    color: var(--v14-muted);
    font-family: Switzer, Manrope, Arial, sans-serif;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .v14-property-scenes {
    position: relative;
    isolation: isolate;
    height: 300dvh;
  }

  .v14-property-scene {
    position: sticky;
    top: 0;
    z-index: var(--v14-scene-index, 1);
    display: grid;
    width: 100%;
    height: 100dvh;
    overflow: hidden;
    place-items: center;
    background: var(--v14-ink);
    isolation: isolate;
  }

  .v14-scene-image,
  .v14-scene-shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .v14-scene-image {
    display: block;
    object-fit: cover;
    object-position: center;
    transform: scale(1.035) translate3d(var(--v14-scene-x, 0px), var(--v14-scene-y, 0px), 0);
    transition: transform 620ms var(--v14-ease);
    will-change: transform;
  }

  .v14-scene-shade {
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(8, 11, 15, 0.54) 0%, rgba(8, 11, 15, 0.34) 38%, rgba(8, 11, 15, 0.72) 100%);
  }

  .v14-scene-panel-motion {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    width: 324px;
    transform: translate3d(-50%, -50%, 0);
  }

  .v14-scene-panel {
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 324px;
    height: 231px;
    padding: 48px 20px 18px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 15px;
    background: rgba(11, 17, 23, 0.35);
    box-shadow: 0 3px 10px rgba(11, 17, 23, 0.50);
    color: #fff;
    text-align: center;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
  }

  .v14-scene-price {
    position: absolute;
    top: -20px;
    left: 50%;
    display: inline-flex;
    min-height: 39px;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    transform: translateX(-50%);
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 0 0 11px 11px;
    background: rgba(255, 255, 255, 0.07);
    color: rgba(255, 255, 255, 0.96);
    font-family: Switzer, Manrope, Arial, sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
  }

  .v14-scene-title {
    margin: 0;
    color: #fff;
    font-family: Switzer, Manrope, Arial, sans-serif;
    font-size: 30px;
    font-weight: 500;
    letter-spacing: -0.03em;
    line-height: 1.22;
  }

  .v14-scene-location {
    margin: 8px 0 16px;
    color: rgba(255, 255, 255, 0.94);
    font-family: Switzer, Manrope, Arial, sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.45;
  }

  .v14-scene-cta,
  .v14-listing-all {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 9px 0 16px;
    border: 1px solid #fff;
    border-radius: 12px;
    background: #fff;
    color: var(--v14-ink);
    font-family: Switzer, Manrope, Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
  }

  .v14-arrow-frame {
    position: relative;
    display: grid;
    width: 30px;
    height: 30px;
    overflow: hidden;
    place-items: center;
    border-radius: 9px;
    background: var(--v14-ink);
    color: #fff;
  }

  .v14-arrow-frame svg {
    position: absolute;
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    transition: transform 220ms var(--v14-ease);
  }

  .v14-arrow-frame svg:last-child {
    transform: translateX(-160%);
  }

  @media (hover: hover) and (pointer: fine) {
    .v14-scene-cta:hover .v14-arrow-frame svg:first-child,
    .v14-scene-cta:focus-visible .v14-arrow-frame svg:first-child,
    .v14-listing-all:hover .v14-arrow-frame svg:first-child,
    .v14-listing-all:focus-visible .v14-arrow-frame svg:first-child {
      transform: translateX(160%);
    }

    .v14-scene-cta:hover .v14-arrow-frame svg:last-child,
    .v14-scene-cta:focus-visible .v14-arrow-frame svg:last-child,
    .v14-listing-all:hover .v14-arrow-frame svg:last-child,
    .v14-listing-all:focus-visible .v14-arrow-frame svg:last-child {
      transform: translateX(0);
    }
  }

  .collection.v14-listings-restored {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 1252px !important;
    min-height: 1252px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    color: var(--v14-ink) !important;
  }

  .v14-listing-head {
    height: 317px;
    padding: 80px 0 57px;
  }

  .v14-listing-action-copy {
    align-self: end;
  }

  .v14-listing-description {
    margin-bottom: 13px;
  }

  .v14-listing-all {
    border-color: var(--v14-ink);
    background: var(--v14-ink);
    color: #fff;
    box-shadow: 0 10px 22px rgba(8, 11, 15, 0.14);
  }

  .v14-listing-all .v14-arrow-frame {
    background: #fff;
    color: var(--v14-ink);
  }

  .v14-listing-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 420px;
    width: min(calc(100% - 64px), 1256px);
    margin: 0 auto;
    gap: 16px;
  }

  .v14-listing-card {
    box-sizing: border-box;
    position: relative;
    display: block;
    width: 100%;
    height: 420px;
    overflow: hidden;
    padding: 0;
    border: 0;
    border-radius: 15px;
    background: var(--v14-ink);
    color: #fff;
    cursor: pointer;
    isolation: isolate;
    text-align: left;
    transition: transform 240ms var(--v14-ease), box-shadow 240ms var(--v14-ease);
  }

  .v14-listing-card::after {
    position: absolute;
    z-index: 1;
    inset: 0;
    content: '';
    pointer-events: none;
    background: linear-gradient(180deg, rgba(8, 11, 15, 0.01) 28%, rgba(8, 11, 15, 0.20) 50%, rgba(8, 11, 15, 0.82) 100%);
  }

  .v14-listing-card:hover,
  .v14-listing-card:focus-visible {
    transform: translateY(-3px);
    box-shadow: 0 18px 38px rgba(8, 11, 15, 0.20);
  }

  .v14-listing-image {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 560ms var(--v14-ease), filter 360ms var(--v14-ease);
  }

  .v14-listing-card:hover .v14-listing-image,
  .v14-listing-card:focus-visible .v14-listing-image {
    transform: scale(1.045);
    filter: saturate(1.05);
  }

  .v14-listing-chip {
    position: absolute;
    top: 24px;
    right: 24px;
    z-index: 2;
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    gap: 6px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    color: var(--v14-ink);
    font-family: Switzer, Manrope, Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
  }

  .v14-listing-chip svg,
  .v14-listing-meta svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .v14-listing-copy {
    position: absolute;
    right: 26px;
    bottom: 24px;
    left: 26px;
    z-index: 2;
    display: grid;
    gap: 8px;
  }

  .v14-listing-name {
    color: #fff;
    font-family: Switzer, Manrope, Arial, sans-serif;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.3;
  }

  .v14-listing-request {
    color: #fff;
    font-family: Switzer, Manrope, Arial, sans-serif;
    font-size: 28px;
    font-weight: 500;
    letter-spacing: -0.03em;
    line-height: 1.08;
  }

  .v14-listing-meta {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, 0.94);
    font-family: Switzer, Manrope, Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;
  }

  .v14-listing-meta span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .v14-listing-meta i {
    display: block;
    width: 1px;
    height: 18px;
    flex: 0 0 1px;
    background: rgba(255, 255, 255, 0.72);
  }

  @keyframes v14-card-arrive {
    from {
      opacity: 0;
      clip-path: inset(9% 0 0 round 15px);
      transform: translate3d(0, 18px, 0);
    }
    to {
      opacity: 1;
      clip-path: inset(0 0 0 round 15px);
      transform: translate3d(0, 0, 0);
    }
  }

  .v14-listing-card.v14-card-active {
    animation: v14-card-arrive 520ms var(--v14-ease) both;
  }

  .v14-listing-card.v14-card-active:nth-child(2) { animation-delay: 45ms; }
  .v14-listing-card.v14-card-active:nth-child(3) { animation-delay: 60ms; }
  .v14-listing-card.v14-card-active:nth-child(4) { animation-delay: 105ms; }
}

@media (max-width: 1023px) {
  .selected.v14-properties-restored,
  .collection.v14-listings-restored {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .selected.v14-properties-restored > .section-intro,
  .selected.v14-properties-restored > .featured-grid,
  .collection.v14-listings-restored > .collection-head,
  .collection.v14-listings-restored > .collection-list {
    display: none !important;
  }

  .v14-selected-intro,
  .v14-listing-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    width: min(calc(100% - 40px), 680px);
    height: auto;
    margin: 0 auto;
    padding: 72px 0 52px;
  }

  .v14-selected-title,
  .v14-listing-title {
    max-width: 620px;
    font-size: clamp(38px, 5.6vw, 48px);
    line-height: 1.2;
  }

  .v14-selected-description,
  .v14-listing-description {
    max-width: 520px;
  }

  .v14-property-scenes {
    height: 240dvh;
  }

  .v14-property-scene {
    height: 80dvh;
    min-height: 620px;
  }

  .v14-listing-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 420px;
    width: min(calc(100% - 40px), 680px);
    padding-bottom: 52px;
  }
}

@media (max-width: 540px) {
  .v14-selected-intro,
  .v14-listing-head {
    padding-top: 58px;
    padding-bottom: 42px;
  }

  .v14-section-marker {
    margin-bottom: 16px;
    font-size: 13px;
  }

  .v14-selected-title,
  .v14-listing-title {
    font-size: 39px;
    letter-spacing: -0.035em;
    line-height: 1.12;
  }

  .v14-selected-description,
  .v14-listing-description {
    font-size: 16px;
    line-height: 1.55;
  }

  .v14-property-scene {
    min-height: 560px;
  }

  .v14-scene-panel-motion,
  .v14-scene-panel {
    width: min(calc(100vw - 40px), 324px);
  }

  .v14-scene-panel {
    min-height: 218px;
    padding-right: 18px;
    padding-left: 18px;
  }

  .v14-listing-grid {
    grid-auto-rows: 344px;
  }

  .v14-listing-card {
    height: 344px;
  }

  .v14-listing-chip {
    top: 18px;
    right: 18px;
  }

  .v14-listing-copy {
    right: 20px;
    bottom: 19px;
    left: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .v14-hero-cloud,
  .v14-scene-image,
  .v14-listing-image,
  .v14-listing-card,
  .v14-arrow-frame svg {
    transition: none !important;
    animation: none !important;
  }

  .v14-listing-card {
    opacity: 1 !important;
  }
}


/* V11: Measured typography polish for the RIVI HOME version of the Homy layout.
 * The V10 information architecture, imagery, routing and scene motion remain intact.
 */

.rivi-v18-page {
  display: block;
  width: 100vw !important;
  min-width: 320px;
  max-width: 100vw !important;
  margin-right: calc(50% - 50vw) !important;
  margin-left: calc(50% - 50vw) !important;
}

.v10-section-marker,
.v10-selected-title,
.v10-listing-title,
.v10-selected-description,
.v10-listing-description,
.v10-scene-title,
.v10-scene-location,
.v10-listing-chip,
.v10-listing-name,
.v10-listing-request,
.v10-listing-meta {
  font-family: Switzer, Manrope, Arial, sans-serif;
}

/* The reference's Switzer headings do not use compressed tracking.  Keeping the
 * fallback's tracking natural makes Cyrillic read as words instead of a dense block. */
.v10-selected-title,
.v10-listing-title,
.v10-listing-request,
.v10-scene-title {
  letter-spacing: normal;
}

/* The reference card's content uses a modest title / value / metadata ladder.
 * These values deliberately match its 16 / 28 / 16px hierarchy. */
.v10-listing-chip {
  font-size: 14px;
  font-weight: 400;
}

.v10-listing-name {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
}

.v10-listing-request {
  font-size: 28px;
  font-weight: 500;
  line-height: 1.2;
}

.v10-listing-meta {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
}

.v10-listing-copy {
  gap: 8px;
}

/* Project names are longer than the English reference.  The panel remains the
 * same 324 × 231px scene, but the actual supplied name may use two balanced lines. */
.v10-scene-panel {
  justify-content: center;
  padding-top: 38px;
}

.v10-scene-title {
  max-width: 244px;
  font-size: clamp(30px, 2.36vw, 34px);
  font-weight: 500;
  line-height: 1.2;
}

.v10-scene-location {
  margin: 7px 0 13px;
  font-size: 16px;
  line-height: 1.4;
}

@media (max-width: 540px) {
  .v10-selected-title,
  .v10-listing-title {
    letter-spacing: -0.012em;
  }

  .v10-listing-name,
  .v10-listing-meta {
    font-size: 15px;
  }

  .v10-scene-title {
    font-size: 30px;
  }
}


/* WordPress classic-theme boundary and deterministic V18 interaction states. */
body.home{margin:0;background:#090d11}
.rivi-v18-page [hidden]{display:none!important}
.rivi-v18-page .mobile-menu{position:fixed;z-index:49}
.rivi-v18-page main>section:not(.hero) [style*="opacity"]{transition:opacity .7s var(--ease),filter .7s var(--ease),transform .7s var(--ease),clip-path .7s var(--ease)}
.rivi-v18-page .v13-highlight-video{width:100%;height:100%;object-fit:cover}
.rivi-v18-page .faq-item>div[hidden]{display:none!important}
.rivi-v18-page .faq-item>div:not([hidden]){display:block}
@media(max-width:720px) and (prefers-reduced-motion:no-preference){.rivi-v18-page .v13-experience .experience-track{transform:translate3d(var(--v13-review-x,0px),0,0)!important}}
@media(max-width:720px){body.admin-bar .rivi-v18-page .site-header{top:46px}}

/* V20 LOCKED HERO
 * Final hero contract:
 * - V3 contributes only the approved sky gradient.
 * - V9 contributes the copy -> house -> cloud layer order.
 * - V13 contributes the calm open-to-compact header transition.
 * This block intentionally comes last so older V9/V13/V14 experiments cannot
 * change the hero again without changing this named contract. */
.rivi-v18-page{--rivi-header-open-top:24px}
@media(min-width:721px){
  .rivi-v18-page .site-header{transform:translate3d(0,var(--rivi-header-open-top),0);transition:transform 720ms cubic-bezier(.16,1,.3,1),background-color 520ms ease,border-color 520ms ease,box-shadow 520ms ease;will-change:transform}
  .rivi-v18-page .site-header.is-compact{top:22px;right:max(20px,calc((100vw - 1320px)/2 + 20px));left:max(20px,calc((100vw - 1320px)/2 + 20px));height:72px;min-height:72px!important;padding-right:24px!important;padding-left:24px!important;align-items:center!important;border:1px solid rgba(9,13,17,.12);border-radius:16px;transform:translate3d(0,0,0);background-color:rgba(245,245,241,.92);box-shadow:0 12px 34px rgba(9,13,17,.10)}
  .rivi-v18-page .rivi-hero--locked{height:1450px!important;min-height:1450px!important}
  .rivi-v18-page .rivi-hero--locked .hero-sticky{isolation:isolate;background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.22),transparent 34%),linear-gradient(180deg,#c3e5f7 0%,#9fc9dc 56%,#316073 100%)!important}
  .rivi-v18-page .rivi-hero--locked .hero-sticky::before,.rivi-v18-page .rivi-hero--locked .hero-smoke,.rivi-v18-page .rivi-hero--locked .v13-hero-cloud{display:none!important}
  .rivi-v18-page .rivi-hero--locked .v14-hero-cloud{display:block!important;will-change:transform,opacity;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 62%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 62%,transparent 100%)}
  .rivi-v18-page .rivi-hero--locked .hero-copy{position:relative;z-index:4!important;transform-origin:center top;will-change:transform,opacity}
  .rivi-v18-page .rivi-hero--locked .hero-image-motion{z-index:6;will-change:transform}
  .rivi-v18-page .rivi-hero--locked .v14-hero-cloud--front{z-index:7}
}
@media(max-width:720px){
  .rivi-v18-page .rivi-hero--locked .hero-sticky{background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.22),transparent 34%),linear-gradient(180deg,#c3e5f7 0%,#9fc9dc 56%,#316073 100%)!important}
  .rivi-v18-page .rivi-hero--locked .v13-hero-cloud,.rivi-v18-page .rivi-hero--locked .v14-hero-cloud,.rivi-v18-page .rivi-hero--locked .hero-smoke{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  .rivi-v18-page .site-header,.rivi-v18-page .rivi-hero--locked .hero-copy,.rivi-v18-page .rivi-hero--locked .hero-image-motion,.rivi-v18-page .rivi-hero--locked .v14-hero-cloud{transition:none!important;will-change:auto}
}

/* V20 support and highlighted-project contract.
 * The project frame grows by compositor-only scale within one sticky scene;
 * sizing, top and radius remain stable while the visitor scrolls. */
.rivi-v18-page .process{display:grid!important}
/* Five factual buyer-support cards plus their aria-hidden loop copy must stay
 * paintable.  An older four-card reference cap hid the fifth real phase and
 * broke the promised continuous rail. */
.rivi-v18-page .v12-experience .experience-card:nth-child(n){display:flex!important}
@media(min-width:721px){
  .rivi-v18-page .v12-highlight .highlight-frame{transform:translate3d(-50%,0,0) scale(var(--rivi-highlight-scale,.28))!important;will-change:transform;transition:transform 140ms cubic-bezier(.16,1,.3,1)}
  .rivi-v18-page .v12-highlight .highlight-ticker{transform:translate3d(calc(var(--v12-ticker-x,-38%) + var(--rivi-highlight-ticker-shift,0px)),0,0)!important;will-change:transform}
}
@media(min-width:1025px){
  .rivi-v18-page .services .service-list{gap:10px}
  .rivi-v18-page .services .service-row{flex:1 1 0!important}
  .rivi-v18-page .services .service-row.is-open{flex:2.4 1 0!important}
  .rivi-v18-page .services .service-row:not(.is-open) .service-title{right:14px;bottom:20px;left:14px;font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.08}
  .rivi-v18-page .services .service-row:not(.is-open)>button>img{right:0;width:100%;height:58%;opacity:.88}
}
@media(min-width:721px) and (max-width:1024px){
  .rivi-v18-page .services .service-list{height:auto!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .rivi-v18-page .services .service-row{height:300px!important;flex:none!important}
  .rivi-v18-page .services .service-row.is-open{grid-column:1 / -1;height:430px!important}
  /* At tablet widths the older desktop FAQ grid reserves one 600px row.
     Six real answers then spill into the footer and become unclickable.
     Use the same natural document flow as mobile rather than hiding content
     behind a fixed scene. */
  body .rivi-v18-page .faq.v12-faq{display:block!important;grid-template-columns:none!important;grid-template-rows:none!important;width:calc(100% - 48px)!important;height:auto!important;min-height:0!important;margin:0 auto!important;padding:72px 0!important}
  body .rivi-v18-page .v12-faq .faq-intro{position:relative!important;top:auto!important;margin-bottom:34px!important}
}
@media(max-width:720px){
  .rivi-v18-page .site-header.is-compact{top:10px;right:12px;left:12px;height:62px;min-height:62px!important;padding-right:14px!important;padding-left:14px!important;border:1px solid rgba(9,13,17,.12);border-radius:16px;transform:none;background-color:#f5f5f1;box-shadow:0 12px 34px rgba(9,13,17,.10)}
  .rivi-v18-page .site-header.is-compact .brand{transform:scale(.92);transform-origin:left center}
  .rivi-v18-page .site-header.is-compact .mobile-menu{inset:68px 0 auto}
  .rivi-v18-page .services .service-row,.rivi-v18-page .services .service-row.is-open{height:164px}
  .rivi-v18-page .services .service-row.is-open{height:428px}
}
@media(prefers-reduced-motion:reduce){
  .rivi-v18-page .v12-highlight .highlight-frame,.rivi-v18-page .v12-highlight .highlight-ticker{transition:none!important;will-change:auto}
}

/* Blueprint content contract: preserve the V18 composition while separating
 * the semantic H1 from the visual display and keeping the expanded menu calm. */
.rivi-v18-page .rivi-seo-h1{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.rivi-v18-page .hero-display{max-width:1280px;margin:0 auto;overflow:hidden;font-size:clamp(3rem,7.4vw,6.25rem);line-height:1;font-weight:800;letter-spacing:-.04em}
.rivi-v18-page .hero-detail{max-width:680px;margin:8px auto 0;color:#40545c;font-size:clamp(13px,1.15vw,15px);line-height:1.55}
.rivi-v18-page .hero-microcopy{margin:10px auto 0;color:#40545c;font-size:11px;line-height:1.45}
@media(min-width:721px){.rivi-v18-page .hero-summary{max-width:none;white-space:nowrap;}}
@media(min-width:1025px){.rivi-v18-page .desktop-nav{gap:clamp(12px,1.35vw,24px)}.rivi-v18-page .desktop-nav a{font-size:10px}}
@media(max-width:720px){.rivi-v18-page .hero-display{font-size:clamp(3rem,14vw,4.6rem)}.rivi-v18-page .hero-summary{max-width:340px;text-wrap:balance}.rivi-v18-page .hero-detail{max-width:330px;font-size:12px}.rivi-v18-page .hero-microcopy{max-width:300px}.rivi-v18-page .hero-actions .button-outline{display:none!important}.rivi-v18-page .hero-actions .button-dark{width:min(100%,340px)!important;flex:none!important}.rivi-v18-page .mobile-menu{max-height:calc(100dvh - 86px);overflow:auto}.rivi-v18-page .mobile-menu a{min-height:48px;font-size:17px}}

/* rivi-baslik-opak-20261014 — Kaan, 14 Ekim 2026
   Kaydirinca baslik seffaf kalmayacak. Sorun: template-parts/home-v18/header.php
   icinde <header> uzerinde satir ici `background: rgba(255,255,255,0)` donmustu ve
   tema kuralini eziyordu; kompakt baslik dolgusuz kalinca menu yazilari arkadaki
   fotografa karisiyordu. Satir ici stil kaldirildi, kompakt hal tam opak yapildi.
   Sayfa en tepedeyken baslik yine seffaf. */
.rivi-v18-page .site-header.is-compact{
  background-color:#f5f5f1 !important;
  border-color:rgba(9,13,17,.12) !important;
  box-shadow:0 12px 34px rgba(9,13,17,.10) !important;
}
