:root{
  --ad-ink:#111a22;
  --ad-navy:#071b2d;
  --ad-paper:#f2f5f6;
  --ad-soft:#e9eef0;
  --ad-line:#cfd8dc;
  --ad-muted:#64727a;
  --ad-accent:#ef6a24;
  --ad-accent-dark:#cf5015;
  --ad-white:#fdfefe;
  --ad-max:1320px;
  --ad-pad:clamp(22px,5vw,72px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ad-ink);
  background:var(--ad-white);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue","PingFang SC",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
body.ad-menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{color:inherit}
:focus-visible{outline:3px solid rgba(239,106,36,.34);outline-offset:3px}

.ad-header{
  position:sticky;
  top:0;
  z-index:20;
  height:72px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
  padding:0 var(--ad-pad);
  border-bottom:1px solid rgba(17,26,34,.12);
  background:rgba(253,254,254,.95);
  backdrop-filter:blur(16px);
}
.ad-brand img{width:137px;height:auto}
.ad-nav{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:clamp(8px,1vw,16px);
  font-size:11px;
  font-weight:500;
  white-space:nowrap;
}
.ad-nav a{padding:10px 0;border-bottom:1px solid transparent}
.ad-nav a:hover{border-color:var(--ad-accent);color:var(--ad-accent-dark)}
.ad-header-actions{display:flex;align-items:center;gap:14px}
.ad-phone{
  padding:10px 0;
  border-bottom:1px solid var(--ad-ink);
  font-size:13px;
  font-weight:780;
  white-space:nowrap;
}
.ad-language{position:relative}
.ad-language-toggle{
  min-width:118px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 13px;
  border:1px solid var(--ad-line);
  background:var(--ad-white);
  cursor:pointer;
}
.ad-language-menu{
  position:absolute;
  top:calc(100% + 7px);
  right:0;
  min-width:150px;
  padding:6px;
  border:1px solid var(--ad-line);
  background:var(--ad-white);
  box-shadow:0 18px 42px rgba(7,27,45,.14);
  opacity:0;
  visibility:hidden;
  transform:translateY(-5px);
  transition:.18s ease;
}
.ad-language-menu.is-open{opacity:1;visibility:visible;transform:none}
.ad-language-menu button{
  width:100%;
  padding:11px 12px;
  border:0;
  background:transparent;
  text-align:left;
  cursor:pointer;
}
.ad-language-menu button:hover,.ad-language-menu button.is-active{background:var(--ad-paper);color:var(--ad-accent-dark)}

.ad-hero{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.88fr);
  background:var(--ad-paper);
}
.ad-hero-copy{
  min-width:0;
  min-height:clamp(600px,48vw,700px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(54px,8vh,86px) var(--ad-pad);
}
.ad-kicker{
  margin:0 0 22px;
  color:var(--ad-accent-dark);
  font-size:11px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.ad-hero h1{
  max-width:760px;
  margin:0;
  font-size:clamp(32px,2.8vw,46px);
  line-height:1.02;
  letter-spacing:-.058em;
}
.ad-hero-intro{
  max-width:660px;
  margin:26px 0 0;
  color:#52616a;
  font-size:clamp(16px,1.25vw,19px);
  line-height:1.68;
}
.ad-hero-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:18px;
  margin-top:34px;
}
.ad-button{
  min-height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:0 22px;
  border:1px solid var(--ad-accent);
  background:var(--ad-accent);
  color:#fff;
  font-size:14px;
  font-weight:780;
  white-space:nowrap;
  transition:.18s ease;
}
.ad-button:hover{border-color:var(--ad-accent-dark);background:var(--ad-accent-dark)}
.ad-button:active{transform:translateY(1px)}
.ad-text-action{
  padding:14px 0;
  border-bottom:1px solid #9ba7ad;
  font-size:14px;
  font-weight:760;
}
.ad-text-action:hover{border-color:var(--ad-accent);color:var(--ad-accent-dark)}
.ad-hero{width:min(calc(100% - 48px),1440px);margin-inline:auto}
.ad-hero-visual{position:relative;min-height:clamp(600px,48vw,700px);overflow:hidden;background:#dfe5e8}
.ad-hero-visual img{width:100%;height:100%;object-fit:contain;object-position:center}
.ad-hero-visual::after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(17,26,34,.1);
  pointer-events:none;
}

.ad-proof{
  display:grid;
  grid-template-columns:1.2fr repeat(3,1fr);
  max-width:var(--ad-max);
  margin:0 auto;
  padding:0 var(--ad-pad);
  border-bottom:1px solid var(--ad-line);
}
.ad-proof>div{
  min-height:116px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:22px 26px;
  border-left:1px solid var(--ad-line);
}
.ad-proof>div:last-child{border-right:1px solid var(--ad-line)}
.ad-proof strong{font-size:15px;line-height:1.35}
.ad-proof span{margin-top:8px;color:var(--ad-muted);font-size:12px;line-height:1.5}

.ad-definition{
  max-width:var(--ad-max);
  margin:0 auto;
  padding:48px var(--ad-pad);
  display:grid;
  grid-template-columns:minmax(220px,.34fr) minmax(0,1fr);
  gap:42px;
  align-items:start;
  border-bottom:1px solid var(--ad-line);
}
.ad-definition h2{margin:0;font-size:24px;line-height:1.25;letter-spacing:-.025em}
.ad-definition p{max-width:800px;margin:0;color:var(--ad-muted);font-size:15px;line-height:1.8}

.ad-section{
  max-width:var(--ad-max);
  margin:0 auto;
  padding:104px var(--ad-pad);
}
.ad-section h2,.ad-quote-copy h2{
  max-width:840px;
  margin:0;
  font-size:clamp(28px,2.2vw,34px);
  line-height:1.08;
  letter-spacing:-.045em;
}
.ad-section-intro{
  max-width:720px;
  margin:22px 0 0;
  color:var(--ad-muted);
  font-size:16px;
  line-height:1.72;
}
.ad-spec-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  margin-top:58px;
  border-top:1px solid var(--ad-ink);
}
.ad-spec{
  min-height:190px;
  padding:34px 32px 34px 0;
  border-bottom:1px solid var(--ad-line);
}
.ad-spec:nth-child(odd){padding-right:clamp(34px,6vw,82px)}
.ad-spec:nth-child(even){padding-left:clamp(26px,4vw,56px);border-left:1px solid var(--ad-line)}
.ad-spec h3{margin:0;font-size:22px;line-height:1.25;letter-spacing:-.025em}
.ad-spec p{max-width:580px;margin:16px 0 0;color:var(--ad-muted);font-size:14px;line-height:1.7}

