/* Focused revision of the chosen green homepage. */
#hero-utp{list-style:none;padding:0;margin-bottom:0;gap:19px}
#hero-utp .utp-item{gap:13px;align-items:flex-start}
#hero-utp .utp-item>span{font-size:17px;line-height:1.6;color:#e0ece6;font-weight:400}
#hero-utp .utp-item>.icon{width:21px;height:21px;margin-top:3px}
#under-form{display:block;padding:23px 3px 0}
#under-form p{font-size:17px;line-height:1.7;color:#d4e3dc;margin:0}
#advantages .advantage{display:flex;align-items:flex-start;gap:13px;padding:20px;min-width:0}
#advantages .advantage>.icon{width:23px;height:23px;margin:1px 0 0;flex:none;color:var(--brand)}
#advantages .advantage p{font-size:15px;line-height:1.6;margin:0;color:var(--ink);font-weight:400}
.original-ratings{padding-top:26px}
.original-ratings .advantages-reviews-container{cursor:default}
.original-ratings .advantages-reviews-block{background:white;align-items:center}
.original-ratings .advantages-reviews-rating{line-height:1.3}
.original-ratings .advantages-reviews-text{margin:0}
#prices .price-layout{grid-template-columns:minmax(0,1fr);gap:25px}
#prices .price-layout>div{min-width:0}
#prices .price-layout>.price-content{width:100%}
#prices .price-layout .intro{max-width:900px;font-size:16px;line-height:1.7}
#prices .estimate-card{display:grid;grid-template-columns:1.35fr 1fr 1fr auto;align-items:end;gap:24px;padding:29px}
#prices .estimate-intro{align-self:center;min-width:0}
#prices .estimate-card h3{font-size:23px;line-height:1.25}
#prices .estimate-card p{font-size:14px;line-height:1.65;margin:11px 0 0;max-width:440px}
#prices .estimate-field{min-width:0}
#prices .estimate-card label{font-size:13px;margin:0 0 9px}
#prices .estimate-card .btn{margin:0;font-size:14px;white-space:normal}
#prices .estimate-card .input{font-size:15px;min-width:0}
#prices .payment-line{margin-top:15px;padding:0;background:none;box-shadow:none}
#prices .price-foot{font-size:14px;line-height:1.7;max-width:1000px}
#faq .faq-layout{align-items:start}
#faq .faq-expert-column{position:sticky;top:100px;align-self:start;min-width:0}
#faq .faq-expert-column>.intro{font-size:15px;line-height:1.6;margin-top:15px}
#faq .faq-expert-column>.text-link{font-size:21px;margin-top:18px!important}
.faq-expert{margin:25px 0 0;border:1px solid var(--line);border-radius:12px;background:var(--tint2);overflow:hidden;max-width:390px}
.faq-expert img{width:100%;height:clamp(170px,25vh,235px);object-fit:cover;object-position:50% 26%}
.faq-expert figcaption{padding:20px}
.faq-expert figcaption>span{display:block;font-size:12px;color:var(--muted)}
.faq-expert figcaption>strong{display:block;font-size:23px;line-height:1.3;margin-top:4px}
.faq-expert figcaption>p{font-size:14px;margin-top:4px}
.faq-expert .btn{font-size:13px;min-height:43px;padding:11px 15px;margin-top:15px;width:100%}
.faq-questions{min-width:0}
#about-help .seo-layout{display:block}
#about-help .seo-copy{width:100%;max-width:none}
#about-help .seo-copy h2{max-width:100%}
#about-help .seo-body{max-width:none}
@media(max-width:1200px){
 #prices .estimate-card{grid-template-columns:1fr 1fr;gap:22px}
 #prices .estimate-intro{grid-column:1/-1}
 #prices .estimate-card .btn{grid-column:1/-1;justify-self:start;width:auto}
}
@media(min-width:761px) and (max-height:720px){
 #faq .faq-expert-column{top:84px}
 #faq .faq-expert-column>.intro{display:none}
 .faq-expert{margin-top:16px}
 .faq-expert img{height:150px}
 .faq-expert figcaption{padding:14px}
 .faq-expert .btn{margin-top:10px}
}
@media(max-width:760px){
 .header .header-main{display:grid;grid-template-columns:92px minmax(0,1fr) 24px;grid-template-rows:24px 24px 18px;gap:0 8px;min-height:98px;padding:16px 0;align-items:center}
 .header .logo{grid-column:1;grid-row:1/4;align-self:start;display:block;min-width:0}
 .header .logo-icon{display:none}
 .header .logo strong{font-size:23px;line-height:1.03;font-weight:750;letter-spacing:-.025em;white-space:normal}
 .header .logo strong>span{display:block}
 .header .logo small{font-size:9px;line-height:1.4;white-space:nowrap;margin-top:8px;letter-spacing:-.02em}
 .header .header-contact{display:contents}
 .header .header-contact .phone{grid-column:2/4;grid-row:1/3;font-size:clamp(22px,5.7vw,29px);font-weight:800;line-height:1.15;letter-spacing:-.045em;white-space:nowrap;text-align:right;align-self:center}
 .header .header-contact button{grid-column:2;grid-row:3;font-size:12px;line-height:1.4;white-space:nowrap;margin:0;justify-self:end}
 .header .menu-button{grid-column:3;grid-row:3;display:grid;place-items:center;padding:0;width:24px;height:24px;align-self:center}
 .header .menu-button .icon{width:21px;height:21px}
 #hero-utp{gap:16px;margin-top:23px}
 #hero-utp .utp-item>span{font-size:16px;line-height:1.6}
 #under-form p{font-size:16px;line-height:1.7}
 #advantages .advantage{padding:16px 13px;gap:10px}
 #advantages .advantage p{font-size:13px;line-height:1.6}
 #advantages .advantage>.icon{width:19px;height:19px}
 .original-ratings{padding-top:18px}
 #prices .estimate-card{padding:23px;display:block}
 #prices .estimate-field{margin-top:21px}
 #prices .estimate-card .btn{width:100%;margin-top:21px}
 #prices .price-layout .intro{font-size:15px}
 #prices .price-foot{font-size:13px}
 #faq .faq-expert-column{position:static}
 #faq .faq-expert-column>.text-link{font-size:23px}
 .faq-expert{max-width:none;display:grid;grid-template-columns:40% minmax(0,1fr);margin-top:23px}
 .faq-expert img{height:100%;min-height:225px}
 .faq-expert figcaption{padding:19px 15px}
 .faq-expert figcaption>strong{font-size:22px}
 .faq-expert .btn{font-size:12px;padding:10px;gap:7px}
 #about-help .seo-body p{font-size:15px;line-height:1.8}
}
@media(max-width:370px){
 .header .header-main{grid-template-columns:86px minmax(0,1fr) 22px;gap:0 6px}
 .header .logo strong{font-size:22px}
 .header .header-contact .phone{font-size:22px;letter-spacing:-.05em}
 #advantages{grid-template-columns:1fr}
 .faq-expert figcaption{padding:17px 12px}
}

