/* R101 visual revision: independent, bounded depth; native page scrolling. */
.hero-copy{min-width:0}
.hero-visual{isolation:isolate}
.hero-photo{transform:scale(1.055) translateY(calc(var(--hero-p,0)*24px))}
.hero-visual:after{content:'01 / ПАРНАЯ С ВИДОМ';position:absolute;bottom:24px;left:24px;color:#fff;background:#253e32;padding:9px 13px;font-size:10px;letter-spacing:.12em}
.breath{background:#e5e3d7;isolation:isolate;overflow:clip;--depth-p:0}
.breath-stage{position:relative;max-width:1800px;margin:auto;height:clamp(720px,60vw,1000px);background:radial-gradient(ellipse at 69% 50%,#f1efdf 0,transparent 64%)}
.breath-kicker{position:absolute;top:44px;left:var(--g);z-index:3;font-size:10px;color:#52604b}
.breath-word{position:absolute;left:3.2%;top:80px;z-index:1;font-size:clamp(150px,22vw,360px);font-weight:500;line-height:1;letter-spacing:-.08em;color:#374832;max-width:none;transform:translateY(calc(var(--depth-p)*-30px));user-select:none}
.breath-object{position:absolute;z-index:2;width:65%;height:auto;right:0;top:145px;transform:translateY(calc(var(--depth-p)*24px)) rotate(calc(var(--depth-p)*-1deg));transform-origin:55% 70%;pointer-events:none}
.breath-copy{position:absolute;z-index:3;left:var(--g);bottom:67px;width:27%;max-width:340px}
.breath-copy h2{font-size:clamp(26px,2.5vw,41px);line-height:1.15;letter-spacing:-.04em;text-wrap:initial}
.breath-copy p{font-size:14px;line-height:1.65;margin:20px 0 12px;max-width:29ch;color:#52604b}
.breath-copy .textlink{font-size:13px}
.breath-note{position:absolute;bottom:26px;right:var(--g);font-size:10px;line-height:1.5;color:#53604d;z-index:3;text-align:right}
.breath-line{position:absolute;left:var(--g);bottom:31px;width:38%;height:1px;background:#bac2ad;transform:scaleX(calc(.25 + var(--depth-p)*.75));transform-origin:left}
.ritual-stage{aspect-ratio:auto;overflow:visible}
.ritual-images{position:relative;aspect-ratio:1.04;overflow:hidden;background:#26352b}
.ritual-picture{transform:none;transition:opacity .6s ease}
.ritual-picture.active{transform:none}
.ritual-stage .caption{position:static;background:none;padding:16px 0 0;color:#b7c2b1;min-height:58px;font-size:11px;max-width:62ch}
.ritual-notes{counter-reset:ritual}
.ritual-note{counter-increment:ritual}
.ritual-note button:before{content:'0' counter(ritual);display:block;font-size:12px;letter-spacing:.1em;color:#b2c7a2;margin-bottom:17px}
.ritual-note button[aria-pressed="false"]{color:#c1cbbd}
.ritual-note button[aria-pressed="true"]{color:#fff}
.ritual-note button{transition:color .3s ease}
.ritual-tabs{display:none}
.work>a{display:block;overflow:hidden}
.work>a>img{transition:transform .85s var(--ease)}
.btn span[aria-hidden]{transition:transform .22s var(--ease)}
@media(hover:hover) and (pointer:fine){.work>a:hover img{transform:scale(1.025)}.btn:hover span[aria-hidden]{transform:translate(3px,-3px)}}
@media(min-width:761px){.hero-copy .eyebrow{font-size:10px}.hero-copy .lede{max-width:36ch}}
@media(min-width:1600px){.breath-object{top:180px}.breath-copy{bottom:110px}}
@media(max-width:1080px) and (min-width:761px){.hero-copy{padding-right:26px}.hero-copy h1{font-size:4.6vw}.breath-stage{height:650px}.breath-word{top:100px}.breath-object{top:150px;width:62%}.breath-copy{bottom:68px;width:29%}.breath-copy h2{font-size:26px}.breath-copy p{font-size:13px}}
@media(max-width:760px){
 .hero-copy h1{font-size:clamp(38px,9.5vw,66px);line-height:1.07}
 .hero-visual{margin-inline:var(--g);aspect-ratio:1.15}
 .hero-visual:after{left:14px;bottom:14px;font-size:9px}
 .hero{padding-bottom:26px}
 .included-strip{margin-bottom:28px}
 .breath-stage{height:auto;padding-bottom:72px}
 .breath-kicker{top:27px;max-width:25ch;font-size:9px;line-height:1.7}
 .breath-word{font-size:22.3vw;top:106px;left:4%;transform:translateY(calc(var(--depth-p)*-14px))}
 .breath-object{position:relative;width:110%;max-width:none;right:auto;left:-4%;top:auto;padding-top:132px;transform:translateY(calc(var(--depth-p)*14px))}
 .breath-copy{position:relative;left:auto;bottom:auto;margin:26px var(--g) 0;width:calc(100% - var(--g)*2);max-width:440px}
 .breath-copy h2{font-size:29px}
 .breath-copy p{max-width:36ch;font-size:13px;margin:16px 0 6px}
 .breath-copy .textlink{font-size:13px}
 .breath-note{left:var(--g);right:auto;bottom:20px;text-align:left;font-size:9px}
 .breath-line{display:none}
 .ritual-images{aspect-ratio:1.16}
 .ritual-stage .caption{padding-top:12px;min-height:53px;font-size:10px}
 .ritual-tabs{display:flex;gap:8px;margin-top:14px}
 .ritual-tabs button{flex:1;background:transparent;border:1px solid #61715a;color:#c1cbbd;min-height:44px;font-size:12px}
 .ritual-tabs button[aria-pressed="true"]{background:#e9eddf;color:#253e32;border-color:#e9eddf}
 .ritual-notes{gap:24px;padding:0 0 10px;scrollbar-color:#879a79 #334738;scrollbar-width:thin}
 .ritual-note{padding-top:22px;min-height:315px}
 .ritual-note button{font-size:31px}
 .ritual-note button:before{margin-bottom:12px}
}
@media(max-width:370px){.breath-copy h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.breath-word,.breath-object,.breath-line,.hero-photo,.ritual-picture{transform:none!important}.ritual-stage{position:relative;top:auto}.ritual-picture{transition:none!important}.ritual-note button{transition:none!important}}

/* V3: one photographic language, a shorter path to a personal proposal. */
.hero-visual:after{display:none}
.model-figure{aspect-ratio:1.5;display:block}
.model-figure img{object-position:center}
.model-desc{min-height:48px;max-width:48ch}
.catalog-note{font-size:12px;line-height:1.6;color:var(--muted);max-width:85ch;margin-top:30px}
.model .price-line .btn{gap:12px;padding-inline:18px}
.product-lead>figure img{aspect-ratio:1.5;object-fit:cover}
.product-lead>figure figcaption{margin-top:14px;max-width:60ch}
.personalize{background:#f5f3ec}
.personalize .split{grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,90px);align-items:center}
.personalize h2,.closing h2{margin-top:18px}
.personalize .lede{font-size:18px}
.personalize figure img{aspect-ratio:.95;object-fit:cover}
.personalize figcaption{margin-top:14px}
.possibilities{list-style:none;margin:24px 0;padding:0}
.possibilities li{padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}
.possibilities li:before{content:'+';color:#6c7e5b;margin-right:14px}
.personalize .muted{font-size:13px;max-width:50ch}
.personalize .textlink{margin-top:16px;font-size:14px}
.invitation .breath-stage{height:clamp(610px,48vw,820px)}
.invitation .breath-word{font-size:clamp(90px,13.4vw,220px);top:85px;left:4%;letter-spacing:-.065em;word-spacing:.12em;white-space:nowrap}
.invitation .breath-object{width:min(61%,1020px);top:105px;right:0}
.invitation .breath-copy{bottom:68px;width:32%;max-width:440px}
.invitation .breath-copy h2{font-size:clamp(26px,2.65vw,42px)}
.invitation .breath-copy p{max-width:33ch}
.invitation .btn{margin-top:10px}
.ritual-note{min-height:290px;padding-block:32px}
.ritual-note p{font-size:17px;max-width:34ch}
.ritual-images{max-height:calc(100svh - 170px)}
.process-row{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-bottom:24px}
.process-row li{align-content:start;border-bottom:0;border-top:1px solid var(--line);padding-top:24px}
.plan .eyebrow{margin-top:20px;font-size:11px;color:var(--green)}
.plan h3{margin:10px 0 14px}
.plan>p:not(.eyebrow){min-height:45px}
.plan .btn{margin-top:20px}
.construction .photo-rail{margin-top:28px}
.table-scroll{overflow:auto;margin-bottom:32px}
.comparison{width:100%;border-collapse:collapse;min-width:720px;text-align:left}
.comparison th,.comparison td{padding:25px 22px;border-bottom:1px solid var(--line);vertical-align:top;font-size:14px}
.comparison thead th{background:#eef0e9;font-weight:600}
.comparison tbody th{font-size:19px;font-weight:500;min-width:175px}
.comparison td:last-child{white-space:nowrap}
.dialog-body>.eyebrow{font-size:10px;margin-bottom:14px;color:var(--muted)}
.dialog-body h2{font-size:36px;line-height:1.15;letter-spacing:-.04em}
.dialog-body .selection-summary{font-size:14px;padding:17px 0;margin:24px 0}
.dialog-body .dialog-intro{font-size:15px;line-height:1.6}
.contact-fields{margin-top:18px}
.form-details{margin-top:6px;font-size:13px}
.form-details summary{cursor:pointer;padding:10px 0;color:var(--green);text-decoration:underline;text-underline-offset:5px}
.form-details .form-grid{margin-top:12px}
.form-status:empty{display:none}
.dialog-contact{font-size:13px;color:var(--muted);margin-top:22px}
.dialog-contact a{white-space:nowrap;color:var(--ink)}
#preview-note{margin-top:14px;font-size:10px}
.closing .eyebrow{margin:0}
@media(min-width:761px){
 .model-grid .model:nth-child(even){padding-top:0}
 .ritual-stage{top:100px}
 .ritual-note{min-height:max(640px,90svh);padding-block:100px}
}
@media(max-width:1080px) and (min-width:761px){.invitation .breath-stage{height:600px}.invitation .breath-object{top:165px;width:59%}.invitation .breath-copy{width:35%}.invitation .breath-copy h2{font-size:26px}.process-row{gap:18px}.process-row li{grid-template-columns:24px 1fr;gap:10px}}
@media(max-width:760px){
 .model-grid{gap:56px}.model-figure{aspect-ratio:1.5}.model-desc{min-height:0}
 .personalize .split{grid-template-columns:1fr}.personalize figure{order:-1}.personalize figure img{aspect-ratio:1.5}
 .personalize .lede{font-size:16px}.possibilities li{font-size:14px}.personalize .eyebrow{font-size:10px}
 .invitation .breath-stage{height:auto;padding-bottom:38px}
 .invitation .breath-word{font-size:12.9vw;top:96px;left:4%}
 .invitation .breath-object{width:108%;top:auto;left:-4%;right:auto;padding-top:90px}
 .invitation .breath-copy{position:relative;bottom:auto;width:auto;max-width:none;margin:24px var(--g) 0}
 .invitation .breath-copy h2{font-size:29px}.invitation .breath-copy p{max-width:38ch}
 .ritual-note{min-height:235px;padding-block:24px}.ritual-note p{font-size:15px}
 .ritual-tabs{margin-top:18px}.ritual-images{max-height:none}
 .process-row{grid-template-columns:1fr;gap:0}
 .product-controls{padding-top:0}.plan>p:not(.eyebrow){min-height:0}
 .dialog-body h2{font-size:28px}.dialog-body .dialog-intro{font-size:14px}.dialog-body .selection-summary{font-size:13px;margin:18px 0}
 .contact-fields{grid-template-columns:1fr;gap:14px}.consent{font-size:11px;line-height:1.55}
 .resume{gap:8px;font-size:10px}.resume button{font-size:10px;max-width:115px}
}

/* Touch controls and the delivery consultation have their own compact layout. */
.delivery-consultation{margin-top:50px;padding:36px;background:#eef0e9;border-radius:3px;max-width:920px}
.delivery-consultation h2{font-size:clamp(28px,4vw,42px)}
.delivery-consultation .lede{font-size:18px;max-width:58ch;margin:20px 0}
.region-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px}
.region-grid article{border-top:1px solid var(--line);padding-top:24px}
.region-grid h2{font-size:30px}.region-grid p{margin-top:18px;color:var(--muted);max-width:50ch}
.resume.is-consultation{max-width:650px;gap:18px}
.resume.is-consultation [data-resume-inquiry]{background:var(--green);color:white;border-radius:3px;padding:12px 18px;font-size:13px;line-height:1.35;max-width:280px}
.resume [data-dismiss-resume]{min-width:44px;flex-shrink:0}
.menu-button{min-width:44px}
@media(max-width:760px){
 body{padding-bottom:110px}
 .btn,.price-line .btn,.model .price-line .btn{font-size:14px;min-height:52px;line-height:1.4;white-space:normal}
 .price-line{flex-direction:column;align-items:stretch}
 .price-line .btn{width:100%;justify-content:center;gap:18px}
 .hero-copy .actions{width:100%}.hero-copy .actions .btn{flex:1}
 .form-grid input,.form-grid select,.form-grid textarea{font-size:16px;min-height:50px}
 .form-submit{width:100%}
 .model-foot .textlink,.filters a,.footer-links a,.textlink,.mobile-menu a{min-height:44px;display:inline-flex;align-items:center;line-height:1.4}
 .site-header .phone{min-height:44px;display:flex;align-items:center;font-size:11px;white-space:nowrap}
 .menu-button{padding:0 4px;font-size:13px}
 .filters a{padding:10px 14px}
 .ritual-tabs button{min-width:44px;min-height:48px;font-size:14px}
 .form-details summary,.disclosure summary{min-height:44px;align-content:center}
 .dialog-body{padding-top:58px}.dialog-body h2{font-size:28px}
 .resume{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,1fr) 44px;gap:8px;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));padding:10px;font-size:11px;max-width:none}
 .resume button{font-size:12px;max-width:none;min-height:48px;line-height:1.35;padding:6px}
 .resume strong{font-size:12px;line-height:1.4}.resume small{font-size:10px}
 .resume.is-consultation{grid-template-columns:minmax(0,1fr) 44px;max-width:none;gap:8px}
 .resume.is-consultation>div{grid-column:1}.resume.is-consultation>div strong{display:none}
 .resume.is-consultation [data-resume-inquiry]{grid-column:1;grid-row:2;max-width:none;width:100%;font-size:14px;min-height:48px}
 .resume.is-consultation [data-dismiss-resume]{grid-column:2;grid-row:1 / span 2;align-self:center}
 .region-grid{grid-template-columns:1fr;gap:32px}.region-grid h2{font-size:27px}
 .delivery-consultation{padding:24px;margin-top:32px}.delivery-consultation .lede{font-size:16px}
 .delivery-consultation .actions{align-items:stretch;flex-direction:column}.delivery-consultation .btn{width:100%}
}
@media(max-width:360px){.site-header{gap:8px}.site-header .wordmark{font-size:20px;gap:6px}.site-header .mark{width:18px}.site-header .phone{font-size:10.5px}}
@media(max-width:760px){.spec-list a{min-height:44px;display:inline-flex;align-items:center}.ritual-note button{min-height:44px}}
@media(max-width:760px){.resume [data-resume-inquiry]{font-size:14px}.footer-links a{font-size:14px}}
.desktop-nav a{display:inline-flex;align-items:center;min-height:44px}
dialog{overscroll-behavior:contain;max-height:calc(100dvh - 24px)}
@media(max-width:760px){.spec-list li{grid-template-columns:1fr;gap:10px;padding-block:22px}.spec-list strong{font-size:16px}.spec-list p{font-size:15px;line-height:1.65}}

/* A restrained warm edge appears only on the contextual floating action. */
.resume[hidden]{display:none!important}
.resume [data-resume-inquiry],.resume.is-consultation [data-resume-inquiry]{
 border:1px solid transparent;border-radius:3px;background:linear-gradient(#253e32,#253e32) padding-box,linear-gradient(110deg,#64806a 30%,#e7d3a5 47%,#f5e9c9 50%,#64806a 66%) border-box;
 background-size:100% 100%,300% 100%;background-position:0 0,170% 50%;color:#fff;padding:12px 18px;line-height:1.35;
 box-shadow:0 0 9px #c6b17d14;animation:resume-edge-glint 10s ease-in-out infinite;
}
@keyframes resume-edge-glint{0%,70%{background-position:0 0,170% 50%}95%,100%{background-position:0 0,-70% 50%}}
@media(prefers-reduced-motion:reduce){.resume [data-resume-inquiry],.resume.is-consultation [data-resume-inquiry]{animation:none;background:#253e32;border-color:#64806a;box-shadow:none}}
.site-header .phone{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:760px){.dialog-body h2{font-size:clamp(24px,7.2vw,28px);text-wrap:wrap}}
@media(max-width:760px){
 #inquiry-dialog[open]{position:fixed;inset:auto 0 auto;top:calc(var(--inquiry-visible-top,0px) + 8px);margin:0 auto;max-height:calc(var(--inquiry-visible-height,100dvh) - 16px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-behavior:auto;scroll-padding-block:16px}
 #inquiry-dialog .dialog-body{padding-bottom:max(28px,env(safe-area-inset-bottom))}
}
