/* ========================================================================
   FAMILY — CLEAN STYLESHEET
   Собрано из актуального family-main-theme(4).css.
   Повторные top-level селекторы объединены.
   Все responsive-правила собраны внизу файла.
   ======================================================================== */

@font-face{font-family:"Golos Text"; font-style:normal; font-weight:400 700; font-display:optional; src:url("golos.woff2") format("woff2");}

*,*::before,*::after{box-sizing:border-box; margin:0; padding:0;}
body.lock{overflow:hidden;}
a{color:inherit; text-decoration:none;}
img{display:block; max-width:100%; height:auto;}
.site-header::before{content:""; position:absolute; inset:0; z-index:-1; -webkit-backdrop-filter:saturate(140%) blur(10px); backdrop-filter:saturate(140%) blur(10px);}
.header-inner{display:flex; align-items:center; justify-content:space-between; gap:24px; height:74px;}
.logo-text{font-weight:800; font-size:17px; letter-spacing:.03em; color:var(--ink); text-transform:uppercase; line-height:1; white-space:nowrap;}
.nav a{position:relative; padding:6px 0; transition:color .2s;}
.nav a:hover{color:var(--ink);}
.nav a:hover::after{width:100%;}
.hicon:hover{background:var(--soft);}
.btn:active{transform:translateY(1px);}
.btn-primary{padding:17px 32px; background:var(--green); color:#fff; font-size:17px; box-shadow:0 14px 30px -12px rgba(51,80,63,.6);}
.btn-primary:hover{background:var(--green-d); box-shadow:0 18px 36px -12px rgba(51,80,63,.7);}
.burger span,.burger span::before,.burger span::after{content:""; display:block; width:20px; height:2px; background:var(--ink); position:relative;}
.burger span::before{position:absolute; top:-6px;}
.burger span::after{position:absolute; top:6px;}
.menu-overlay{position:fixed; inset:0; z-index:100; background:var(--bg); display:flex; flex-direction:column; padding:84px 22px 28px; opacity:0; visibility:hidden; transition:opacity .25s,visibility .25s; overflow-y:auto;}
.menu-overlay.open{opacity:1; visibility:visible;}
.menu-close{position:fixed; top:18px; right:18px; z-index:110; width:46px; height:46px; border-radius:12px; border:1px solid var(--line); background:var(--surface); color:var(--ink); font-size:20px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center;}
.menu-links{display:flex; flex-direction:column;}
.m-link{font-size:21px; font-weight:600; color:var(--ink); text-decoration:none; padding:15px 2px; border-bottom:1px solid var(--line);}
.menu-foot{margin-top:auto; padding:26px 0 30px;}
.menu-phone{display:block; font-size:22px; font-weight:800; color:var(--ink); text-decoration:none;}
.menu-msgs{display:flex; gap:20px; margin:10px 0 18px;}
.menu-msgs a{font-size:15px; font-weight:600; color:var(--green-d); text-decoration:none;}
.menu-cta{width:100%;}
section[id],#quiz{scroll-margin-top:86px;}
.eyebrow{display:inline-flex; align-items:center; gap:10px; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); font-weight:700; margin-bottom:20px;}
h1{font-size:clamp(30px,4vw,46px); line-height:1.12; letter-spacing:-.02em; font-weight:700; margin-bottom:18px;}
h1 .accent{color:var(--gold);}
.lead{font-size:clamp(16px,1.35vw,18.5px); color:var(--muted); max-width:30em;}
.price{display:inline-flex; align-items:center; gap:11px; background:var(--surface); border:1px solid var(--line); color:var(--ink); padding:13px 20px; border-radius:13px; font-size:16px; font-weight:500; margin-top:24px;}
.price .pico{color:var(--green); display:flex;}
.price .pico svg{width:20px; height:20px;}
.price b{color:var(--green); font-weight:700;}
.features{display:grid; grid-template-columns:1fr 1fr; gap:22px 28px; margin-bottom:30px;}
.feature{display:flex; gap:13px; align-items:flex-start;}
.feature .ico{flex:0 0 auto; color:var(--green); margin-top:1px;}
.feature .ico svg{width:24px; height:24px;}
.feature p{font-size:14.5px; color:var(--ink); line-height:1.46;}
.feature p b{color:var(--ink); font-weight:600;}
.cta-note{display:block; margin-top:12px; font-size:13.5px; color:var(--muted);}
.carousel{position:relative;}
.track{display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; border-radius:var(--radius); box-shadow:var(--shadow); scrollbar-width:none; -ms-overflow-style:none; aspect-ratio:1200/900; background:#ded7c8;}
.track::-webkit-scrollbar{display:none;}
.slide{flex:0 0 100%; width:100%; height:100%; object-fit:cover; scroll-snap-align:center;}
.slide.is-plan{object-fit:contain; background:#fbfaf6; cursor:zoom-in;}
.carousel.fit .slide.is-plan{background:#fbfaf6; overflow:visible;}
.carousel.fit .slide{position:relative; overflow:hidden;}
.carousel.fit .slide>img{position:absolute; inset:0; width:100%; height:100%;}
.carousel.fit .slide .sfill{object-fit:cover; filter:blur(30px) brightness(.7) saturate(1.08); transform:scale(1.2);}
.carousel.fit .slide .sfit{object-fit:contain;}
.cbtn{position:absolute; z-index:3; top:50%; transform:translateY(-50%); width:46px; height:46px; border-radius:50%; border:0; background:rgba(255,255,255,.92); color:var(--ink); font-size:24px; line-height:1; display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:var(--shadow-sm); transition:background .2s,transform .15s;}
.cbtn:hover{background:#fff;}
.cbtn:active{transform:translateY(-50%) scale(.94);}
.cbtn.prev{left:16px;}
.cbtn.next{right:16px;}
.dot{width:8px; height:8px; border-radius:50%; border:0; padding:0; background:rgba(255,255,255,.55); cursor:pointer; transition:width .25s,background .2s;}
.dot.active{width:24px; border-radius:5px; background:#fff;}
.eyebrow-tag{display:inline-flex; align-items:center; border:1.5px solid var(--ink); color:var(--ink); font-weight:700; font-size:12px; letter-spacing:.14em; text-transform:uppercase; padding:9px 17px; border-radius:100px; margin-bottom:22px;}
.section h2{font-size:clamp(25px,3vw,36px); font-weight:700; line-height:1.16; letter-spacing:-.01em; margin-bottom:30px; max-width:13em;}
.section h2 .accent{color:var(--green);}
.plan-grid{display:grid; grid-template-columns:1fr 1fr; column-gap:48px; row-gap:28px; align-items:start; grid-template-areas:"txt plan" "cards plan";}
.plan-grid.rev{grid-template-areas:"plan txt" "plan cards";}
.pg-txt{grid-area:txt;}
.pg-plan{grid-area:plan; align-self:center;}
.pg-cards{grid-area:cards;}
.cards{display:flex; flex-direction:column; gap:15px;}
.pcard p{font-size:14.5px; line-height:1.45; color:var(--ink); margin:0;}
.pcard p b{font-weight:600;}
.pcard .dchk{flex:0 0 auto; color:var(--green); display:flex;}
.pcard .dchk svg{width:26px; height:26px;}
.plan-card{background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:20px; box-shadow:var(--shadow-sm);}
.plan-card img{width:100%; height:auto; border-radius:8px; cursor:zoom-in;}
.plan-hint{display:block; text-align:center; margin-top:12px; font-size:12.5px; color:var(--muted);}
.overlay.imgzoom{z-index:70; padding:24px;}
.overlay.imgzoom img{max-width:94vw; max-height:90vh; border-radius:10px; background:#fff; box-shadow:0 30px 80px -20px rgba(0,0,0,.5);}
.gifts-top{display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; margin-bottom:36px;}
.gifts-top h2{font-size:clamp(26px,3.2vw,40px); font-weight:700; line-height:1.14; letter-spacing:-.01em; margin-bottom:20px;}
.gifts-top p.lead{font-size:16px; color:var(--muted); line-height:1.55; max-width:560px; margin-bottom:26px;}
.gifts-photo img{width:100%; aspect-ratio:16/11; object-fit:cover; border-radius:18px; box-shadow:var(--shadow);}
.gifts-head{display:flex; align-items:center; gap:18px; margin-bottom:20px;}
.gifts-head h3{font-size:clamp(19px,2.2vw,26px); font-weight:700; text-transform:uppercase; letter-spacing:.02em;}
.gcaro{display:flex; gap:10px; margin-left:auto;}
.garrow{width:46px; height:46px; border-radius:50%; border:1px solid var(--line); background:var(--surface); color:var(--ink); font-size:19px; line-height:1; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s;}
.garrow:hover{background:var(--soft);}
.gtrack{display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; padding-bottom:4px; margin:0 -4px;}
.gtrack::-webkit-scrollbar{display:none;}
#gtrack .gcard{flex:0 0 330px;}
#gtrack .gcard img{aspect-ratio:4/3;}
#gtrack .gc-body{padding:11px 16px 13px;}
#gtrack .gc-body p{font-size:13px; line-height:1.35; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden;}
.gcard .gc-imgwrap{position:relative;}
.gcard h4{font-size:18px; font-weight:700; margin-bottom:6px;}
.gcard .gc-body p{font-size:13.5px; color:var(--muted); line-height:1.38;}
.gifts-cta-top{margin-top:26px;}
.gifts-cta{margin-top:30px; display:none;}
.quiz-intro{max-width:780px; margin-bottom:26px;}
.quiz-intro h2 .accent{color:var(--green);}
.quiz-intro .lead{font-size:16px; color:var(--muted); line-height:1.55;}
.quiz-progress{height:5px; background:var(--soft);}
.quiz-body{padding:34px 36px 26px;}
.qstep{display:none;}
.qstep.is-active{display:block; animation:qfade .35s ease;}
.qq{font-size:clamp(19px,2.2vw,24px); font-weight:700; line-height:1.25; margin-bottom:22px; padding-right:40px;}
.qcard:hover{border-color:var(--green);}
.qcard .qtick{position:absolute; top:10px; right:10px; width:28px; height:28px; border-radius:50%; background:var(--green); color:#fff; display:none; align-items:center; justify-content:center; font-size:15px;}
.qcard.sel .qtick{display:flex;}
.qopts{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.qopt{display:flex; align-items:center; gap:13px; text-align:left; background:var(--bg); border:1.5px solid var(--line); border-radius:14px; padding:18px 20px; cursor:pointer; font-family:inherit; font-size:16px; font-weight:500; color:var(--ink); transition:border-color .15s,background .15s;}
.qopt::before{content:""; flex:0 0 22px; width:22px; height:22px; border-radius:50%; border:2px solid var(--line); transition:.15s;}
.qopt:hover{border-color:var(--green);}
.qopt.sel::before{border-color:var(--green); background:var(--green); box-shadow:inset 0 0 0 4px var(--surface);}
.qform{display:grid; gap:14px; max-width:560px;}
.qform input[type=text],.qform input[type=tel]{width:100%; padding:15px 16px; border:1px solid var(--line); border-radius:12px; font:inherit; font-size:16px; background:var(--bg);}
.qform input[type=text]:focus,.qform input[type=tel]:focus{outline:none; border-color:var(--green);}
.q-way-label{display:block; font-size:14px; color:var(--muted); margin:4px 0 10px;}
.q-way-opts{display:flex; flex-wrap:wrap; gap:10px;}
.q-way-opts label{display:inline-flex; align-items:center; gap:8px; border:1.5px solid var(--line); border-radius:10px; padding:10px 16px; cursor:pointer; font-size:14.5px; transition:.15s;}
.q-way-opts input{accent-color:var(--green);}
.q-way-opts label:has(input:checked){border-color:var(--green); background:var(--soft);}
.q-consent{display:flex; gap:10px; font-size:13px; color:var(--muted); line-height:1.4; cursor:pointer; margin-top:2px;}
.q-reassure{display:flex; align-items:flex-start; gap:8px; margin-top:14px; font-size:12.5px; line-height:1.45; color:var(--muted);}
.q-reassure svg{width:16px; height:16px; color:var(--green); flex:0 0 auto; margin-top:1px;}
.q-consent input{margin-top:2px; width:17px; height:17px; accent-color:var(--green); flex:0 0 auto;}
.q-consent a{color:var(--green);}
.q-hp{position:absolute; left:-9999px; width:1px; height:1px; opacity:0;}
.qerr{display:none; color:#c0392b; font-size:14px; margin-top:6px;}
.qerr.show{display:block;}
.qdone{text-align:center; padding:24px 0;}
.qdone .qd-ic{width:62px; height:62px; border-radius:50%; background:var(--green); color:#fff; display:flex; align-items:center; justify-content:center; font-size:30px; margin:0 auto 16px;}
.qdone h3{font-size:22px; font-weight:700; margin-bottom:8px;}
.qdone p{color:var(--muted); max-width:440px; margin:0 auto;}
.quiz-hint{display:none; font-size:13px; color:#c0392b; align-self:center; margin-right:auto; padding-left:4px;}
.quiz-hint.show{display:inline;}
#warmCardImg{transition:opacity .2s ease;}
.quiz-nav{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 36px 28px; flex-wrap:wrap;}
.quiz-count{font-size:13px; color:var(--muted);}
.quiz-btns{display:flex; gap:12px;}
.qnav-back:hover{background:var(--main-beige); border-color:var(--main-beige); color:#fff;}
.qnav-next{height:48px; padding:0 26px;}
.life-intro{margin-bottom:38px;}
.life-intro h2{font-size:clamp(25px,3vw,36px); font-weight:700; line-height:1.15; letter-spacing:-.01em; max-width:16em;}
.life-intro h2 .accent{color:var(--green);}
.rooms{display:flex; flex-direction:column; gap:56px;}
.room{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;}
.room-img{order:1;}
.room-txt{order:2;}
.room.rev .room-txt{order:1;}
.room.rev .room-img{order:2;}
.room-img>img{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:18px; box-shadow:var(--shadow-sm); display:block;}
.rslider{position:relative; border-radius:18px; overflow:hidden; box-shadow:var(--shadow-sm);}
.rtrack{display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none;}
.rtrack::-webkit-scrollbar{display:none;}
.rtrack img{flex:0 0 100%; scroll-snap-align:center; width:100%; aspect-ratio:4/3; object-fit:cover; display:block;}
.rnav{position:absolute; top:50%; transform:translateY(-50%); width:40px; height:40px; border-radius:50%; border:0; background:rgba(255,255,255,.92); box-shadow:0 2px 10px rgba(0,0,0,.18); cursor:pointer; display:flex; align-items:center; justify-content:center; color:var(--ink); z-index:2;}
.rnav svg{width:18px; height:18px;}
.rnav:hover{background:#fff;}
.rprev{left:12px;}
.rnext{right:12px;}
.rdots{position:absolute; left:0; right:0; bottom:12px; display:flex; gap:6px; justify-content:center; z-index:2; pointer-events:none;}
.rdot{width:7px; height:7px; border-radius:50%; border:0; padding:0; background:rgba(255,255,255,.55); cursor:pointer; pointer-events:auto; transition:width .25s,background .2s;}
.rdot.active{width:20px; border-radius:4px; background:#fff;}
.room-txt h3{font-size:clamp(20px,2.3vw,26px); font-weight:700; line-height:1.22; margin-bottom:16px;}
.room-txt p{font-size:15.5px; color:var(--muted); line-height:1.6; margin-bottom:13px;}
.room-txt p:last-child{margin-bottom:0;}
.archx{display:grid; grid-template-columns:1.25fr .82fr; column-gap:48px; align-items:stretch; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 1px 2px rgba(32,33,29,.05); padding:44px;}
.archx-info{min-width:0; display:flex; flex-direction:column; justify-content:center;}
.archx-title{font-size:clamp(26px,3vw,36px); font-weight:700; line-height:1.16; letter-spacing:-.01em; margin:0 0 22px;}
.archx-title .accent{color:var(--green);}
.archx-sub{font-size:15.5px; font-weight:600; color:var(--ink); margin:0 0 16px;}
.archx-list{list-style:none; margin:0 0 26px; padding:0; display:flex; flex-direction:column; gap:14px;}
.archx-list li{position:relative; padding-left:34px; font-size:15.5px; color:var(--muted); line-height:1.5;}
.archx-list li svg{position:absolute; left:0; top:1px; width:22px; height:22px; color:var(--green); flex:none;}
.archx-list b{color:var(--ink); font-weight:600;}
.archx-info .btn-primary{align-self:flex-start;}
.archx-photo{min-width:0; position:relative; background:linear-gradient(180deg,#EFEFE9 0%,#E2EAE3 100%); border-radius:16px; overflow:hidden; display:flex; align-items:flex-end; justify-content:center; min-height:430px;}
.archx-photo img{width:100%; height:100%; object-fit:contain; object-position:bottom center; display:block;}
.archx-badge{position:absolute; left:16px; bottom:16px; background:var(--ink); color:#fff; border-radius:12px; padding:9px 15px; box-shadow:0 4px 14px rgba(0,0,0,.18);}
.archx-badge b{display:block; font-size:14.5px; font-weight:600; line-height:1.2;}
.archx-badge span{display:block; font-size:12px; color:rgba(255,255,255,.72); margin-top:2px;}
.opt-head{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:24px;}
.opt-head h2{font-size:clamp(24px,2.9vw,34px); font-weight:700; line-height:1.18; letter-spacing:-.01em;}
.opt-arrows{display:flex; gap:10px; flex:0 0 auto;}
.opt-track{display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; padding-bottom:4px;}
.opt-track::-webkit-scrollbar{display:none;}
.opt-card img{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:16px; box-shadow:var(--shadow-sm); display:block;}
.section h2.cat-h2{font-size:clamp(24px,2.9vw,34px); font-weight:700; line-height:1.18; letter-spacing:-.01em; margin-bottom:14px; max-width:none;}
.cat-h2 .accent{color:var(--green);}
.gcard-cat{display:flex; flex-direction:column;}
.gcard-cat .gc-body{display:flex; flex-direction:column; gap:10px;}
.gc-cat-sub{font-size:14px; color:var(--muted); line-height:1.45; margin:0;}
.btn.btn-sm{padding:11px 18px; font-size:14.5px; align-self:flex-start;}
.cat-h2 .nowrap{white-space:nowrap;}
.cat-sub{display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:22px;}
.cat-lead{font-size:16px; color:var(--ink); line-height:1.55; margin:0; max-width:680px;}
.cat-lead b{color:var(--green-d); font-weight:700;}
.cat-cta{margin-top:26px;}
.section h2.block-h2{font-size:clamp(24px,2.9vw,34px); font-weight:700; line-height:1.18; letter-spacing:-.01em; margin-bottom:26px; max-width:none;}
.block-h2 .accent{color:var(--green);}
.block-sub{font-size:17px; font-weight:600; color:var(--ink); line-height:1.4; margin:-12px 0 24px; max-width:none;}
.rm-chips{display:flex; flex-wrap:wrap; gap:10px; margin:20px 0 24px;}
.rm-chip svg{width:16px; height:16px; flex:0 0 auto;}
.arch-bonus b{color:var(--green-d); font-weight:700;}
.site-remote svg{width:21px; height:21px; flex:0 0 auto; color:var(--green-d); margin-top:1px;}
.site-remote b{font-weight:700;}
.feat.rev .feat-media{order:-1;}
.feat-text h2{font-size:clamp(24px,2.9vw,34px); font-weight:700; line-height:1.18; letter-spacing:-.01em; margin-bottom:16px;}
.feat-text h2 .accent{color:var(--green);}
.life .feat-text h2,.culture .feat-text h2{font-size:clamp(20px,2.2vw,27px); margin-bottom:14px;}
.feat-text p{font-size:15.5px; color:var(--muted); line-height:1.6; margin-bottom:18px; max-width:560px;}
.feat-text p b{color:var(--ink); font-weight:600;}
.feat.arch{align-items:stretch; grid-template-columns:.82fr 1.18fr;}
.feat-text .feat-lead{font-size:16px; color:var(--ink); line-height:1.55; margin-bottom:22px; max-width:520px;}
.feat-text .feat-lead b{color:var(--green); font-weight:700;}
.feat.media-fill{align-items:stretch;}
.feat.media-fill .feat-media{display:flex;}
.feat.media-fill .feat-media>img{height:100%; aspect-ratio:auto; min-height:360px; object-fit:cover;}
.poro{display:grid; grid-template-columns:minmax(0,320px) 1fr; gap:34px; align-items:center;}
.poro-sub{font-size:15px; color:var(--muted); margin:-8px 0 24px; line-height:1.5;}
.poro-sub b{color:var(--green-d); font-weight:700;}
.poro-vid{position:relative; min-width:0; border-radius:18px; overflow:hidden; box-shadow:var(--shadow-sm); cursor:pointer;}
.poro-ov{position:absolute; inset:0; display:flex; flex-direction:column; padding:26px 28px; color:#fff; background:linear-gradient(100deg,rgba(22,32,26,.86) 0%,rgba(22,32,26,.62) 40%,rgba(22,32,26,.12) 72%);}
.poro-tag{align-self:flex-start; border:1.5px solid rgba(255,255,255,.65); color:#fff; font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; padding:6px 14px; border-radius:100px;}
.poro-name{font-size:clamp(26px,3.1vw,40px); font-weight:800; line-height:1.02; margin-top:auto;}
.poro-role{font-size:13.5px; line-height:1.4; opacity:.9; margin-top:10px; max-width:230px;}
.poro-pull{margin-top:16px; padding-top:15px; border-top:1px solid rgba(255,255,255,.28); font-size:clamp(15px,1.5vw,18px); font-weight:800; text-transform:uppercase; letter-spacing:.01em; line-height:1.12; display:flex; gap:8px;}
.poro-pull .qm{color:#9ec6ad; font-size:24px; line-height:1; flex:0 0 auto;}
.poro-play{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:74px; height:74px; border-radius:50%; background:rgba(255,255,255,.94); display:flex; align-items:center; justify-content:center; box-shadow:0 6px 20px rgba(0,0,0,.3); z-index:3;}
.poro-play svg{width:27px; height:27px; color:var(--green); margin-left:3px;}
.poro-body{display:flex;}
.poro-intro{font-size:15.5px; color:var(--ink); line-height:1.6; margin:0;}
.poro-card{position:relative; flex:1; display:flex; flex-direction:column; justify-content:center; background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:26px 28px; box-shadow:var(--shadow-sm);}
.poro-card .qmark{color:var(--green); opacity:.5; font-size:40px; line-height:.7; font-weight:800; display:block; margin-bottom:4px; font-family:Georgia,serif;}
.poro-q-full{font-style:italic; font-size:14.5px; color:var(--muted); line-height:1.62; margin:0; display:block;}
.poro-q-verdict{font-style:italic; font-size:15px; color:var(--ink); font-weight:700; line-height:1.55; margin:10px 0 0;}
.poro-more{display:none; align-items:center; gap:6px; margin-top:14px; background:none; border:0; padding:0; color:var(--green-d); font-weight:700; font-size:14px; cursor:pointer; font-family:inherit;}
.poro-more svg{width:15px; height:15px; transition:transform .2s;}
.poro-card.poro-open .poro-more svg{transform:rotate(180deg);}
.poro-sign{display:flex; align-items:center; gap:12px; margin-top:18px; padding-top:18px; border-top:1px solid var(--line);}
.poro-sign-ic{width:40px; height:40px; border-radius:50%; background:var(--soft); color:var(--green-d); display:flex; align-items:center; justify-content:center; flex:0 0 auto; font-weight:800; font-size:15px;}
.poro-sign-tx b{display:block; font-size:14.5px; color:var(--ink); font-weight:700; font-style:normal; line-height:1.25;}
.poro-sign-tx span{display:block; font-size:12.5px; color:var(--muted); font-style:normal; line-height:1.3;}
.feat.site-feat{align-items:stretch;}
.feat.site-feat .feat-media{position:relative; border-radius:18px; overflow:hidden; box-shadow:var(--shadow-sm); min-height:280px;}
.feat.site-feat .feat-media>img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; aspect-ratio:auto; min-height:0; border-radius:0; box-shadow:none;}
.feat-media>img.smeta-flat{border-radius:0; box-shadow:none; background:transparent; object-fit:contain;}
.av-pair{display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start;}
.av-cell{margin:0;}
.av-cell>img{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:18px; box-shadow:var(--shadow-sm); display:block;}
.av-cell .video-fac>img{aspect-ratio:4/3;}
.poro .poro-vid>img{width:100%; height:auto; min-height:0; aspect-ratio:1/1; object-fit:cover; display:block;}
.poro .poro-vid .poro-ov,.poro .poro-vid .poro-play{display:none;}
.feat-media .video-fac>img{width:100%; aspect-ratio:16/9; object-fit:cover;}
.feat-media .video-fac .play{display:none;}
.feat-media .video-fac.show-play .play{display:flex;}
.vf-load{position:relative; width:100%; background:#0f1210; border-radius:18px; overflow:hidden; box-shadow:var(--shadow-sm);}
.vf-load iframe{position:absolute; inset:0; width:100%; height:100%; border:0; display:block; opacity:0; transition:opacity .35s ease;}
.vf-load.done iframe{opacity:1;}
.vf-load .vf-sp{position:absolute; top:50%; left:50%; width:46px; height:46px; margin:-23px 0 0 -23px; border-radius:50%; border:3px solid rgba(255,255,255,.22); border-top-color:#fff; animation:vfsp .8s linear infinite; z-index:2;}
.vf-load.done .vf-sp{opacity:0; visibility:hidden; transition:opacity .3s,visibility .3s;}
.av-cell figcaption{margin-top:11px; font-size:14px; color:var(--muted); text-align:center; line-height:1.4;}
.price3-h{font-size:clamp(25px,3vw,36px); font-weight:700; line-height:1.15; letter-spacing:-.01em; margin-bottom:12px; max-width:18em;}
.price3-lead{font-size:16px; color:var(--muted); line-height:1.55; margin-bottom:32px; max-width:42em;}
.price3-sub{font-size:15.5px; font-weight:600; color:var(--ink); margin-bottom:16px;}
.video-fac{position:relative; display:block; width:100%; border:0; padding:0; margin:0; cursor:pointer; border-radius:18px; overflow:hidden; box-shadow:var(--shadow-sm); background:none;}
.video-fac>img{width:100%; aspect-ratio:16/9; object-fit:cover; display:block;}
.video-fac::after{display:none;}
.video-fac .play{position:absolute; inset:0; margin:auto; width:72px; height:72px; border-radius:50%; background:rgba(255,255,255,.94); display:flex; align-items:center; justify-content:center; box-shadow:0 6px 20px rgba(0,0,0,.28); z-index:2;}
.video-fac .play svg{width:26px; height:26px; color:var(--green); margin-left:3px;}
.video-fac.has-cover-play .play{display:none;}
.video-fac.has-cover-play::after{display:none;}
.tour-gallery{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:30px;}
.tour-gallery img{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:14px; box-shadow:var(--shadow-sm); display:block;}
.sec-head h2{font-size:clamp(25px,3vw,36px); font-weight:700; line-height:1.15; letter-spacing:-.01em; margin-bottom:14px; max-width:18em;}
.sec-head p{font-size:16px; color:var(--muted); line-height:1.55; max-width:48em;}
.sec-head h2 .accent{color:var(--green);}
.cta-center{margin-top:32px;}
.gallery{display:grid; gap:16px;}
.gallery.g4{grid-template-columns:repeat(4,1fr);}
.gallery.g3{grid-template-columns:repeat(3,1fr);}
.gallery.g6{grid-template-columns:repeat(3,1fr);}
.gallery img{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:16px; box-shadow:var(--shadow-sm); display:block;}
.gallery.portrait img{aspect-ratio:3/4;}
.ctaband h2 .accent{color:var(--green);}
.btn-row{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
.prj-card{background:var(--surface); border:1px solid var(--line); border-radius:18px; overflow:hidden; box-shadow:var(--shadow-sm); display:flex; flex-direction:column;}
.prj-card>img{width:100%; aspect-ratio:4/3; object-fit:cover; display:block;}
.prj-body{padding:20px; display:flex; flex-direction:column; gap:12px; flex:1;}
.prj-name{font-size:20px; font-weight:700;}
.prj-price{font-size:16px; color:var(--green); font-weight:700;}
.prj-specs{display:flex; flex-wrap:wrap; gap:8px 16px; font-size:13.5px; color:var(--muted); margin-top:auto; padding-top:4px;}
.prj-card .btn{margin-top:8px;}
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.step{background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:22px; display:flex; gap:14px; align-items:flex-start;}
.step .num{flex:0 0 auto; width:34px; height:34px; border-radius:50%; background:var(--green); color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center; font-size:15px;}
.step b{font-size:15.5px; color:var(--ink); font-weight:600; line-height:1.35;}
.team-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.team-card span{display:block; font-size:13px; color:var(--muted); margin-top:3px;}
.testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.testi{background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:24px; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; gap:12px;}
.testi-q{font-size:16px; line-height:1.45; color:var(--ink); font-weight:600;}
.testi-t{font-size:14.5px; color:var(--muted); line-height:1.55;}
.testi-a{font-size:13px; color:var(--muted); margin-top:auto; border-top:1px solid var(--line); padding-top:12px;}
.stat{text-align:center; padding:6px 0 26px;}
.stat .cap{font-size:17px; color:var(--ink); font-weight:600; margin-top:10px;}
.site-footer a{color:rgba(255,255,255,.8); text-decoration:none;}
.site-footer a:hover{color:#fff;}
.footer-col p,.footer-col a{display:block; font-size:14px; line-height:1.7; margin-bottom:5px;}
.footer-intro{font-size:14px; line-height:1.6; max-width:30em;}
.prj-grid{display:grid; gap:22px; grid-template-columns:repeat(4,1fr);}
.prj-cta{background:var(--green); color:#fff; border-radius:18px; padding:26px 22px; display:flex; flex-direction:column; justify-content:center; text-align:center; box-shadow:var(--shadow-sm); gap:14px;}
.prj-cta b{font-size:19px; font-weight:700; line-height:1.25;}
.prj-cta p{font-size:14px; color:rgba(255,255,255,.85); line-height:1.45;}
.prj-cta .btn{background:#1E1E1E; color:#fff; border:2px solid #1E1E1E;}
.prj-cta .btn:hover{background:var(--main-beige); border-color:var(--main-beige); color:#fff;}
.testi-author{display:inline-flex; align-items:center; gap:8px; background:var(--soft); color:var(--green-d); font-size:13.5px; font-weight:600; padding:8px 14px; border-radius:999px; margin-top:8px; justify-self:start; width:fit-content;}
.testi-author svg{width:16px; height:16px; flex:0 0 auto;}
.gallery.wide{grid-template-columns:repeat(3,1fr);}
.gallery.wide img{aspect-ratio:16/10; background:#fff; border-radius:18px; box-shadow:0 10px 26px rgba(60,52,42,.09); transition:transform .3s ease,
    box-shadow .3s ease,
    border-color .3s ease;}
.gallery.wide img:hover{transform:translateY(-3px); box-shadow:0 14px 34px rgba(60,52,42,.12);}
.timeline{display:flex; flex-direction:column; gap:0; margin-bottom:24px;}
.tl-item{position:relative; padding:0 0 26px 46px;}
.tl-item:last-child{padding-bottom:0;}
.tl-item::before{content:""; position:absolute; left:15px; top:30px; bottom:-4px; width:2px; background:var(--line);}
.tl-item:last-child::before{display:none;}
.tl-num{position:absolute; left:0; top:0; width:32px; height:32px; border-radius:50%; background:var(--green); color:#fff; font-weight:700; font-size:14px; display:flex; align-items:center; justify-content:center;}
.tl-item b{display:block; font-size:16px; font-weight:600; color:var(--ink); line-height:1.35; padding-top:4px;}
.pay-bonus{display:flex; align-items:center; gap:12px; background:var(--soft); border-radius:14px; padding:16px 18px; margin-bottom:22px;}
.pay-bonus svg{width:26px; height:26px; color:var(--green); flex:0 0 auto;}
.pay-bonus b{color:var(--green-d);}
.qm-head h2{font-size:clamp(20px,2.4vw,26px); font-weight:700; line-height:1.2; letter-spacing:-.01em; margin:0 0 7px; padding-right:34px;}
.qm-head p{font-size:14.5px; color:var(--muted); line-height:1.5; margin:0;}
.modal-quiz .quiz-progress{margin:0 34px; border-radius:999px;}
.quiz-cta{display:grid; grid-template-columns:1.08fr .92fr; background:var(--surface); border:1px solid var(--line); border-radius:24px; box-shadow:var(--shadow); overflow:hidden; max-width:1100px; margin:0 auto; align-items:stretch;}
.quiz-cta-body{padding:46px 44px;}
.quiz-cta-eyebrow{display:inline-flex; align-items:center; font-size:12.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--green-d); background:var(--soft); padding:7px 15px; border-radius:999px; margin-bottom:16px;}
.quiz-cta h2{font-size:clamp(24px,2.7vw,32px); font-weight:700; line-height:1.16; letter-spacing:-.01em; margin:0 0 14px;}
.quiz-cta-lead{font-size:15.5px; color:var(--muted); line-height:1.55; margin:0 0 24px;}
.quiz-cta-list{list-style:none; display:grid; gap:13px; margin:0 0 28px;}
.quiz-cta-list li{display:flex; gap:12px; font-size:15px; line-height:1.45; color:var(--ink);}
.quiz-cta-list svg{flex:0 0 22px; width:22px; height:22px; color:var(--green); margin-top:1px;}
.quiz-cta-list b{font-weight:600;}
.quiz-cta .btn-primary{padding:16px 32px;}
.quiz-cta-note{display:block; margin-top:14px; font-size:14px; color:var(--muted);}
.quiz-cta-media{position:relative; min-height:420px;}
.quiz-cta-media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 42%; display:block;}
.quiz-cta-badge{position:absolute; left:18px; bottom:18px; display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.94); color:var(--ink); font-size:13.5px; font-weight:600; padding:9px 15px; border-radius:999px; box-shadow:var(--shadow-sm);}
.quiz-cta-badge svg{width:17px; height:17px; color:var(--green); flex:0 0 auto;}
.ff-cta{display:flex; flex-direction:column; gap:14px; text-align:left;}
.ff-cta h3{font-size:21px; font-weight:700; line-height:1.25; color:var(--ink);}
.ff-cta>p{font-size:15px; color:var(--muted); line-height:1.55;}
.ff-cta .btn-primary{width:100%; font-size:16px; padding:16px; margin-top:4px;}
.ff-cta-note{font-size:13.5px; color:var(--muted); text-align:center;}
.final-cta{display:grid; grid-template-columns:1.08fr .92fr; gap:44px; align-items:center; background:var(--green); border-radius:28px; padding:54px 52px; box-shadow:var(--shadow);}
.final-cta-info h2{color:#fff; font-size:clamp(25px,3vw,36px); font-weight:700; line-height:1.15; letter-spacing:-.01em; margin:0 0 22px;}
.fc-accent{color:#B6E2C9;}
.final-cta-sub{color:rgba(255,255,255,.82); font-size:15.5px; font-weight:600; margin:0 0 18px;}
.final-cta-list{list-style:none; display:grid; gap:14px;}
.final-cta-list li{display:flex; gap:12px; color:rgba(255,255,255,.94); font-size:15.5px; line-height:1.5;}
.final-cta-list svg{flex:0 0 22px; width:22px; height:22px; color:#B6E2C9; margin-top:1px;}
.final-cta-list b{color:#fff; font-weight:600;}
.final-cta-action{background:var(--surface); border-radius:20px; padding:34px 30px; box-shadow:0 26px 60px -28px rgba(0,0,0,.55);}
.final-cta-action h3{font-size:22px; font-weight:700; line-height:1.2; color:var(--ink); margin:0 0 10px;}
.final-cta-action>p{font-size:15px; color:var(--muted); line-height:1.55; margin:0 0 22px;}
.final-cta-action .btn-primary{width:100%; font-size:16px; padding:16px; justify-content:center;}
.final-cta-note{display:block; text-align:center; margin-top:12px; font-size:13.5px; color:var(--muted);}
.smeta-card{border:1px solid var(--line); border-radius:14px; padding:18px 18px 16px; margin-bottom:18px; background:var(--bg);}
.smeta-head{display:flex; align-items:center; gap:12px; margin-bottom:8px;}
.smeta-ic{flex:0 0 40px; width:40px; height:40px; border-radius:10px; background:var(--soft); color:var(--green); display:flex; align-items:center; justify-content:center;}
.smeta-ic svg{width:20px; height:20px;}
.smeta-ttl{display:flex; flex-direction:column; line-height:1.25;}
.smeta-ttl b{font-size:15px; font-weight:700; color:var(--ink);}
.smeta-ttl>span{font-size:12.5px; color:var(--muted);}
.smeta-rows{list-style:none; display:grid; gap:0; margin:0;}
.smeta-rows li{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 0; border-top:1px solid var(--line); font-size:14.5px;}
.sr-n{color:var(--ink); font-weight:600;}
.sr-p{font-size:14px; font-weight:700; color:var(--green-d); white-space:nowrap;}
.sr-calc{font-weight:600; color:var(--muted); background:var(--soft); padding:4px 11px; border-radius:999px; font-size:12.5px;}
.smeta-foot{font-size:12.5px; color:var(--muted); line-height:1.5; margin:14px 0 0;}
.ff-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:44px; align-items:start;}
.ff-info h2{font-size:clamp(25px,3vw,36px); font-weight:700; line-height:1.15; letter-spacing:-.01em; margin-bottom:18px;}
.ff-info h2 .accent{color:var(--green);}
.ff-card{background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:30px 28px; box-shadow:0 24px 60px -28px rgba(27,20,8,.4);}
.ff-card .field input,.ff-card .field select{background:#fff;}
.ff-card .btn-primary{width:100%; font-size:16px; padding:15px; margin-top:4px;}
.ff-photo{width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:16px; box-shadow:var(--shadow-sm); display:block; margin:0 0 18px;}
.prj-cta-text{font-size:14px; color:var(--muted); line-height:1.5; margin-top:auto;}
.caro-head{display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:24px;}
.caro-head h2{font-size:clamp(24px,2.9vw,34px); font-weight:700; line-height:1.18; letter-spacing:-.01em; margin-bottom:10px; max-width:16em;}
.caro-sub{font-size:16px; color:var(--muted); line-height:1.55; max-width:48em;}
.caro-arrows{display:flex; gap:10px; flex:0 0 auto;}
.caro-track{display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; padding-bottom:4px;}
.caro-track::-webkit-scrollbar{display:none;}
.caro-card{flex:0 0 360px; scroll-snap-align:start;}
.caro-card img{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:16px; box-shadow:var(--shadow-sm); display:block;}
.caro-cap{margin-top:10px; font-size:15px; font-weight:600; color:var(--ink);}
.feat-text .testi-author{font-size:14px; color:var(--muted); margin-top:18px; margin-bottom:0;}
.acc{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; align-items:start;}
.acc-item{background:var(--surface); border:1px solid var(--line); border-radius:14px; overflow:hidden;}
.acc-head{width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 22px; background:none; border:0; cursor:pointer; font-family:inherit; text-align:left; font-size:16px; font-weight:600; color:var(--ink);}
.acc-head .ico{flex:0 0 auto; width:26px; height:26px; border-radius:50%; border:2px solid var(--green); color:var(--green); display:flex; align-items:center; justify-content:center; transition:transform .25s; font-size:20px; line-height:0;}
.acc-item.open .acc-head .ico{transform:rotate(45deg);}
.acc-body{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.acc-body p{padding:0 22px 18px; font-size:15px; color:var(--muted); line-height:1.6; margin:0;}
.vid-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.wide-dots{display:none;}
.wide-dot{width:8px; height:8px; border-radius:50%; border:0; padding:0; background:var(--line); cursor:pointer; transition:width .25s,background .2s;}
.wide-dot.active{width:22px; border-radius:4px; background:var(--green);}
.overlay.open{opacity:1; visibility:visible;}
.modal{background:var(--surface); border-radius:22px; width:100%; max-width:440px; padding:34px 32px; box-shadow:0 40px 80px -20px rgba(27,20,8,.5); position:relative; transform:translateY(14px) scale(.98); transition:transform .28s cubic-bezier(.2,.7,.2,1);}
.overlay.open .modal{transform:none;}
.modal-close:hover{background:#ece6d8; color:var(--ink);}
.modal h2{font-size:23px; font-weight:800; letter-spacing:-.01em; margin-bottom:8px; padding-right:30px;}
.modal .sub{font-size:14.5px; color:var(--muted); margin-bottom:22px;}
.field{margin-bottom:14px;}
.field label{display:block; font-size:13px; color:var(--muted); margin-bottom:6px; font-weight:600;}
.field input,.field select{width:100%; padding:13px 15px; border:1.5px solid var(--line); border-radius:13px; font-size:15.5px; font-family:inherit; color:var(--ink); background:#fff; transition:border-color .2s;}
.field input:focus,.field select:focus{outline:none; border-color:var(--gold);}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
.file-input{display:block; width:100%; font:inherit; padding:10px 0;}
.file-input::file-selector-button{font:inherit; padding:8px 14px; margin-right:12px; border:1px solid #d8d2c4; border-radius:10px; background:#fff; cursor:pointer;}
.consent{display:flex; gap:9px; align-items:flex-start; margin:16px 0 18px; font-size:12.5px; color:var(--muted); line-height:1.45;}
.consent input{margin-top:2px; flex:0 0 auto;}
.consent a{color:var(--gold); text-decoration:underline;}
.modal .btn-primary{width:100%; font-size:16px; padding:15px;}
.form-err{display:none; margin-top:12px; font-size:13.5px; color:#b23b3b; text-align:center;}
.form-err.show{display:block;}
.modal-success{display:none; text-align:center; padding:14px 0 4px;}
.modal-success.show{display:block;}
.modal-success .check{width:64px; height:64px; border-radius:50%; background:var(--green); color:#fff; display:flex; align-items:center; justify-content:center; margin:0 auto 18px; font-size:32px;}
.modal-success h2{padding:0;}
.modal-success p{color:var(--muted); font-size:15px; margin-top:8px;}
.consent label{cursor:pointer;}
.overlay.policy{z-index:60;}
.modal-policy{max-width:680px; max-height:86vh; display:flex; flex-direction:column;}
.modal-policy h2{font-size:20px; margin-bottom:14px; padding-right:30px;}
.policy-body{overflow-y:auto; font-size:13.5px; line-height:1.62; color:#3a352d; padding-right:8px;}
.policy-body p{margin-bottom:12px;}
.policy-body p:last-child{margin-bottom:0;}
.anim{animation:rise .7s cubic-bezier(.2,.7,.2,1) both;}
.anim.d1{animation-delay:.05s;}
.anim.d2{animation-delay:.13s;}
.anim.d3{animation-delay:.21s;}
.anim.d4{animation-delay:.29s;}
.anim.d5{animation-delay:.37s;}
.pcard{display:flex; align-items:center; gap:18px; justify-content:space-between; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-sm); padding:22px; margin-bottom:26px;}
.pcard-head{display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:16px;}
.pcard-name{font-size:24px; font-weight:700; letter-spacing:-.01em;}
.pcard-tag{color:var(--muted); font-size:14.5px; margin-top:3px;}
.pcard-area{flex:none; text-align:right; font-size:30px; font-weight:700; color:var(--green); line-height:1; white-space:nowrap;}
.pcard-area span{font-size:15px; color:var(--muted); font-weight:600;}
.pcard-media{display:grid; grid-template-columns:1.32fr 1fr; gap:14px;}
.frame{position:relative; border-radius:14px; overflow:hidden; background:var(--soft); aspect-ratio:4/3; min-width:0;}
.frame .ph{position:absolute; inset:0; width:100%; height:100%;}
.cap{position:absolute; left:12px; top:11px; background:rgba(255,255,255,.92); color:var(--ink); font-size:12px; font-weight:600; padding:5px 11px; border-radius:999px; box-shadow:var(--shadow-sm); z-index:2;}
.cap.plan{background:var(--green); color:#fff;}
.arr{position:absolute; top:50%; transform:translateY(-50%); width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.92); border:0; display:flex; align-items:center; justify-content:center; font-size:18px; color:var(--ink); box-shadow:var(--shadow-sm); z-index:2; cursor:pointer;}
.arr.l{left:10px;}
.arr.r{right:10px;}
.dots{right:0; justify-content:center; position:absolute; bottom:12px; left:50%; transform:translateX(-50%); display:flex; gap:6px; z-index:2;}
.dots i{width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.6);}
.dots i.on{background:#fff; width:18px; border-radius:4px;}
.zoom{position:absolute; right:10px; bottom:10px; width:34px; height:34px; border-radius:10px; background:rgba(255,255,255,.92); border:0; display:flex; align-items:center; justify-content:center; font-size:15px; box-shadow:var(--shadow-sm); z-index:2; cursor:pointer;}
.pcard-stats{list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:16px 0 4px; padding:14px 0 0; border-top:1px solid var(--line);}
.pcard-stats li{display:flex; flex-direction:column; align-items:center; text-align:center; gap:3px;}
.pcard-stats svg{width:22px; height:22px; color:var(--green); stroke:var(--green);}
.pcard-stats b{font-size:16px; font-weight:700;}
.pcard-stats span{font-size:12px; color:var(--muted);}
.pcard-foot{display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:16px; flex-wrap:wrap;}
.pcard-price{font-size:15px; color:var(--muted);}
.pcard-price b{display:block; font-size:25px; color:var(--ink); font-weight:700; letter-spacing:-.01em;}
.hero-points{list-style:none; display:flex; flex-direction:column; gap:13px; margin-top:22px; max-width:600px;}
.hero-points li{display:flex; align-items:flex-start; gap:11px; font-size:15.5px; line-height:1.45;}
.hero-points li b{font-weight:700;}
.hero-points svg{width:21px; height:21px; color:var(--green); flex:none; margin-top:1px;}
.hero-cta{display:flex; gap:12px; flex-wrap:wrap; margin-top:22px;}
.hero .features{grid-template-columns:1fr; gap:17px;}
.fam3card .ph svg{width:100%; height:100%;}
.fam3card .ph img{width:100%; height:100%; object-fit:cover; object-position:50% 22%;}
.proj-grid{display:grid; grid-template-columns:1.05fr 1fr; align-items:stretch;}
.proj-media{display:flex; flex-direction:column; background:var(--soft);}
.proj-stage{position:relative; flex:1; min-height:330px; overflow:hidden;}
.proj-panel[data-panel="plan"] .track{background:#fbfaf6;}
.proj-panel[data-panel="plan"] .slide{object-fit:contain; background:#fbfaf6; cursor:zoom-in;}
.proj-tab svg{width:16px; height:16px;}
.plan-car{height:100%;}
.plan-car .track{height:100%; background:#fbfaf6;}
.plan-car .slide{height:100%; object-fit:contain; background:#fbfaf6; cursor:zoom-in;}
.proj-stage .zoomhint{position:absolute; right:12px; top:12px; z-index:3; background:rgba(255,255,255,.93); font-size:12px; font-weight:600; color:var(--green-d); padding:5px 11px; border-radius:999px; box-shadow:var(--shadow-sm); pointer-events:none;}
.proj-panel{display:none; position:absolute; inset:0;}
.proj-panel.show{display:block;}
.proj-panel .carousel{height:100%;}
.proj-media .track{height:100%; aspect-ratio:auto; background:var(--soft); border-radius:0;}
.proj-media .slide{height:100%;}
.proj-media .dots{bottom:14px;}
.planframe{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:#fbfaf6; padding:22px; cursor:zoom-in;}
.planframe img{max-width:100%; max-height:100%; object-fit:contain;}
.planframe .zoomhint,.proj-panel .zoomhint{position:absolute; right:12px; bottom:13px; z-index:3; background:rgba(255,255,255,.93); font-size:12px; font-weight:600; color:var(--green-d); padding:5px 11px; border-radius:999px; box-shadow:var(--shadow-sm); pointer-events:none;}
.plan-slide{flex:0 0 100%; height:100%; display:flex; align-items:center; justify-content:center; background:#fbfaf6; position:relative; scroll-snap-align:start;}
.plan-slide img{max-width:100%; max-height:100%; object-fit:contain; cursor:zoom-in; padding:16px; box-sizing:border-box;}
.floor-badge{position:absolute; left:12px; top:12px; z-index:2; background:var(--green); color:#fff; font-size:12px; font-weight:700; padding:5px 11px; border-radius:999px;}
.proj-name .accent{color:var(--green);}
.proj-stats{display:flex; flex-wrap:wrap; gap:8px; margin-top:16px;}
.proj-desc{color:var(--muted); font-size:14.5px; line-height:1.5; margin:16px 0 0;}
.proj-feats{display:flex; flex-direction:column; gap:11px; margin-top:18px;}
.proj-pf{display:flex; gap:10px; align-items:flex-start; font-size:14px; line-height:1.42;}
.proj-pf b{font-weight:600;}
.proj-price{font-size:13.5px; color:var(--muted); white-space:nowrap;}
.proj-foot .btn{flex:1; min-width:215px;}
.lb{position:fixed; inset:0; background:rgba(18,24,20,.86); display:none; align-items:center; justify-content:center; z-index:200; padding:18px; cursor:zoom-out;}
.lb.open{display:flex;}
.lb img{max-width:96%; max-height:96%; object-fit:contain; border-radius:8px; background:#fff;}
.h-top h1{margin:0;}
.h-title h1{margin:0;}
.h-sub .lead{margin:0; max-width:32em; font-size:clamp(16px,1.35vw,18px); line-height:1.5;}
.lead .pmzh{color:var(--green-d); font-weight:700;}
.h-hook-ic{flex:none; color:var(--green); display:flex; align-items:center; justify-content:center;}
.h-hook-ic svg{width:26px; height:26px;}
.h-hook-txt{display:flex; flex-direction:column; gap:2px;}
.h-hook-txt b{font-size:17px; font-weight:800; color:var(--ink); line-height:1.2;}
.h-hook-num{color:var(--green-d);}
#family,#projects,#dakota,#veresk,#finix-plus,#sirius,#options,#catalog,#architect,#porotherm,#visit,#roadmap,#own-project,#economy,#gifts,#calc,#reviews,#team,#contacts{scroll-margin-top:80px;}
.nav-dd{position:relative; display:flex; align-items:center;}
.nav-dd-t{position:relative; display:inline-flex; align-items:center; gap:5px; padding:6px 0; font:inherit; font-size:15px; color:var(--muted); background:none; border:0; cursor:pointer; transition:color .2s;}
.nav-dd-t:hover,.nav-dd:hover .nav-dd-t,.nav-dd:focus-within .nav-dd-t,.nav-dd-t.active{color:var(--ink);}
.nav-dd-t .ccar{width:15px; height:15px; transition:transform .2s;}
.nav-dd:hover .nav-dd-t .ccar,.nav-dd:focus-within .nav-dd-t .ccar{transform:rotate(180deg);}
.nav-dd::after{content:""; position:absolute; top:100%; left:-16px; right:-16px; height:16px;}
.nav-dd:hover .nav-dd-p,.nav-dd:focus-within .nav-dd-p{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);}
.nav-dd-p a::after{display:none;}
.nav-dd-p a:hover{background:var(--soft);}
.nav-dd-p a.is-current{color:var(--green); font-weight:700;}
.m-group{display:flex; flex-direction:column;}
.m-dd-t{display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; font:inherit; font-size:21px; font-weight:600; color:var(--ink); background:none; border:0; border-bottom:1px solid var(--line); padding:15px 2px; cursor:pointer; text-align:left;}
.m-dd-t .ccar{width:20px; height:20px; flex:none; transition:transform .25s;}
.m-group.open .m-dd-t .ccar{transform:rotate(180deg);}
.m-sub{display:flex; flex-direction:column; max-height:0; overflow:hidden; transition:max-height .3s ease;}
.m-group.open .m-sub{max-height:260px;}
.m-sub a{font-size:17px; color:var(--muted); text-decoration:none; padding:13px 2px 13px 20px; border-bottom:1px solid var(--line);}
.proj-name a{color:inherit; text-decoration:none; transition:color .2s;}
.proj-name a:hover{color:var(--green);}
.proj-cta{display:flex; flex-wrap:wrap; gap:10px; align-items:center;}
:root{--main-beige:#B1A489; --main-beige-d:#9F9174; --main-dark:#28282C; --main-black:#111214; --main-bg:#F8F8F8; --main-white:#FFFFFF; --main-line:#E1E1E1; --main-muted:#6F6F72; --bg:#F8F8F8; --surface:#FFFFFF; --ink:#1E1E1E; --muted:#707074; --gold:#B1A489; --gold-2:#9F9174; --green:#B1A489; --green-d:#9F9174; --soft:#F3EFE8; --line:#E1E1E1; --radius:14px; --shadow:0 12px 34px rgba(25,25,28,.06); --shadow-sm:0 7px 22px rgba(25,25,28,.05);}
html{-webkit-text-size-adjust:100%; scroll-padding-top:112px;}
body{line-height:1.55; -webkit-font-smoothing:antialiased; background:var(--main-bg); color:var(--main-dark); font-family:"Golos Text","Segoe UI",Arial,sans-serif; font-weight:400; letter-spacing:.005em;}
b, strong{font-weight:500;}
.wrap{margin:0 auto; padding:0 28px; max-width:1500px; padding-left:30px; padding-right:30px;}
.site-header{border-bottom:1px solid var(--line); position:sticky; top:0; z-index:60; background:transparent; border:0; box-shadow:none; padding:10px 0 13px;}
.header-inner.wrap{height:96px; max-width:calc(100% - 60px); padding:0 26px; background:#fff; border:0; border-radius:19px; box-shadow:0 3px 18px rgba(28,28,31,.025); display:flex; align-items:center; gap:28px;}
.logo{gap:10px; text-decoration:none; order:1; flex:0 0 165px; height:78px; display:flex; align-items:center; justify-content:flex-start; padding:0; border:0;}
.logo img{display:block; width:158px; height:auto; max-height:72px; object-fit:contain;}
.nav{order:2; display:flex; align-items:center; gap:28px; flex:1; color:#111; font-size:14px; font-weight:500; text-transform:uppercase;}
.nav>a, .nav-dd-t{color:#111; font-weight:500; letter-spacing:0; text-transform:uppercase; padding:34px 0;}
.nav a::after{content:""; position:absolute; left:0; bottom:0; width:0; height:2px; transition:width .25s; background:var(--main-beige);}
.nav a:hover, .nav-dd-t:hover, .nav-dd:hover .nav-dd-t, .nav-dd:focus-within .nav-dd-t, .nav-dd-t.active{color:#111;}
.nav-dd-p{position:absolute; left:50%; transform:translateX(-50%) translateY(4px); opacity:0; visibility:hidden; transition:opacity .18s ease,transform .18s ease; z-index:40; top:74px; min-width:245px; background:#fff; border:1px solid var(--main-line); border-radius:11px; padding:8px; box-shadow:0 16px 40px rgba(28,28,31,.12);}
.nav-dd-p a{display:block; color:var(--ink); text-decoration:none; white-space:nowrap; transition:background .15s,color .15s; border-radius:8px; padding:11px 12px; text-transform:uppercase; font-size:14px; font-weight:500;}
.nav-dd-p a:hover, .nav-dd-p a.is-current{background:#F3EFE8; color:#111;}
.header-right{order:3; margin-left:auto; display:flex; align-items:center; gap:14px;}
.phone{color:#111; font-size:17px; font-weight:400; white-space:nowrap;}
.hicons{display:flex; gap:8px;}
.hicon{align-items:center; justify-content:center; transition:background .2s; width:31px; height:31px; border:0; border-radius:50%; display:grid; place-items:center; color:#fff;}
.hicon:first-child{background:#29A9EA;}
.hicon:nth-child(2){background:transparent;}
.hicon svg{width:18px; height:18px;}
.hicon img{width:31px; height:31px; display:block; object-fit:contain;}
.burger{display:none; order:4; margin-left:auto; width:46px; height:46px; border:1px solid var(--line); background:var(--surface); align-items:center; justify-content:center; cursor:pointer; border-radius:10px;}
.m-link, .m-dd-t, .m-sub a{font-weight:500; text-transform:uppercase;}
.m-sub a.is-current{color:var(--green); font-weight:500;}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:9px; cursor:pointer; border:2px solid #1E1E1E; background:#1E1E1E; color:#fff; transition:transform .15s,color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out; text-align:center; font-family:inherit; border-radius:10px; padding:14px 20px; min-height:48px; font-size:18px; line-height:1; font-weight:400; text-transform:uppercase;}
.btn:hover{background:var(--main-beige); border-color:var(--main-beige); color:#fff;}
.btn-primary, .header-right .btn-ghost, .hero .btn-primary, .proj-foot .btn-primary, .gc-cta, .cat-cta .btn-primary, .gifts-cta-top, .gifts-cta .btn-primary, .archx-info .btn-primary, #culture .btn-primary, #porotherm .btn-primary, #visit .btn-primary, #calc .btn-primary, .modal .btn-primary, .quiz .btn-primary{border-radius:10px; padding:14px 20px; min-height:48px; background-color:#1E1E1E; border:2px solid #1E1E1E; font-size:18px; line-height:1; font-weight:400; color:#fff; text-transform:uppercase; box-shadow:none; transition:color .3s ease-in-out,
    background-color .3s ease-in-out,
    border-color .3s ease-in-out; outline:none;}
.btn-primary:hover, .header-right .btn-ghost:hover, .hero .btn-primary:hover, .proj-foot .btn-primary:hover, .gc-cta:hover, .cat-cta .btn-primary:hover, .gifts-cta-top:hover, .gifts-cta .btn-primary:hover, .archx-info .btn-primary:hover, #culture .btn-primary:hover, #porotherm .btn-primary:hover, #visit .btn-primary:hover, #calc .btn-primary:hover, .modal .btn-primary:hover, .quiz .btn-primary:hover{background-color:var(--main-beige); border-color:var(--main-beige); color:#fff;}
.btn-ghost{padding:11px 22px; border:2px solid #1E1E1E; color:#fff; background:#1E1E1E;}
.btn-ghost:hover{background:var(--main-beige); border-color:var(--main-beige); color:#fff;}
.header-right .btn-ghost{height:52px;}
.hero{padding:0 0 28px; background:var(--main-bg); color:var(--main-dark); min-height:0; overflow:visible;}
.hero::after, .hero::before{display:none !important;}
.hero-grid{display:grid; grid-template-columns:.92fr 1.08fr; grid-template-areas:"title media""top media"
    
    "sub media"
    "bottom media"; column-gap:52px; row-gap:16px; align-items:start; min-height:0; padding-top:12px; padding-bottom:12px;grid-template-rows:max-content max-content max-content 1fr;}
.h-top{grid-area:top; margin:0 0 8px;}
.h-title{grid-area:title; margin:0;}
.h-sub{margin-top:0; grid-area:sub; margin:0;}
.h-bottom{grid-area:bottom; margin-top:10px; display:flex; align-items:start; flex-wrap:wrap; gap:8px 16px;}
.h-media{grid-area:media; position:relative; inset:auto; z-index:auto; align-self:start; margin:0;}
.h-title, .h-sub, .h-top, .h-bottom{width:auto; position:static; z-index:auto;}
.hero h1{margin:0; color:#111; font-size:50px; font-weight:400; line-height:1.06; letter-spacing:-.035em; text-transform:uppercase;}
.hero h1 .accent{color:var(--main-dark); text-decoration:none;}
.hero .lead{font-size:18px; line-height:1.5; color:#4E4F55; max-width:37rem;}
.hero .lead b{color:#111; font-weight:500;}
.h-points{flex-direction:column; margin-top:0; display:grid; gap:10px;}
.h-point{display:flex; gap:10px; align-items:flex-start; font-size:15px; line-height:1.4; color:#2F3135;}
.h-point b, .h-title b{color:var(--green-d); font-weight:500;}
.h-pt-ic{display:flex; align-items:center; margin-top:1px; color:var(--main-beige); flex:0 0 auto;}
.h-pt-ic svg{width:18px; height:18px;}
.h-media .carousel{position:relative;}
.h-media .track{display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; -ms-overflow-style:none; aspect-ratio:1200/900; background:#DED7C8; border-radius:18px; box-shadow:var(--shadow);}
.h-media .track::-webkit-scrollbar{display:none;}
.h-media .slide{flex:0 0 100%; width:100%; height:100%; position:relative; scroll-snap-align:center; background:linear-gradient(
        180deg,
        #77828D 0%,
        #8B8B86 24%,
        #A88F77 76%,
        #373718 100%
    );}
.h-media .sfill{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:blur(14px); transform:scale(1.08); opacity:.65; display:block;}
.h-media .sfit{position:relative; z-index:1; width:100%; height:100%; object-fit:cover; object-position:center; display:block;}
.h-media .cbtn{position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:46px; height:46px; border:0; border-radius:50%; background:rgba(255,255,255,.92); color:#111; box-shadow:0 6px 18px rgba(17,18,20,.12);}
.h-media .prev{left:18px; right:auto;}
.h-media .next{right:18px; left:auto;}
.h-media .dots{position:absolute; left:50%; right:auto; bottom:18px; transform:translateX(-50%); display:flex; justify-content:center; gap:8px; z-index:3; width:auto;}
.h-media .dot{background:rgba(255,255,255,.7);}
.h-media .dot.active{background:#fff;}
.h-actions{order:1; display:flex;}
.h-actions .btn{font-size:16.5px; height:100%; min-height:66px;box-shadow:0 8px 22px rgba(30,30,30,.36);}
.h-hook{gap:11px; margin-bottom:18px; width:fit-content; max-width:100%; order:2; min-height:66px; display:flex; align-items:center; background:#fff; border:1px solid var(--main-line); border-radius:10px; padding:10px 18px; color:#111; box-shadow:none;}
.h-hook-ic, .h-hook-num{color:var(--main-beige);}
.h-hook-sub{font-size:13px; line-height:1.3; color:#6B6D73;}
.h-note{order:3; flex-basis:100%; margin:-18px 0 0 !important; color:#777 !important; font-size:12px !important;}
.section{padding:82px 0; background:#fff;}
.section:nth-of-type(even){background:var(--main-bg);}
.sec-head{max-width:none; margin:0 0 32px; margin-bottom:34px;}
.sec-head h2, .section h2, .feat-text h2, .gifts-top h2, .quiz-intro h2, .qm-head h2, .modal h2, .quiz-cta h2{font-weight:400; letter-spacing:-.025em;}
.sec-head h2, .section h2, .feat-text h2, .gifts-top h2, .quiz-intro h2{font-size:clamp(30px,2.55vw,43px); line-height:1.08; text-transform:uppercase; color:#111;}
.sec-head p, .block-sub, .cat-lead, .feat-text p{color:var(--main-muted); font-size:15px; line-height:1.55; font-weight:400;}
.eyebrow, .eyebrow-tag{color:#111; border:0; background:transparent; padding:0; font-size:13px; font-weight:500; text-transform:uppercase; letter-spacing:.04em;}
.eyebrow::before{content:""; width:30px; height:2px; background:var(--gold); display:none;}
.section h2 .accent, .sec-head h2 .accent, .block-h2 .accent, .cat-h2 .accent, .feat-text h2 .accent, .quiz-intro h2 .accent{color:inherit;}
.feature p b, .feat-text p b, .feat-text .feat-lead b, .proj-price b, .gc-price, .qcard span, .qq, .team-card b, .arch-bonus b, .site-remote b, .pay-bonus b, .poro-sign-tx b, .poro-q-verdict{font-weight:500;}
.fam3{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.fam3card{background:#fff; border:1px solid var(--main-line); border-radius:14px; box-shadow:none; padding:18px; display:grid; grid-template-columns:112px 1fr; gap:18px; align-items:center;}
.fam3card .ph{flex:none; overflow:hidden; background:var(--soft); width:112px; height:112px; border-radius:11px;}
.fam3card .t{margin-bottom:3px; font-size:20px; color:#111; font-weight:500;}
.fam3card p{font-size:14px; line-height:1.4; margin:0; color:var(--main-muted);}
#projects{background:var(--main-bg);}
.proj{background:#fff; border:0; border-radius:16px; box-shadow:none; margin-bottom:24px; overflow:hidden;}
.proj-tabs{display:flex; justify-content:center; flex:none; border-bottom:1px solid var(--main-line); background:#fff; padding:12px 22px;}
.proj-seg{display:inline-flex; gap:4px; background:#F1F1F1; border-radius:20px; padding:3px;}
.proj-tab{display:inline-flex; align-items:center; gap:7px; border:0; background:transparent; font:inherit; font-size:13.5px; color:var(--muted); padding:8px 18px; cursor:pointer; transition:.15s; border-radius:18px; font-weight:400;}
.proj-tab.active{background:#111; color:#fff; box-shadow:none;}
.proj-body{display:flex; flex-direction:column; padding:28px 30px;}
.proj-name{line-height:1.16; letter-spacing:-.01em; margin:0; font-size:25px; font-weight:500; color:#111;}
.proj-stat{font-size:13px; padding:6px 13px; background:#F1F1F1; color:#333; border-radius:18px; font-weight:400;}
.proj-pf svg{width:19px; height:19px; flex:none; margin-top:1px; color:var(--main-beige);}
.proj-price b{display:block; font-size:22px; font-weight:700; letter-spacing:-.01em; color:#111;}
.proj-foot{display:flex; align-items:center; gap:18px; flex-wrap:wrap; border-top:1px solid var(--main-line); margin-top:20px; padding-top:20px;}
.proj .carousel, .rslider, .poro-vid, .video-fac, .feat-media>img, .archx, .plan-card{border-radius:14px; box-shadow:none;}
.gtrack, .opt-track, .gifts-grid{align-items:stretch;}
.gcard{flex:0 0 262px; scroll-snap-align:start; background:#fff; border:1px solid var(--main-line); border-radius:14px; box-shadow:none; overflow:hidden; display:flex; flex-direction:column; height:auto;}
.gcard .gc-badge{position:absolute; top:12px; left:12px; color:#fff; font-weight:800; font-size:15px; padding:6px 12px; background:var(--main-beige); border-radius:18px;}
.gc-price{font-size:14.5px; font-weight:700; margin:2px 0 9px; color:#111;}
.gcard .gc-chips span{font-size:12.5px; color:var(--muted); padding:4px 11px; background:#F1F1F1; border-radius:17px; font-weight:400;}
.gcard img{width:100%; aspect-ratio:16/9; object-fit:cover; display:block; border-radius:0;}
.gcard .gc-body{padding:12px 17px 14px; flex:1; display:flex; flex-direction:column; gap:8px;}
.gcard .gc-body h4{font-weight:500;}
.gcard .gc-chips{display:flex; gap:7px; flex-wrap:wrap; margin-top:10px; margin-bottom:8px;}
.gcard .gc-cta{justify-content:center; padding-top:12px; padding-bottom:12px; font-size:14.5px; margin-top:auto; width:100%; align-self:stretch;}
.opt-card{flex:0 0 300px; scroll-snap-align:start; border-radius:14px; overflow:hidden; background:#fff;}
.opt-card img, .caro-card img{border-radius:14px; box-shadow:none;}
.opt-cap{margin-top:12px; font-size:16px; color:var(--ink); line-height:1.3; font-weight:500;}
.gifts-top h2 .hl{color:#fff; padding:.02em .26em; -webkit-box-decoration-break:clone; box-decoration-break:clone; background:var(--main-beige); border-radius:8px;}
.feat{display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:48px;}
.feat.arch .feat-media{position:relative; background:#fff; border:1px solid rgba(177,164,137,.55); border-radius:18px; overflow:hidden; min-height:360px; box-shadow:0 16px 34px rgba(30,30,30,.14);}
.feat.arch .feat-media>img.arch-img{position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center bottom; aspect-ratio:auto; max-height:none; max-width:none; margin:0; border-radius:0; box-shadow:none;}
.feat-media>img{aspect-ratio:4/3; object-fit:cover; border-radius:18px; box-shadow:var(--shadow-sm); display:block; width:100%;}
.arch-bonus{margin:14px 0 0; font-size:14px; color:var(--muted); line-height:1.45; display:inline-flex; align-items:center; gap:10px; background:#F3EFE8; border-radius:10px; padding:14px 20px; margin-top:18px;}
.arch-bonus svg{width:20px; height:20px; flex:0 0 auto; margin-top:1px; color:var(--main-beige);}
.rm-chip, .testi-author, .site-remote, .pay-bonus{border-radius:10px;}
.rm-chip{display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:13.5px; padding:9px 14px; border-radius:999px; background:#F3EFE8; color:#5B513F;}
.site-remote{display:flex; align-items:flex-start; gap:11px; margin-top:18px; padding:14px 16px; background:var(--soft); border-radius:12px; font-size:14px; color:var(--ink); line-height:1.5; border-left:4px solid var(--main-beige);}
.timeline .tl-num, .tl-num{background:var(--main-dark);}
.ctaband{background:var(--main-dark); color:#fff; border:0; border-radius:15px; text-align:left; padding:34px;}
.ctaband h2{font-size:clamp(24px,2.9vw,34px); font-weight:700; line-height:1.18; margin:0 auto 14px; max-width:20em; color:#fff;}
.ctaband p{font-size:16px; line-height:1.55; margin:0 auto 24px; max-width:42em; color:rgba(255,255,255,.75); margin-left:0; margin-right:0;}
.ctaband .btn-row{justify-content:flex-start;}
#reviews{background:var(--main-bg);}
#reviews .sec-head{max-width:1050px; margin-bottom:26px;}
#reviews .sec-head h2{max-width:none; font-size:clamp(30px,2.7vw,42px); line-height:1.08; font-weight:400;}
.testi-rows{flex-direction:column; display:grid; gap:22px;}
.feat.vtesti{border:1px solid var(--line); display:grid; grid-template-columns:1.06fr .94fr; align-items:stretch; background:#fff; border-radius:22px; box-shadow:0 12px 28px rgba(60,52,42,.09); padding:28px 30px; gap:32px; position:relative; overflow:hidden; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;}
.feat.vtesti:hover{transform:translateY(-2px); box-shadow:0 16px 36px rgba(60,52,42,.12);}
.feat.vtesti .feat-text{position:relative; z-index:1; padding-left:18px; display:flex; flex-direction:column; align-items:flex-start;}
.testi-head{font-size:clamp(23px,2.1vw,30px) !important; font-weight:400 !important; line-height:1.24; margin-bottom:14px; color:#18191C;}
.feat.vtesti .feat-text>p:not(.testi-author){font-size:16px; line-height:1.62; color:#56585F; max-width:58ch; font-weight:400;}
.feat.vtesti .testi-author{display:inline-flex; background:#F3EFE8 !important; color:#584F40 !important; border-radius:10px; padding:10px 15px; margin-top:18px; font-size:13.5px !important; font-weight:500 !important;}
.feat.vtesti .testi-author svg{color:var(--main-beige) !important;}
.feat.vtesti .feat-media{display:flex; align-items:center; justify-content:center;}
.feat.vtesti .video-fac{width:100%; border-radius:20px; overflow:hidden; box-shadow:0 10px 26px rgba(60,52,42,.10); background:#E8E1D6; transition:border-color .3s ease, box-shadow .3s ease;}
.feat.vtesti:hover .video-fac{box-shadow:0 10px 26px rgba(60,52,42,.10);}
.link-policy{font-size:12px;}
.feat.vtesti .video-fac>img{width:100%; aspect-ratio:16/10; object-fit:cover; display:block;}
.feat.vtesti .video-fac .play{width:74px; height:74px; background:rgba(255,255,255,.96);}
.feat.vtesti .video-fac .play svg, .video-fac .play svg, .poro-play svg{color:var(--main-beige) !important;}
.feat.vtesti.rev{grid-template-columns:.94fr 1.06fr;}
.feat.vtesti.rev .feat-text{order:2; padding-left:0; padding-right:18px;}
.feat.vtesti.rev .feat-media{order:1;}
.team-card{text-align:center; overflow:hidden; border-radius:14px;}
.team-card img{aspect-ratio:1/1; object-fit:cover; display:block; margin-bottom:12px; width:100%; border-radius:14px; box-shadow:none; transform:scale(1); transition:transform .4s ease, box-shadow .4s ease;}
.team-card:hover img{transform:scale(1.035); box-shadow:0 12px 26px rgba(30,30,30,.10);}
.team-card b{display:block; font-size:15px; line-height:1.25; font-weight:500;}
.stat .big{font-size:clamp(40px,6vw,68px); letter-spacing:-.02em; line-height:1; color:#111; font-weight:500;}
#calc{background:var(--main-dark); color:#fff;}
.quiz-intro h2{font-size:clamp(25px,3vw,36px); font-weight:700; line-height:1.15; letter-spacing:-.01em; margin-bottom:14px; color:#fff;}
.quiz-intro p{color:rgba(255,255,255,.72);}
.quiz{overflow:hidden; background:#fff; color:#222; border:0; border-radius:15px; box-shadow:none;}
.quiz-bar{display:block; height:100%; width:20%; border-radius:0 4px 4px 0; transition:width .35s ease; background:var(--main-beige);}
.qcards{display:grid; gap:16px; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch;}
.qcard{text-align:left; background:var(--surface); border:1.5px solid var(--line); overflow:hidden; cursor:pointer; padding:0; font-family:inherit; transition:border-color .15s,box-shadow .15s; position:relative; border-radius:15px; height:100%; display:flex; flex-direction:column;}
.qcard img{width:100%; aspect-ratio:4/3; object-fit:cover; display:block; flex:0 0 auto;}
.qcard span{font-size:14.5px; font-weight:600; color:var(--ink); flex:1; display:block; padding:14px 16px 18px; line-height:1.35;}
.qcard:hover, .qcard.sel, .qopt:hover, .qopt.sel{border-color:var(--main-beige);}
.qcard.sel{border-color:var(--green); box-shadow:inset 0 0 0 1px var(--main-beige);}
.qcard .qtick, .qopt.sel::before{background:var(--main-beige);}
.qopt.sel{border-color:var(--green); background:#F3EFE8;}
.qnav-back{background:#1E1E1E; border:2px solid #1E1E1E; height:48px; cursor:pointer; font:inherit; color:#fff; transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out; min-height:48px; padding:14px 20px; font-size:18px; line-height:1; font-weight:400; text-transform:uppercase; border-radius:10px;}
.overlay{position:fixed; inset:0; background:rgba(27,26,22,.55); backdrop-filter:blur(4px); display:flex; opacity:0; visibility:hidden; transition:opacity .25s,visibility .25s; z-index:220 !important; overflow-y:auto !important; align-items:flex-start !important; justify-content:center; padding:26px 20px !important;}
.overlay .modal{margin:18px auto !important;}
.modal, .modal.modal-quiz{border-radius:15px;}
.modal .field input, .file-input{border-radius:10px;}
.modal.modal-quiz{overflow-y:auto; text-align:left; max-width:1100px !important; max-height:none !important; overflow:visible !important; padding:0 !important;}
.modal-quiz .quiz{border:0; box-shadow:none; background:transparent; border-radius:15px; overflow:visible !important;}
.qm-head{padding:26px 32px 14px !important;}
.modal-quiz .quiz-body{padding:24px 32px 30px !important;}
.modal-close{position:absolute; top:16px; right:16px; width:36px; height:36px; border-radius:50%; border:0; background:var(--bg); color:var(--muted); font-size:20px; line-height:1; cursor:pointer; transition:background .2s,color .2s; z-index:4;}
.site-footer{background:var(--main-dark); color:#fff; padding:50px 0 24px; border-top:1px solid rgba(255,255,255,.06);}
.footer-grid{display:grid; grid-template-columns:minmax(0,1.45fr) minmax(180px,.75fr) minmax(200px,.8fr); gap:70px; align-items:start;}
.site-footer .flogo{display:flex; align-items:center; gap:14px; margin-bottom:18px;}
.site-footer .flogo img{width:72px; height:auto; display:block;}
.site-footer .flogo span{display:inline; color:#fff; font-size:16px; line-height:1.2; font-weight:500; text-transform:uppercase; letter-spacing:.015em;}
.site-footer .footer-intro{max-width:470px; color:#C5C5C7; font-size:14.5px; line-height:1.7; font-weight:400;}
.footer-col{display:flex; flex-direction:column; align-items:flex-start;}
.footer-col h4{margin-bottom:12px; margin:0 0 16px; color:#fff; font-size:13px; line-height:1.2; font-weight:500; text-transform:uppercase; letter-spacing:.045em;}
.site-footer .footer-col a{color:#D6D6D7; font-size:14px; line-height:1.45; font-weight:400; margin-bottom:10px; transition:color .25s ease;}
.site-footer .footer-col a:hover{color:var(--main-beige);}
.site-footer .footer-col .btn{margin-top:8px; margin-bottom:0; color:#fff;}
.site-footer .footer-col .btn:hover{color:#fff;}
.footer-legal{margin-top:40px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); color:#949498; font-size:12.5px; line-height:1.6;}
.metrika-noscript{position:absolute; left:-9999px;}
.features--single{grid-template-columns:1fr; gap:16px; margin-bottom:22px;}
.feat--start{align-items:start;}
.u-mt-22{margin-top:22px;}
.btn-row--left{justify-content:flex-start; margin-top:26px;}
.menu-phone, .price b, .gifts-head h3, .qdone h3, .life-intro h2, .room-txt h3, .archx-title, .opt-head h2, .section h2.cat-h2, .section h2.block-h2, .cat-lead b, .poro-sub b, .poro-tag, .poro-name, .poro-pull, .poro-q-verdict, .poro-more, .poro-sign-ic, .price3-h, .ctaband h2, .prj-name, .prj-price, .step .num, .prj-cta b, .tl-num, .quiz-cta-eyebrow, .ff-cta h3, .final-cta-info h2, .final-cta-action h3, .smeta-ttl b, .sr-p, .ff-info h2, .caro-head h2, .pcard-name, .pcard-area, .pcard-stats b, .pcard-price b, .hero-points li b, .floor-badge, .h-hook-txt b, .nav-dd-p a.is-current{font-weight:400;}
.gcard .gc-cta, .btn.btn-sm, .proj-cta .btn{min-height:48px; padding:14px 8px; border-radius:10px; font-size:18px; line-height:1; font-weight:400; text-transform:uppercase;}
.gcard .gc-cta:hover, .proj-cta .btn:hover{background:var(--main-beige); border-color:var(--main-beige); color:#fff;}

/* ANIMATIONS */
@keyframes qfade{
  from{opacity:0; transform:translateY(6px);}
  to{opacity:1; transform:none;}
}
@keyframes vfsp{
  to{transform:rotate(360deg);}
}
@keyframes rise{
  from{opacity:0; transform:translateY(16px);}
  to{opacity:1; transform:translateY(0);}
}

/* ========================================================================
   RESPONSIVE
   ======================================================================== */

@media (min-width:981px){
  .feat.media-right .feat-text{order:1;}
  .feat.media-right .feat-media{order:2;}
  .feat.vtesti.rev .testi-author{grid-column:2;}
  .menu-overlay{display:none;}
}

@media (max-width:1150px){
  .header-inner.wrap{max-width:calc(100% - 32px); padding:0 18px; gap:18px;}
  .logo{flex-basis:135px;}
  .logo img{width:128px;}
  .nav{gap:16px; font-size:12px;}
  .phone{font-size:14px;}
  .header-right .btn-ghost{display:none;}
  .hero-grid{grid-template-columns:1fr; grid-template-areas:"title" "top"
      
      "sub"
      "media"
      "bottom"; row-gap:18px;}
}

@media (max-width:980px){
  .logo img{height:40px;}
  .hero-grid{display:flex; flex-direction:column; gap:22px;}
  .h-title{order:1;}
  .h-sub{order:2;}
  .h-media{order:3; align-self:stretch; width:100%;}
  .h-top{order:4;}
  .h-bottom{order:5;}
  .hero{padding:20px 0 26px;}
  .lead{max-width:none;}
  .plan-grid{display:flex; flex-direction:column; gap:20px;}
  .section{padding:30px 0;}
  .section h2{max-width:none; margin-bottom:22px;}
  .gifts-top{grid-template-columns:1fr; gap:22px; margin-bottom:28px;}
  .gifts-cta-top{display:none;}
  .gifts-cta{display:block;}
  .gifts-cta .btn-primary{width:100%;}
  .gcard{flex-basis:80%;}
  .gifts-head .gcaro{display:none;}
  .quiz-body{padding:24px 18px 18px;}
  .qcards{grid-template-columns:1fr 1fr; gap:12px;}
  .qcard span{padding:12px 13px; font-size:13.5px;}
  .qopts{grid-template-columns:1fr;}
  .quiz-nav{padding:0 18px 22px; flex-direction:column-reverse; align-items:stretch; gap:12px;}
  .quiz-btns{justify-content:space-between;}
  .qnav-next{flex:1;}
  .archx{display:flex; flex-direction:column; gap:20px; padding:24px;}
  .archx-photo{order:1; width:100%; max-width:380px; margin:0 auto; min-height:300px;}
  .archx-info{order:2;}
  .archx-list{margin-bottom:22px;}
  .archx-info .btn-primary{width:100%; align-self:stretch;}
  .life-intro{margin-bottom:24px;}
  .rooms{gap:34px;}
  .room{grid-template-columns:1fr; gap:16px;}
  .room-img{order:2;}
  .room-txt{order:1;}
  .room.rev .room-img{order:2;}
  .room.rev .room-txt{order:1;}
  .opt-head{flex-direction:column; align-items:flex-start; gap:0;}
  .opt-head .opt-arrows{display:none;}
  .cat-sub .opt-arrows{display:none;}
  .opt-card{flex-basis:78%;}
  .feat{grid-template-columns:1fr; gap:18px;}
  .feat.arch{grid-template-columns:1fr;}
  .feat.arch .feat-media{aspect-ratio:4/5; min-height:0;}
  .feat.site-feat .feat-media{order:-1; margin-bottom:4px; aspect-ratio:4/3; min-height:0;}
  .poro{grid-template-columns:1fr; gap:18px;}
  .poro-vid>img{aspect-ratio:4/3; height:auto; min-height:0;}
  .feat.media-fill .feat-media>img{height:auto; aspect-ratio:4/3; min-height:0;}
  .av-pair{grid-template-columns:1fr; gap:18px;}
  .feat.rev .feat-media{order:0;}
  .feat-text .btn-primary{width:100%;}
  .price3-lead{margin-bottom:22px;}
  .tour-gallery{grid-template-columns:1fr 1fr; gap:10px; margin-top:22px;}
  .gallery.g4,.gallery.g3,.gallery.g6{grid-template-columns:1fr 1fr;}
  .prj-grid{display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding-bottom:4px;}
  .prj-grid::-webkit-scrollbar{display:none;}
  .prj-card{flex:0 0 80%; scroll-snap-align:start;}
  .steps{grid-template-columns:1fr;}
  .team-grid{grid-template-columns:1fr 1fr;}
  .testi-grid{grid-template-columns:1fr;}
  .ctaband{padding:34px 22px;}
  .sec-head{margin-bottom:26px;}
  .caro-head{flex-direction:column; align-items:flex-start;}
  .caro-head .caro-arrows{display:none;}
  .caro-card{flex-basis:82%;}
  .testi-rows{gap:20px;}
  .feat.vtesti{padding:20px;}
  .vid-grid{grid-template-columns:1fr;}
  .acc{grid-template-columns:1fr;}
  .gallery.wide{display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding-bottom:12px 4px 22px;}
  .gallery.wide::-webkit-scrollbar{display:none;}
  .gallery.wide img{flex:0 0 78%; scroll-snap-align:start;}
  .wide-dots{display:flex; gap:7px; justify-content:center; margin-top:16px;}
  .ff-grid{grid-template-columns:1fr; gap:26px;}
  .ff-card{padding:24px 20px;}
  .quiz-cta{grid-template-columns:1fr;}
  .quiz-cta-media{order:-1; min-height:0;}
  .quiz-cta-media img{position:static; width:100%; height:240px;}
  .quiz-cta-body{padding:32px 26px;}
  .final-cta{grid-template-columns:1fr; gap:28px; padding:36px 28px;}
  .footer-grid{grid-template-columns:1.3fr 1fr 1fr; gap:36px;}
  .feat.vtesti, .feat.vtesti.rev{grid-template-columns:1fr; gap:18px; padding:22px;}
  .feat.vtesti .feat-text, .feat.vtesti.rev .feat-text{order:2; padding:0;}
  .feat.vtesti .feat-media, .feat.vtesti.rev .feat-media{order:1;}
  .modal.modal-quiz{max-width:96vw !important; max-height:86vh !important; overflow-y:auto !important;}
  .nav,.header-right{display:none;}
  .burger{display:flex; order:3; margin-left:auto;}
}

@media (max-width:880px){
  .fam3card .t{font-size:16.5px; margin-bottom:2px;}
  .fam3card p{font-size:13px;}
  .fam3 .sec-head,.sec-head{margin-bottom:16px;}
  #gtrack .gcard{flex:0 0 280px;}
  .proj-grid{grid-template-columns:1fr;}
  .proj-stage{min-height:0; aspect-ratio:16/11;}
  .proj-body{padding:18px 16px;}
  .proj-name{font-size:19px;}
  .proj-foot{flex-direction:column; align-items:stretch; gap:13px;}
  .proj-foot .btn{width:100%;}
  .h-actions .btn{width:100%; justify-content:center;}
  .h-hook,.h-top .lead{max-width:none;}
  html{scroll-padding-top:88px;}
  .site-header{padding:12px 0;}
  .header-inner.wrap{height:68px; max-width:calc(100% - 24px); border-radius:13px; padding:0 14px;}
  .logo{flex:0 0 110px;}
  .logo img{width:106px;}
  .header-right{margin-left:auto;}
  .header-right .phone{display:none;}
  .hicon{width:29px; height:29px;}
  .hicon img{width:29px; height:29px;}
  .burger{display:flex; order:3; margin-left:auto;}
  .hero{padding-top:6px;}
  .hero-grid{display:grid; grid-template-columns:1fr; grid-template-areas:"top"
      "title"
      "sub"
      "media"
      "bottom"; padding-top:12px; padding-bottom:16px;}
  .hero h1{font-size:clamp(34px,8vw,48px);}
  .h-points{gap:8px;}
  .h-point{font-size:14px;}
  .h-media .track{aspect-ratio:4/3; border-radius:14px;}
  .h-media .dots{bottom:12px;}
  .h-media .prev{left:12px;}
  .h-media .next{right:12px;}
  .section{padding:62px 0;}
  .wrap{padding-left:18px; padding-right:18px;}
  .fam3{gap:10px; grid-template-columns:1fr;}
  .fam3card{padding:12px 14px; gap:13px; grid-template-columns:90px 1fr;}
  .fam3card .ph{width:90px; height:90px;}
  .feat{gap:26px;}
  .qcards{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:760px){
  .site-footer{padding:42px 0 22px;}
  .footer-grid{grid-template-columns:1fr 1fr; gap:34px 26px;}
  .footer-grid > :first-child{grid-column:1 / -1;}
  .site-footer .footer-intro{max-width:620px;}
  .footer-legal{margin-top:30px;}
}

@media (max-width:720px){
  .pcard{padding:15px;}
  .pcard-name{font-size:21px;}
  .pcard-area{font-size:25px;}
  .pcard-media{grid-template-columns:1fr; gap:10px;}
  .pcard-stats{grid-template-columns:repeat(2,1fr); gap:14px 10px;}
  .pcard-foot{flex-direction:column; align-items:stretch;}
  .pcard-foot .btn{width:100%;}
  .pcard-price{text-align:center;}
  .hero-cta{flex-direction:column;}
  .hero-cta .btn{width:100%;}
}

@media (max-width:640px){
  .overlay{padding:10px !important;}
  .overlay .modal{margin:0 auto 12px !important;}
  .modal.modal-quiz{max-height:88vh !important; overflow-y:auto !important;}
  .qm-head{padding:18px 18px 12px !important;}
  .modal-quiz .quiz-body{padding:18px 18px 22px !important;}
}

@media (max-width:560px){
  .poro-card .poro-q-full{display:none;}
  .poro-card.poro-open .poro-q-full{display:block; margin-bottom:0;}
  .poro-card .poro-q-verdict{margin-top:0;}
  .poro-card.poro-open .poro-q-verdict{margin-top:12px;}
  .poro-more{display:inline-flex;}
  .quiz-cta-body{padding:26px 20px;}
  .quiz-cta-media img{height:200px;}
  .final-cta{padding:28px 20px;}
  .final-cta-action{padding:26px 22px;}
  .qm-head{padding:24px 20px 14px;}
  .modal-quiz .quiz-progress{margin:0 20px;}
  .wrap{padding:0 18px;}
  .header-inner{height:64px;}
  .logo-text{font-size:15px;}
  h1{font-size:clamp(27px,8vw,36px);}
  .btn-primary{width:100%;}
  .features{grid-template-columns:1fr; gap:18px;}
  .cbtn{width:40px; height:40px; font-size:21px;}
  .cbtn.prev{left:10px;}
  .cbtn.next{right:10px;}
  .modal{padding:30px 22px;}
  .site-header{padding:9px 0;}
  .header-inner.wrap{max-width:calc(100% - 18px);}
  .logo{flex-basis:96px;}
  .logo img{height:40px; width:94px;}
  .hicons{display:none;}
  .hero h1{font-size:34px;}
  .hero .lead{font-size:16px;}
  .hero .btn-primary{width:100%; justify-content:center;}
  .h-hook{width:100%;}
  .h-media .cbtn{display:none;}
  .sec-head h2, .section h2, .feat-text h2, .gifts-top h2, .quiz-intro h2{font-size:30px;}
  .proj-body{padding:21px 17px;}
  .ctaband{padding:28px 20px;}
  .site-footer{padding-bottom:92px;}
  .qcards{grid-template-columns:1fr;}
  .btn, .gcard .gc-cta, .btn.btn-sm, .proj-cta .btn, .btn-primary, .header-right .btn-ghost, .hero .btn-primary, .proj-foot .btn-primary, .gc-cta, .cat-cta .btn-primary, .gifts-cta-top, .gifts-cta .btn-primary, .archx-info .btn-primary, #culture .btn-primary, #porotherm .btn-primary, #visit .btn-primary, #calc .btn-primary, .modal .btn-primary, .quiz .btn-primary, .qnav-back{font-size:15px; padding:13px 16px; min-height:46px;}
}

@media (max-width:520px){
  .footer-grid{grid-template-columns:1fr;}
  .footer-grid > :first-child{grid-column:auto;}
}

@media (prefers-reduced-motion:reduce){
  .anim{animation:none;}
  .track{scroll-behavior:auto;}
}
