/* Дополнения к style.css: внутренние страницы, объект, формы, модальное окно, видео-виджет, подвал. 1rem = 1px макета 2000. */

/* ---------- шапка внутренних страниц ---------- */
.header--light{position:relative;top:0;left:0;right:0;padding:24rem 30rem 0 32rem}
.header--light .logo{color:var(--ink)}
.header--light .pill--glass{background:var(--card);color:var(--ink2);-webkit-backdrop-filter:none;backdrop-filter:none}
.header--light .pill--glass:hover{background:var(--lime);color:var(--lime-ink)}
.header--light .pill--white{background:var(--dark);color:#fff}
.header--light .burger{background:var(--card)}
.header--light .burger span{background:var(--ink)}
.nav a.is-on{background:var(--lime);color:var(--lime-ink)}

.crumbs{padding:40rem 32rem 0;font-size:18rem;color:var(--grey)}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--ink)}
.page-head{padding:30rem 32rem 70rem;display:grid;grid-template-columns:1002rem 1fr;align-items:end}
.page-head h1{font-size:96rem;line-height:1;font-weight:400;letter-spacing:-.025em;margin:28rem 0 0}
.page-head h1 span{color:var(--grey)}
.page-head p{font-size:22rem;line-height:1.45;font-weight:500;color:var(--ink2);max-width:640rem}