/* Large, persistent contact header. */
html{scroll-padding-top:175px}
.header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.97);box-shadow:0 5px 25px #0c302a0a}
.header .header-main{display:grid;grid-template-columns:minmax(245px,1fr) auto auto 58px;grid-template-rows:auto auto;gap:0 28px;padding:22px 0 0;min-height:0;align-items:center}
.header .logo{grid-column:1;grid-row:1;display:flex;align-self:center;gap:13px;min-width:0}
.header .logo-icon{display:grid;width:47px;height:47px;border-radius:9px}
.header .logo-icon .icon{width:31px;height:31px}
.header .logo strong{font-size:24px;line-height:1.1;letter-spacing:-.035em;font-weight:750;white-space:nowrap}
.header .logo strong>span{display:inline}
.header .logo small{font-size:12px;line-height:1.4;margin-top:7px;letter-spacing:0}
.header .header-contact{display:block;grid-column:2;grid-row:1;margin:0;text-align:right}
.header .header-contact .phone{display:block;font-size:28px;line-height:1.1;letter-spacing:-.035em;font-weight:800;white-space:nowrap}
.header-hours{display:flex;align-items:center;justify-content:flex-end;gap:7px;font-size:12px;line-height:1.4;margin-top:7px;color:var(--muted)}
.header-hours>span{width:6px;height:6px;background:var(--brand);border-radius:50%}
.header .header-callback{grid-column:3;grid-row:1;min-height:52px;border:0;border-radius:8px;background:var(--accent);color:var(--accent-ink);padding:15px 21px;font-size:16px;line-height:1.3;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .2s,box-shadow .2s}
.header .header-callback:hover{background:#ffe27e;box-shadow:0 4px 12px #b8a45520}
.header .menu-button{grid-column:4;grid-row:1;display:flex;justify-content:center;align-items:center;gap:8px;width:58px;height:52px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--tint2);color:var(--ink)}
.header .menu-button .icon{width:26px;height:26px}
.header .menu-button>span{display:none}
.header .menu-button[aria-expanded="true"]{background:var(--hero);color:white;border-color:var(--hero)}
.header .nav{grid-column:1/-1;grid-row:2;display:flex;justify-content:space-between;gap:24px;font-size:17px;line-height:1.3;font-weight:550;border-top:1px solid var(--line);margin-top:21px;padding:17px 0}
.header .nav a{white-space:nowrap}
.header .mobile-menu.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;position:absolute;top:100%;left:auto;right:max(32px,calc((100vw - 1400px)/2));width:650px;padding:20px 28px;background:white;border:1px solid var(--line);border-radius:0 0 12px 12px;box-shadow:0 16px 30px #103b2620;max-height:calc(100dvh - 165px);overflow-y:auto}
.header .mobile-menu a{padding:15px 0;font-size:17px;line-height:1.4;border-bottom:1px solid var(--line)}
.header :is(a,button):focus-visible,.device-card:focus-visible,.source-document:focus-visible{outline:3px solid var(--brand);outline-offset:4px}
#faq .faq-expert-column{top:178px}