.ad-gallery{
  width:min(calc(100% - 40px),var(--ad-max));
  display:grid;
  grid-template-columns:1.18fr .82fr;
  gap:18px;
  margin-inline:auto;
  padding:18px;
  background:var(--ad-navy);
}
.ad-gallery figure{min-width:0;margin:0;overflow:hidden;background:#dfe5e8}
.ad-gallery figure:first-child{height:clamp(420px,38vw,560px)}
.ad-gallery figure:last-child{height:clamp(340px,30vw,440px);align-self:end}
.ad-gallery img{width:100%;height:100%;object-fit:cover;object-position:center}
.ad-gallery figure.ad-gallery-wide{grid-column:1/-1;height:auto;aspect-ratio:1672/941;align-self:auto}
.ad-gallery figure.ad-gallery-wide img{object-fit:contain}
.ad-gallery-copy{
  max-width:var(--ad-max);
  margin:0 auto;
  padding:76px var(--ad-pad) 38px;
}
.ad-gallery-copy h2{max-width:820px;margin:0;font-size:clamp(28px,2.2vw,34px);line-height:1.08;letter-spacing:-.045em}
.ad-gallery-copy p{max-width:720px;margin:20px 0 0;color:var(--ad-muted);line-height:1.72}

.ad-process{background:var(--ad-paper)}
.ad-process-inner{max-width:var(--ad-max);margin:0 auto;padding:96px var(--ad-pad)}
.ad-process-inner h2{max-width:760px;margin:0;font-size:clamp(28px,2.2vw,34px);line-height:1.08;letter-spacing:-.045em}
.ad-process-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:54px;border-top:1px solid var(--ad-ink)}
.ad-process-item{padding:30px 28px 10px 0;border-right:1px solid var(--ad-line)}
.ad-process-item:not(:first-child){padding-left:28px}
.ad-process-item:last-child{border-right:0}
.ad-process-item strong{display:block;font-size:18px;line-height:1.35}
.ad-process-item p{margin:13px 0 0;color:var(--ad-muted);font-size:13px;line-height:1.68}