/* ---------- текущий объект ---------- */
.objsec{padding:45rem 30rem 120rem}
.objsec .head2{margin-bottom:70rem}
.status{display:inline-flex;align-items:center;gap:10rem;height:44rem;padding:0 20rem;border-radius:44rem;background:var(--lime);color:var(--lime-ink);font-size:19rem;font-weight:500}
.status::before{content:"";width:10rem;height:10rem;border-radius:50%;background:#6E8A3E;box-shadow:0 0 0 5rem rgba(110,138,62,.18)}
.pcard__thumbs img{cursor:pointer}
.pcard__body{min-width:0}
.pcard__pills{flex-wrap:wrap}
.pcard__title{overflow-wrap:anywhere}
.finrows{margin-top:30rem;border-top:1px solid #D7D7CF}
.finrows div{display:flex;justify-content:space-between;gap:20rem;padding:14rem 0;border-bottom:1px solid #D7D7CF;font-size:21rem;color:#6E6F72}
.finrows b{font-weight:500;color:var(--ink)}
.finrows .hl b{color:var(--dark)}
.pcard__actions{display:flex;flex-wrap:wrap;gap:10rem;margin-top:34rem}
.btn--ghost{background:var(--pill);color:var(--ink2)}
.btn--ghost:hover{background:#d9d9d0}
.btn--md{height:76rem;padding:0 40rem;font-size:20rem}

.scen{display:grid;grid-template-columns:repeat(3,1fr);gap:18rem;margin-top:40rem}
.scen>div{background:#F7F7F2;border-radius:26rem;padding:30rem 30rem 34rem}
.scen>div.is-t{background:var(--dark);color:#fff}
.scen h3{font-size:22rem;font-weight:500;margin-bottom:22rem}
.scen dl{margin:0;display:grid;grid-template-columns:1fr auto;gap:10rem 20rem;font-size:20rem}
.scen dt{color:#77787B}.scen>div.is-t dt{color:#D9DDD0}
.scen dd{margin:0;text-align:right;font-weight:500}
.scen .y{margin-top:26rem;font-size:64rem;letter-spacing:-.03em}

/* ---------- карточки списков ---------- */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:19rem;padding:0 30rem 120rem}
.ocard{display:flex;flex-direction:column;background:var(--card);border-radius:30rem;padding:6rem;text-decoration:none;color:inherit;transition:transform .3s}
.ocard:hover{transform:translateY(-4rem)}
.ocard__img{position:relative;height:420rem;border-radius:24rem;overflow:hidden;background:#ddd}
.ocard__img img{width:100%;height:100%;object-fit:cover}
.ocard__img .status{position:absolute;left:18rem;top:18rem}
.ocard__body{padding:28rem 28rem 30rem;display:flex;flex-direction:column;gap:16rem;flex:1}
.ocard h3{font-size:36rem;font-weight:500;letter-spacing:-.02em;line-height:1.1}
.ocard p{font-size:20rem;line-height:1.4;color:#6E6F72}
.ocard .facts{display:flex;flex-wrap:wrap;gap:8rem;margin-top:auto}
.ocard .facts span{display:inline-flex;align-items:center;height:42rem;padding:0 18rem;border-radius:42rem;background:var(--pill);font-size:18rem;color:var(--ink2)}
.ocard__noimg{height:420rem;border-radius:24rem;background:var(--lime);display:flex;align-items:flex-end;padding:30rem;font-size:64rem;letter-spacing:-.03em;color:var(--lime-ink)}

/* ---------- текстовые страницы ---------- */
.prose{padding:0 32rem 120rem;display:grid;grid-template-columns:1002rem 1fr}
.prose__body{font-size:22rem;line-height:1.6;color:var(--ink2);max-width:1100rem}
.prose__body h2{font-size:44rem;line-height:1.1;font-weight:500;letter-spacing:-.02em;color:var(--ink);margin:60rem 0 20rem}
.prose__body h3{font-size:28rem;font-weight:500;color:var(--ink);margin:36rem 0 12rem}
.prose__body p{margin:0 0 16rem}
.prose__body ul{margin:0 0 16rem;padding-left:28rem}
.prose__body li{margin-bottom:8rem}
.prose__body a{color:var(--dark)}
.prose__aside{position:sticky;top:30rem;align-self:start;margin-left:40rem}
.adv{display:grid;grid-template-columns:repeat(2,1fr);gap:19rem;padding:0 30rem 120rem}
.adv>div{background:var(--card);border-radius:30rem;padding:44rem 44rem 48rem}
.adv>div:nth-child(4n+1){background:var(--lime)}
.adv b{display:block;font-size:72rem;font-weight:400;letter-spacing:-.03em;color:var(--ink);margin-bottom:20rem}
.adv h3{font-size:32rem;font-weight:500;letter-spacing:-.02em;margin-bottom:16rem}
.adv p{font-size:21rem;line-height:1.45;color:#5A5B5F}
.faq{padding:0 32rem 120rem;display:grid;grid-template-columns:1002rem 1fr}
.faq details{background:var(--card);border-radius:24rem;margin-bottom:12rem;padding:0 34rem}
.faq summary{list-style:none;cursor:pointer;padding:30rem 50rem 30rem 0;font-size:26rem;font-weight:500;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:22rem;font-size:40rem;font-weight:300;transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 30rem;font-size:21rem;line-height:1.5;color:#5A5B5F}

/* ---------- формы заявки ---------- */
.lead{margin:0 20rem 20rem;padding:18rem 52rem 60rem;border-radius:40rem;background:var(--lime)}
.lead__grid{display:grid;grid-template-columns:1fr 760rem;gap:60rem;align-items:end;margin-top:37rem}
.lead .h2{font-size:90rem;line-height:1;color:#3B3C40}
.lead__text{margin-top:30rem;font-size:22rem;line-height:1.4;font-weight:500;color:#4D5243;max-width:640rem}
.lform{background:var(--bg);border-radius:30rem;padding:40rem 40rem 36rem}
.lform .field{margin-bottom:16rem}
.lform .field>span{display:block;font-size:20rem;color:#6E6F72;margin-bottom:8rem}
.lform input[type=text],.lform input[type=tel]{width:100%;height:80rem;border:0;border-radius:14rem;background:var(--card);padding:0 28rem;font:inherit;font-size:26rem;color:var(--ink);outline:none;transition:box-shadow .2s}
.lform input:focus{box-shadow:0 0 0 2rem var(--lime-ink)}
.lform .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.consent{display:flex;gap:14rem;align-items:flex-start;margin:20rem 0 26rem;font-size:17rem;line-height:1.4;color:#77787B;cursor:pointer}
.consent input{appearance:none;-webkit-appearance:none;flex:none;width:30rem;height:30rem;border-radius:9rem;background:var(--card);margin:0;cursor:pointer;display:grid;place-items:center;transition:background .2s}
.consent input:checked{background:var(--dark)}
.consent input:checked::after{content:"";width:12rem;height:7rem;border:2.5rem solid #fff;border-top:0;border-right:0;transform:translateY(-2rem) rotate(-45deg)}
.consent a{color:var(--ink2)}
.lform .btn{width:100%;height:84rem}
.lform .btn[disabled]{opacity:.6;cursor:wait}
.form-msg{display:none;margin-top:16rem;font-size:19rem;line-height:1.4}
.form-msg.is-err{display:block;color:#B5574B}
.form-ok{display:none;text-align:center;padding:30rem 10rem}
.form-ok b{display:block;font-size:40rem;font-weight:500;letter-spacing:-.02em;color:var(--ink);margin-bottom:12rem}
.form-ok p{font-size:21rem;color:#6E6F72}
.lform.is-done form{display:none}.lform.is-done .form-ok{display:block}

/* ---------- модальное окно ---------- */
.modal{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(30,32,30,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.modal.is-open{display:flex}
.modal__box{position:relative;width:min(560px,100%);background:var(--bg);border-radius:28px;padding:34px 30px 28px;max-height:92vh;overflow:auto}
.modal__box h3{font-size:30px;line-height:1.05;font-weight:400;letter-spacing:-.02em;margin-bottom:8px}
.modal__box h3 span{color:var(--grey)}
.modal__box .sub{font-size:15px;color:#6E6F72;margin-bottom:18px}
.modal__box .lform{padding:0;background:none}
.modal .lform input[type=text],.modal .lform input[type=tel]{height:58px;font-size:18px;border-radius:12px;padding:0 18px}
.modal .lform .field>span{font-size:14px}
.modal .consent{font-size:13px;gap:10px}.modal .consent input{width:22px;height:22px;border-radius:7px}
.modal .consent input:checked::after{width:9px;height:5px;border-width:2px}
.modal .lform .btn{height:60px;font-size:17px}
.modal .form-msg{font-size:14px}.modal .form-ok b{font-size:26px}.modal .form-ok p{font-size:15px}
.x{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;background:var(--card);display:grid;place-items:center;font-size:22px;line-height:1;color:var(--ink2)}
.x:hover{background:var(--pill)}

/* ---------- видео-виджет (в px: одинаковый размер на любом экране) ---------- */
.vw{position:fixed;right:22px;bottom:22px;z-index:50;width:132px;height:196px;border-radius:22px;overflow:hidden;background:#222;
  box-shadow:0 14px 40px rgba(30,32,30,.28),0 0 0 4px rgba(247,247,242,.9);cursor:pointer;
  transition:width .45s cubic-bezier(.2,.8,.2,1),height .45s cubic-bezier(.2,.8,.2,1),border-radius .45s,opacity .3s,transform .3s}
.vw:hover{transform:translateY(-3px)}
.vw video{width:100%;height:100%;object-fit:cover;display:block}
.vw__play{position:absolute;left:10px;bottom:10px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;place-items:center}
.vw__play svg{width:14px;height:14px;fill:#fff;margin-left:2px}
.vw__close{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:50%;background:rgba(20,22,20,.45);color:#fff;font-size:15px;line-height:1;display:grid;place-items:center;z-index:3}
.vw__panel{display:none}
.vw.is-open{width:min(380px,calc(100vw - 32px));height:min(740px,calc(100vh - 44px));border-radius:28px;cursor:default;background:var(--bg);transform:none;display:flex;flex-direction:column}
.vw.is-open .vw__play{display:none}
.vw.is-open .vw__media{position:relative;flex:1;min-height:0;margin:8px 8px 0;border-radius:22px;overflow:hidden;background:#000}
.vw.is-open video{object-fit:contain;background:#000}
.vw.is-open .vw__panel{display:block;padding:14px 16px 16px}
.vw__media{position:absolute;inset:0}
.vw.is-open .vw__close{top:16px;right:16px;background:rgba(20,22,20,.55)}
.vw__title{font-size:16px;font-weight:500;letter-spacing:-.01em;margin-bottom:10px;color:var(--ink)}
.vw .btn{height:54px;width:100%;font-size:16px;padding:0}
.vw .lform{padding:0;background:none}
.vw .lform input[type=text],.vw .lform input[type=tel]{height:50px;font-size:16px;border-radius:12px;padding:0 16px}
.vw .lform .field{margin-bottom:8px}.vw .lform .field>span{display:none}
.vw .consent{font-size:11.5px;gap:8px;margin:8px 0 10px}.vw .consent input{width:20px;height:20px;border-radius:6px}
.vw .consent input:checked::after{width:8px;height:4px;border-width:2px}
.vw .form-msg{font-size:13px}.vw .form-ok{padding:6px}.vw .form-ok b{font-size:20px}.vw .form-ok p{font-size:13px}
.vw.is-open.is-form{height:auto}
.vw.is-form .vw__media{flex:none;height:230px}
.lform input::placeholder{color:#A9AAA6}
.vw.is-form .vw__cta{display:none}
.vw__form{display:none}.vw.is-form .vw__form{display:block}
.vw.is-hidden{opacity:0;pointer-events:none;transform:translateY(20px)}
.vw.is-open{z-index:80}
.vw-backdrop{position:fixed;inset:0;z-index:75;background:rgba(30,32,30,.4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .3s ease}
.vw-backdrop.is-on{opacity:1;pointer-events:auto;cursor:pointer}

/* ---------- подвал ---------- */
.foot{margin-top:20rem;padding:70rem 32rem 50rem;background:var(--bg2);display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40rem;font-size:19rem;color:#6E6F72}
.foot .logo{color:var(--ink);margin-bottom:24rem}
.foot h4{font-size:19rem;font-weight:500;color:var(--ink);margin:0 0 18rem}
.foot a{display:block;text-decoration:none;margin-bottom:10rem;color:var(--ink2)}
.foot a:hover{color:var(--ink)}
.foot__tel{font-size:30rem;letter-spacing:-.02em;color:var(--ink) !important}
.foot__bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:30rem;flex-wrap:wrap;border-top:1px solid #DCDCD5;padding-top:30rem;font-size:16rem;line-height:1.5}
.foot__bottom a{display:inline;margin:0 0 0 18rem;text-decoration:underline;text-decoration-color:#C9C9C0}

.team2{display:grid;grid-template-columns:repeat(2,1fr);gap:19rem;margin-bottom:19rem}
.tcard{display:grid;grid-template-columns:330rem 1fr;background:var(--card);border-radius:30rem;padding:6rem;min-height:420rem}
.tcard img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;border-radius:24rem}
.tcard div{padding:40rem 44rem}
.tcard small{display:block;font-size:19rem;color:var(--grey)}
.tcard h3{font-size:44rem;font-weight:500;letter-spacing:-.025em;margin:10rem 0 26rem;color:var(--ink2)}
.tcard ul{list-style:none;margin:0;padding:0;border-top:1px solid #D7D7CF}
.tcard li{padding:14rem 0;border-bottom:1px solid #D7D7CF;font-size:21rem;color:var(--ink2)}

.e404{min-height:70vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:0 32rem}
.e404 b{font-size:220rem;font-weight:400;letter-spacing:-.05em;line-height:1;color:var(--lime-ink)}

/* =================== ПЛАНШЕТ / ТЕЛЕФОН =================== */

/* ---------- закреплённая шапка ---------- */
.header.is-stuck{position:fixed;z-index:60;top:14rem;left:24rem;right:24rem;padding:10rem 10rem 10rem 26rem;border-radius:80rem;
  background:rgba(247,247,242,.8);-webkit-backdrop-filter:blur(22px) saturate(1.4);backdrop-filter:blur(22px) saturate(1.4);
  box-shadow:0 10rem 40rem rgba(30,32,28,.12),inset 0 0 0 1px rgba(255,255,255,.5);animation:hdrIn .45s cubic-bezier(.2,.8,.2,1)}
.header.is-stuck .logo{color:var(--ink)}
.header.is-stuck .pill--glass{background:rgba(255,255,255,.55);color:var(--ink2);-webkit-backdrop-filter:none;backdrop-filter:none}
.header.is-stuck .pill--glass:hover,.header.is-stuck .pill--glass.is-on{background:var(--lime);color:var(--lime-ink)}
.header.is-stuck .pill--white{background:var(--dark);color:#fff}
.header.is-stuck .burger{background:rgba(255,255,255,.6)}
.header.is-stuck .burger span{background:var(--ink)}
.hdr-spacer{display:none}
.hdr-spacer.is-on{display:block}
@keyframes hdrIn{from{transform:translateY(-140%);opacity:0}to{transform:none;opacity:1}}

/* ---------- статусы объектов ---------- */
.status.st-closed{background:#E4E4DC;color:var(--ink2)}
.status.st-closed::before{background:#8B8C8E;box-shadow:0 0 0 5rem rgba(139,140,142,.18)}
.status.st-work{background:#F1E2C0;color:#6B4E16}
.status.st-work::before{background:#C98A1E;box-shadow:0 0 0 5rem rgba(201,138,30,.2)}
.status.st-sale{background:#D3E2EC;color:#2E4B63}
.status.st-sale::before{background:#3F7FB0;box-shadow:0 0 0 5rem rgba(63,127,176,.2)}
.status.st-sold{background:var(--dark);color:#fff}
.status.st-sold::before{background:var(--lime);box-shadow:0 0 0 5rem rgba(213,223,159,.25)}
.status.st-open::before{animation:stPulse 2s ease-in-out infinite}
@keyframes stPulse{50%{box-shadow:0 0 0 9rem rgba(110,138,62,0)}}
.resbadge{display:flex;flex-direction:column;gap:6rem;margin-top:26rem;padding:22rem 26rem;border-radius:22rem;background:var(--dark);color:#fff}
.resbadge__k{font-size:17rem;color:var(--lime);text-transform:uppercase;letter-spacing:.06em}
.resbadge b{font-size:30rem;font-weight:500;letter-spacing:-.01em}
.resbadge span:last-child{font-size:18rem;color:#D9DDD0}
.raise{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8rem 16rem;margin-top:26rem;font-size:18rem;color:var(--ink2)}
.raise__bar{flex:0 0 100%;height:12rem;border-radius:12rem;background:var(--pill);overflow:hidden}
.raise__bar i{display:block;height:100%;border-radius:12rem;background:var(--dark)}
.pnote{margin-top:18rem;padding-left:16rem;border-left:3rem solid var(--lime);font-size:19rem;line-height:1.4;color:var(--ink2)}
.resflag{position:absolute;left:18rem;bottom:18rem;display:inline-flex;align-items:center;height:44rem;padding:0 20rem;border-radius:44rem;background:var(--lime);color:var(--lime-ink);font-size:19rem;font-weight:500}
.steps{margin-top:40rem;padding:44rem 48rem;border-radius:30rem;background:var(--card)}
.steps ol{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:16rem;margin:0;padding:0}
.steps li{position:relative;display:flex;flex-direction:column;gap:6rem;padding-top:34rem;font-size:19rem;color:var(--grey)}
.steps li i{position:absolute;top:0;left:0;width:22rem;height:22rem;border-radius:50%;background:var(--bg);box-shadow:inset 0 0 0 3rem var(--pill)}
.steps li::after{content:"";position:absolute;top:10rem;left:30rem;right:-8rem;height:2rem;background:var(--pill)}
.steps li:last-child::after{display:none}
.steps li b{font-weight:500;color:var(--ink2);font-size:20rem;line-height:1.25}
.steps li.is-done i{background:var(--dark);box-shadow:none}
.steps li.is-done::after{background:var(--dark)}
.steps li.is-now i{background:var(--lime);box-shadow:0 0 0 6rem rgba(213,223,159,.45)}
.steps li.is-now b{color:var(--ink)}

/* ---------- карта объектов ---------- */
.omap{position:relative;isolation:isolate;margin:0 32rem 40rem;border-radius:30rem;overflow:hidden;background:var(--card)}
.omap__map{height:560rem;z-index:0}
.omap .leaflet-tile-pane{filter:saturate(.55) brightness(1.03)}
.omap__legend{position:absolute;z-index:500;left:18rem;bottom:18rem;display:flex;flex-wrap:wrap;gap:8rem;max-width:70%}
.omap__legend .status{height:36rem;font-size:15rem;padding:0 14rem;box-shadow:0 4rem 14rem rgba(0,0,0,.08)}
.opin{display:block;width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--dark);border:3px solid #fff;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.opin.st-open{background:#6E8A3E}.opin.st-work{background:#C98A1E}.opin.st-sale{background:#3F7FB0}.opin.st-closed{background:#8B8C8E}.opin.st-sold{background:#3E3F43}
.omap .leaflet-popup-content-wrapper{border-radius:18px;padding:0;overflow:hidden}
.omap .leaflet-popup-content{margin:0;width:240px!important;font:14px/1.35 "Inter Tight",system-ui,sans-serif;color:var(--ink)}
.opop img{display:block;width:100%;height:130px;object-fit:cover}
.opop div{padding:12px 14px 14px}
.opop b{display:block;font-size:17px;font-weight:500;margin:6px 0 2px}
.opop small{display:block;color:var(--grey)}
.opop em{display:block;font-style:normal;margin-top:6px;color:var(--lime-ink);font-weight:500}
.opop a{display:inline-block;margin-top:10px;padding:8px 14px;border-radius:30px;background:var(--dark);color:#fff!important;text-decoration:none}
.opop .status{height:26px;font-size:12px;padding:0 10px;gap:6px}
.opop .status::before{width:7px;height:7px}

.y2{display:flex;gap:28rem;flex-wrap:wrap}
@media (max-width:900px){
  .header.is-stuck{top:16rem;left:20rem;right:20rem;padding:12rem 12rem 12rem 24rem}
  .header.is-stuck .nav{background:var(--bg);box-shadow:0 10px 40px rgba(0,0,0,.12)}
  .resbadge{padding:26rem 28rem}
  .resbadge__k{font-size:22rem}.resbadge b{font-size:36rem}.resbadge span:last-child,.raise,.pnote{font-size:24rem}
  .resflag{height:54rem;font-size:23rem}
  .steps{padding:40rem 32rem}
  .steps ol{grid-template-columns:1fr;gap:0}
  .steps li{padding:0 0 34rem 52rem;font-size:24rem}
  .steps li b{font-size:27rem}
  .steps li::after{top:30rem;bottom:2rem;left:13rem;right:auto;width:2rem;height:auto}
  .steps li i{width:28rem;height:28rem}
  .omap{margin:0 28rem 40rem}
  .omap__map{height:640rem}
  .omap__legend{max-width:none;right:18rem}
  .omap__legend .status{height:44rem;font-size:20rem}
  .header--light{padding:28rem 28rem 0}
  .header--light .nav{background:var(--bg);box-shadow:0 10px 40px rgba(0,0,0,.12)}
  .crumbs{padding:40rem 28rem 0;font-size:24rem}
  .page-head{grid-template-columns:1fr;padding:24rem 28rem 50rem;gap:30rem}
  .page-head h1{font-size:72rem}
  .page-head p{font-size:28rem}
  .objsec{padding:70rem 28rem 90rem}
  .status{height:56rem;font-size:24rem;padding:0 24rem}
  .finrows div{font-size:27rem;padding:18rem 0}
  .pcard__actions .btn{flex:1}
  .btn--md{height:96rem;font-size:27rem}
  .scen{grid-template-columns:1fr;gap:16rem}
  .scen>div{padding:34rem}
  .scen h3{font-size:30rem}.scen dl{font-size:27rem}.scen .y{font-size:80rem}
  .cards3{grid-template-columns:1fr;padding:0 28rem 90rem;gap:20rem}
  .ocard__img,.ocard__noimg{height:480rem}
  .ocard h3{font-size:46rem}.ocard p{font-size:27rem}.ocard .facts span{height:54rem;font-size:24rem;padding:0 22rem}
  .prose,.faq{grid-template-columns:1fr;padding:0 28rem 90rem}
  .prose__body{font-size:28rem}
  .prose__body h2{font-size:48rem}.prose__body h3{font-size:34rem}
  .prose__aside{position:static;margin:40rem 0 0}
  .adv{grid-template-columns:1fr;padding:0 28rem 90rem}
  .adv>div{padding:40rem}.adv b{font-size:80rem}.adv h3{font-size:40rem}.adv p{font-size:27rem}
  .faq summary{font-size:30rem;padding:32rem 56rem 32rem 0}.faq details p{font-size:27rem}
  .lead{margin:0 16rem 16rem;padding:30rem 28rem 30rem}
  .lead__grid{grid-template-columns:1fr;gap:40rem}
  .lead .h2{font-size:64rem}
  .lead__text{font-size:27rem}
  .lform{padding:34rem 30rem}
  .lform .field>span{font-size:26rem}
  .lform input[type=text],.lform input[type=tel]{height:100rem;font-size:32rem}
  .consent{font-size:23rem;gap:18rem}.consent input{width:40rem;height:40rem;border-radius:12rem}
  .consent input:checked::after{width:16rem;height:9rem;border-width:3.5rem}
  .lform .btn{height:100rem;font-size:28rem}
  .form-msg{font-size:25rem}
  .foot{grid-template-columns:1fr 1fr;padding:60rem 28rem 50rem;font-size:26rem;gap:40rem}
  .foot>div:first-child{grid-column:1/-1}
  .foot h4{font-size:26rem}.foot__tel{font-size:40rem}
  .foot__bottom{font-size:22rem;flex-direction:column}
  .foot__bottom a{margin:0 18rem 0 0}
  .team2{grid-template-columns:1fr}
  .tcard{grid-template-columns:1fr}
  .tcard img{height:600rem}
  .tcard div{padding:30rem 28rem 36rem}
  .tcard small{font-size:25rem}.tcard h3{font-size:52rem}.tcard li{font-size:28rem}
  .vw{right:14px;bottom:14px;width:104px;height:156px;border-radius:18px}
  .vw.is-open{right:12px;bottom:12px;height:calc(100vh - 24px);height:calc(100dvh - 24px)}
  .vw.is-open .vw__close{width:40px;height:40px;font-size:20px;top:18px;right:18px}
}
@media (prefers-reduced-motion:reduce){.vw,.vw-backdrop{transition:none}.header.is-stuck,.status.st-open::before{animation:none}}