/* Original device categories, with one short label per card. */
.devices-section{background:var(--tint2)}
.devices-section .section-head{margin-bottom:30px}
.device-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.device-card{min-width:0;display:flex;flex-direction:column;padding:17px 17px 20px;background:white;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);transition:border-color .2s,box-shadow .2s,transform .2s}
.device-card:hover{border-color:var(--brand);box-shadow:0 10px 24px #123c2610;transform:translateY(-3px)}
.device-image{height:160px;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.device-image img{width:100%;height:100%;object-fit:contain}
.device-name{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:18px;line-height:1.4;font-weight:650}
.device-name>span{font-size:20px;font-weight:400;color:var(--brand)}

/* Original four document scans: no invented document artwork or prose. */
.source-guarantee{background:white}
.source-guarantee h2{max-width:1100px;margin:0 0 36px}
.source-document-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;align-items:start}
.source-document{display:block;min-width:0;padding:0;background:white;border:0;cursor:zoom-in}
.source-document img{display:block;width:100%;height:auto;aspect-ratio:600/850;object-fit:contain;object-position:top;filter:drop-shadow(0 5px 12px #0b302b08)}
.document-viewer{position:fixed;inset:0;width:min(920px,94vw);max-width:none;max-height:94dvh;padding:48px 16px 16px;margin:auto;border:0;border-radius:10px;overflow:auto;background:#f4f6f4;box-shadow:0 20px 80px #0005}
.document-viewer::backdrop{background:#091c18bd;backdrop-filter:blur(4px)}
.document-viewer img{display:block;width:100%;height:auto}
.document-viewer-close{position:absolute;top:4px;right:8px;width:40px;height:40px;border:0;background:none;font-size:32px;cursor:pointer;color:var(--ink)}
@media(max-width:1200px){
 .header .header-main{grid-template-columns:minmax(235px,1fr) auto auto 52px;gap:0 20px}
 .header .header-contact .phone{font-size:27px}
 .header .header-callback{font-size:15px;padding:15px}
 .header .nav{font-size:16px;gap:16px}
 .device-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
 .device-image{height:180px}
}
@media(max-width:1000px){
 html{scroll-padding-top:125px}
 .header .header-main{grid-template-columns:minmax(210px,1fr) auto auto 48px;grid-template-rows:auto;gap:0 16px;padding:20px 0}
 .header .logo-icon{display:none}
 .header .logo strong{font-size:24px}
 .header .header-contact .phone{font-size:25px}
 .header .header-callback{font-size:14px;white-space:normal;max-width:180px;min-height:52px;padding:10px 16px}
 .header .menu-button{width:48px}
 .header .nav{display:none}
 .header .mobile-menu.open{max-height:calc(100dvh - 110px);right:20px;width:min(650px,calc(100vw - 40px))}
 #faq .faq-expert-column{top:122px}
}
@media(max-width:760px){
 html{scroll-padding-top:155px}
 .header .header-main{grid-template-columns:96px minmax(0,1fr);grid-template-rows:auto 44px;gap:12px 14px;padding:14px 0;min-height:0}
 .header .logo{grid-column:1;grid-row:1;display:block;align-self:center}
 .header .logo strong{font-size:25px;line-height:.98;letter-spacing:-.035em;white-space:normal}
 .header .logo strong>span{display:block}
 .header .logo small{font-size:9px;line-height:1.2;margin-top:7px;white-space:nowrap;letter-spacing:-.025em}
 .header .header-contact{grid-column:2;grid-row:1;align-self:center}
 .header .header-contact .phone{font-size:clamp(22px,5.75vw,30px);line-height:1.2;letter-spacing:-.045em;text-align:right}
 .header-hours{font-size:11px;margin-top:7px}
 .header .header-callback{grid-column:2;grid-row:2;max-width:none;min-height:44px;width:100%;padding:11px 8px;font-size:14px;white-space:nowrap;justify-self:end}
 .header .menu-button{grid-column:1;grid-row:2;align-self:center;min-height:44px;width:96px;height:44px;gap:7px}
 .header .menu-button .icon{width:22px;height:22px}
 .header .menu-button>span{display:inline;font-size:14px;line-height:1}
 .header .mobile-menu.open{right:0;left:0;width:100%;grid-template-columns:1fr;padding:8px 22px 20px;max-height:calc(100dvh - 145px);border-radius:0 0 12px 12px}
 .header .mobile-menu a{font-size:18px;padding:14px 0}
 .devices-section .section-head{margin-bottom:24px}
 .device-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .device-card{padding:13px 12px 16px;border-radius:10px}
 .device-image{height:140px;margin-bottom:12px}
 .device-name{font-size:17px;gap:4px}
 .device-name>span{font-size:18px}
 .source-guarantee h2{margin-bottom:26px}
 .source-document-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
 #faq .faq-expert-column{position:static}
}
@media(max-width:370px){
 .header .header-main{grid-template-columns:89px minmax(0,1fr);gap:12px 9px}
 .header .logo strong{font-size:23px}
 .header .header-contact .phone{font-size:21px}
 .header .header-callback{font-size:12px}
 .header .menu-button{width:89px}
 .device-image{height:115px}
 .device-name{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.device-card{transition:none}.device-card:hover{transform:none}}
