:root{
  --petrolio:#143A3D; --avorio:#EFE8DF; --sabbia:#D8C8B6; --carbone:#252D2D; --terracotta:#AD6651;
  --serif:"Cormorant Garamond",Georgia,serif; --sans:Inter,system-ui,sans-serif;
  --r:4px; --header:120px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--header)}
body{margin:0;background:var(--avorio);color:var(--carbone);font:400 1rem/1.7 var(--sans);-webkit-text-size-adjust:100%}
img{display:block;max-width:100%;height:auto}
a{color:var(--petrolio)}
h1,h2,h3{font-family:var(--serif);color:var(--petrolio);font-weight:600;line-height:1.1;margin:0 0 16px}
h2,.page-main h1{font-size:clamp(2.25rem,5vw,3.5rem)}
h3{font-size:1.5rem}
p{margin:0 0 16px}
.container{width:min(1120px,100% - 48px);margin-inline:auto}
:focus-visible{outline:3px solid var(--terracotta);outline-offset:3px}
.skip-link{position:absolute;left:8px;top:-60px;background:var(--petrolio);color:#fff;padding:8px 16px;z-index:100;border-radius:var(--r)}
.skip-link:focus{top:8px}

/* Header */
.site-header{position:fixed;inset:0 0 auto 0;height:var(--header);background:var(--avorio);border-bottom:1px solid var(--sabbia);z-index:50}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%}
.brand{display:flex;align-items:center;gap:20px;font:600 clamp(2.25rem,3.8vw,3.75rem)/1 var(--serif);color:var(--petrolio);text-decoration:none}
.brand-logo{height:96px;width:auto;mix-blend-mode:multiply;filter:brightness(1.18) contrast(1.3)}
.site-nav{display:flex;align-items:center;gap:24px}
.site-nav a:not(.btn){text-decoration:none;font-weight:500;font-size:.95rem}
.site-nav a:not(.btn):hover{text-decoration:underline;text-underline-offset:6px}
@media (min-width:1366px){
  .header-inner.container{width:100%;padding-inline:32px}
  .site-nav a:not(.btn),.site-nav .btn{font-size:1.25rem}
}
.menu-toggle{display:none;background:none;border:1px solid var(--petrolio);color:var(--petrolio);padding:8px 16px;border-radius:var(--r);font:500 .95rem var(--sans);cursor:pointer}

