/* V76: interaction and small-screen corrections; desktop identity retained. */
:focus-visible{outline:3px solid #12878e;outline-offset:4px}
.skip-link{position:fixed;inset-inline-start:16px;top:12px;z-index:10000;padding:12px 20px;background:#fff;color:#075e66;transform:translateY(-160%)}
.skip-link:focus{transform:none}
a[href^="tel:"]{direction:ltr;unicode-bidi:isolate}
button:disabled{cursor:wait;opacity:.65}
dialog{max-height:calc(100dvh - 32px);overscroll-behavior:contain}
dialog[open]{overflow-y:auto}
html:has(dialog[open]){overflow:hidden}
.quote-dialog .dialog-close,.project-lightbox-close{min-width:44px;min-height:44px}
.quote-dialog [role="status"]{line-height:1.7}
.products-nav a[aria-current="page"]{color:#075e66}
.build-film{max-width:1280px;margin:0 auto;padding:90px 50px;scroll-margin-top:24px}
.build-film-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:32px}
.build-film h2{font-family:'Noto Naskh Arabic','Bodoni Moda',serif;font-size:clamp(38px,4vw,60px);line-height:1.25;margin:12px 0;color:#143f44}
.build-film-head p:last-child{color:#547579;font-size:15px;line-height:1.9}
.build-player{background:#fff;border:1px solid #d8e7e7;overflow:hidden;border-radius:16px;box-shadow:0 18px 45px #164e530a}
.build-player video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#fff}
.build-caption{padding:20px 24px;display:flex;gap:18px;align-items:center;background:#eef6f5;min-height:88px}
.build-count{font-family:'DM Sans',sans-serif;color:#177c82;direction:ltr;font-size:15px;white-space:nowrap}
.build-caption h3{margin:0 0 4px;font-size:17px}
.build-caption p{margin:0;color:#4c6b70;font-size:13px;line-height:1.8}
.build-chapters{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:20px}
.build-chapters button{border:1px solid #cbdfe0;border-radius:8px;background:transparent;color:#214d52;padding:12px 8px;font-size:12px;line-height:1.8;cursor:pointer;min-height:70px}
.build-chapters button span{display:block;font-family:'DM Sans',sans-serif;font-size:11px;color:#5b8185}
.build-chapters button[aria-current="step"]{background:#0c5f66;color:white;border-color:#0c5f66}
.build-chapters button[aria-current="step"] span{color:#b9e7e7}
.build-film-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:20px}
.build-film-actions button,.build-film-actions a{font:inherit;font-size:13px;border:1px solid #96babc;color:#075e66;background:transparent;padding:12px 18px;border-radius:30px;text-decoration:none;cursor:pointer}
.build-film-note{font-size:12px;line-height:1.8;color:#5b777b;margin-top:18px}
@media(max-width:980px){
 .products-header{height:auto!important;min-height:90px;display:grid!important;grid-template-columns:1fr auto;padding:12px 22px!important;gap:12px;position:relative}
 .products-header-actions{justify-self:end}.products-brand{align-self:center}
 .products-nav{grid-column:1/-1;order:3;display:flex!important;gap:8px 20px;flex-wrap:wrap;justify-content:center;margin:0;font-size:13px}
 .products-nav a{padding:10px 2px!important;min-height:44px;display:flex;align-items:center}
 .products-nav a::after{bottom:4px!important}
 .products-phone{display:inline-flex!important;font-size:12px;min-height:44px;align-items:center}
 .build-film{padding:64px 24px}.build-film-head{grid-template-columns:1fr;gap:8px}.build-chapters{grid-template-columns:repeat(4,minmax(0,1fr))}
 /* Replace the 1536px scaled canvas on touch screens with a readable layout. */
 #fitOuter,#siteFit{position:relative!important;width:100%!important;height:auto!important;transform:none!important;margin:0!important}
 .hero-shell{width:100%!important;height:auto!important;min-height:0;padding:0 24px 36px;display:flex;flex-direction:column;gap:28px;overflow:hidden}
 .hero-shell .site-header{position:relative!important;inset:auto!important;width:100%;height:auto!important;display:grid;grid-template-columns:1fr auto;gap:14px;padding:16px 0;align-items:center;z-index:6}
 .hero-shell .brand-logo{position:static!important;inset:auto!important;width:142px!important;height:auto;max-height:78px;object-fit:contain}
 .hero-shell .home-header-actions{position:static!important;inset:auto!important;gap:8px;justify-self:end}
 .home-header-actions .phone-pill{min-width:0!important;height:44px!important;padding:0 12px!important;font-size:12px!important;gap:6px}
 .home-header-actions .lang-toggle{width:44px!important;flex-basis:44px!important;height:44px!important}
 .hero-shell .main-nav{position:static!important;inset:auto!important;grid-column:1/-1;order:3;display:flex;gap:8px 20px;flex-wrap:wrap;justify-content:center}
 .hero-shell .main-nav a{font-size:13px!important;min-height:44px;padding:10px 0!important;display:flex;align-items:center}
 .hero-shell .hero-copy,.hero-shell .configurator,.hero-shell .estimate-card{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;height:auto!important;margin:0!important;max-width:none!important}
 .hero-shell .hero-copy h1{font-size:clamp(40px,7vw,64px)!important;line-height:1.18!important;letter-spacing:0!important}
 .hero-shell .hero-copy .eyebrow{font-size:11px;letter-spacing:1px;line-height:1.7}
 .hero-shell .hero-copy .lead{font-size:15px!important;line-height:1.8}
 .hero-shell .configurator{padding:0!important}.hero-shell .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}
 .hero-shell .field{min-width:0}.hero-shell .field input,.hero-shell .field select{font-size:16px!important;min-height:48px;width:100%}
 .hero-shell .field label{font-size:12px!important;line-height:1.7;min-height:22px}
 .hero-shell .options{width:100%;gap:10px;grid-column:1/-1}.hero-shell .check{font-size:12px!important;height:auto;min-height:48px;padding:8px}
 .hero-shell .form-actions{flex-wrap:wrap;gap:12px}.hero-shell .form-actions button{min-width:0!important;min-height:48px;height:auto;padding:12px;flex:1 1 45%;font-size:13px!important}
 .hero-shell .form-actions .reset-btn{flex-basis:100%}
 .hero-shell .estimate-card{padding:26px 22px!important;border-radius:22px}
 .hero-shell .estimate-price{font-size:clamp(34px,6vw,52px)!important;white-space:normal}
 .hero-shell .stats div{gap:12px}.hero-shell .stats dt{font-size:13px}.hero-shell .stats dd{font-size:16px}
 .hero-shell .engine-note,.hero-shell .estimate-note{font-size:12px!important;line-height:1.8}
 .hero-shell .benefit-row{gap:10px;flex-wrap:wrap}.hero-shell .benefit{min-width:0;flex:1 1 90px}.hero-shell .benefit span{font-size:10px!important;line-height:1.7}
 .hero-shell .photo-water{right:-35%;top:100px;width:90%;height:440px;opacity:.16;pointer-events:none}
 .hero-shell .palm-photo{opacity:.12;pointer-events:none}.hero-shell .dream-rail,.hero-shell .vertical-caption,.hero-shell .scroll-copy,.hero-shell .water-cutout,.hero-shell .white-bottom,.hero-shell .aqua-left{display:none!important}
 #heroSignature.more-than-pool-label{position:relative!important;inset:auto!important;transform:none!important;align-self:flex-end;max-width:100%;font-size:44px!important;line-height:1!important;margin:0!important;pointer-events:none}
 .viewer-section{padding:56px 20px}.viewer-stage{min-width:0}.viewer-controls input,.viewer-controls select{font-size:16px}
}
@media(max-width:480px){
 .hero-shell{padding-inline:16px}.home-header-actions .phone-pill .phone-svg{display:none}.hero-shell .brand-logo{width:118px!important}
 .products-header{padding-inline:16px!important}.products-brand img{width:120px!important}.products-header-actions{gap:8px!important}
 .products-nav,.hero-shell .main-nav{gap:6px 16px}
 .build-chapters{grid-template-columns:repeat(2,minmax(0,1fr))}.build-chapters button:last-child{grid-column:1/-1}.build-caption{padding:16px;align-items:flex-start}.build-caption h3{font-size:15px}
 .about-hero-copy h1,.contact-hero-copy h1{font-size:44px!important}
 .quote-dialog{width:calc(100% - 20px)!important;margin:auto;border-radius:18px}.dialog-card{padding:26px 16px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.scroll-motion-item,.hero-motion-item{opacity:1!important;transform:none!important}}
/* Keep the film at 16:9 instead of retaining the HTML height on narrow screens. */
.build-player video{height:auto;max-height:none}
/* Reveal introductory copy immediately; retain subtle movement without a blank hero. */
.scroll-motion-enabled .hero-motion-item{opacity:1;transition-delay:0ms!important;transition-duration:.35s!important}
@media(max-width:980px){.about-hero-copy h1,.contact-hero-copy h1{transform:none!important;opacity:1!important}}
@media(max-width:980px){
 .product-feature,.product-card-wide{grid-template-columns:minmax(0,1fr)}
 .product-feature-copy,.product-card,.product-photo,.products-intro>*,.projects-intro>*,.about-story>*,.contact-options-grid>*{min-width:0}
 .product-feature-copy{padding:32px 24px}
 .product-feature-copy h2,.product-feature-copy h3{font-size:clamp(30px,7vw,42px);overflow-wrap:anywhere}
 .product-specs{flex-wrap:wrap}
}
