/* Shared responsive interface, 360px to wide desktop. */
:root{--container:1200px;--gutter:clamp(18px,3.2vw,48px);--radius:14px;--header:78px}html{scroll-padding-top:calc(var(--header) + 22px);scrollbar-gutter:stable}body{font-size:16px;line-height:1.65}*{min-width:0}img{max-width:100%}button,a,input,select,textarea{touch-action:manipulation}button,.button{min-height:46px}button,.button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #176ac0;outline-offset:3px}h1,h2,h3{text-wrap:balance}p{overflow-wrap:break-word}input,select,textarea{font-size:16px!important;min-height:48px}input[type=checkbox]{min-height:0;flex-shrink:0}.skip-link{position:fixed;left:16px;top:-100px;padding:12px 18px;background:#fff;color:#172a40;z-index:100;border:2px solid #176ac0;border-radius:8px}.skip-link:focus{top:10px}.service-bar{font-size:12px;padding:7px 20px}.site-header{position:sticky;top:0;z-index:20;height:var(--header);max-width:none;width:100%;padding:0 max(var(--gutter),calc((100vw - var(--container))/2));background:#fffffff5;backdrop-filter:blur(12px);border-bottom:1px solid #dce4ed;gap:24px}.site-header .brand{font-size:17px;flex-shrink:0;gap:10px}.site-header .brand small{font-size:7px;letter-spacing:.4px}.site-header .mark{height:38px;width:38px;line-height:38px;font-size:24px;border-radius:10px}.desktop-nav{display:flex;gap:20px;font-size:13px;align-items:center;white-space:nowrap}.desktop-nav a{padding:14px 0}.desktop-nav a:hover{color:#bd5109}.header-measure{font-size:13px;padding:12px 18px;min-height:46px;white-space:nowrap}.site-menu{display:none;position:relative}.site-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:7px;font-size:17px;padding:10px;border:1px solid #dce4ed;border-radius:9px;min-height:44px}.site-menu summary::-webkit-details-marker{display:none}.site-menu summary span{font-size:13px}.site-menu nav{position:absolute;top:54px;right:0;display:grid;background:#fff;box-shadow:0 16px 50px #172a4026;border:1px solid #dce4ed;border-radius:12px;min-width:255px;padding:12px;gap:2px;z-index:25}.site-menu nav a{font-size:15px;padding:12px;border-radius:7px}.site-menu nav a:hover{background:#edf4fc}.section,.proof,.editorial,.catalog-page,.project-detail{width:calc(100% - 2*var(--gutter));max-width:var(--container);margin-left:auto;margin-right:auto}.section{padding:clamp(42px,5.5vw,76px) 0}.inner{margin-left:auto;margin-right:auto}.section h2,.editorial h2,.quiz-section h2{font-size:clamp(27px,2.7vw,38px);line-height:1.23;max-width:850px}.section-heading{display:flex;align-items:center;gap:35px}.section-heading>div{flex:1}.section-heading .button{flex-shrink:0}.section-lead{max-width:72ch}.hero{width:calc(100% - 2*var(--gutter));max-width:var(--container);margin:22px auto 0;padding:32px;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);align-items:center;gap:38px;min-height:0;border-radius:18px;background:#f5f8fc}.hero-copy{padding:0}.hero h1{font-size:clamp(34px,3.15vw,48px);line-height:1.12;margin:0 0 10px}.hero h1 em{margin-top:7px}.hero .intro{font-size:16px;line-height:1.6;margin:14px 0}.hero-project-link{font-size:14px;margin:6px 0 12px}.hero-material{font-size:13px;margin:0}.hero-prompt{font-size:13px;margin:20px 0 12px}.hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hero .hero-actions .button{font-size:13px;padding:14px;line-height:1.4;justify-content:center;text-align:center}.hero .hero-actions .button span{display:none}.hero-benefits{margin:20px 0 0;gap:10px}.hero-benefits li{padding:11px 12px}.hero-benefits b{font-size:12px}.hero-benefits span{font-size:11px;line-height:1.45}.hero .micro{font-size:11px;margin:16px 0 0;line-height:1.5}.hero-photo{height:100%;min-height:510px;max-height:670px;border-radius:14px}.hero-photo>img{object-position:50% 42%}.photo-label{left:22px;bottom:25px}.photo-label strong{font-size:21px}.proof{grid-template-columns:repeat(4,1fr);padding:24px 0;gap:14px}.proof>div,.proof>div:first-child{padding:17px}.proof b{font-size:18px}.proof span{font-size:12px}.portfolio{border-top:0}.portfolio .section-heading{margin-bottom:20px}.portfolio .section-heading p{font-size:15px;margin:12px 0 0}.catalog-controls{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:22px;background:#f2f6fb;border:1px solid #dce4ed;border-radius:12px;margin:24px 0 12px}.catalog-controls label{font-size:13px}.catalog-controls input,.catalog-controls select{margin-top:7px;min-height:50px;font-size:16px;font-weight:400}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:22px 0}.catalog-card{border-radius:14px;box-shadow:0 2px 8px #172a4005}.catalog-card>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.catalog-no-photo{height:auto;aspect-ratio:4/3;font-size:14px}.catalog-card-content{padding:22px;gap:0}.catalog-card-content>span{font-size:12px;color:#49617c}.catalog-card-content h3{font-size:19px;line-height:1.4;text-wrap:pretty;margin:10px 0 14px}.catalog-card-content p{font-size:13px;line-height:1.65;margin:0 0 20px}.catalog-card-content b{padding-top:12px;border-top:1px solid #e5ebf2;font-size:13px;line-height:1.5}#project-more{display:flex;margin:24px auto;min-width:240px;justify-content:center}.catalog-page,.project-detail{padding:28px 0 64px}.catalog-page h1,.project-detail h1{font-size:clamp(28px,3vw,42px);line-height:1.2;max-width:1000px;margin:20px 0 24px}.breadcrumbs{display:block;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.project-summary{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:36px;align-items:start;margin-bottom:48px}.project-summary dl{padding:20px 26px}.project-summary dd{overflow-wrap:anywhere;line-height:1.5}.project-summary>div p:first-child{margin-top:0}.project-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gallery-thumb img{height:auto;aspect-ratio:4/3;object-fit:cover}.gallery-thumb{min-height:0;position:relative}.gallery-thumb:after{content:'↗';position:absolute;right:10px;bottom:10px;width:30px;height:30px;background:#ffffffed;border-radius:50%;display:grid;place-items:center;color:#172a40}.gallery-thumb:focus-visible{outline-offset:4px}.source-note{line-height:1.7}.project-detail .inline-cta{margin-top:38px}.inline-cta{padding:clamp(22px,3vw,36px);border-radius:14px}.inline-cta h3{font-size:clamp(23px,2.1vw,29px);max-width:800px}.inline-cta>p{max-width:70ch;line-height:1.65}.mini-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.mini-fields input,.mini-fields textarea{padding:13px 14px;line-height:1.5}.mini-services{gap:10px}.mini-services .mini-check{min-height:46px;font-size:13px;padding:11px 13px}.mini-explainer{font-size:12px!important;line-height:1.6}.mini-fields textarea{min-height:120px}.form-grid{grid-template-columns:1fr 1fr;gap:0 20px}.field input,.field select{padding:12px}.field textarea{line-height:1.6}.service-picker label{min-height:44px;font-size:13px}.form-fine,.form-subtitle{line-height:1.65}.form-error:empty,.inline-error:empty{display:none}.inline-result .warning{font-size:13px}.quiz-section{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);padding:60px max(var(--gutter),calc((100vw - var(--container))/2));gap:44px}.quiz-card{padding:30px;min-height:470px}.quiz-card h3{font-size:26px}.choice{font-size:15px;min-height:66px;line-height:1.5}.quiz-nav{gap:15px;align-items:center}.quiz-nav .back{min-height:44px;padding:10px}.quiz-nav .button{min-width:135px;justify-content:space-between}.quiz-meta{gap:10px}.quiz-meta span:last-child{font-size:10px}.progress{margin:20px 0 26px}.fit,.price,.faq,.estimate-section,.geometry,.guarantee,.geography,.equipment{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:42px}.argument-grid,.complex-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.argument-grid article,.complex-grid article{padding:25px}.argument-grid p,.complex-grid p{font-size:15px;line-height:1.7}.argument-grid h3,.complex-grid h3{font-size:21px;line-height:1.35}.steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.steps article{padding:22px}.steps h3{font-size:18px}.editorial{grid-template-columns:1.1fr 1fr;gap:44px}.work-grid{gap:24px}.section-action{align-items:center;gap:22px}.section-action .button{flex-shrink:0}.last{padding:60px var(--gutter)}.last h2{font-size:clamp(29px,3vw,40px)}footer{padding:35px max(var(--gutter),calc((100vw - var(--container))/2));gap:20px}.action-dock{display:none}.back-top{position:fixed;bottom:24px;right:24px;z-index:15;width:46px;height:46px;border:1px solid #cfdae6;border-radius:50%;background:#fff;color:#172a40;font-size:24px;box-shadow:0 4px 20px #172a401a;cursor:pointer}dialog{width:min(720px,calc(100vw - 40px));max-height:calc(100dvh - 48px);padding:38px;overscroll-behavior:contain;border-radius:16px;scrollbar-gutter:stable}.dialog-close{position:sticky;display:block;float:right;top:-20px;margin:-24px -20px 0 0;right:auto;width:44px;height:44px;min-height:44px;border-radius:50%;background:#f1f5fa;z-index:3;line-height:1;font-size:28px}dialog h2{padding-right:30px;line-height:1.25}.dialog-close:focus-visible{outline-offset:0}#photo-viewer{padding:52px 16px 16px;width:min(1200px,calc(100vw - 36px));max-height:calc(100dvh - 32px);border-radius:14px;scrollbar-gutter:auto}#full-photo{height:calc(100dvh - 155px);max-height:800px;width:100%;object-fit:contain;touch-action:pan-y}.gallery-close{width:44px;height:44px;min-height:44px;top:4px;right:8px;line-height:1;border-radius:50%;font-size:30px}.gallery-nav{gap:24px;margin:12px 0 0}.gallery-nav button{min-width:52px;min-height:44px;padding:5px 14px}.gallery-nav span{min-width:130px;text-align:center}.gallery-hint{font-size:12px;text-align:center;color:#c5d1df;margin:10px 0 0}
@media(hover:hover){.catalog-card:hover{transform:translateY(-3px);box-shadow:0 8px 26px #172a4012}.button:hover{filter:brightness(1.03)}.gallery-thumb:hover img{filter:brightness(.92)}}
@media(min-width:1600px){:root{--container:1280px}.hero{padding:40px;gap:50px}.hero h1{font-size:50px}.hero-photo{min-height:540px}.catalog-grid{gap:26px}.section{padding:80px 0}}
@media(max-width:1150px){.desktop-nav{display:none}.site-menu{display:block}.header-measure{margin-left:auto}.site-header{gap:15px}.hero{padding:26px;gap:26px}.hero h1{font-size:36px}.hero .intro{font-size:15px}.hero-photo{min-height:560px}.hero .hero-actions .button{font-size:12px}.hero-benefits b{font-size:12px}.hero-benefits span{font-size:11px}.steps{grid-template-columns:1fr 1fr}.catalog-card-content{padding:19px}.catalog-card-content h3{font-size:18px}.section-action{flex-wrap:wrap}}
@media(max-width:1023px){:root{--header:72px;--gutter:28px}.hero{grid-template-columns:1fr 1fr;align-items:stretch;gap:24px}.hero h1{font-size:33px}.hero-actions{grid-template-columns:1fr}.hero .hero-actions .button{font-size:14px}.hero-benefits{grid-template-columns:1fr 1fr}.hero-photo{min-height:580px}.hero .intro{font-size:15px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.catalog-card-content h3{font-size:20px}.argument-grid,.complex-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.argument-grid article:last-child:nth-child(odd){grid-column:1/-1}.fit,.price,.faq,.estimate-section,.geometry,.guarantee,.geography,.equipment{gap:28px}.quiz-section{gap:26px}.quiz-card{padding:24px}.quiz-section h2{font-size:29px}.quiz-intro>p{font-size:15px}.choice{font-size:14px;padding:13px}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{gap:24px}.section-heading .button{font-size:13px}.section-action .button{max-width:100%}.proof{grid-template-columns:repeat(4,1fr);gap:10px}.proof>div,.proof>div:first-child{padding:14px 12px}.proof b{font-size:16px}.proof span{font-size:11px}}
@media(max-width:767px){:root{--gutter:20px;--header:68px}.service-bar{font-size:11px;padding:6px 15px}.site-header{padding:0 var(--gutter);gap:12px}.site-header .brand{font-size:14px;gap:8px}.site-header .brand small{font-size:6px;letter-spacing:0}.site-header .mark{width:33px;height:35px;line-height:35px;font-size:23px}.header-measure{display:none}.site-menu{margin-left:auto}.site-menu summary{padding:9px 11px}.site-menu nav{position:fixed;left:var(--gutter);right:var(--gutter);top:calc(var(--header) + 8px);min-width:0;max-height:calc(100dvh - 155px);overflow:auto}.hero{width:100%;margin:0;border-radius:0;padding:28px var(--gutter);grid-template-columns:1fr;gap:26px}.hero h1{font-size:clamp(30px,6.4vw,40px);line-height:1.14}.hero .intro{font-size:15px;line-height:1.65}.hero-project-link{font-size:14px;margin:4px 0 12px}.hero-prompt{font-size:13px;margin-top:18px}.hero-actions{grid-template-columns:1fr 1fr;gap:10px}.hero .hero-actions .button{font-size:13px;min-height:56px;padding:13px 11px}.hero-benefits{gap:10px;margin-top:18px}.hero-benefits li{padding:12px}.hero-benefits b{font-size:12px}.hero-benefits span{font-size:11px}.hero-photo{height:350px;min-height:350px;max-height:350px}.hero-photo>img{object-position:50% 43%}.photo-label strong{font-size:20px}.hero .micro{font-size:11px}.proof{grid-template-columns:1fr 1fr;gap:10px;padding:22px 0}.proof b{font-size:17px}.proof span{font-size:12px}.proof>div,.proof>div:first-child{padding:15px}.section{padding:40px 0}.section h2,.editorial h2,.quiz-section h2{font-size:28px;line-height:1.25;margin-bottom:20px}.section-heading{display:block;margin-bottom:20px}.section-heading .button{margin-top:18px;font-size:14px;min-height:48px}.portfolio .section-heading p{font-size:14px}.catalog-controls{padding:18px;grid-template-columns:1fr;gap:16px;margin-top:18px}.catalog-controls input,.catalog-controls select{font-size:16px!important;min-height:50px}.catalog-grid{gap:16px}.catalog-card-content{padding:18px}.catalog-card-content h3{font-size:18px}.catalog-card-content b{font-size:13px}.catalog-card-content>span,.catalog-card-content p{font-size:12px}.catalog-page,.project-detail{padding:20px 0 36px}.catalog-page h1,.project-detail h1{font-size:30px;line-height:1.23;margin:18px 0 22px}.project-summary{grid-template-columns:1fr;gap:24px;margin:24px 0 34px}.project-summary dl{padding:18px 22px}.project-summary p{font-size:15px}.project-summary .button{width:100%;justify-content:center}.project-gallery{gap:12px}.gallery-thumb:after{width:26px;height:26px;right:8px;bottom:8px;font-size:14px}.project-detail h2{font-size:26px}.breadcrumbs{font-size:12px}.inline-cta{padding:24px;margin-top:28px}.inline-cta h3,.inline-cta h2{font-size:24px}.inline-cta>p{font-size:14px}.mini-fields{grid-template-columns:1fr;gap:16px}.inline-lead>.button{width:100%;justify-content:center;font-size:14px;min-height:52px}.mini-fields label{font-size:14px}.mini-fields input,.mini-fields textarea{font-size:16px;min-height:50px}.mini-services{gap:8px}.mini-services .mini-check{font-size:12px;min-height:44px}.form-grid{grid-template-columns:1fr;gap:0}.quiz-section{grid-template-columns:1fr;gap:24px;padding:40px var(--gutter)}.quiz-card{padding:24px;min-height:410px}.quiz-card h3{font-size:25px}.quiz-card p{font-size:14px}.quiz-intro>p{font-size:15px}.quiz-aside,.quiz-foot{display:none}.choice{font-size:14px;min-height:64px;line-height:1.4}.fit,.price,.faq,.estimate-section,.geometry,.guarantee,.geography,.equipment,.editorial{grid-template-columns:1fr;gap:26px}.editorial{padding:40px 0}.fit-rows>div{grid-template-columns:1fr}.argument-grid,.complex-grid{grid-template-columns:1fr;gap:14px}.argument-grid article,.complex-grid article{padding:24px}.argument-grid article:last-child:nth-child(odd){grid-column:auto}.argument-grid h3,.complex-grid h3{font-size:21px}.steps{grid-template-columns:1fr 1fr;gap:14px}.steps article{padding:20px}.steps h3{font-size:18px}.steps p{font-size:14px}.section-action{display:flex;flex-direction:column;align-items:stretch;gap:18px}.section-action .button{width:100%;justify-content:center;font-size:14px}.work-grid{grid-template-columns:1fr;gap:24px}.work img{height:300px}.team-photo img{height:340px}.acceptance-list li{grid-template-columns:25px 1fr}.acceptance-list span{grid-column:2}.timeline-track,.change-flow{grid-template-columns:1fr}.ready-grid{grid-template-columns:1fr}.compare-table>div{grid-template-columns:1fr}.compare-table .table-head{display:none}.last{padding:40px var(--gutter)}.last h2{font-size:30px}.last .hero-actions{max-width:580px}.last .hero-actions .button{font-size:13px;padding:13px}.action-dock{position:fixed;bottom:0;left:0;right:0;z-index:22;display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#fffffff5;backdrop-filter:blur(12px);border-top:1px solid #dce4ed;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));box-shadow:0 -3px 20px #172a4008}.action-dock .button{font-size:12px;min-height:48px;padding:12px 8px;justify-content:center;text-align:center;line-height:1.3;gap:0}.action-dock .button-outline{border-color:#d0dce9;background:#f5f8fc}.back-top{bottom:calc(85px + env(safe-area-inset-bottom));right:16px;width:42px;height:42px;min-height:42px;font-size:23px}footer{padding:30px var(--gutter) calc(100px + env(safe-area-inset-bottom));flex-wrap:wrap}footer .brand{width:100%}body:has(dialog[open]) .action-dock,body.keyboard-open .action-dock{display:none}body:has(dialog[open]) .back-top{display:none}dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:26px 22px;border-radius:16px}.dialog-close{top:-15px;margin:-15px -10px 0 0;width:44px;height:44px}dialog h2{font-size:25px;padding-right:25px;clear:none}#measure-form>button{min-height:52px;line-height:1.4;font-size:14px;width:100%;padding:15px}.form-subtitle{font-size:14px}.form-fine{font-size:12px}.service-picker label{font-size:12px}.optional{font-size:12px}.field{font-size:14px}.field textarea{min-height:170px}#photo-viewer{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border-radius:0;padding:64px 12px calc(14px + env(safe-area-inset-bottom))}#full-photo{height:calc(100dvh - 160px - env(safe-area-inset-bottom));max-height:none}.gallery-nav{gap:12px;margin-top:12px}.gallery-nav button{min-width:55px}.gallery-close{top:12px;right:12px}.gallery-hint{font-size:11px}.inline-result .button{width:100%;margin:8px 0}.inline-result .warning{font-size:12px}html{scroll-padding-bottom:100px}}
@media(max-width:599px){.catalog-grid{grid-template-columns:1fr}.catalog-card-content{padding:23px}.catalog-card-content h3{font-size:21px}.catalog-card-content>span,.catalog-card-content p{font-size:13px}.catalog-card-content b{font-size:14px}.catalog-card>img,.catalog-no-photo{aspect-ratio:16/10}.steps{grid-template-columns:1fr}.hero-photo{height:320px;min-height:320px}.project-gallery{gap:10px}}
@media(max-width:374px){:root{--gutter:16px}.site-header .brand{font-size:12px}.site-header .brand small{font-size:5px}.site-menu summary span{display:none}.hero h1{font-size:29px}.hero-actions{grid-template-columns:1fr}.hero .hero-actions .button{font-size:14px;min-height:50px}.hero-benefits li{padding:10px}.hero-benefits b{font-size:11px}.action-dock{gap:8px}.action-dock .button{font-size:11px}.quiz-card{padding:20px}.choice{font-size:13px}.catalog-controls{padding:16px}.inline-cta{padding:20px}.project-detail h1{font-size:27px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

[hidden]{display:none!important}.gallery-thumb:after{content:"＋"}.gallery-thumb:before{display:none}body:has(dialog[open]){overflow:hidden}

@media(min-width:768px){.hero-photo{min-height:450px;max-height:520px}.hero{align-items:center}}
@media(min-width:768px) and (max-width:950px){.hero{grid-template-columns:1fr}.hero h1{font-size:38px}.hero-actions{grid-template-columns:1fr 1fr}.hero-photo{height:360px;min-height:360px;max-height:360px}.hero-photo>img{object-position:50% 45%}}
@media(min-width:768px) and (max-width:950px){.hero-photo>img{object-position:50% 25%}}

.hero-promise{display:block;font-size:clamp(23px,2.1vw,30px);line-height:1.3;margin-top:12px;font-weight:650;color:#172a40}.advice-section{border-top:1px solid #e2e9f1}.practical-list{display:grid;gap:16px}.practical-list article{display:flex;align-items:flex-start;gap:22px;border:1px solid #e1e8f0;border-radius:14px;padding:24px}.practical-list article>b{color:#d35a0b;font-size:24px}.practical-list h3{margin:0 0 8px;font-size:21px}.practical-list p{margin:0;max-width:85ch;color:#526175}#measure-dialog{width:min(500px,calc(100vw - 24px))}#measure-dialog h2{font-size:28px}#measure-form>.button{width:100%;justify-content:center;font-size:15px;padding:14px}#measure-form .field{margin-top:22px}#measure-dialog .form-fine{font-size:12px;margin-top:16px}#measure-dialog .micro{font-size:11px;line-height:1.5}.inline-lead[data-kind=measure]>.field{max-width:440px}.inline-lead[data-kind=measure]>p{font-size:14px;max-width:65ch}@media(max-width:767px){.hero-promise{font-size:23px}.practical-list article{padding:20px;gap:14px}.practical-list h3{font-size:19px}.practical-list p{font-size:14px}#measure-dialog h2{font-size:25px}}