.ad-quote{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:clamp(50px,7vw,110px);
  max-width:var(--ad-max);
  margin:0 auto;
  padding:104px var(--ad-pad);
}
.ad-quote-copy>p{max-width:520px;margin:24px 0 0;color:var(--ad-muted);line-height:1.75}
.ad-contact-block{margin-top:34px;padding-top:24px;border-top:1px solid var(--ad-line)}
.ad-contact-block small{display:block;color:var(--ad-muted);font-size:11px;font-weight:760;letter-spacing:.07em}
.ad-contact-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:15px}
.ad-contact-links a{padding:10px 0;border-bottom:1px solid var(--ad-ink);font-size:15px;font-weight:780}
.ad-contact-links a:hover{border-color:var(--ad-accent);color:var(--ad-accent-dark)}
.ad-factory{margin:22px 0 0;font-style:normal}
.ad-factory strong{
  display:block;
  color:var(--ad-ink);
  font-size:12px;
  font-weight:780;
  letter-spacing:.02em;
}
.ad-factory span{
  display:block;
  max-width:440px;
  margin-top:7px;
  color:var(--ad-muted);
  font-size:13px;
  line-height:1.65;
}
.ad-product-fixed{
  grid-column:1/-1;
  padding:16px;
  border-left:4px solid var(--ad-accent);
  background:#e8edef;
}
.ad-product-fixed small{display:block;color:var(--ad-muted);font-size:10px;font-weight:760;letter-spacing:.06em}
.ad-product-fixed strong{display:block;margin-top:6px;font-size:16px}
.ad-quote .quote-form{align-self:start}

