
/* DokaDveri layer built on top of the original Yachtium Webflow CSS.
   Keeps the reference typography, spacing logic, navy / lime palette and motion language. */

html { scroll-behavior: auto; background:#fff; }
body { overflow-x:hidden; font-family:Sora, Arial, sans-serif; background:#fff; }
* { box-sizing:border-box; }
::selection { background:#cdff00; color:#001025; }

.dd-nav{
  position:fixed; top:10px; left:10px; right:10px; z-index:1000;
  transition:transform .45s cubic-bezier(.16,1,.3,1), background .3s ease, color .3s ease;
}

.dd-nav.is-hidden{transform:translateY(-130%);}
.dd-nav-inner{
  max-width:1320px; margin:auto; min-height:76px; padding:0 20px 0 26px;
  display:flex; align-items:center; justify-content:space-between; gap:28px;
  background:rgba(255,255,255,.95); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
}
.dd-logo{font-size:19px; line-height:1; font-weight:700; letter-spacing:-1px; text-decoration:none; color:#001025; white-space:nowrap;}
.dd-logo span{font-weight:300;}
.dd-nav-links{display:flex; align-items:center; gap:28px;}
.dd-nav-links a{font-size:14px; text-decoration:none; color:#001025; opacity:.8; transition:.25s;}
.dd-nav-links a:hover{opacity:1;}
.dd-nav-actions{display:flex; align-items:center; gap:14px;}
.dd-nav-cta{
  display:flex; align-items:center; gap:18px; padding:15px 20px;
  background:#001025; color:#fff; text-decoration:none; font-size:14px;
}
.dd-nav-cta .dd-btn-icon{width:17px;height:17px;display:block;}
.dd-nav-cta svg{width:100%;height:100%;}
.dd-menu{display:none; width:48px;height:48px;border:0;background:#001025;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:7px;}
.dd-menu span{width:20px;height:1px;background:white;transition:.25s;}

.dd-hero{height:100svh; min-height:760px; padding:10px;}
.dd-hero-media{
  --hero:none; position:relative; height:100%; overflow:hidden; background:#001025;
  background-image:var(--hero); background-size:cover; background-position:center;
}
.dd-hero-media:before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,16,37,.75) 0%,rgba(0,16,37,.35) 55%,rgba(0,16,37,.55) 100%);
}
.dd-hero-shade{position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.5));}
.dd-hero-container{height:100%;position:relative;z-index:2;}
.dd-hero-wrapper{height:100%;justify-content:space-between;padding:160px 0 48px;gap:32px;}
.dd-eyebrow{font-size:13px;letter-spacing:.08em;text-transform:uppercase;opacity:.85;}
.dd-white{color:white !important;}
.dd-hero-heading-wrap{max-width:1250px;}
.dd-display{font-size:clamp(78px,10vw,154px);line-height:.84;letter-spacing:-.075em;text-transform:uppercase;max-width:1200px;}
.dd-inline-photo{
  vertical-align:.05em; display:inline-block; width:clamp(140px,19vw,320px); height:.72em;
  margin:0 -.02em 0 .02em; background-image:url("../images/dokadoors/klassika-2.webp");
  background-size:cover;background-position:center 58%;
}
.dd-hero-copy{max-width:510px!important;align-self:flex-end!important;margin-top:-110px!important;font-size:18px!important;line-height:1.5!important;}
.dd-hero-copy strong{font-weight:500;color:#cdff00;}
.dd-hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;border-top:1px solid rgba(255,255,255,.25);padding-top:24px;}
.dd-hero-facts{display:flex;flex-wrap:wrap;gap:9px;max-width:620px;}
.dd-hero-facts span{font-size:12px;line-height:1;color:white;border:1px solid rgba(255,255,255,.3);padding:10px 13px;border-radius:100px;backdrop-filter:blur(8px);}
.dd-hero-buttons{display:flex;align-items:center;gap:22px;}
.dd-hero-main-btn,.dd-light-btn{
  display:flex;align-items:center;justify-content:space-between;gap:28px;min-width:300px;padding:20px 22px;
  background:#cdff00;color:#001025;text-decoration:none;font-size:15px;font-weight:500;
}
.dd-light-btn{background:white;}
.dd-btn-icon{width:19px;height:19px;display:block;flex:none;}
.dd-btn-icon svg{width:100%;height:100%;}
.dd-ghost-link,.dd-simple-link{color:white;text-decoration:none;font-size:14px;}
.dd-simple-link{color:#001025;border-bottom:1px solid rgba(0,16,37,.25);padding-bottom:5px;}

.dd-section{padding:120px 0;}
.dd-section-head{display:grid;grid-template-columns:250px 1fr;gap:35px;align-items:start;margin-bottom:64px;}
.dd-section-head h2{max-width:960px;font-size:clamp(50px,6vw,82px);letter-spacing:-.055em;line-height:.96;}
.dd-kicker{font-size:13px;text-transform:uppercase;letter-spacing:.07em;padding-top:10px;}
.dd-kicker-light{color:rgba(255,255,255,.62);}
.lime-mark{background:linear-gradient(transparent 58%,#cdff00 58%);padding:0 .06em;}
.dd-head-row{grid-template-columns:1fr auto;align-items:end;}
.dd-head-row>div:first-child{display:grid;grid-template-columns:250px 1fr;gap:35px;align-items:start;}
.dd-head-row .dd-button{margin-bottom:4px;}

.dd-button{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  min-width:250px;padding:18px 20px;background:#001025;color:#fff;text-decoration:none;
  transition:background .25s,color .25s,transform .25s;
}
.dd-button:hover{background:#cdff00;color:#001025;transform:translateY(-2px);}

.dd-proof{background:#f2f5f9;}
.dd-proof-grid{display:grid;grid-template-columns:1.15fr .85fr;min-height:760px;}
.dd-proof-media{background-image:var(--bg);background-size:cover;background-position:center;min-height:680px;}
.dd-stats{display:grid;grid-template-columns:1fr 1fr;}
.dd-stat{border-bottom:1px solid rgba(0,16,37,.08);border-right:1px solid rgba(0,16,37,.08);min-height:180px;}
.dd-stat .h3-heading{font-size:54px;letter-spacing:-.06em;}
.dd-stat-dark{background:#001025;color:white;}
.dd-stat-dark .h3-heading,.dd-stat-dark .large-paragraph{color:white;}
.dd-proof-copy{grid-column:1/-1;padding:32px;background:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:30px;}
.dd-proof-copy p{font-size:18px;line-height:1.55;max-width:660px;}

.dd-projects{overflow:hidden;}
.dd-project-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:10px;}
.dd-project{position:relative;min-height:520px;overflow:hidden;background:#001025;}
.dd-project-large{grid-row:span 2;min-height:1050px;}
.dd-project-wide{grid-column:1/-1;min-height:620px;}
.dd-project img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.16,1,.3,1);}
.dd-project:hover img{transform:scale(1.035);}
.dd-glass-card{left:10px!important;right:10px!important;bottom:10px!important;top:auto!important;padding:22px!important;display:flex!important;flex-direction:row!important;align-items:flex-end;justify-content:space-between;gap:20px!important;}
.dd-glass-card .small-paragraph{color:rgba(255,255,255,.7);margin-top:8px;}
.dd-glass-card>span{color:#cdff00;font-size:13px;}

.dd-price{background:#fff;}
.dd-price-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:10px;}
.dd-price-big{background:#cdff00;min-height:520px;padding:34px;display:flex;flex-direction:column;justify-content:space-between;}
.dd-price-big strong{font-size:clamp(58px,7vw,94px);line-height:.88;letter-spacing:-.075em;font-weight:400;}
.dd-price-big > span{font-size:15px;max-width:260px;}
.dd-price-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.dd-info-card{background:#f2f5f9;padding:34px;min-height:520px;display:flex;flex-direction:column;}
.dd-dark-card{background:#001025;color:#fff;}
.dd-dark-card h3,.dd-dark-card p,.dd-dark-card li{color:#fff;}
.dd-card-no{font-size:13px;margin-bottom:auto;opacity:.55;}
.dd-info-card h3{font-size:34px;letter-spacing:-.04em;margin:35px 0 24px;}
.dd-info-card ul{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:10px;}
.dd-info-card li{font-size:16px;border-bottom:1px solid rgba(0,16,37,.12);padding-bottom:9px;}
.dd-dark-card li{border-color:rgba(255,255,255,.16);}
.dd-inline-cta{grid-column:1/-1;background:#f2f5f9;padding:24px;display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:0;}
.dd-inline-cta p{max-width:660px;font-size:16px;}

.dd-tech{background:#001025;color:#fff;}
.dd-tech-top{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:end;}
.dd-tech .dd-section-head{display:block;margin:0;}
.dd-tech .dd-section-head .dd-kicker{margin-bottom:28px;}
.dd-tech-copy{display:flex;flex-direction:column;gap:22px;padding-bottom:8px;}
.dd-tech-copy p{color:rgba(255,255,255,.7);font-size:17px;line-height:1.6;}
.dd-tech-copy .dd-tech-accent{color:#cdff00;font-size:22px;line-height:1.35;}
.dd-tech-media{position:relative;margin-top:70px;min-height:650px;overflow:hidden;}
.dd-tech-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.dd-tech-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,16,37,.75));}
.dd-tech-strip{position:absolute;z-index:2;left:10px;right:10px;bottom:10px;padding:20px;background:rgba(0,16,37,.7);backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:space-between;gap:12px;color:white;font-size:13px;}
.dd-tech-strip b{color:#cdff00;font-weight:400;}

.dd-review-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;}
.dd-review{min-height:430px;background:#f2f5f9;padding:30px;display:flex;flex-direction:column;justify-content:space-between;}
.dd-review-featured{background:#cdff00;}
.dd-review-top{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.dd-chip{display:inline-flex;width:max-content;padding:8px 10px;border-radius:100px;background:rgba(0,16,37,.08);font-size:12px;text-transform:uppercase;letter-spacing:.04em;}
.dd-stars{font-size:12px;letter-spacing:.05em;}
.dd-review blockquote{margin:60px 0 26px;font-size:30px;line-height:1.2;letter-spacing:-.03em;}
.dd-review-image{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.65)),var(--bg);background-size:cover;background-position:center;padding:28px;color:white;justify-content:flex-end;}
.dd-review-image span{font-size:24px;line-height:1.2;}

.dd-selection{background:#f2f5f9;}
.dd-selection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.dd-select-card{min-height:400px;padding:28px;background:#fff;display:flex;flex-direction:column;}
.dd-select-card>span{font-size:12px;opacity:.55;margin-bottom:auto;}
.dd-select-card h3{font-size:32px;line-height:1.05;letter-spacing:-.04em;margin-bottom:18px;}
.dd-select-card p{font-size:15px;}
.dd-select-lime{background:#cdff00;}

.dd-showroom{padding:10px;background:#fff;}
.dd-showroom-bg{position:relative;min-height:900px;background-image:var(--bg);background-size:cover;background-position:center;overflow:hidden;}
.dd-showroom-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,16,37,.78),rgba(0,16,37,.24));}
.dd-showroom-inner{position:relative;z-index:2;padding-top:120px!important;padding-bottom:40px!important;min-height:900px;display:flex!important;flex-direction:column;justify-content:space-between;}
.dd-showroom .dd-section-head{margin-bottom:60px;}
.dd-showroom-panel{padding:28px;background:rgba(0,16,37,.62);backdrop-filter:blur(20px);display:flex;align-items:flex-end;justify-content:space-between;gap:40px;color:white;}
.dd-showroom-panel strong{font-size:30px;font-weight:400;letter-spacing:-.03em;display:block;margin-bottom:14px;}
.dd-showroom-panel p{color:rgba(255,255,255,.7);max-width:620px;}
.dd-showroom-actions{display:flex;gap:10px;flex-wrap:wrap;}
.dd-showroom-actions .dd-hero-main-btn,.dd-showroom-actions .dd-light-btn{min-width:240px;}

.dd-kit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.dd-kit-grid article{min-height:300px;padding:28px;background:#f2f5f9;display:flex;flex-direction:column;}
.dd-kit-grid article>span{font-size:12px;opacity:.55;margin-bottom:auto;}
.dd-kit-grid h3{font-size:28px;line-height:1.05;letter-spacing:-.04em;margin-bottom:18px;}
.dd-kit-main{grid-column:span 2;background:#001025!important;}
.dd-kit-main h3,.dd-kit-main p,.dd-kit-main>span{color:#fff!important;}
.dd-kit-result{margin-top:10px;background:#cdff00;padding:30px;font-size:clamp(28px,3.8vw,52px);line-height:1.05;letter-spacing:-.045em;}
.dd-kit-result strong{font-weight:600;}

.dd-process{background:#f2f5f9;}
.dd-process-list{border-top:1px solid rgba(0,16,37,.2);}
.dd-process-list article{display:grid;grid-template-columns:90px 1fr 1.4fr;gap:30px;align-items:start;padding:28px 0;border-bottom:1px solid rgba(0,16,37,.2);}
.dd-process-list article>span{font-size:13px;color:#5c6b7a;}
.dd-process-list h3{font-size:28px;letter-spacing:-.035em;}
.dd-process-list p{max-width:620px;}

.dd-payment{background:#001025;}
.dd-payment .dd-section-head{margin-bottom:50px;}
.dd-pay-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;}
.dd-pay-grid article{min-height:330px;border:1px solid rgba(255,255,255,.16);padding:28px;display:flex;flex-direction:column;justify-content:space-between;color:white;}
.dd-pay-grid article:nth-child(2){background:#cdff00;color:#001025;border-color:#cdff00;}
.dd-pay-grid strong{font-size:clamp(54px,6vw,86px);font-weight:400;letter-spacing:-.07em;line-height:.9;}
.dd-pay-grid span{font-size:16px;max-width:230px;}
.dd-pay-cta{display:flex;justify-content:flex-end;margin-top:22px;}

.dd-case-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;}
.dd-case-card{min-height:430px;background:#f2f5f9;padding:28px;display:flex;flex-direction:column;justify-content:space-between;}
.dd-case-dark{background:#001025;color:white;}
.dd-case-dark h3,.dd-case-dark p{color:white;}
.dd-case-index{font-size:56px;letter-spacing:-.06em;opacity:.25;}
.dd-case-card h3{font-size:34px;line-height:1.05;letter-spacing:-.045em;margin:18px 0;}
.dd-case-card p{font-size:15px;line-height:1.55;}

.dd-qualify{padding-top:0;}
.dd-qualify-card{background:#001025;padding:70px 60px;display:grid;grid-template-columns:220px 1.25fr .75fr;gap:40px;align-items:start;}
.dd-qualify-card h2{font-size:clamp(48px,5vw,72px);line-height:.98;letter-spacing:-.055em;}
.dd-qualify-copy{display:flex;flex-direction:column;gap:30px;}
.dd-qualify-copy p{color:rgba(255,255,255,.7);font-size:16px;line-height:1.6;}
.dd-qualify-copy strong{color:#cdff00;font-size:20px;line-height:1.35;font-weight:400;}

.dd-faq{background:#fff;}
.dd-accordion{border-top:1px solid rgba(0,16,37,.2);}
.dd-faq-item{border-bottom:1px solid rgba(0,16,37,.2);}
.dd-faq-item button{width:100%;border:0;background:transparent;padding:25px 0;display:flex;justify-content:space-between;align-items:center;text-align:left;font-size:22px;line-height:1.3;color:#001025;cursor:pointer;}
.dd-faq-item button b{font-size:28px;font-weight:300;transition:transform .35s;}
.dd-faq-item.is-open button b{transform:rotate(45deg);}
.dd-faq-answer{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.16,1,.3,1);}
.dd-faq-answer p{max-width:860px;padding:0 0 28px;font-size:16px;line-height:1.65;}
.dd-faq-warning .dd-faq-answer p{border-left:3px solid #cdff00;padding-left:18px;}

.dd-calc{background:#001025;}
.dd-quiz{max-width:1050px;margin-left:auto;background:#fff;padding:10px;}
.dd-quiz-progress{height:5px;background:#e7e9eb;overflow:hidden;}
.dd-quiz-progress span{display:block;height:100%;width:20%;background:#cdff00;transition:width .4s ease;}
.dd-quiz-error{margin:12px 42px 0;color:#b42318;font-size:13px;line-height:1.4;}
.dd-quiz-step{display:none;min-height:420px;padding:42px;}
.dd-quiz-step.is-active{display:block;}
.dd-quiz-no{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#5c6b7a;margin-bottom:52px;}
.dd-quiz-step h3{font-size:42px;letter-spacing:-.045em;margin-bottom:30px;}
.dd-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.dd-options input{position:absolute;opacity:0;pointer-events:none;}
.dd-options label span{display:flex;min-height:80px;padding:20px;border:1px solid rgba(0,16,37,.16);align-items:center;justify-content:space-between;cursor:pointer;font-size:16px;transition:.2s;}
.dd-options label span:after{content:"";width:16px;height:16px;border:1px solid rgba(0,16,37,.4);border-radius:50%;}
.dd-options input:checked+span{background:#cdff00;border-color:#cdff00;}
.dd-options input:checked+span:after{background:#001025;box-shadow:inset 0 0 0 4px #cdff00;border-color:#001025;}
.dd-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;}
.dd-fields input,.dd-fields select{min-height:68px;border:1px solid rgba(0,16,37,.18);padding:0 18px;background:#fff;color:#001025;border-radius:0;}
.dd-submit{width:100%;border:0;background:#cdff00;color:#001025;min-height:72px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;font-weight:500;cursor:pointer;}
.dd-submit span{width:18px;height:18px;}
.dd-submit svg{width:100%;height:100%;}
.dd-consent-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;}
.dd-consent-label{position:relative;display:flex;flex:0 0 44px;align-items:center;justify-content:center;min-height:44px;cursor:pointer;}
.dd-consent-label input{position:absolute;width:24px;height:24px;margin:0;opacity:0;cursor:pointer;}
.dd-consent-box{display:grid;width:22px;height:22px;place-items:center;border:1px solid rgba(0,16,37,.35);background:#fff;color:#001025;}
.dd-consent-label input:checked + .dd-consent-box{background:#cdff00;border-color:#001025;}
.dd-consent-label input:checked + .dd-consent-box::after{content:"✓";font-size:15px;font-weight:700;line-height:1;}
.dd-consent-label input:focus-visible + .dd-consent-box{outline:3px solid #cdff00;outline-offset:2px;}
.dd-consent-text{margin:0;color:rgba(0,16,37,.68);font-size:12px;line-height:1.5;}
.dd-consent-text a{color:#001025;text-underline-offset:3px;}
.dd-contact-step>p{margin-top:18px;font-size:13px;max-width:700px;}
.dd-quiz-nav{display:flex;justify-content:flex-end;gap:8px;padding:10px;}
.dd-quiz-nav button{min-width:120px;min-height:52px;border:1px solid rgba(0,16,37,.15);background:#f2f5f9;cursor:pointer;}
.dd-quiz-nav .dd-next{background:#001025;color:#fff;border-color:#001025;}
.dd-quiz-nav button:disabled{opacity:.35;cursor:not-allowed;}
.dd-quiz-success{display:none;min-height:420px;padding:42px;align-content:center;}
.dd-quiz-success.is-active{display:grid;}
.dd-quiz-success h3{font-size:48px;letter-spacing:-.05em;margin:18px 0;}
.dd-quiz-success p{max-width:660px;}

.dd-contact-grid{display:grid;grid-template-columns:1fr .75fr;gap:50px;align-items:start;}
.dd-contact-grid .dd-section-head{display:block;margin:0;}
.dd-contact-grid .dd-kicker{margin-bottom:28px;}
.dd-contact-card{background:#f2f5f9;padding:30px;display:flex;flex-direction:column;gap:28px;}
.dd-contact-title{font-size:34px;letter-spacing:-.04em;}
.dd-contact-links{display:flex;gap:10px;flex-wrap:wrap;}
.dd-contact-links a{padding:10px 14px;border:1px solid rgba(0,16,37,.2);border-radius:100px;text-decoration:none;}
.dd-hours{display:flex;flex-direction:column;gap:8px;border-top:1px solid rgba(0,16,37,.12);padding-top:22px;}
.dd-hours span{font-size:13px;color:#5c6b7a;}
.dd-map-placeholder{margin-top:60px;min-height:360px;background:
  radial-gradient(circle at 65% 45%,rgba(205,255,0,.85) 0 7px,transparent 8px),
  linear-gradient(125deg,#e9edf0 0 27%,transparent 27% 31%,#e9edf0 31% 63%,transparent 63% 68%,#e9edf0 68%),
  linear-gradient(35deg,#f3f5f6 0 47%,#dce1e5 47% 52%,#f3f5f6 52%);
  padding:28px;display:flex;flex-direction:column;justify-content:flex-end;gap:5px;}
.dd-map-placeholder span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;}
.dd-map-placeholder strong{font-size:24px;font-weight:400;}
.dd-map-placeholder small{font-size:12px;color:#5c6b7a;}

.dd-footer{background:#001025;color:white;padding:80px 0 28px;overflow:hidden;}
.dd-footer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:55px;}
.dd-logo-footer{color:white;font-size:24px;}
.dd-to-top{color:white;text-decoration:none;font-size:13px;}
.dd-footer-marquee{width:100vw;margin-left:calc((100vw - min(1320px,100vw))/-2);white-space:nowrap;overflow:hidden;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);padding:18px 0;}
.dd-footer-marquee div{display:inline-block;font-size:64px;line-height:1;letter-spacing:-.055em;color:#cdff00;animation:ddMarquee 30s linear infinite;}
.dd-footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:30px;color:rgba(255,255,255,.5);font-size:12px;}
@keyframes ddMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

@media (max-width: 991px){
  .dd-nav-links{position:absolute;left:0;right:0;top:82px;display:none;flex-direction:column;align-items:flex-start;background:#fff;padding:24px;gap:20px;}
  .dd-nav-links.is-open{display:flex;}
  .dd-menu{display:flex;}
  .dd-nav-cta{display:none;}
  .dd-hero{min-height:720px;}
  .dd-display{font-size:clamp(66px,12vw,112px);}
  .dd-hero-copy{margin-top:0!important;align-self:flex-start!important;max-width:600px!important;}
  .dd-hero-bottom{align-items:flex-start;flex-direction:column;}
  .dd-hero-buttons{width:100%;justify-content:space-between;}
  .dd-section-head,.dd-head-row>div:first-child{grid-template-columns:160px 1fr;}
  .dd-head-row{display:block;}
  .dd-head-row .dd-button,.dd-head-row .dd-simple-link{display:none;}
  .dd-proof-grid{grid-template-columns:1fr;}
  .dd-proof-media{min-height:560px;}
  .dd-price-layout{grid-template-columns:1fr;}
  .dd-price-big{min-height:420px;}
  .dd-tech-top{grid-template-columns:1fr;gap:40px;}
  .dd-review-grid{grid-template-columns:1fr 1fr;}
  .dd-review-image{grid-column:1/-1;}
  .dd-selection-grid{grid-template-columns:1fr 1fr;}
  .dd-kit-grid{grid-template-columns:1fr 1fr;}
  .dd-process-list article{grid-template-columns:60px 1fr 1.2fr;}
  .dd-qualify-card{grid-template-columns:160px 1fr;}.dd-qualify-copy{grid-column:2;}
  .dd-contact-grid{grid-template-columns:1fr 1fr;}
}

@media (max-width: 767px){
  .container{padding-left:16px!important;padding-right:16px!important;}
  .dd-nav-inner{min-height:64px;padding:0 10px 0 16px;}
  .dd-menu{width:44px;height:44px;}
  .dd-hero{padding:6px;height:auto;min-height:760px;}
  .dd-hero-wrapper{padding:120px 0 28px;}
  .dd-display{font-size:clamp(52px,15vw,84px);letter-spacing:-.07em;line-height:.9;}
  .dd-inline-photo{width:30vw;max-width:160px;}
  .dd-hero-copy{font-size:15px!important;}
  .dd-hero-facts{gap:6px;}
  .dd-hero-facts span{font-size:10px;padding:8px 9px;}
  .dd-hero-buttons{align-items:stretch;flex-direction:column;gap:14px;}
  .dd-hero-main-btn,.dd-light-btn{min-width:0;width:100%;}
  .dd-ghost-link{font-size:12px;}
  .dd-section{padding:82px 0;}
  .dd-section-head,.dd-head-row>div:first-child{display:block;margin-bottom:42px;}
  .dd-section-head .dd-kicker,.dd-head-row .dd-kicker{margin-bottom:18px;}
  .dd-section-head h2{font-size:clamp(42px,12vw,62px);}
  .dd-proof-grid{display:block;}
  .dd-proof-media{min-height:420px;}
  .dd-stats{grid-template-columns:1fr 1fr;}
  .dd-stat{padding:20px!important;min-height:150px;}
  .dd-stat .h3-heading{font-size:36px;}
  .dd-stat .large-paragraph{font-size:13px;}
  .dd-proof-copy{padding:22px;}
  .dd-project-grid{grid-template-columns:1fr;}
  .dd-project,.dd-project-large,.dd-project-wide{grid-row:auto;grid-column:auto;min-height:520px;}
  .dd-project-large{min-height:620px;}
  .dd-price-big{padding:24px;min-height:370px;}
  .dd-price-cards{grid-template-columns:1fr;}
  .dd-info-card{min-height:430px;padding:24px;}
  .dd-inline-cta{align-items:stretch;flex-direction:column;padding:20px;}
  .dd-button{width:100%;min-width:0;}
  .dd-tech-media{min-height:520px;margin-top:48px;}
  .dd-tech-strip{flex-wrap:wrap;justify-content:flex-start;bottom:6px;left:6px;right:6px;padding:14px;}
  .dd-review-grid{grid-template-columns:1fr;}
  .dd-review-image{grid-column:auto;}
  .dd-review{min-height:360px;}
  .dd-selection-grid{grid-template-columns:1fr;}
  .dd-select-card{min-height:300px;}
  .dd-showroom{padding:6px;}
  .dd-showroom-bg,.dd-showroom-inner{min-height:780px;}
  .dd-showroom-inner{padding-top:90px!important;padding-bottom:16px!important;}
  .dd-showroom-panel{flex-direction:column;align-items:stretch;padding:20px;}
  .dd-showroom-panel strong{font-size:24px;}
  .dd-showroom-actions{width:100%;}
  .dd-kit-grid{grid-template-columns:1fr;}
  .dd-kit-main{grid-column:auto;}
  .dd-process-list article{grid-template-columns:48px 1fr;padding:24px 0;}
  .dd-process-list article p{grid-column:2;}
  .dd-pay-grid{grid-template-columns:1fr;}
  .dd-pay-grid article{min-height:240px;}
  .dd-pay-cta .dd-hero-main-btn{width:100%;}
  .dd-case-grid{grid-template-columns:1fr;}
  .dd-case-card{min-height:350px;}
  .dd-qualify{padding-top:0;}
  .dd-qualify-card{padding:45px 24px;display:block;}
  .dd-qualify-card .dd-kicker{margin-bottom:22px;}
  .dd-qualify-copy{margin-top:32px;}
  .dd-faq-item button{font-size:18px;gap:18px;}
  .dd-quiz{padding:6px;}
  .dd-quiz-step,.dd-quiz-success{padding:28px 18px;min-height:450px;}
  .dd-quiz-step h3,.dd-quiz-success h3{font-size:34px;}
  .dd-options,.dd-fields{grid-template-columns:1fr;}
  .dd-options label span{min-height:64px;}
  .dd-contact-grid{grid-template-columns:1fr;}
  .dd-map-placeholder{min-height:300px;margin-top:40px;}
  .dd-footer-marquee div{font-size:42px;}
  .dd-footer-bottom{flex-direction:column;}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
}

/* Fidelity pass: use the original Yachtium Webflow header/hero/component geometry. */
.navbar { z-index: 9999; }
.dd-brand-text {
  display:inline-block;
  width:136px;
  color:#001025;
  font-family:Sora,Arial,sans-serif;
  font-size:18px;
  line-height:24px;
  font-weight:700;
  letter-spacing:-1.2px;
  white-space:nowrap;
}
.dd-brand-text > span { font-weight:300; }
.dd-menu-toggle { position:relative; width:30px; height:30px; filter:none !important; }
.dd-menu-toggle span {
  position:absolute; left:5px; width:20px; height:1.5px; background:#001025;
  transition:transform .35s cubic-bezier(.16,1,.3,1), top .35s cubic-bezier(.16,1,.3,1);
}
.dd-menu-toggle span:first-child { top:10px; }
.dd-menu-toggle span:last-child { top:18px; }
.menu-button.w--open .dd-menu-toggle span:first-child { top:14px; transform:rotate(45deg); }
.menu-button.w--open .dd-menu-toggle span:last-child { top:14px; transform:rotate(-45deg); }

.dd-door-hero {
  position:relative;
  background-image:linear-gradient(90deg,rgba(0,16,37,.86),rgba(0,16,37,.52) 55%,rgba(0,16,37,.74)),
    url('../images/dokadoors/hero-background-v2.webp');
  background-size:cover;
  background-position:center;
  overflow:hidden;
}
.dd-door-hero > .container { position:relative; z-index:2; }
.dd-door-hero-overlay { position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,16,37,.08),rgba(0,16,37,.22) 48%,rgba(0,0,0,.62)); pointer-events:none; }
.dd-door-heading-image {
  background-image:url('../images/dokadoors/klassika-2.webp') !important;
  background-position:center 55% !important;
}
.hero-paragraph strong { color:#cdff00; font-weight:500; }
.hero-button-div .large-paragraph.white-text { text-shadow:0 2px 16px rgba(0,0,0,.25); }

/* The hero copy belongs to the headline, not to a distant empty column. */
.hero-paragraph {
  align-self:flex-start !important;
  max-width:600px !important;
  margin:0 !important;
  color:#fff !important;
  font-size:20px !important;
  line-height:1.48 !important;
  letter-spacing:-.15px;
  text-shadow:0 3px 18px rgba(0,0,0,.45);
}
.hero-button-div .large-paragraph.white-text {
  font-size:16px !important;
  line-height:1.4 !important;
}

.dd-hero-benefits {
  display:flex;
  flex-wrap:wrap;
  gap:10px 20px;
  max-width:760px;
  margin-bottom:18px;
  color:#fff;
  font-size:16px;
  line-height:1.4;
  text-shadow:0 2px 16px rgba(0,0,0,.25);
}
.dd-hero-benefits span { white-space:nowrap; }

/* Remove the gray Webflow spacer layer from the proof image and metrics. */
.dd-reference-proof .home-about-wrapper {
  background:#fff !important;
}
.dd-reference-proof .home-about-image-div,
.dd-reference-proof .home-about-detail-div {
  background:transparent !important;
}
.dd-reference-proof .home-about-card {
  background:#fff !important;
}

/* Exact reference proof component should not inherit the custom proof geometry. */
.dd-reference-proof { background:#fff; }
.dd-reference-proof .home-about-image { object-fit:cover; object-position:center; }
.dd-reference-proof .home-about-card .large-paragraph { font-size:16px; }

/* Door imagery inside the reference sticky cards. */
.boat-feature-image-div { display:block; width:100%; }
.boat-feature-image { display:block; width:100%; object-fit:cover; object-position:center; }
.boat-feature-card { z-index:2; }
.boat-feature-image-div:after {
  content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 50%,rgba(0,16,37,.3)); pointer-events:none;
}
.boat-feature-card { position:absolute; }

@media screen and (max-width:991px){
  .dd-brand-text{width:auto;font-size:17px;}
  .nav-wrapper{max-width:none;}
  .hero-paragraph {
    margin-top:16px !important;
    margin-left:0;
    max-width:620px !important;
    font-size:19px !important;
  }
}
@media screen and (max-width:767px){
  .dd-brand-text{font-size:16px;line-height:22px;}
  .hero-section{height:auto;min-height:760px;}
  .dd-door-hero{min-height:760px;padding-top:130px;}
  .display-heading.hero-heading-text{letter-spacing:-4px;}
  .hero-button-div{flex-wrap:wrap;}
  .dd-hero-benefits{gap:8px 14px;max-width:30rem;margin-bottom:16px;font-size:14px;}
  .dd-hero-benefits span{white-space:normal;}
  .hero-paragraph {
    margin-top:18px !important;
    max-width:100% !important;
    font-size:17px !important;
    line-height:1.45 !important;
  }
  .hero-button-div .large-paragraph.white-text{font-size:14px !important;}
}

.dd-reference-testimonials .dd-avatar{
  display:flex;align-items:center;justify-content:center;background:#001025;color:#fff;border:2px solid #cdff00;
  font-size:12px;font-weight:500;line-height:1;
}
.dd-reference-testimonials .dd-avatar.border-color{background:#fff;color:#001025;border-color:#001025;}
.dd-footer-logo-text{display:inline-block;color:#fff;font-size:25px;line-height:1;font-weight:700;letter-spacing:-1.5px;text-decoration:none;}
.dd-footer-logo-text span{font-weight:300;}
.dd-reference-footer .footer-logo-link{text-decoration:none;}
.dd-reference-footer .footer-detail-div{max-width:560px;}
.dd-reference-footer .footer-text{max-width:280px;}

/* Applied responsive corrections: content remains readable when motion or
   the original Webflow interaction layer is unavailable. */
body .w-webflow-badge { display:none !important; }
body .marquee-section { opacity:1 !important; }

.dd-reference-proof .home-about-wrapper,
.dd-reference-proof .home-about-detail-div,
.dd-reference-proof .common-button-div {
  opacity:1 !important;
  transform:none !important;
  translate:none !important;
}
.dd-reference-proof .home-about-detail-div { width:367px !important; }
.dd-reference-proof .common-button-div { width:auto !important; align-self:flex-start; }

[data-reveal],
[data-image-reveal] {
  opacity:1 !important;
  transform:none !important;
  filter:none !important;
  clip-path:none !important;
}

.dd-visually-hidden {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0, 0, 0, 0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.dd-option-group { min-width:0; padding:0; margin:0; border:0; }
.dd-field { display:block; min-width:0; }
.dd-field input,
.dd-field select { width:100%; }
.dd-quiz-status { margin:14px 10px 0; color:#9b1c31; font-size:14px; line-height:1.45; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible {
  outline:3px solid #cdff00;
  outline-offset:3px;
}
.dd-options input:focus-visible + span {
  outline:3px solid #001025;
  outline-offset:2px;
}

.dd-contact-links a,
.dd-contact-links span {
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:10px 14px;
  border:1px solid rgba(0,16,37,.2);
  border-radius:100px;
}
.dd-contact-placeholder { color:#5c6b7a; background:rgba(255,255,255,.45); }

.dd-reference-testimonials {
  padding:88px 0 96px;
}
.dd-reference-testimonials .testimonial-wrapper {
  min-height:240px;
  align-items:stretch;
}
.dd-reference-testimonials .testimonial-info-div {
  min-height:240px;
  justify-content:space-between;
}
.dd-reference-testimonials .testimonial-user-image-div {
  display:flex !important;
  align-items:center;
  gap:8px;
  width:auto;
  height:auto !important;
  opacity:1 !important;
  transform:none !important;
}
.dd-reference-testimonials .testimonial-user-image {
  flex:0 0 60px;
}
.dd-reference-testimonials .testimonial-user-image.margin { margin-left:0 !important; }
.dd-reference-testimonials .testimonial-slider {
  flex:1 1 auto;
  min-width:0;
  height:240px !important;
  opacity:1 !important;
  transform:none !important;
}
.dd-reference-testimonials .testimonial-slide,
.dd-reference-testimonials .testimonial-detail-div {
  height:100%;
}
.dd-reference-testimonials .testimonial-detail-div {
  justify-content:center !important;
  gap:24px !important;
  opacity:1 !important;
  transform:none !important;
}
.dd-reference-testimonials .testimonial-arrow-icon {
  display:grid;
  place-items:center;
  font-size:16px;
  line-height:1;
}

@media screen and (min-width:992px) and (max-height:900px){
  .hero-video { padding-top:clamp(24px, calc(100svh - 714px), 134px); }
}

@media screen and (min-width:992px){
  .dd-kit-main { grid-column:1 / -1; }
}

@media screen and (min-width:992px){
  .section.boat-feature-section { height:auto; }
  .boat-feature-image-div { height:clamp(560px, calc(100vh - 140px), 1103px); }
  .boat-feature-image { display:block; min-height:100%; }
  .boat-feature-sticky-div {
    position:relative;
    top:auto;
    overflow-x:auto;
    overflow-y:hidden;
  }
  .boat-feature-sticky-div .boat-collection-list { transform:none; }
  .section.boat-feature-section.dd-gallery-enhanced .boat-feature-sticky-div {
    position:sticky;
    top:var(--_📐-spacing---spacing--space-9xl);
    overflow:hidden;
  }
}

@media screen and (max-width:991px){
  .menu-button .dd-menu-toggle {
    position:relative;
    width:30px;
    height:30px;
  }
  .menu-button .dd-menu-toggle svg { display:none !important; }
  .menu-button .dd-menu-toggle span { display:none; }
  .menu-button .dd-menu-toggle::before,
  .menu-button .dd-menu-toggle::after {
    content:"";
    position:absolute;
    left:5px;
    top:8px;
    width:20px;
    height:2px;
    background:#001025;
    transition:transform .2s ease, top .2s ease;
  }
  .menu-button .dd-menu-toggle::before { box-shadow:0 6px #001025,0 12px #001025; }
  .menu-button.w--open .dd-menu-toggle::before { top:14px; box-shadow:none; transform:rotate(45deg); }
  .menu-button.w--open .dd-menu-toggle::after { top:14px; transform:rotate(-45deg); }

  .dd-reference-testimonials { padding:64px 0 72px; }
  .dd-reference-testimonials .testimonial-wrapper {
    min-height:0;
    flex-direction:column;
    gap:32px;
  }
  .dd-reference-testimonials .testimonial-info-div {
    min-height:0;
    width:100%;
    gap:24px;
  }
  .dd-reference-testimonials .testimonial-slider { width:100%; height:260px !important; }
  .dd-reference-testimonials .testimonial-detail-div { padding:0 42px; }

  .dd-reference-proof .home-about-detail-div { width:100% !important; }
  .dd-reference-proof .home-about-image-div {
    width:100%;
    height:clamp(360px, 90vw, 520px);
    min-height:0;
    overflow:hidden;
  }
  .dd-reference-proof .home-about-image {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 50%;
  }
  .section.boat-feature-section { height:auto !important; }
  .boat-feature-image-div { height:clamp(360px, 78vw, 620px); }
  .boat-feature-image { display:block; min-height:100%; }
  .boat-feature-sticky-div {
    position:static !important;
    top:auto !important;
    overflow:visible !important;
  }
  .boat-feature-sticky-div .boat-collection-list { transform:none !important; }
}

@media screen and (min-width:992px){
  /* Keep the proof image readable and stop its intrinsic portrait ratio from
     stretching the complete right-hand statistics column. */
  .dd-reference-proof .home-about-wrapper { align-items:stretch; }
  .dd-reference-proof .home-about-image-div {
    flex:1 1 auto;
    min-width:0;
    width:auto;
    height:clamp(520px, 70svh, 760px);
    min-height:0;
    overflow:hidden;
  }
  .dd-reference-proof .home-about-image {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 50%;
  }
  .dd-reference-proof .home-about-detail-div {
    flex:0 0 367px;
    width:367px !important;
    height:auto;
    min-height:0;
    gap:8px;
    overflow:visible;
  }
  .dd-reference-proof .home-about-card {
    flex:1 1 0;
    min-height:0;
    justify-content:center;
  }
  .dd-reference-proof .common-button-div { flex:0 0 auto; margin-top:0; }
}

#top,
#catalog,
#projects,
#price,
#technology,
#showroom,
#faq,
#calc,
#contacts { scroll-margin-top:100px; }
.dd-menu-toggle:has(svg) > span { opacity:0; }

@media screen and (max-width:360px){
  .display-heading.hero-heading-text { font-size:30px !important; }
  .hero-heading-image {
    display:inline-block !important;
    width:58px !important;
    max-width:58px !important;
    height:40px !important;
    border-radius:9px;
    margin-left:2px;
    margin-right:-4px;
  }
}

/* Reference-led hero composition: image inside the first line, explanatory
   copy in the free right column, and the action row below. */
.display-heading.hero-heading-text {
  display:block !important;
  font-size:clamp(80px, 7.5vw, 96px) !important;
  line-height:.94 !important;
  letter-spacing:-.045em !important;
  white-space:normal !important;
}
.hero-heading-copy {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.hero-heading-line {
  display:flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  white-space:nowrap;
}
.hero-heading-line-top {
  gap:.18em;
}
.hero-heading-line-bottom {
  gap:.3em;
  margin-top:.06em;
}
.hero-heading-image {
  width:clamp(170px, 16vw, 220px) !important;
  max-width:none !important;
  height:.95em !important;
  margin:0 !important;
  border-radius:16px;
  overflow:hidden;
  display:block !important;
  flex:0 0 auto;
}

@media screen and (min-width:768px) and (max-width:991px){
  .display-heading.hero-heading-text {
    font-size:clamp(68px, 8.6vw, 92px) !important;
  }
  .hero-heading-image {
    width:clamp(150px, 20vw, 185px) !important;
    max-width:none !important;
    height:.95em !important;
    border-radius:14px;
  }
}

@media screen and (max-width:767px){
  .display-heading.hero-heading-text {
    display:block !important;
    font-size:clamp(30px, 8.2vw, 34px) !important;
    line-height:.94 !important;
    letter-spacing:-.035em !important;
  }
  .hero-heading-line-top {
    gap:.22em;
  }
  .hero-heading-line-bottom {
    gap:.3em;
    margin-top:.1em;
  }
  .hero-heading-image {
    width:clamp(76px, 24vw, 110px) !important;
    max-width:none !important;
    height:1.25em !important;
    border-radius:10px;
  }
}

@media screen and (max-width:360px){
  .hero-heading-image {
    width:72px !important;
    max-width:72px !important;
    height:1.25em !important;
    border-radius:9px;
  }
}

@media screen and (min-width:992px){
  .hero-detail-div {
    display:grid;
    grid-template-columns:minmax(0, 1fr) clamp(300px, 28vw, 360px);
    align-items:end;
    gap:clamp(24px, 2.2vw, 36px);
  }
  .hero-heading-div {
    max-width:none;
    min-width:0;
  }
  .hero-paragraph {
    align-self:end !important;
    max-width:360px !important;
    margin:0 0 5px !important;
    font-size:18px !important;
    line-height:1.45 !important;
  }
}

@media screen and (min-width:1400px){
  .hero-detail-div {
    grid-template-columns:900px 340px;
    gap:40px;
  }
  .display-heading.hero-heading-text {
    font-size:clamp(112px, 6.25vw, 120px) !important;
  }
  .hero-heading-image {
    width:260px !important;
    height:1em !important;
    border-radius:18px;
  }
  .hero-paragraph {
    max-width:340px !important;
    font-size:19px !important;
  }
}

/* Center the complete desktop hero composition instead of approximating its
   position with a fixed top padding. */
@media screen and (min-width:992px){
  .dd-door-hero {
    padding-top:0 !important;
  }
  .dd-door-hero > .container,
  .dd-door-hero .hero-wrapper {
    height:100%;
  }
  .dd-door-hero .hero-wrapper {
    justify-content:center;
  }
}

/* Mobile reading pass: keep repeated content compact and let card groups
   become touch-friendly horizontal scrollers instead of long columns. */
@media screen and (max-width:767px){
  .dd-section{padding-top:64px;padding-bottom:64px;}
  .dd-section-head{margin-bottom:32px;}
  .dd-section-head h2{font-size:clamp(36px,10.5vw,48px);line-height:.98;}

  .hero-section{min-height:clamp(700px,200vw,760px);}
  .dd-door-hero{min-height:clamp(700px,200vw,760px);}
  .hero-paragraph{font-size:16px !important;line-height:1.5 !important;}

  /* The proof metrics remain comparable, but no longer consume four rows. */
  .dd-reference-proof .home-about-detail-div{
    grid-template-columns:1fr 1fr;
    display:grid;
    gap:4px;
    overflow:visible;
  }
  .dd-reference-proof .home-about-card{
    min-height:118px;
    padding:18px !important;
  }
  .dd-reference-proof .home-about-card .h3-heading{font-size:32px;}
  .dd-reference-proof .home-about-card .large-paragraph{font-size:13px;line-height:1.35;}
  .dd-reference-proof .common-button-div{grid-column:1/-1;width:100% !important;margin-top:4px;}

  /* Project gallery: show one full card plus a visible part of the next one. */
  .boat-feature-wrapper{padding-left:20px;padding-right:0;}
  .boat-feature-sticky-div{overflow:visible !important;}
  .boat-collection-list{
    display:flex !important;
    flex-flow:row nowrap !important;
    gap:12px;
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    padding:0 16px 10px 0;
    scroll-snap-type:x mandatory;
    overscroll-behavior-x:contain;
    scrollbar-width:thin;
    scrollbar-color:#001025 transparent;
  }
  .boat-collection-item{
    flex:0 0 min(82vw,320px);
    width:min(82vw,320px);
    max-width:none;
    scroll-snap-align:start;
  }
  .boat-feature-image-div{display:block;width:100%;height:clamp(350px,106vw,430px);}
  .boat-feature-image{display:block;width:100%;height:100%;object-fit:cover;}
  .boat-feature-card{min-width:0;padding:18px !important;gap:14px !important;}
  .boat-feature-detail-div{gap:8px;}
  .boat-feature-detail-div .h6-heading{min-width:0;font-size:16px;line-height:1.25;}
  .boat-feature-list-wrapper{gap:10px 14px;}
  .boat-feature-list-div{min-width:0;}
  .boat-feature-text{font-size:12px;}

  /* Repeated cards are easier to scan as a compact swipeable row. */
  .dd-selection-grid,
  .dd-kit-grid,
  .dd-pay-grid,
  .dd-case-grid{
    display:flex;
    flex-flow:row nowrap;
    gap:12px;
    width:auto;
    margin-right:-16px;
    padding-right:16px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    overscroll-behavior-x:contain;
    scrollbar-width:thin;
    scrollbar-color:#001025 transparent;
  }
  .dd-selection-grid .dd-select-card{
    flex:0 0 min(78vw,290px);
    min-height:280px;
    scroll-snap-align:start;
  }
  .dd-kit-grid article{
    flex:0 0 min(80vw,300px);
    min-height:280px;
    scroll-snap-align:start;
  }
  .dd-kit-main{flex:0 0 min(80vw,300px);}
  .dd-pay-grid article{
    flex:0 0 min(78vw,290px);
    min-height:220px;
    scroll-snap-align:start;
  }
  .dd-case-card{
    flex:0 0 min(84vw,320px);
    min-height:360px;
    scroll-snap-align:start;
  }

  /* Keep the price block vertical, but make its two detail cards swipeable. */
  .dd-price-cards{
    display:flex;
    flex-flow:row nowrap;
    gap:12px;
    width:auto;
    margin-right:-16px;
    padding-right:16px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    overscroll-behavior-x:contain;
    scrollbar-width:thin;
    scrollbar-color:#001025 transparent;
  }
  .dd-price-cards .dd-info-card{
    flex:0 0 min(80vw,300px);
    min-height:380px;
    scroll-snap-align:start;
  }

  .dd-tech-strip{
    flex-wrap:nowrap !important;
    justify-content:flex-start;
    gap:12px;
    overflow-x:auto;
    overflow-y:hidden;
    white-space:nowrap;
    scrollbar-width:thin;
    scrollbar-color:#cdff00 transparent;
  }
  .dd-tech-strip span,.dd-tech-strip b{flex:0 0 auto;}

  .dd-showroom-bg,.dd-showroom-inner{min-height:clamp(640px,178vw,760px);}
  .dd-showroom-inner{padding-top:72px !important;}
  .dd-showroom-panel strong{font-size:22px;line-height:1.2;}

  .dd-process-list article{padding:18px 0;}
  .dd-process-list h3{font-size:24px;line-height:1.1;}
  .dd-process-list p{font-size:15px;line-height:1.5;}

  .dd-qualify-card{padding:36px 20px;}
  .dd-qualify-card h2{font-size:clamp(38px,10.5vw,50px);}
  .dd-qualify-copy{gap:22px;margin-top:24px;}
  .dd-faq-item button{padding:20px 0;font-size:17px;}
  .dd-quiz-step,.dd-quiz-success{min-height:380px;padding:24px 16px;}
}

@media screen and (max-width:360px){
  .dd-section{padding-top:56px;padding-bottom:56px;}
  .dd-section-head h2{font-size:36px;}
  .hero-paragraph{font-size:15.5px !important;}
  .boat-collection-item{flex-basis:286px;width:286px;}
}

/* Header repair: the original Webflow header was sized for four links.
   Keep every desktop item on one line and give the mobile menu its own flow. */
.navbar .nav-wrapper {
  width: calc(100% - 52px);
  max-width: 940px;
  min-height: 52px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  column-gap: 24px;
  align-items: center;
}

.navbar .nav-menu {
  float: none;
  min-width: 0;
  width: auto;
}

.navbar .brand-logo-link {
  margin-left: 40px;
}

.navbar .nav-menu-div {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  min-width: 0;
}

.navbar .nav-link {
  display: block;
  flex: 0 0 auto;
  width: auto;
  max-width: none;
  white-space: nowrap;
  overflow: hidden;
}

.navbar .nav-link-text {
  white-space: nowrap;
}

.navbar .dd-nav-mobile-contacts {
  display: none;
}

.navbar .nav-button-wrapper {
  flex: 0 0 auto;
  gap: 16px;
  min-width: 0;
}

.navbar .dd-header-phone {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  color: #001025;
  line-height: 1.1;
  text-decoration: none;
  white-space: nowrap;
}

.navbar .dd-phone-num {
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}

.navbar .dd-phone-sub {
  color: rgba(0, 16, 37, .55);
  font-size: 10px;
  white-space: nowrap;
}

.navbar .nav-button-div,
.navbar .nav-button-div .text-link {
  flex: 0 0 auto;
  white-space: nowrap;
}

/* The decorative Webflow SVG is only 992px wide and its lower wave starts
   after the original four-link layout. With the expanded navigation it cuts
   through the logo and CTA, so use a stable header surface instead. */
.navbar .nav-container {
  background-color: rgba(255, 255, 255, .98);
  background-image: none;
  border-radius: 0 0 28px 28px;
  box-shadow: 0 10px 24px rgba(0, 16, 37, .08);
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
  .navbar .nav-container {
    max-width: 100%;
  }

  .navbar .nav-wrapper {
    width: calc(100% - 32px);
    column-gap: 18px;
  }

  .navbar .nav-menu-div {
    gap: 12px;
  }

  .navbar .nav-link {
    font-size: 13px;
  }

  .navbar .dd-header-phone {
    display: none;
  }

  .navbar .nav-button-wrapper {
    gap: 0;
  }
}

@media screen and (max-width: 991px) {
  .navbar .nav-container {
    width: auto;
    max-width: none;
    margin-top: 10px;
    padding: 12px 20px;
  }

  .navbar .nav-wrapper {
    width: 100%;
    max-width: none;
    min-height: 52px;
    display: flex;
    gap: 0;
  }

  .navbar .brand-logo-link {
    margin-left: 0;
  }

  .navbar .nav-menu {
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    width: 100%;
    padding: 0 20px;
    z-index: 3;
  }

  .navbar .nav-menu-div {
    display: flex;
    flex-flow: column nowrap;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    padding: 18px 20px 22px;
    background: #fff;
    box-shadow: 0 18px 38px rgba(0, 16, 37, .14);
  }

  .navbar .nav-link {
    width: 100%;
    padding: 12px 0;
    font-size: 18px;
    overflow: visible;
  }

  .navbar .nav-button-wrapper {
    margin-left: auto;
    gap: 0;
  }

  .navbar .dd-header-phone,
  .navbar .nav-button-div {
    display: none;
  }

  .navbar .menu-button {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
  }

  .navbar .dd-nav-mobile-contacts {
    display: flex;
    flex-flow: column nowrap;
    align-items: flex-start;
    gap: 9px;
    width: 100%;
    margin-top: 10px;
    padding-top: 16px;
    border-top: 1px solid rgba(0, 16, 37, .12);
  }

  .navbar .dd-nav-phone {
    color: #001025;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
  }

  .navbar .dd-nav-hours {
    color: rgba(0, 16, 37, .55);
    font-size: 12px;
  }

  .navbar .dd-nav-messengers {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }

  .navbar .dd-nav-msg-btn {
    color: #001025;
    font-size: 13px;
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  .navbar .dd-nav-mobile-calc {
    width: 100%;
    min-width: 0;
    margin-top: 8px;
  }
}

/* Privacy controls use the existing navy / lime visual language and stay
   readable above the floating page content on small screens. */
.dd-footer-legal-strip {
  padding: 22px 20px 28px;
  color: rgba(255,255,255,.65);
  background: #001025;
}
.dd-footer-legal-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 24px;
  max-width: 1240px;
  margin: 0 auto;
}
.dd-footer-legal-links a {
  color: inherit;
  font-size: 12px;
  line-height: 1.45;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.dd-footer-legal-links a:hover,
.dd-footer-legal-links a:focus-visible { color: #cdff00; }
.dd-cookie-banner {
  position: fixed;
  right: 16px;
  bottom: 16px;
  left: 16px;
  z-index: 10000;
}
.dd-cookie-banner[hidden],
.dd-cookie-modal[hidden] { display: none !important; }
.dd-cookie-banner-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  max-width: 1180px;
  margin: 0 auto;
  padding: 18px 20px;
  color: #fff;
  background: #001025;
  box-shadow: 0 16px 44px rgba(0,16,37,.24);
}
.dd-cookie-banner-inner strong { display: block; margin-bottom: 6px; font-size: 15px; }
.dd-cookie-banner-inner p {
  max-width: 680px;
  margin: 0;
  color: rgba(255,255,255,.76);
  font-size: 12px;
  line-height: 1.5;
}
.dd-cookie-actions,
.dd-cookie-dialog-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.dd-cookie-button {
  min-height: 44px;
  padding: 10px 14px;
  color: #fff;
  font: inherit;
  font-size: 12px;
  line-height: 1.2;
  background: transparent;
  border: 1px solid rgba(255,255,255,.48);
  cursor: pointer;
}
.dd-cookie-button:hover,
.dd-cookie-button:focus-visible { border-color: #cdff00; color: #cdff00; }
.dd-cookie-button-primary { color: #001025; background: #cdff00; border-color: #cdff00; }
.dd-cookie-button-primary:hover,
.dd-cookie-button-primary:focus-visible { color: #001025; background: #fff; border-color: #fff; }
.dd-cookie-button-link { border-color: transparent; text-decoration: underline; text-underline-offset: 3px; }
.dd-cookie-modal {
  position: fixed;
  inset: 0;
  z-index: 10001;
  display: grid;
  place-items: center;
  padding: 16px;
  background: rgba(0,16,37,.68);
}
.dd-cookie-dialog {
  position: relative;
  width: min(100%, 620px);
  max-height: calc(100vh - 32px);
  overflow: auto;
  padding: 36px 34px 30px;
  color: #001025;
  background: #fff;
  box-shadow: 0 24px 80px rgba(0,16,37,.3);
}
.dd-cookie-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  padding: 0;
  color: #001025;
  font-size: 26px;
  line-height: 1;
  background: transparent;
  border: 1px solid rgba(0,16,37,.2);
  border-radius: 50%;
  cursor: pointer;
}
.dd-cookie-kicker { margin-bottom: 12px; color: #5c6b7a; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.dd-cookie-dialog h2 { margin: 0 54px 14px 0; font-size: clamp(32px,5vw,48px); line-height: 1; letter-spacing: -.05em; }
.dd-cookie-copy { max-width: 52ch; margin: 0 0 22px; color: rgba(0,16,37,.72); font-size: 14px; line-height: 1.55; }
.dd-cookie-option {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 10px 0;
  padding: 14px;
  background: #f2f5f9;
  cursor: pointer;
}
.dd-cookie-option-static { justify-content: space-between; cursor: default; }
.dd-cookie-option input { flex: 0 0 auto; width: 20px; height: 20px; margin: 1px 0 0; accent-color: #001025; }
.dd-cookie-option span { display: flex; flex-direction: column; gap: 5px; }
.dd-cookie-option strong { font-size: 14px; }
.dd-cookie-option small { color: rgba(0,16,37,.66); font-size: 12px; line-height: 1.45; }
.dd-cookie-status { flex: 0 0 auto; color: #5f6d7c; font-size: 12px; font-style: normal; }
.dd-cookie-dialog-actions { margin-top: 22px; }
.dd-cookie-dialog .dd-cookie-button { color: #001025; border-color: rgba(0,16,37,.32); }
.dd-cookie-dialog .dd-cookie-button-primary { border-color: #cdff00; }
.dd-cookie-dialog .dd-cookie-button-link,
.dd-cookie-dialog .dd-cookie-button:hover,
.dd-cookie-dialog .dd-cookie-button:focus-visible { color: #001025; }
.dd-cookie-document-link { margin: 20px 0 0; font-size: 12px; }
.dd-cookie-document-link a { color: #001025; text-underline-offset: 3px; }
body.dd-modal-open { overflow: hidden; }

@media screen and (max-width: 720px) {
  .dd-footer-legal-strip { padding: 20px 16px 24px; }
  .dd-footer-legal-links { justify-content: flex-start; gap: 10px 18px; }
  .dd-cookie-banner { right: 10px; bottom: 10px; left: 10px; }
  .dd-cookie-banner-inner { display: block; padding: 16px; }
  .dd-cookie-actions { margin-top: 14px; }
  .dd-cookie-button { flex: 1 1 auto; min-width: 130px; }
  .dd-cookie-dialog { padding: 32px 20px 24px; }
  .dd-cookie-dialog-actions .dd-cookie-button { flex: 1 1 auto; }
}

/* Source catalogue and Yandex review block. These components reuse the
   existing navy / lime palette while keeping the catalogue scannable on
   narrow screens. */
.dd-source-catalog { background: #f2f5f9; }
.dd-catalog-intro {
  max-width: 760px;
  margin: -28px 0 36px;
  color: rgba(0,16,37,.68);
  font-size: 17px;
  line-height: 1.6;
}
.dd-catalog-category-strip {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 48px;
}
.dd-catalog-category-strip span {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 92px;
  padding: 16px;
  background: #fff;
  color: #5c6b7a;
  font-size: 13px;
  line-height: 1.3;
}
.dd-catalog-category-strip b { color: #001025; font-size: 20px; font-weight: 500; }
.dd-material-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 10px;
}
.dd-material-card {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  color: #fff;
  background: #001025;
}
.dd-material-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .72;
  transition: transform .45s ease;
}
.dd-material-card::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, rgba(0,16,37,.04), rgba(0,16,37,.86));
}
.dd-material-card > div { position: absolute; z-index: 1; inset: auto 20px 20px; }
.dd-material-card > div > span { font-size: 12px; opacity: .75; }
.dd-material-card h3 { margin: 8px 0; color: #fff !important; font-size: 28px; line-height: 1; letter-spacing: -.04em; text-shadow: 0 1px 12px rgba(0,0,0,.24); }
.dd-material-card p { max-width: 26ch; margin: 0; color: rgba(255,255,255,.78); font-size: 13px; line-height: 1.45; }
.dd-material-card:hover img { transform: scale(1.035); }
.dd-product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.dd-product-card { display: flex; min-width: 0; flex-direction: column; background: #fff; }
.dd-product-image-link { display: block; aspect-ratio: 3 / 4; overflow: hidden; background: #e6eaee; }
.dd-product-image { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.dd-product-image-link:hover .dd-product-image { transform: scale(1.035); }
.dd-product-content { display: flex; flex: 1; flex-direction: column; padding: 20px; }
.dd-product-meta { display: flex; justify-content: space-between; gap: 10px; color: #5c6b7a; font-size: 12px; letter-spacing: .05em; text-transform: uppercase; }
.dd-product-content h3 { margin: 22px 0 12px; color: #001025; font-size: 28px; line-height: 1; letter-spacing: -.045em; }
.dd-product-content p { margin: 0; color: rgba(0,16,37,.68); font-size: 13px; line-height: 1.5; }
.dd-product-bottom { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 24px; }
.dd-product-bottom strong { color: #001025; font-size: 15px; line-height: 1.2; }
.dd-product-bottom a { color: #001025; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.dd-catalog-note { margin-top: 18px; padding: 18px 20px; background: #fff; color: #5c6b7a; font-size: 12px; line-height: 1.5; }
.dd-catalog-note a,
.dd-source-link { color: #001025; text-decoration: underline; text-underline-offset: 3px; }
.dd-knowledge { background: #fff; }
.dd-knowledge-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.dd-knowledge-card { display: flex; min-height: 250px; flex-direction: column; padding: 24px; background: #f2f5f9; }
.dd-knowledge-card > span { color: #5c6b7a; font-size: 12px; letter-spacing: .05em; }
.dd-knowledge-card h3 { margin: 30px 0 12px; color: #001025; font-size: 28px; line-height: 1; letter-spacing: -.045em; }
.dd-knowledge-card p { margin: 0; color: rgba(0,16,37,.68); font-size: 13px; line-height: 1.5; }
.dd-knowledge-card a { margin-top: auto; padding-top: 22px; color: #001025; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.dd-knowledge-note { max-width: 850px; margin: 18px 0 0; color: #5c6b7a; font-size: 12px; line-height: 1.5; }
.dd-contact-note { max-width: 42ch; margin: 18px 0 24px; color: rgba(0,16,37,.68); font-size: 14px; line-height: 1.55; }
.dd-yandex-reviews { margin-top: 60px; padding: 22px; background: #f2f5f9; }
.dd-yandex-reviews-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.dd-yandex-reviews-head h3 { margin: 8px 0 0; color: #001025; font-size: clamp(28px, 4vw, 48px); line-height: .98; letter-spacing: -.05em; }
.dd-yandex-reviews-head a { color: #001025; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
.dd-yandex-reviews iframe { display: block; width: 100%; min-height: 400px; border: 1px solid rgba(0,16,37,.16); background: #fff; }
.dd-review-proof-inner { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); align-items: end; gap: 48px; }
.dd-review-proof-inner h2 { max-width: 760px; margin: 18px 0 0; color: #001025; font-size: clamp(42px, 6vw, 78px); line-height: .96; letter-spacing: -.055em; }
.dd-review-proof-copy p { max-width: 42ch; margin: 0; color: rgba(0,16,37,.72); font-size: 16px; line-height: 1.55; }
.dd-review-proof-copy .dd-button { margin-top: 24px; }
@media screen and (max-width: 767px) {
  .dd-review-proof-inner { grid-template-columns: 1fr; gap: 28px; }
  .dd-review-proof-inner h2 { font-size: 42px; }
  .dd-review-proof-copy .dd-button { width: 100%; min-width: 0; }
}

@media screen and (max-width: 1199px) {
  .dd-catalog-category-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dd-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media screen and (max-width: 767px) {
  .dd-catalog-intro { margin: -14px 0 24px; font-size: 15px; }
  .dd-catalog-category-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 30px; }
  .dd-material-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dd-material-card { min-height: 260px; }
  .dd-material-card > div { inset: auto 14px 14px; }
  .dd-material-card h3 { font-size: 22px; }
  .dd-product-grid { grid-template-columns: 1fr; }
  .dd-knowledge-grid { grid-template-columns: 1fr; }
  .dd-yandex-reviews { margin-top: 36px; padding: 12px; }
  .dd-yandex-reviews-head { align-items: flex-start; flex-direction: column; gap: 14px; }
  .dd-yandex-reviews-head h3 { font-size: 32px; }
  .dd-yandex-reviews iframe { min-height: 420px; }
}
@media screen and (max-width: 380px) {
  .dd-catalog-category-strip { grid-template-columns: 1fr; }
  .dd-material-grid { grid-template-columns: 1fr; }
}

/* Full source catalogue page. It keeps all product cards available without
   making the conversion-focused landing page unnecessarily long. */
.dd-catalog-page { min-width: 0; background: #f2f5f9; color: #001025; font-family: Manrope, Arial, sans-serif; }
.dd-catalog-page a { color: inherit; }
.dd-catalog-header { background: #001025; color: #fff; }
.dd-catalog-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 1240px; margin: 0 auto; padding: 22px 32px; }
.dd-catalog-header .dd-brand-text { color: #fff; font-size: 20px; font-weight: 700; letter-spacing: -.06em; text-decoration: none; }
.dd-catalog-header .dd-brand-text span { color: #cdff00; }
.dd-catalog-nav { display: flex; flex-wrap: wrap; gap: 18px; color: rgba(255,255,255,.76); font-size: 12px; }
.dd-catalog-nav a { text-decoration: none; }
.dd-catalog-nav a:hover { color: #cdff00; }
.dd-catalog-header-cta { min-width: 196px; padding: 14px 16px; background: #cdff00; color: #001025 !important; font-size: 12px; font-weight: 600; text-align: center; text-decoration: none; }
.dd-full-catalog { padding: clamp(64px, 9vw, 132px) 32px; }
.dd-full-catalog-inner { max-width: 1240px; margin: 0 auto; }
.dd-full-catalog-head { display: grid; grid-template-columns: 1fr minmax(280px, .62fr); align-items: end; gap: 48px; margin-bottom: 40px; }
.dd-full-catalog-head h1 { max-width: 780px; margin: 16px 0 0; color: #001025; font-size: clamp(48px, 7vw, 96px); line-height: .94; letter-spacing: -.065em; }
.dd-full-catalog-lead { max-width: 46ch; margin: 0; color: rgba(0,16,37,.7); font-size: 16px; line-height: 1.6; }
.dd-full-catalog-summary { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 56px; }
.dd-full-catalog-summary a { padding: 13px 16px; background: #fff; color: #001025; font-size: 12px; text-decoration: none; }
.dd-full-catalog-summary a:hover { background: #cdff00; }
.dd-full-catalog-category { scroll-margin-top: 24px; margin-top: 72px; }
.dd-full-catalog-category:first-of-type { margin-top: 0; }
.dd-full-catalog-category-head { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 20px; border-bottom: 1px solid rgba(0,16,37,.14); padding-bottom: 14px; }
.dd-full-catalog-category-head h2 { margin: 0; color: #001025; font-size: clamp(32px, 4vw, 54px); line-height: 1; letter-spacing: -.055em; }
.dd-full-catalog-category-head span { color: #5c6b7a; font-size: 12px; }
.dd-full-catalog-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.dd-full-catalog-card { display: flex; min-width: 0; flex-direction: column; background: #fff; }
.dd-full-catalog-card .dd-product-image-link { aspect-ratio: 3 / 4; }
.dd-full-catalog-card .dd-product-content { min-height: 230px; padding: 18px; }
.dd-full-catalog-card .dd-product-content h3 { margin: 18px 0 10px; font-size: 24px; }
.dd-full-catalog-card .dd-product-content p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 5; min-height: 7.5em; }
.dd-full-catalog-card .dd-product-bottom { align-items: flex-start; flex-direction: column; gap: 12px; padding-top: 18px; }
.dd-full-catalog-card .dd-product-bottom strong { font-size: 14px; }
.dd-full-catalog-card .dd-product-bottom a { white-space: normal; }
.dd-full-catalog-source { display: inline-block; margin-top: 12px; color: #001025; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.dd-catalog-articles { margin-top: 88px; padding: 28px; background: #fff; }
.dd-catalog-articles h2 { max-width: 700px; margin: 12px 0 24px; font-size: clamp(32px, 4vw, 54px); line-height: .98; letter-spacing: -.055em; }
.dd-catalog-article-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.dd-catalog-article { display: flex; min-height: 190px; flex-direction: column; padding: 20px; background: #f2f5f9; }
.dd-catalog-article span { color: #5c6b7a; font-size: 12px; }
.dd-catalog-article h3 { margin: 28px 0 10px; font-size: 21px; line-height: 1.05; letter-spacing: -.04em; }
.dd-catalog-article p { margin: 0; color: rgba(0,16,37,.68); font-size: 13px; line-height: 1.5; }
.dd-catalog-article a { margin-top: auto; padding-top: 18px; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.dd-catalog-footer { padding: 44px 32px; background: #001025; color: #fff; }
.dd-catalog-footer-inner { display: flex; align-items: flex-start; justify-content: space-between; gap: 36px; max-width: 1240px; margin: 0 auto; }
.dd-catalog-footer p { max-width: 44ch; margin: 12px 0 0; color: rgba(255,255,255,.68); font-size: 13px; line-height: 1.55; }
.dd-catalog-footer-nav { display: flex; flex-wrap: wrap; gap: 14px 22px; color: rgba(255,255,255,.76); font-size: 12px; }
.dd-catalog-footer-nav a { text-decoration: none; }
.dd-catalog-footer-nav a:hover { color: #cdff00; }
.dd-catalog-footer-legal { display: flex; flex-wrap: wrap; gap: 12px 20px; max-width: 1240px; margin: 32px auto 0; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.72); font-size: 12px; }
.dd-catalog-footer-legal a { text-decoration: none; }

@media screen and (max-width: 1199px) {
  .dd-full-catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media screen and (max-width: 767px) {
  .dd-catalog-header-inner { align-items: flex-start; flex-wrap: wrap; padding: 18px 18px; }
  .dd-catalog-nav { order: 3; width: 100%; gap: 12px 16px; }
  .dd-catalog-header-cta { margin-left: auto; min-width: 170px; }
  .dd-full-catalog { padding: 62px 18px; }
  .dd-full-catalog-head { grid-template-columns: 1fr; gap: 24px; margin-bottom: 28px; }
  .dd-full-catalog-head h1 { font-size: 54px; }
  .dd-full-catalog-lead { font-size: 15px; }
  .dd-full-catalog-summary { margin-bottom: 38px; }
  .dd-full-catalog-category { margin-top: 54px; }
  .dd-full-catalog-grid { grid-template-columns: 1fr; }
  .dd-catalog-articles { margin-top: 58px; padding: 20px; }
  .dd-catalog-article-grid { grid-template-columns: 1fr; }
  .dd-catalog-footer { padding: 36px 18px; }
  .dd-catalog-footer-inner { flex-direction: column; gap: 24px; }
}

/* Final mobile pass: keep dense card collections discoverable without
   turning the landing page into a long single-column feed. These rules are
   intentionally grouped at the end so they override the imported Webflow
   breakpoints without changing the desktop layout. */
@media screen and (max-width: 767px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .container {
    width: 100%;
    min-width: 0;
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  .dd-section {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .dd-section-head {
    gap: 12px;
    margin-bottom: 28px;
  }

  .dd-section-head h2 {
    max-width: 100%;
    font-size: clamp(32px, 9.6vw, 44px);
    line-height: 1;
  }

  /* Keep the offer and CTA close to the top of the mobile viewport. */
  .hero-section {
    height: auto !important;
    min-height: clamp(600px, 166vw, 720px);
  }

  .dd-door-hero {
    min-height: clamp(600px, 166vw, 720px);
    padding-top: 96px;
  }

  .dd-door-hero .hero-wrapper {
    gap: 28px;
  }

  .hero-heading-div {
    max-width: 100%;
  }

  .display-heading.hero-heading-text {
    font-size: clamp(34px, 10.5vw, 56px);
    letter-spacing: -2.5px;
    line-height: 1;
  }

  .hero-heading-image {
    width: clamp(106px, 33vw, 150px) !important;
    height: clamp(54px, 18vw, 70px) !important;
    margin-right: 0;
    border-radius: 12px;
  }

  .hero-paragraph {
    max-width: 36ch !important;
    margin-top: 14px !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  .hero-button-div {
    align-items: flex-start;
    gap: 14px 16px;
  }

  .dd-hero-benefits {
    display: flex;
    flex: 1 0 100%;
    flex-wrap: wrap;
    gap: 10px 18px;
    width: 100%;
    max-width: 100%;
    margin: 0;
    font-size: 13px;
    line-height: 1.35;
  }

  .dd-hero-benefits span {
    flex: 0 0 auto;
    white-space: normal;
  }

  .dd-hero-cta-link .text-link-icon-div {
    width: 44px;
    height: 44px;
  }

  .hero-button-div .dd-hero-cta-text {
    max-width: 190px;
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  /* The proof image and metrics stay balanced at 320–430px. */
  .dd-reference-proof .home-about-image-div {
    height: clamp(260px, 74vw, 360px);
  }

  .dd-reference-proof .home-about-image {
    object-position: center 52%;
  }

  .dd-reference-proof .home-about-card {
    min-height: 104px;
    padding: 14px !important;
  }

  .dd-reference-proof .home-about-card .h3-heading {
    font-size: clamp(26px, 8vw, 32px);
  }

  .dd-reference-proof .home-about-card .large-paragraph {
    font-size: 12px;
    line-height: 1.35;
  }

  /* Shared swipe behavior for repeated card groups. */
  .boat-collection-list,
  .dd-selection-grid,
  .dd-kit-grid,
  .dd-pay-grid,
  .dd-case-grid,
  .dd-price-cards,
  .dd-material-grid,
  .dd-product-grid,
  .dd-review-grid,
  .dd-knowledge-grid,
  .dd-full-catalog-summary {
    scrollbar-width: none;
    -ms-overflow-style: none;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
  }

  .boat-collection-list::-webkit-scrollbar,
  .dd-selection-grid::-webkit-scrollbar,
  .dd-kit-grid::-webkit-scrollbar,
  .dd-pay-grid::-webkit-scrollbar,
  .dd-case-grid::-webkit-scrollbar,
  .dd-price-cards::-webkit-scrollbar,
  .dd-material-grid::-webkit-scrollbar,
  .dd-product-grid::-webkit-scrollbar,
  .dd-review-grid::-webkit-scrollbar,
  .dd-knowledge-grid::-webkit-scrollbar,
  .dd-full-catalog-summary::-webkit-scrollbar {
    display: none;
  }

  /* Image-led material cards keep useful width on a narrow screen. */
  .dd-material-grid {
    display: flex;
    flex-flow: row nowrap;
    gap: 12px;
    width: auto;
    margin-right: -16px;
    padding-right: 16px;
    overflow-x: auto;
    overflow-y: hidden;
  }

  .dd-material-grid .dd-material-card {
    flex: 0 0 min(78vw, 300px);
    min-width: 0;
    min-height: 270px;
    scroll-snap-align: start;
  }

  /* Keep a complete first card and a discoverable part of the next one. */
  .dd-product-grid,
  .dd-knowledge-grid,
  .dd-review-grid {
    display: flex;
    flex-flow: row nowrap;
    gap: 12px;
    width: auto;
    margin-right: -16px;
    padding-right: 16px;
    overflow-x: auto;
    overflow-y: hidden;
  }

  .dd-product-grid > .dd-product-card,
  .dd-knowledge-grid > .dd-knowledge-card,
  .dd-review-grid > .dd-review {
    flex: 0 0 min(80vw, 320px);
    min-width: 0;
    scroll-snap-align: start;
  }

  .dd-knowledge-grid > .dd-knowledge-card {
    min-height: 238px;
    padding: 20px;
  }

  .dd-knowledge-card h3 {
    margin-top: 24px;
    font-size: 25px;
  }

  .dd-review-grid > .dd-review {
    min-height: 340px;
    padding: 22px;
  }

  .dd-review blockquote {
    margin: 40px 0 22px;
    font-size: 24px;
  }

  .dd-catalog-article-grid > .dd-catalog-article {
    min-height: 210px;
    padding: 18px;
  }

  /* Short category links stay in two compact columns even at 320px. */
  .dd-catalog-category-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 26px;
  }

  .dd-catalog-category-strip span {
    min-height: 82px;
    padding: 12px;
    font-size: 12px;
  }

  .dd-catalog-category-strip b {
    font-size: 18px;
  }

  /* Existing swipe rows become less sticky and retain the next-card cue. */
  .dd-selection-grid .dd-select-card {
    flex-basis: min(78vw, 290px);
  }

  .dd-kit-grid article,
  .dd-kit-main {
    flex-basis: min(80vw, 300px);
  }

  .dd-pay-grid article {
    flex-basis: min(78vw, 290px);
  }

  .dd-case-card {
    flex-basis: min(84vw, 320px);
  }

  .dd-price-cards .dd-info-card {
    flex-basis: min(80vw, 300px);
  }

  .dd-tech-strip {
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-snap-type: x proximity;
    touch-action: pan-x;
  }

  .dd-tech-strip::-webkit-scrollbar {
    display: none;
  }

  .dd-showroom-bg,
  .dd-showroom-inner {
    min-height: clamp(540px, 148vw, 660px);
  }

  .dd-showroom-inner {
    padding-top: 56px !important;
  }

  .dd-showroom-panel {
    gap: 20px;
    padding: 18px;
  }

  .dd-showroom-actions {
    width: 100%;
  }

  .dd-showroom-actions .dd-hero-main-btn,
  .dd-showroom-actions .dd-light-btn {
    min-width: 0;
    width: 100%;
  }

  .dd-tech-media {
    min-height: clamp(300px, 84vw, 460px);
    margin-top: 42px;
  }

  .dd-process-list article {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    padding: 16px 0;
  }

  .dd-process-list article p {
    grid-column: 2;
    font-size: 14px;
    line-height: 1.45;
  }

  .dd-qualify-card {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 30px 20px;
  }

  .dd-qualify-card h2 {
    font-size: clamp(34px, 10vw, 46px);
  }

  .dd-qualify-copy {
    gap: 18px;
    margin-top: 0;
  }

  .dd-faq-item button {
    min-height: 60px;
    padding: 16px 0;
    font-size: 16px;
  }

  .dd-quiz-step,
  .dd-quiz-success {
    min-height: 350px;
    padding: 22px 16px;
  }

  .dd-quiz-error {
    margin: 10px 16px 0;
  }

  .dd-quiz-step h3,
  .dd-quiz-success h3 {
    font-size: clamp(28px, 8.5vw, 34px);
    line-height: 1.05;
  }

  .dd-quiz-no {
    margin-bottom: 28px;
  }

  .dd-fields input,
  .dd-fields select {
    min-height: 60px;
    font-size: 16px;
  }

  .dd-consent-label {
    min-height: 44px;
    align-items: center;
  }

  .dd-consent-text {
    font-size: 12px;
    line-height: 1.45;
  }

  .navbar .nav-link,
  .dd-footer-legal-links a,
  .dd-catalog-footer-nav a,
  .dd-catalog-footer-legal a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  .dd-submit {
    min-height: 64px;
    padding: 0 16px;
    gap: 12px;
    text-align: left;
  }

  .dd-quiz-nav {
    justify-content: stretch;
    padding: 8px 0 0;
  }

  .dd-quiz-nav button {
    flex: 1 1 0;
    min-width: 0;
    min-height: 48px;
  }

  /* The mobile menu remains usable on short screens. */
  .navbar .brand-logo-link {
    flex: 0 0 auto;
  }

  .navbar .menu-button {
    border: 0;
    background: transparent;
  }

  .navbar .nav-menu {
    max-height: calc(100svh - 92px);
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  .navbar .nav-menu-div {
    min-width: 0;
  }

  .navbar .menu-button:focus-visible {
    outline: 3px solid #cdff00;
    outline-offset: 2px;
  }

  /* The separate catalogue has no burger, so its compact navigation and
     category summary use the same intentional horizontal interaction. */
  .dd-catalog-page {
    min-width: 0;
    width: 100%;
  }

  .dd-footer-marquee {
    width: 100%;
    margin-left: 0;
  }

  .dd-catalog-header-inner {
    gap: 14px;
    padding: 16px 18px;
  }

  .dd-catalog-nav {
    flex-wrap: nowrap;
    gap: 16px;
    width: 100%;
    padding-bottom: 4px;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
  }

  .dd-catalog-nav::-webkit-scrollbar {
    display: none;
  }

  .dd-catalog-header-cta {
    min-width: 0;
    padding: 13px 14px;
  }

  .dd-full-catalog {
    padding: 52px 16px;
  }

  .dd-full-catalog-head h1 {
    font-size: clamp(40px, 12vw, 54px);
  }

  .dd-full-catalog-summary {
    flex-flow: row nowrap;
    width: auto;
    margin-right: -16px;
    margin-bottom: 30px;
    padding-right: 16px;
    overflow-x: auto;
    overflow-y: hidden;
  }

  .dd-full-catalog-summary a {
    flex: 0 0 auto;
    min-height: 44px;
    padding: 13px 14px;
    scroll-snap-align: start;
  }

  .dd-full-catalog-category {
    margin-top: 46px;
  }

  .dd-full-catalog-category-head {
    margin-bottom: 16px;
  }

  .dd-full-catalog-category-head h2 {
    font-size: clamp(30px, 9vw, 42px);
  }

  .dd-full-catalog-card .dd-product-content {
    min-height: 220px;
    padding: 16px;
  }

  .dd-full-catalog-card .dd-product-content h3 {
    font-size: 22px;
  }

  .dd-catalog-articles {
    margin-top: 48px;
    padding: 18px;
  }

  .dd-catalog-articles h2 {
    font-size: clamp(30px, 9vw, 42px);
  }

  /* Keep consent controls compact while preserving 44px touch targets. */
  .dd-cookie-banner {
    right: 8px;
    bottom: max(8px, env(safe-area-inset-bottom));
    left: 8px;
  }

  .dd-cookie-banner-inner {
    padding: 14px;
  }

  .dd-cookie-actions {
    gap: 6px;
    margin-top: 12px;
  }

  .dd-cookie-button {
    flex: 1 1 calc(50% - 6px);
    min-width: 0;
    min-height: 44px;
    padding: 10px 8px;
  }

  .dd-cookie-button-link {
    flex-basis: 100%;
  }

  .dd-cookie-dialog {
    max-height: min(calc(100svh - 24px), calc(100vh - 24px));
    padding: 28px 16px 20px;
  }

  .dd-cookie-close {
    top: 12px;
    right: 12px;
    width: 44px;
    height: 44px;
  }
}

@media screen and (max-width: 360px) {
  .dd-section {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .dd-section-head h2 {
    font-size: 32px;
  }

  .dd-door-hero {
    padding-top: 88px;
  }

  .hero-paragraph {
    font-size: 15px !important;
  }

  .boat-collection-item {
    flex-basis: min(86vw, 286px);
    width: min(86vw, 286px);
  }

  .dd-material-grid .dd-material-card,
  .dd-product-grid > .dd-product-card,
  .dd-knowledge-grid > .dd-knowledge-card,
  .dd-review-grid > .dd-review {
    flex-basis: 82vw;
  }

  .dd-catalog-category-strip span {
    min-height: 78px;
    padding: 10px;
  }

  .dd-cookie-banner-inner strong {
    font-size: 14px;
  }
}

/* Webflow moves the collapsed menu into a generated overlay. Keep that
   overlay anchored to the fixed header instead of positioning the menu from
   the overlay's full document height. */
@media screen and (max-width: 991px) {
  /* The original Webflow hover treatment duplicates the label below the
     link. It is useful on desktop where the link clips the shadow, but it
     becomes visible in the expanded mobile menu. */
  .navbar .nav-link-text {
    text-shadow: none;
  }

  body.dd-mobile-menu-open {
    overflow: hidden;
  }

  .navbar .w-nav-overlay {
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    height: auto !important;
    max-height: calc(100vh - 92px);
    max-height: calc(100svh - 92px);
    overflow: visible;
    z-index: 4;
  }

  .navbar .w-nav-overlay .nav-menu[data-nav-menu-open] {
    position: relative;
    top: 0;
    left: auto;
    right: auto;
    width: 100%;
    max-height: calc(100vh - 92px);
    max-height: calc(100svh - 92px);
    overflow-x: hidden;
    overflow-y: auto;
  }
}

/* Let narrow price and CTA content shrink with the viewport rather than
   widening its grid track and getting clipped at 320px. */
.dd-price-layout,
.dd-price-big,
.dd-price-cards,
.dd-inline-cta,
.dd-inline-cta p {
  min-width: 0;
}

.dd-price-big strong {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  min-width: 0;
  max-width: 100%;
  white-space: normal;
}

.dd-price-from {
  flex: 0 0 auto;
  margin-right: .16em;
  font-size: .48em;
  letter-spacing: -.04em;
  white-space: nowrap;
}

.dd-price-value {
  flex: 0 1 auto;
  min-width: 0;
  white-space: nowrap;
}

@media screen and (max-width: 991px) {
  .dd-price-big strong {
    font-size: clamp(54px, 8.5vw, 78px);
  }
}

@media screen and (max-width: 767px) {
  .dd-price-layout {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    max-width: 100%;
  }

  .dd-price-big {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }

  .dd-price-big strong {
    max-width: 100%;
    font-size: clamp(42px, 14vw, 66px);
  }

  .dd-price-big > span,
  .dd-inline-cta p {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .dd-inline-cta {
    width: 100%;
    max-width: 100%;
  }

  .dd-inline-cta .dd-button {
    width: 100%;
    max-width: 100%;
  }

  /* Product photography follows the source 2:3 portrait format and is
     contained so the door itself is never cropped on a phone. */
  .dd-product-image-link,
  .dd-full-catalog-card .dd-product-image-link {
    aspect-ratio: 2 / 3;
  }

  .dd-product-image {
    object-fit: contain;
    background: #e6eaee;
  }

  .dd-showroom-bg {
    background-position: 66% center;
  }

  .dd-catalog-nav a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}

/* Mobile top-spacing repair: seat the fixed header flush with the viewport
   and give the hero copy a little more breathing room below it. */
@media screen and (max-width: 991px) {
  .navbar .nav-container {
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .dd-door-hero {
    padding-top: 154px;
  }
}

@media screen and (max-width: 360px) {
  .dd-door-hero {
    padding-top: 112px;
  }
}

/* Final header proportion pass: keep the desktop wordmark closer to the
   left edge and make the mobile header/image treatment more compact. */
@media screen and (min-width: 992px) {
  .navbar .brand-logo-link {
    margin-left: 18px;
  }
}

@media screen and (max-width: 991px) {
  .navbar .nav-container {
    padding: 7px 16px;
  }

  .navbar .nav-wrapper {
    min-height: 48px;
  }

  .navbar .menu-button {
    width: 44px;
    height: 44px;
  }
}

@media screen and (max-width: 767px) {
  .hero-heading-image {
    height: 1.08em !important;
  }
}

/* Final mobile CTA/footer pass: keep the action visually grouped, lower it
   below the benefits, and reduce unnecessary legal-footer whitespace. */
.dd-hero-cta-wrap {
  display: contents;
}

@media screen and (max-width: 767px), screen and (hover: none) and (pointer: coarse) {
  .display-heading.hero-heading-text {
    font-size: clamp(36px, 11vw, 58px) !important;
  }

  .hero-button-div {
    row-gap: 18px;
  }

  .dd-hero-cta-wrap {
    order: 2;
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    min-height: 60px;
    margin-top: 18px;
    padding: 7px 18px 7px 7px;
    gap: 12px;
    border: 1px solid rgba(205, 255, 0, .5);
    border-radius: 999px;
    background: rgba(0, 16, 37, .78);
    box-shadow: 0 10px 26px rgba(0, 0, 0, .22);
  }

  .dd-hero-cta-wrap .dd-hero-cta-link {
    flex: 0 0 44px;
    width: 44px;
    min-width: 44px;
    height: 44px;
    padding: 0;
    gap: 0;
  }

  .dd-hero-cta-wrap .dd-hero-cta-link .link-text {
    display: none;
  }

  .dd-hero-cta-wrap .dd-hero-cta-link .text-link-icon-div {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
  }

  .dd-hero-cta-wrap .dd-hero-cta-text {
    flex: 0 1 auto;
    max-width: 220px;
    min-height: 0;
    margin: 0;
    color: #fff !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  .dd-reference-footer .footer-line-div {
    margin-top: 28px;
    margin-bottom: 18px;
  }

  .dd-reference-footer .footer-bottom-div {
    grid-column-gap: 0;
    grid-row-gap: 8px;
    margin-bottom: 22px;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .dd-reference-footer .footer-bottom-div .small-paragraph {
    margin: 0;
    line-height: 1.35;
  }

  .dd-footer-legal-strip {
    padding: 10px 16px 16px;
  }

  .dd-footer-legal-links {
    gap: 2px 14px;
  }

  .dd-footer-legal-links a {
    min-height: 36px;
    line-height: 1.3;
  }
}

@media screen and (max-width: 360px) {
  .dd-hero-cta-wrap {
    gap: 10px;
    padding-right: 14px;
  }

  .dd-hero-cta-wrap .dd-hero-cta-text {
    max-width: 190px;
    font-size: 15px !important;
  }
}

/* Desktop hero finish: keep the proof compact, separate the facts clearly,
   and keep the CTA as one deliberate visual unit. */
@media screen and (min-width: 992px) {
  .hero-button-div {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(18px, 2vw, 30px);
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, .2);
  }

  .dd-hero-benefits {
    display: grid;
    grid-template-columns: repeat(3, max-content);
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    align-items: center;
    gap: 0;
    font-size: 14px;
    line-height: 1.3;
  }

  .dd-hero-benefits span {
    white-space: nowrap;
    padding: 0 22px;
  }

  .dd-hero-benefits span:first-child { padding-left: 0; }
  .dd-hero-benefits span + span {
    border-left: 1px solid rgba(255, 255, 255, .26);
  }
  .dd-hero-benefits span:last-child { padding-right: 0; }

  .dd-hero-cta-wrap {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    min-height: 54px;
    max-width: 100%;
    padding: 5px 14px 5px 5px;
    gap: 10px;
    border: 1px solid rgba(205, 255, 0, .58);
    border-radius: 999px;
    background: rgba(0, 16, 37, .68);
    box-shadow: 0 8px 22px rgba(0, 0, 0, .18);
  }

  .dd-hero-cta-wrap .dd-hero-cta-link {
    flex: 0 0 44px;
    width: 44px;
    min-width: 44px;
    height: 44px;
    padding: 0;
    gap: 0;
  }

  .dd-hero-cta-wrap .dd-hero-cta-link .text-link-icon-div {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
  }

  .dd-hero-cta-wrap .dd-hero-cta-text {
    flex: 0 1 auto;
    max-width: none;
    min-height: 0;
    margin: 0;
    color: #fff !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    white-space: nowrap;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
  .hero-button-div { gap: 18px; }

  .dd-hero-benefits {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    flex: 1 1 auto;
    font-size: 13px;
  }

  .dd-hero-benefits span {
    white-space: normal;
    padding-left: 14px;
    padding-right: 14px;
  }

  .dd-hero-cta-wrap .dd-hero-cta-text {
    max-width: 180px;
    white-space: normal;
  }
}

/* ------------------------------------------------------------------
   Yandex Maps rating proof: a linked, verifiable trust signal.
   ------------------------------------------------------------------ */
.dd-rating-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  color: #001025;
  font-size: 13px;
  line-height: 1.2;
  text-decoration: none;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(0,16,37,.12);
  transition: background .25s, border-color .25s, transform .25s;
}
.dd-rating-badge:hover,
.dd-rating-badge:focus-visible {
  background: #fff;
  border-color: #001025;
  transform: translateY(-2px);
}
.dd-rating-score { font-size: 17px; font-weight: 700; letter-spacing: -.02em; }
.dd-rating-stars { color: #8f5a00; font-size: 13px; letter-spacing: .06em; }
.dd-rating-meta { color: #5c6b7a; }

/* Inline rating line used on the light showroom/contacts surfaces. */
.dd-rating-inline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #001025;
  font-size: 13px;
  line-height: 1.3;
  text-decoration: none;
  border-bottom: 1px solid rgba(0,16,37,.25);
  padding-bottom: 4px;
}
.dd-rating-inline .dd-rating-stars { font-size: 12px; }
.dd-rating-inline:hover,
.dd-rating-inline:focus-visible { border-bottom-color: #001025; }

/* ------------------------------------------------------------------
   Shared lead modal. Injected by js/dokadveri.js so every CTA on every
   page opens the same short request form with a no-JS #calc fallback.
   ------------------------------------------------------------------ */
.dd-lead-modal {
  position: fixed;
  inset: 0;
  z-index: 10002;
  display: grid;
  place-items: center;
  padding: 16px;
  background: rgba(0,16,37,.68);
}
.dd-lead-modal[hidden] { display: none !important; }
.dd-lead-backdrop { position: absolute; inset: 0; }
.dd-lead-dialog {
  position: relative;
  width: min(100%, 640px);
  max-height: calc(100vh - 32px);
  max-height: calc(100svh - 32px);
  overflow: auto;
  padding: 40px 36px 30px;
  color: #001025;
  background: #fff;
  box-shadow: 0 24px 80px rgba(0,16,37,.34);
}
.dd-lead-close {
  position: absolute;
  top: 14px;
  right: 14px;
  display: grid;
  width: 44px;
  height: 44px;
  padding: 0;
  place-items: center;
  color: #001025;
  font-size: 26px;
  line-height: 1;
  background: transparent;
  border: 1px solid rgba(0,16,37,.2);
  border-radius: 50%;
  cursor: pointer;
}
.dd-lead-close:hover,
.dd-lead-close:focus-visible { background: #f2f5f9; }
.dd-lead-kicker {
  display: block;
  margin-bottom: 12px;
  color: #5c6b7a;
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.dd-lead-dialog h2 {
  margin: 0 52px 14px 0;
  font-size: clamp(26px, 4vw, 40px);
  line-height: 1.02;
  letter-spacing: -.045em;
}
.dd-lead-context {
  display: inline-block;
  margin: 0 0 20px;
  padding: 8px 12px;
  color: #001025;
  font-size: 13px;
  line-height: 1.35;
  background: #f2f5f9;
}
.dd-lead-context[hidden] { display: none !important; }
.dd-lead-rating {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  margin: 0 0 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(0,16,37,.12);
  color: #5c6b7a;
  font-size: 13px;
}
.dd-lead-rating a { color: #001025; text-underline-offset: 3px; }
.dd-lead-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.dd-lead-stack { display: grid; gap: 10px; margin-top: 10px; }
.dd-lead-field { display: flex; flex-direction: column; gap: 7px; }
.dd-lead-field > span {
  color: #5c6b7a;
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.dd-lead-field > span em { color: #b42318; font-style: normal; }
.dd-lead-field input,
.dd-lead-field select,
.dd-lead-field textarea {
  width: 100%;
  min-height: 54px;
  padding: 14px 16px;
  color: #001025;
  font: inherit;
  font-size: 16px;
  line-height: 1.3;
  background: #fff;
  border: 1px solid rgba(0,16,37,.22);
  border-radius: 0;
}
.dd-lead-field textarea { min-height: 92px; resize: vertical; }
.dd-lead-field input:focus-visible,
.dd-lead-field select:focus-visible,
.dd-lead-field textarea:focus-visible {
  outline: 3px solid #cdff00;
  outline-offset: 1px;
  border-color: #001025;
}
.dd-lead-form .dd-submit { margin-top: 16px; }
.dd-lead-form .dd-submit[disabled] { opacity: .6; cursor: progress; }
.dd-lead-status { margin: 14px 0 0; color: #9b1c31; font-size: 13px; line-height: 1.45; }
.dd-lead-status[hidden] { display: none !important; }
.dd-lead-note { margin: 14px 0 0; color: #5c6b7a; font-size: 12px; line-height: 1.5; }
.dd-lead-success[hidden] { display: none !important; }
.dd-lead-success h3 {
  margin: 18px 0 12px;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.02;
  letter-spacing: -.045em;
}
.dd-lead-success p { margin: 0 0 22px; color: rgba(0,16,37,.72); font-size: 15px; line-height: 1.55; }

/* Every tappable CTA keeps a 44px minimum target on touch screens. */
@media screen and (max-width: 767px), screen and (hover: none) and (pointer: coarse) {
  .button,
  .dd-button,
  .dd-hero-main-btn,
  .dd-light-btn,
  .dd-catalog-header-cta { min-height: 44px; }

  .dd-product-bottom a,
  .dd-knowledge-card a,
  .dd-source-link,
  .dd-full-catalog-source,
  .dd-yandex-reviews-head a,
  .dd-catalog-note a,
  .dd-full-catalog-summary a,
  .dd-hero-cta-text { display: inline-flex; align-items: center; min-height: 44px; }
}

@media screen and (max-width: 560px) {
  .dd-lead-dialog { padding: 34px 20px 24px; }
  .dd-lead-fields { grid-template-columns: 1fr; }
  .dd-lead-dialog h2 { margin-right: 46px; }
  .dd-rating-badge { flex-wrap: wrap; gap: 4px 8px; }
}

body.dd-lead-open { overflow: hidden; }

/* Touch targets that need a more specific selector than the shared CTA rule. */
@media screen and (max-width: 767px), screen and (hover: none) and (pointer: coarse) {
  .dd-rating-badge,
  .dd-rating-inline,
  .dd-footer-legal-links a,
  .dd-catalog-footer-legal a,
  .dd-hero-cta-wrap .dd-hero-cta-text {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}

/* The model labels sit on a photograph, so a slightly denser scrim keeps the
   white text readable on the brighter gallery images. */
.boat-feature-card { background-color: rgba(0,16,37,.62); }

/* `.dd-catalog-page a { color: inherit }` outranks the badge colour, which
   made the score white-on-white inside the dark catalogue footer. */
.dd-catalog-page a.dd-rating-badge { color: #001025; }

@media screen and (max-width: 767px), screen and (hover: none) and (pointer: coarse) {
  .navbar .brand-logo-link,
  .footer-logo-link { display: inline-flex; align-items: center; min-height: 44px; }
}

/* ------------------------------------------------------------------
   Rating next to the logo in the header.
   ------------------------------------------------------------------ */
.dd-brand-group {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.dd-rating-badge-nav {
  flex: 0 0 auto;
  min-height: 36px;
  padding: 6px 10px;
  gap: 7px;
  font-size: 12px;
  line-height: 1.15;
}
.dd-rating-badge-nav .dd-rating-score { font-size: 14px; }
.dd-rating-badge-nav .dd-rating-stars { font-size: 12px; letter-spacing: .04em; }
.dd-rating-badge-nav .dd-rating-meta { white-space: nowrap; }

/* The header bar was capped at 992px while the page content is 1320px wide.
   Matching them frees the room the rating badge needs and lines the header up
   with the content below it. */
@media screen and (min-width: 1200px) {
  .navbar .nav-container { max-width: 1320px; }
  .navbar .nav-wrapper { max-width: 1280px; }
}

/* Intermediate desktop keeps only the score and stars so the navigation never
   gets clipped. */
@media screen and (max-width: 1199px) {
  .navbar .nav-container { max-width: 100%; }
  .navbar .nav-wrapper { max-width: 100%; }
  .dd-rating-badge-nav .dd-rating-meta { display: none; }
}

@media screen and (max-width: 991px) {
  .dd-brand-group { gap: 10px; }
  .dd-rating-badge-nav { padding: 5px 9px; }
  .navbar .nav-wrapper { column-gap: 12px; }
}

/* ------------------------------------------------------------------
   Line-break quality: every text block splits into evenly filled lines, so a
   paragraph never ends with a single stranded word. `pretty` is the fallback
   for engines that know it but not `balance`; unsupported engines ignore both
   and keep the previous behaviour. Blocks longer than the engine's balancing
   limit fall back to normal wrapping.
   ------------------------------------------------------------------ */
body { text-wrap: pretty; text-wrap: balance; }

/* The hero heading already has explicit lines and a SplitText reveal. */
.display-heading[data-heading-blur-reveal] { text-wrap: wrap; }

@media screen and (max-width: 767px), screen and (hover: none) and (pointer: coarse) {
  .dd-catalog-article > a,
  .dd-catalog-header .dd-brand-text,
  .dd-catalog-footer .dd-brand-text {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}

/* Touch devices of any width: the footer navigation and the quiz inputs need
   the same comfortable targets as the mobile layout. */
@media screen and (hover: none) and (pointer: coarse) {
  .footer-link-div a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}

/* Invisible native controls: 16px avoids the iOS focus zoom, and the answer
   buttons need a keyboard focus ring of their own. */
.dd-options input,
.dd-consent-label input { font-size: 16px; }
.dd-options input:focus-visible + span {
  outline: 3px solid #001025;
  outline-offset: 2px;
}