/* Bottoni */
.btn{display:inline-block;background:var(--petrolio);color:#fff;border:2px solid var(--petrolio);padding:12px 24px;border-radius:var(--r);font-weight:600;text-decoration:none;line-height:1.3}
.btn:hover{background:#0d2a2c}
.btn-small{padding:8px 16px}
.btn-light{background:transparent;color:#fff;border-color:#fff}
.btn-light:hover{background:rgba(255,255,255,.15)}
.btn-outline{background:transparent;color:var(--petrolio)}
.btn-outline:hover{background:var(--petrolio);color:#fff}
.is-placeholder{cursor:not-allowed;font-weight:500}
.actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px}

/* Hero */
.hero{position:relative;margin-top:var(--header);padding:32px 0 40px;background:var(--petrolio)}
.hero-videos{display:flex;justify-content:center;gap:12px;padding-inline:24px}
.hero-video{--h:min(640px,calc(100svh - var(--header) - 72px),calc((100vw - 48px - 24px)/3*16/9))}
.hero-video{position:relative;overflow:hidden;background:#0d2a2c;height:var(--h);aspect-ratio:9/16;flex:0 0 auto;border-radius:var(--r)}
.hero-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.video-toggle{position:absolute;right:24px;bottom:8px;z-index:2;background:rgba(13,42,44,.6);color:#fff;border:1px solid rgba(255,255,255,.7);padding:6px 14px;border-radius:var(--r);font:500 .85rem var(--sans);cursor:pointer}
.video-toggle:hover{background:rgba(13,42,44,.85)}
.t-play,.video-toggle[aria-pressed="true"] .t-pause{display:none}
.video-toggle[aria-pressed="true"] .t-play{display:inline}

/* Presentazione */
.intro-head{max-width:460px}
.intro-head h1{font-size:clamp(2.25rem,4vw,3.25rem)}
.intro-name{font:600 1.25rem var(--serif);color:var(--petrolio);margin-bottom:8px}
.intro-sub{font-size:1.05rem}

/* Sezioni */
.section{padding:16px 0 96px}
#struttura{padding-bottom:210px}
.sand{background:var(--sabbia)}
.two-col{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;align-items:start}
.prose{max-width:62ch}
.prose-p{max-width:46ch}
.address{border-left:3px solid var(--terracotta);padding-left:16px}
.note{max-width:70ch}

/* Appartamenti: stessa struttura, identita diversa */
.apt-pupi{background:#f6f1ea;border-top:6px solid var(--petrolio)}
.apt-mori{background:var(--sabbia);border-top:6px solid var(--terracotta)}
.apt-head{max-width:76ch;margin-bottom:16px}
.apt-head .lead{font-size:1.15rem}
.apt-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:start}
.apt-grid>*{min-width:0}
.apt-mori .apt-grid{grid-template-columns:1fr 1.5fr}
.apt-mori .carousel-wrap{order:2}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.gallery figure{margin:0;overflow:hidden;border-radius:var(--r);background:var(--sabbia)}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.g-main{grid-column:1/-1}
.g-main img{aspect-ratio:3/2}
.apt-info h3{margin-bottom:8px}
.facts{margin:0 0 16px}
.facts div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid rgba(37,45,45,.25)}
.facts dt{font-weight:600}
.facts dd{margin:0;text-align:right}

/* Carosello */
.carousel{position:relative}
.c-viewport{position:relative}
.c-track{display:flex;list-style:none;margin:0;padding:0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;border-radius:var(--r);background:var(--sabbia);position:relative}
.c-track::-webkit-scrollbar{display:none}
.c-slide{flex:0 0 100%;scroll-snap-align:start}
.c-slide img{width:100%;aspect-ratio:4/3;object-fit:cover}
.c-slide.v img{object-fit:contain}
.apt .c-slide img{aspect-ratio:16/9}
.c-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:var(--r);background:rgba(239,232,223,.92);color:var(--petrolio);font:600 2rem/1 var(--serif);cursor:pointer;padding:0 0 4px}
.c-btn:hover{background:#fff}
.c-btn:disabled{opacity:.35;cursor:default}
.c-prev{left:12px}.c-next{right:12px}
.c-thumbs{display:flex;gap:6px;overflow-x:auto;margin-top:4px;padding-bottom:2px;position:relative;scrollbar-width:thin}
.c-thumbs button{flex:0 0 60px;padding:0;border:2px solid transparent;border-radius:var(--r);background:none;cursor:pointer;opacity:.7}
.c-thumbs button img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px}
.c-thumbs button[aria-current="true"]{border-color:var(--terracotta);opacity:1}

/* Cortiletto */
.yard{background:#f6f1ea;border-top:6px solid var(--sabbia)}
.yard-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center}
.yard-photo{margin:0;border-radius:var(--r);overflow:hidden}
.yard-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* Dotazioni */
.amenities{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:0 48px;margin-top:40px}
.amenity{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--sabbia)}
.amenity svg{flex:0 0 28px;width:28px;height:28px;fill:none;stroke:var(--petrolio);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* Segnaposto */
.todo{display:inline-block;background:#fff;color:var(--carbone);border:1px dashed var(--terracotta);padding:0 8px;border-radius:var(--r);font-size:.85em;font-weight:500}

/* Form dimostrativo */
.demo-form{background:var(--avorio);padding:32px;border-radius:var(--r)}
.demo-form fieldset{border:0;padding:0;margin:0;display:grid;gap:16px}
.demo-form label{display:grid;gap:4px;font-weight:500;font-size:.95rem}
.demo-form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.demo-form input,.demo-form select{font:inherit;padding:10px 12px;border:1px solid var(--carbone);border-radius:var(--r);background:#fff;width:100%}
.demo-form button{font:600 1rem var(--sans);padding:12px;border-radius:var(--r);border:0;background:#8a9a9b;color:#fff;cursor:not-allowed}
.badge{font:500 .8rem var(--sans);background:var(--petrolio);color:#fff;padding:2px 10px;border-radius:var(--r);vertical-align:middle;margin-left:8px}

/* Form di richiesta (attivato da main.js) */
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
button.btn{font:inherit;font-weight:600;line-height:1.3;cursor:pointer}
.req-form{background:var(--avorio);padding:32px;border-radius:var(--r)}
.req-form[hidden],.req-form [hidden]{display:none!important}
.req-fields{display:grid;gap:24px}
.req-form fieldset{border:0;padding:0;margin:0;min-width:0}
.req-form legend{padding:0;margin-bottom:8px;font-weight:600}
.req-form label{display:grid;gap:4px;font-weight:500;font-size:.95rem}
.req-form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.req-form input[type="text"],.req-form input[type="email"],.req-form input[type="tel"],.req-form select,.req-form textarea{font:inherit;color:var(--carbone);padding:10px 12px;border:1px solid var(--carbone);border-radius:var(--r);background:#fff;width:100%}
.req-form textarea{resize:vertical;min-height:112px}
.req-form .opt{font-weight:400;color:#4a5352}
.form-note{margin:0 0 12px;font-size:.85rem}
.req-fields>.form-note{margin:0}
.req-form .check{display:flex;align-items:center;gap:12px;font-weight:500}
.req-form .check input{flex:0 0 20px;width:20px;height:20px;accent-color:var(--petrolio)}

/* Scelta appartamento */
.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.req-form .choice{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border:1px solid var(--carbone);border-radius:var(--r);background:#fff;cursor:pointer;font-weight:400}
.choice input{flex:0 0 20px;width:20px;height:20px;margin:4px 0 0;accent-color:var(--petrolio)}
.choice strong{display:block;font:600 1.5rem/1.1 var(--serif);color:var(--petrolio)}
.choice:has(input:checked){border-color:var(--petrolio);box-shadow:0 0 0 2px var(--petrolio)}
.choice:has(input:focus-visible){outline:3px solid var(--terracotta);outline-offset:3px}

/* Calendario */
.cal{background:#fff;border:1px solid var(--sabbia);border-radius:var(--r);padding:12px}
.cal-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.cal-title{font:600 1.5rem/1.1 var(--serif);color:var(--petrolio);text-transform:capitalize;text-align:center}
.cal-nav{flex:0 0 44px;width:44px;height:44px;border:1px solid var(--petrolio);border-radius:var(--r);background:transparent;color:var(--petrolio);font:600 1.75rem/1 var(--serif);padding:0 0 4px;cursor:pointer}
.cal-nav:hover{background:var(--petrolio);color:#fff}
.cal-nav[aria-disabled="true"]{opacity:.35;cursor:default;background:transparent;color:var(--petrolio)}
.cal-table{width:100%;border-collapse:separate;border-spacing:2px;table-layout:fixed}
.cal-table th{font:500 .8rem var(--sans);color:#4a5352;padding:4px 0;text-align:center}
.cal-table abbr{text-decoration:none}
.cal-table td{padding:0}
.cal-day{display:block;width:100%;height:44px;padding:0;border:1px solid var(--sabbia);border-radius:var(--r);background:#fff;color:var(--carbone);font:500 .95rem var(--sans);cursor:pointer}
.cal-day:hover{border-color:var(--petrolio)}
.cal-day:focus-visible{outline-offset:2px}
.cal-day.dentro{background:var(--sabbia);border-color:var(--sabbia)}
.cal-day.sel{background:var(--petrolio);border-color:var(--petrolio);color:#fff}
.cal-day.occupato,.cal-day.fuori,.cal-day.passato{background:transparent;border-color:transparent;color:#6b7271;cursor:not-allowed}
.cal-day.occupato{text-decoration:line-through}
.cal-day.passato{opacity:.6}
.cal-day.occupato:hover,.cal-day.fuori:hover,.cal-day.passato:hover{border-color:transparent}
.cal-legend{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.85rem}
.cal-legend li{display:flex;align-items:center;gap:8px}
.sw{width:16px;height:16px;border:1px solid var(--sabbia);border-radius:2px;background:#fff}
.sw-busy{border-color:transparent;background:linear-gradient(to top right,transparent calc(50% - 1px),#6b7271 calc(50% - 1px),#6b7271 calc(50% + 1px),transparent calc(50% + 1px))}
.sw-sel{background:var(--petrolio);border-color:var(--petrolio)}
.cal-msg{min-height:1.7em;margin:12px 0 0;font-size:.95rem}
.cal-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;margin-top:8px;padding:12px 16px;background:#fff;border:1px solid var(--sabbia);border-radius:var(--r);font-size:.95rem}
.link-btn{background:none;border:0;padding:4px 0;font:500 .95rem var(--sans);color:var(--petrolio);text-decoration:underline;text-underline-offset:4px;cursor:pointer}

/* Avvisi, stato e invio */
.notice{margin:0 0 12px;padding:12px 16px;background:#fff;border:1px solid var(--sabbia);border-left:4px solid var(--terracotta);border-radius:var(--r);font-size:.95rem}
.notice p{margin:0}
.notice .actions{margin-top:12px}
.form-status{margin:0;border-radius:var(--r);font-weight:500}
.form-status.is-err{padding:12px 16px;background:#fff;border:1px solid var(--terracotta);border-left-width:4px}
.req-submit{width:100%;text-align:center}
.req-submit:disabled{background:#8a9a9b;border-color:#8a9a9b;cursor:wait}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.req-done{outline:none;margin-top:24px}
.req-done h4{font:600 1.75rem/1.1 var(--serif);color:var(--petrolio);margin:0 0 16px}

/* Indicatore video (solo mobile) */
.hero-dots{display:none;position:absolute;left:50%;bottom:16px;transform:translateX(-50%);gap:8px}
.hero-dots span{width:8px;height:8px;border-radius:50%;background:rgba(239,232,223,.4)}
.hero-dots span.on{background:var(--avorio)}

/* Footer social */
.social{list-style:none;margin:0 0 16px;padding:0;display:flex;justify-content:center;gap:16px}
.social a{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(239,232,223,.55);border-radius:var(--r);color:var(--avorio)}
.social a:hover{background:rgba(239,232,223,.15)}
.social a:focus-visible{outline-color:var(--avorio)}
.social svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* Recensioni */
.reviews-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.reviews-top h2{margin:0}
.reviews-nav{display:flex;gap:10px;flex:0 0 auto}
.rev-btn{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--petrolio);border:1.5px solid var(--petrolio);border-radius:50%;cursor:pointer;transition:background .2s,color .2s,opacity .2s}
.rev-btn:hover:not(:disabled){background:var(--petrolio);color:var(--avorio)}
.rev-btn:focus-visible{outline:3px solid var(--petrolio);outline-offset:3px}
.rev-btn:disabled{opacity:.35;cursor:default}
.rev-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.reviews-viewport{position:relative;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:var(--r)}
.reviews-viewport::-webkit-scrollbar{display:none}
.reviews-viewport:focus-visible{outline:3px solid var(--petrolio);outline-offset:4px}
.reviews-track{list-style:none;margin:0;padding:0;display:flex;gap:24px;align-items:stretch}
.reviews-track>li{flex:0 0 356px;max-width:86vw;display:flex;scroll-snap-align:start}
.review-card{display:flex;flex-direction:column;width:100%;background:#fff;border:1px solid var(--sabbia);border-radius:var(--r);padding:20px}
.review-head{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.review-score{flex:0 0 auto;min-width:46px;padding:8px 8px;white-space:nowrap;text-align:center;background:var(--petrolio);color:var(--avorio);font:600 1.15rem/1 var(--sans);border-radius:var(--r)}
.review-meta{margin:0;font-size:.9rem;line-height:1.4}
.review-meta strong{font-size:1rem;overflow-wrap:anywhere}
.review-meta span{display:block;color:#4a5352}
.review-body{flex:1 1 auto}
.review-title{margin:0 0 8px;font:600 1.15rem/1.25 var(--serif);color:var(--petrolio)}
.review-score small{font-size:.65em;font-weight:500;opacity:.8;margin-left:1px}
.review-text{margin:0 0 12px;font-size:.95rem;white-space:pre-line}
.rev-clamp .review-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;line-clamp:6;overflow:hidden}
.review-more{display:inline-block;margin:0 0 12px;padding:6px 0;background:none;border:0;border-bottom:1.5px solid var(--petrolio);color:var(--petrolio);font:600 .9rem/1.2 var(--sans);cursor:pointer}
.review-more:hover{background:rgba(24,60,60,.08)}
.review-more:focus-visible{outline:3px solid var(--petrolio);outline-offset:3px}
.rev-dialog{width:min(560px,92vw);max-height:86vh;padding:0;border:0;border-radius:var(--r);background:#fff;color:inherit;overflow:auto}
.rev-dialog::backdrop{background:rgba(10,30,30,.55)}
.rev-dialog .review-card{border:0;border-radius:0;padding:28px 24px 24px}
.rev-dialog .review-head{padding-right:44px}
.rev-dialog-close{position:absolute;top:12px;right:12px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1.5px solid var(--petrolio);border-radius:50%;color:var(--petrolio);cursor:pointer}
.rev-dialog-close:hover{background:var(--petrolio);color:var(--avorio)}
.rev-dialog-close:focus-visible{outline:3px solid var(--petrolio);outline-offset:3px}
.rev-dialog-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.review-note{margin:0 0 8px;font-size:.8rem;color:#4a5352}
.review-source{margin:16px 0 0;padding-top:10px;border-top:1px solid var(--sabbia);font-size:.8rem;font-weight:600;color:var(--petrolio)}
@media (prefers-reduced-motion:no-preference){.reviews-viewport{scroll-behavior:smooth}}

/* Contatti */
.contacts{margin:0}
.contacts div{display:grid;grid-template-columns:180px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--sabbia)}
.contacts dt{font-weight:600}
.contacts dd{margin:0}

/* Pagine separate (regole, privacy) */
.page-main{padding-top:var(--header);min-height:60vh}
.header-back{margin-left:auto}
.page-main h1{margin-top:0}
.price-notes{margin-top:8px}

/* Preventivo nel modulo */
.quote{padding:16px;background:#fff;border:1px solid var(--sabbia);border-left:4px solid var(--petrolio);border-radius:var(--r)}
.quote-title{margin:0 0 8px;font:600 1.2rem var(--serif);color:var(--petrolio)}
.quote-list{margin:0 0 8px}
.quote-list div{display:flex;justify-content:space-between;gap:16px;padding:6px 0;border-bottom:1px solid var(--sabbia);font-size:.95rem}
.quote-list dt{font-weight:500}
.quote-list dd{margin:0;text-align:right;font-weight:600;white-space:nowrap}
.quote-list .is-total{border-bottom:2px solid var(--petrolio);font-size:1.05rem}
.quote .form-note{margin:0}
.req-form .quote[hidden],.req-form .quote-list[hidden]{display:none!important}

/* Informativa privacy */
.legal h2,.legal h1{margin-bottom:24px}
.legal-body{max-width:78ch}
.legal-body h3{font:600 1.2rem var(--serif);color:var(--petrolio);margin:28px 0 6px}
.legal-body p,.legal-body ul{margin:0 0 12px;font-size:.95rem}
.legal-body ul{padding-left:22px}
.legal-body li{margin-bottom:6px}

/* Footer */
.site-footer{background:var(--petrolio);color:var(--avorio);padding:32px 0;font-size:.95rem;text-align:center}
.site-footer p{margin:0}
.site-footer .footer-links{margin:0 0 12px}
.site-footer .footer-links a{color:var(--avorio);text-decoration:underline;text-underline-offset:3px}
.site-footer .footer-links a:focus-visible{outline-color:var(--avorio)}

/* Movimento */
.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease;transition-delay:var(--d,0s)}
.js .reveal.is-visible{opacity:1;transform:none}
.stagger>:nth-child(4n+2){--d:.1s}
.stagger>:nth-child(4n+3){--d:.2s}
.stagger>:nth-child(4n+4){--d:.3s}
.js .intro-head>*{opacity:0;transform:translateY(16px);transition:opacity .8s ease,transform .8s ease}
.js .intro-head.is-visible>*{opacity:1;transform:none}
.intro-head>:nth-child(2){transition-delay:.12s}
.intro-head>:nth-child(3){transition-delay:.24s}
.intro-head>:nth-child(4){transition-delay:.36s}
.js .hero-video{opacity:0;transition:opacity 1.2s ease}
.js .hero-videos.is-visible .hero-video{opacity:1}
.hero-video:nth-child(1){transition-delay:.3s}
.hero-video:nth-child(2){transition-delay:.5s}
.hero-video:nth-child(3){transition-delay:.7s}
@media (prefers-reduced-motion:reduce){
  html,.c-track{scroll-behavior:auto}
  .js .reveal,.js .intro-head>*{opacity:1;transform:none;transition:none}
  .js .hero-video{opacity:1;transition:none}
}

/* Fino a 1365px: menu a tendina, header compatto */
@media (max-width:1365px){
  :root{--header:104px}
  .menu-toggle{display:block}
  .brand{font-size:2.25rem;gap:12px}
  .brand-logo{height:80px}
  .site-nav{display:none;position:absolute;top:var(--header);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--avorio);padding:8px 24px 24px;border-bottom:1px solid var(--sabbia)}
  .site-nav.open{display:flex}
  .site-nav a:not(.btn){padding:14px 0;border-bottom:1px solid var(--sabbia)}
  .site-nav .btn{margin-top:16px;text-align:center}
}

/* Mobile */
@media (max-width:860px){
  .section{padding:64px 0}
  .two-col,.apt-grid,.apt-mori .apt-grid,.yard-grid,.footer-inner{grid-template-columns:1fr;gap:32px}
  .apt-mori .carousel-wrap{order:0}
  .hero{padding:12px 0 40px}
  .hero-videos{gap:0;padding-inline:0;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .hero-videos::-webkit-scrollbar{display:none}
  .hero-video{--h:min(720px,calc((100vw - 24px)*16/9),calc(100svh - var(--header) - 64px));margin-inline:calc((100% - var(--h)*9/16)/2);scroll-snap-align:center;scroll-snap-stop:always}
  .video-toggle{right:16px;bottom:4px}
  .hero-dots{display:flex}
  .contacts div{grid-template-columns:1fr;gap:4px}
  .demo-form,.req-form{padding:24px}
}
@media (max-width:480px){
  .brand{font-size:clamp(1.2rem,calc((100vw - 195px)/6.45),2rem);gap:8px}
  .menu-toggle{padding:8px 12px}
  :root{--header:96px}
  .brand-logo{height:72px}
  .container{width:calc(100% - 32px)}
  .demo-form .row{grid-template-columns:1fr}
  .req-form{padding:16px}
  .choices{grid-template-columns:1fr}
  .cal{padding:8px}
  .cal-table{border-spacing:1px}
  .actions .btn{width:100%;text-align:center}
}