.ad-footer{
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:end;
  padding:54px var(--ad-pad) 30px;
  background:var(--ad-ink);
  color:#eef3f4;
}
.ad-footer img{
  width:205px;
  height:auto;
  filter:brightness(0) invert(1);
}
.ad-footer p{margin:14px 0 0;color:#9eabb2;font-size:12px;line-height:1.7}
.ad-footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:20px;color:#b8c2c7;font-size:12px}
.ad-footer small{grid-column:1/-1;padding-top:24px;border-top:1px solid #33414a;color:#7f8d95}
.ad-home-shortcut{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:60;
  width:48px;
  height:48px;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  background:#f06423;
  color:#fff;
  box-shadow:0 14px 34px rgba(0,20,35,.24);
  transition:background .2s,color .2s,transform .2s;
}
.ad-home-shortcut:hover,.ad-home-shortcut:focus-visible{background:#d95418;color:#fff;transform:translateY(-2px)}
.ad-home-shortcut:focus-visible{outline:3px solid rgba(240,100,35,.3);outline-offset:3px}
.ad-home-shortcut span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ad-home-shortcut b{font-size:0;line-height:1}
.ad-home-shortcut b::before{content:"↑";font-size:30px;font-weight:400}

@media(max-width:1000px){
  .ad-header{grid-template-columns:auto 1fr auto}
  .ad-nav{display:none}
  .ad-phone{justify-self:end}
  .ad-hero{grid-template-columns:1fr}
  .ad-hero-copy{min-height:0}
  .ad-hero-visual{min-height:0;aspect-ratio:16/10}
  .ad-proof{grid-template-columns:repeat(2,1fr)}
  .ad-proof>div:nth-child(3){border-left:1px solid var(--ad-line)}
  .ad-gallery{grid-template-columns:1fr 1fr}
  .ad-gallery figure:first-child{height:clamp(360px,48vw,480px)}
  .ad-gallery figure:last-child{height:clamp(300px,40vw,400px)}
  .ad-quote{grid-template-columns:1fr}
}

@media(max-width:720px){
  :root{--ad-pad:22px}
  body{padding-bottom:0}
  .ad-header{height:66px;gap:12px}
  .ad-brand img{width:115px}
  .ad-phone{display:none}
  .ad-language-toggle{min-width:106px;height:40px}
  .ad-hero{min-height:auto}
  .ad-hero-copy{min-height:0;padding-top:56px;padding-bottom:56px}
  .ad-kicker{margin-bottom:18px}
  .ad-hero h1{font-size:clamp(32px,8vw,38px);line-height:1.05}
  .ad-hero-intro{font-size:15px}
  .ad-hero-actions{align-items:stretch;flex-direction:column;gap:12px}
  .ad-button{
    width:100%;
    min-height:52px;
    padding:13px 18px;
    line-height:1.35;
    text-align:center;
    white-space:normal;
  }
  .ad-text-action{align-self:flex-start}
  .ad-hero-visual{min-height:0;aspect-ratio:4/3}
  .ad-proof{grid-template-columns:1fr;padding:0 22px}
  .ad-proof>div,
  .ad-proof>div:nth-child(3){min-height:96px;padding:20px 0;border-left:0;border-bottom:1px solid var(--ad-line)}
  .ad-proof>div:last-child{border-right:0}
  .ad-definition{grid-template-columns:1fr;gap:14px;padding-top:34px;padding-bottom:34px}
  .ad-section{padding-top:78px;padding-bottom:78px}
  .ad-section h2,.ad-quote-copy h2{font-size:28px}
  .ad-spec-grid{grid-template-columns:1fr;margin-top:40px}
  .ad-spec,.ad-spec:nth-child(odd),.ad-spec:nth-child(even){min-height:0;padding:26px 0;border-left:0}
  .ad-gallery-copy{padding-top:70px}
  .ad-gallery{width:calc(100% - 20px);grid-template-columns:1fr;padding:10px}
  .ad-gallery figure:first-child,.ad-gallery figure:last-child{height:auto}
  .ad-gallery img{height:auto;object-fit:contain}
  .ad-process-inner{padding-top:76px;padding-bottom:76px}
  .ad-process-grid{grid-template-columns:1fr 1fr}
  .ad-process-item,.ad-process-item:not(:first-child){padding:24px 18px 24px 0;border-right:0;border-bottom:1px solid var(--ad-line)}
  .ad-process-item:nth-child(even){padding-left:18px;border-left:1px solid var(--ad-line)}
  .ad-quote{padding-top:78px;padding-bottom:78px}
  .quote-form-grid{grid-template-columns:1fr}
  .ad-footer{grid-template-columns:1fr}
  .ad-footer-links{justify-content:flex-start}
  .ad-footer small{grid-column:1}
  .ad-home-shortcut{
    right:16px;
    bottom:calc(16px + env(safe-area-inset-bottom));
    width:48px;
    height:48px;
    min-height:48px;
    padding:0;
  }
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}

@media print{.ad-home-shortcut{display:none!important}}

.ad-gallery--outdoor{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.ad-gallery--outdoor figure,
.ad-gallery--outdoor figure:first-child,
.ad-gallery--outdoor figure:last-child{
  height:clamp(330px,28vw,440px);
  align-self:stretch;
}
.ad-gallery--outdoor .ad-gallery-sheet{
  background:#f4f6f7;
}
.ad-gallery--outdoor .ad-gallery-sheet img{
  object-fit:contain;
  padding:24px;
}

@media(max-width:720px){
  .ad-gallery--outdoor{grid-template-columns:1fr}
  .ad-gallery--outdoor figure,
  .ad-gallery--outdoor figure:first-child,
  .ad-gallery--outdoor figure:last-child{height:auto}
  .ad-gallery--outdoor .ad-gallery-sheet img{padding:12px}
}
