/* Shared adaptive layer. Desktop composition remains in each block's stylesheet. */
body{min-width:320px}html{scroll-padding-top:24px}.menu-toggle{display:none}
@media(max-width:1023px){
 .container{width:calc(100% - 48px)}
 .site-header{left:16px;right:16px;top:12px;padding:10px 16px;height:72px;gap:12px}
 .site-header>.button{margin-left:auto}
 .menu-toggle{display:flex;align-items:center;gap:10px;order:3;min-height:44px;border:0;background:transparent;color:#45266A;font:600 15px 'Nunito Sans',sans-serif;padding:8px;cursor:pointer}
 .menu-toggle svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.7;fill:none}
 .site-header nav{display:none;position:absolute;left:0;right:0;top:calc(100% + 8px);padding:16px 24px;background:#FFFEFC;border:1px solid #DDD9E2;border-radius:16px;box-shadow:0 18px 36px -24px #45266A66;flex-direction:column;gap:4px}
 .menu-toggle[aria-expanded=true]+nav{display:flex}.site-header nav a{padding:12px 0;min-height:44px}
 .hero{height:auto;min-height:780px;padding-bottom:32px}.hero-content{padding-top:130px}.hero h1{font-size:60px;max-width:470px}.hero-description{font-size:21px;max-width:390px}
 .hero-soften{background:linear-gradient(90deg,#FAF9F6E8, #FAF9F6AA 42%,transparent 75%)}
 .assortment-heading{grid-template-columns:1fr;gap:18px}.assortment h2,.process h2,.case-heading>h2,.quality h2{font-size:40px}.assortment-directions{gap:16px}.direction h3{font-size:22px}.niche-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.niche-columns ul:nth-child(3){border-left:0;padding-left:0}
 .process{--scene-height:260px;padding-block:56px}.process-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.process-route,.process-node{display:none}.process-copy{margin-top:12px}.process-object img{width:100%}
 .case-details{grid-template-columns:1fr}.case-slide{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.case-result{padding:24px 20px}
 .quality-layout{grid-template-columns:1fr}.quality-principles{padding-bottom:0}.quality-principles li{grid-template-columns:64px 1fr}
 .calculation-artboard{aspect-ratio:auto;display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:48px 24px;background:#EEE8F7}.calculation-backdrop{opacity:.12;overflow:hidden}.calculation-backdrop img{object-fit:cover}.calculation-copy,.calculation-scene{position:static;width:auto}.calculation h2{font-size:44px}.calculation-description{font-size:19px}.calculation-paper{padding:24px;background:#FFFCFF;border-radius:16px}.calculation-paper-heading h3{font-size:28px}.calculation-total{width:100%}.calculation-benefits li{font-size:17px}.calculation-support{padding-bottom:32px}
 .company-documents-artboard{aspect-ratio:auto;display:grid;grid-template-columns:1fr 1fr;gap:40px 32px;padding:56px 24px}.company-documents-background img{object-fit:cover;opacity:.25}.company-documents-copy,.company-registration,.company-documents-groups{position:static;width:auto}.company-documents h2{font-size:40px}.company-documents-copy>p{font-size:19px;max-width:none;margin-top:24px}.company-documents-links{gap:16px;margin-top:24px}.company-document-action{font-size:16px;min-height:44px;gap:10px}.company-document-action .arrow{width:18px;height:18px}.company-registration{align-self:center}.company-registration h3{font-size:23px}.company-registration figcaption{margin-top:24px;transform:none}.company-documents-groups{grid-column:1/-1;gap:20px}.company-documents-groups>li{gap:12px;padding:0;border:0}.company-document-icon{width:48px;height:60px}.company-documents-groups h3{font-size:20px;margin-bottom:12px}.company-documents-groups p{font-size:16px}
 .team-artboard{aspect-ratio:auto;padding:56px 24px}.team-skyline img{object-fit:cover;opacity:.3}.team-heading,.team-members,.team-office{position:static}.team-heading{display:block}.team h2{font-size:44px;max-width:none}.team-heading>p{font-size:19px;padding:0;border:0;margin-top:20px}.team-members{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 16px;margin-top:36px;overflow:visible}.team-portrait{height:260px;overflow:hidden}.team-portrait img{left:0;width:100%;object-fit:contain}.team-member-copy{height:auto;min-height:170px;margin:0;padding:16px}.team-member-copy h3{font-size:20px}.team-role{font-size:16px;margin-top:8px}.team-responsibility-row{gap:10px;padding-top:16px}.team-role-icon{width:36px;height:36px}.team-responsibility{font-size:15px}.team-office{margin-top:36px;padding-top:24px;gap:16px;flex-wrap:wrap}.team-office-pin{width:24px;height:30px}.team-office h3{font-size:22px}.team-office address{font-size:17px;text-align:left;margin:0}
 .faq-artboard{min-height:0;padding:48px 24px}.faq-background img{height:100%;object-fit:cover;opacity:.15}.faq-layout{display:block;padding:0}.faq h2{font-size:40px;max-width:none}.faq-heading>p{font-size:19px;max-width:none;margin-top:20px}.faq-questions{margin-top:32px;padding:0}.faq-item summary{padding:20px 0;gap:16px;min-height:64px}.faq-item h3,.faq-item[open] h3{font-size:21px}.faq-answer{padding:0 16px 24px}.faq-answer p{font-size:18px}.faq-toggle{width:36px;height:36px}.faq-cta{position:static;margin-top:32px;font-size:17px;padding:16px 24px;min-height:54px}.faq-cta .arrow{width:18px;height:18px}
 .footer-top{grid-template-columns:1fr 1fr;gap:32px}.footer-contact{grid-column:1/-1}.footer-office{grid-template-columns:1fr;gap:12px}.footer-bottom{flex-wrap:wrap}
}
@media(max-width:767px){
 .container{width:calc(100% - 40px)}.site-header{left:10px;right:10px;padding-inline:12px;height:64px;border-radius:18px}.site-header .brand-name{font-size:23px}.site-header .brand-mark{width:36px;height:36px}.site-header .brand-mark img{left:-15px;top:-15px}.site-header>.button{font-size:12px;padding:8px 10px;min-height:42px;gap:4px;border-radius:12px}.site-header>.button .arrow{display:none}.menu-toggle{font-size:0;gap:0;padding:8px}.menu-toggle svg{width:24px;height:24px}
 .hero{min-height:0;padding-bottom:270px}.hero-content{padding-top:112px}.hero h1{font-size:clamp(40px,10.5vw,62px);max-width:100%;line-height:1.08}.hero-highlight{white-space:normal}.hero-description{font-size:19px;line-height:1.5;max-width:100%;margin-top:22px}.hero-actions{margin-top:24px;align-items:stretch}.hero-buttons{flex-wrap:wrap;gap:10px}.hero-buttons .button{min-height:52px;font-size:14px;padding-inline:16px}.hero-backdrop{inset:auto 0 0;height:310px}.hero-scene-image{object-position:70% center}.hero-soften{background:linear-gradient(#FAF9F6 0%,#FAF9F6 60%,#FAF9F600 82%)}.hero-actions>.hero-offer{font-size:15px}.hero-actions>.hero-license{max-width:100%}
 .assortment,.process,.case-carousel,.quality{padding-block:40px}.assortment h2,.process h2,.case-heading>h2,.quality h2{font-size:32px}.assortment-heading>p,.quality-heading>p{font-size:18px}.assortment-directions{grid-template-columns:1fr;gap:32px}.direction-image{aspect-ratio:1.35}.direction h3{font-size:25px;margin-top:16px}.direction>p{min-height:0;max-width:none}.direction-link{min-height:44px;font-size:16px}.niche-columns{gap:16px}.niche-columns ul+ul{padding-left:12px}.niche-columns button{font-size:15px;min-height:56px}.assortment-other{margin-top:36px}.assortment-other>h3{font-size:26px}.assortment-cta{display:block}.assortment-cta h3{font-size:26px}.assortment-cta .button{margin-top:20px;width:100%}
 .process{--scene-height:230px}.process-steps{grid-template-columns:1fr;gap:28px}.process-copy{margin:8px 0 0;padding:24px}.process h3{font-size:22px}.process-copy p{font-size:17px}
 .case-heading{flex-wrap:wrap;gap:20px}.case-controls{gap:14px}.case-slide{grid-template-columns:1fr}.case-stage{min-height:0!important}.case-photo{aspect-ratio:1.4}.case-story>h3{font-size:24px}.case-detail{padding:20px}.case-result{padding:28px}.case-primary-metric strong{font-size:64px}.case-cta{margin-top:24px;font-size:15px}
 .calculation-artboard{grid-template-columns:1fr;padding:40px 20px;gap:32px}.calculation h2{font-size:36px}.calculation-description{font-size:18px}.calculation-benefits{max-width:none}.calculation-paper-heading>p{font-size:16px}.calculation-total h4{font-size:21px}.calculation-total p{font-size:16px}.calculation-documents{grid-template-columns:1fr}.calculation-document-link{min-height:80px;font-size:15px}.calculation-support{padding-bottom:24px}
 .company-documents-artboard{grid-template-columns:1fr;padding:40px 20px;gap:32px}.company-documents h2{font-size:34px}.company-documents-copy>p{font-size:18px}.company-documents-groups{grid-template-columns:1fr;gap:28px}.company-documents-groups>li{gap:16px}.company-registration-preview{transform:none}.company-document-icon{width:56px;height:64px}.company-documents-groups h3{font-size:22px}.company-documents-groups p{font-size:17px}
 .team-artboard{padding:40px 20px}.team h2{font-size:36px}.team-heading>p{font-size:18px}.team-members{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.team-portrait{height:210px}.team-member-copy{padding:12px;min-height:206px}.team-member-copy h3{font-size:18px;overflow-wrap:anywhere}.team-role{font-size:14px}.team-responsibility-row{align-items:flex-start;flex-direction:column}.team-responsibility{font-size:14px}.team-office h3{font-size:20px}.team-office address{font-size:16px}
 .faq-artboard{padding:40px 20px}.faq h2{font-size:34px}.faq-item h3,.faq-item[open] h3{font-size:19px}.faq-answer p{font-size:17px}.faq-cta{width:100%}
 .site-footer{padding-top:40px}.footer-top{grid-template-columns:1fr;gap:32px}.footer-contact{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column;gap:16px}.developer-credit{margin-left:0}.messenger-links{flex-wrap:wrap}.footer-email{overflow-wrap:anywhere}
 .lead-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:18px}.lead-layout{grid-template-columns:1fr}.lead-intro{padding:28px 24px 20px}.lead-symbol{display:none}.lead-intro h2{font-size:28px;padding-right:12px;margin-bottom:12px}.lead-intro>p{font-size:16px}.lead-main{padding:24px}.lead-close{position:fixed;top:18px;right:18px;width:44px;height:44px}.lead-consent{font-size:13px;min-height:44px}.lead-consent input{width:22px;height:22px}.lead-submit{font-size:15px}.document-viewer{width:calc(100% - 20px);max-height:calc(100dvh - 24px)}.document-viewer-header{padding:12px;gap:12px;flex-wrap:wrap}.document-viewer-header h2{font-size:18px}.document-viewer-header>div{justify-content:space-between;width:100%}.document-close{width:44px;height:44px}.document-viewer-body{padding:12px}
}
@media(max-width:359px){.site-header .brand-name{font-size:20px}.site-header .brand{gap:3px}.site-header>.button{font-size:11px;padding-inline:8px}.hero-buttons .button{width:100%}.team-members{grid-template-columns:1fr}.team-portrait{height:300px}.team-member-copy{min-height:0}.team-responsibility-row{flex-direction:row}.niche-columns{grid-template-columns:1fr}.niche-columns ul+ul{padding-left:0;border-left:0}}
@media(pointer:coarse){.direction-link,.company-document-action,.footer-nav>a,.document-original{min-height:44px}.case-arrow{width:48px;height:48px}}

/* Keep photograph and lamp overlay on the same central crop. */
@media(max-width:767px){.hero-scene-image{object-position:center}.lead-intro h2{padding-right:36px}}

/* Owner-requested simplified adaptive backgrounds and centered content. */
@media(max-width:1023px){
 .site-footer{background:#fff}
 .company-documents-background{display:none}
 .team-member-copy{text-align:center;align-items:center}
 .team-responsibility-row{justify-content:center;align-items:center;flex-direction:column}
 .case-heading{justify-content:center;text-align:center;flex-wrap:wrap}
 .case-heading>h2{flex-basis:100%}
 .case-controls{justify-content:center}
}
@media(min-width:360px) and (max-width:767px){
 .team-member--igor{grid-column:1/-1;width:calc((100% - 12px)/2);justify-self:center}
}
@media(max-width:359px){
 .team-responsibility-row{flex-direction:column}
}
.niches-toggle{display:none}
@media(max-width:1023px){
 .assortment-cta{display:block;text-align:center}
 .assortment-cta .button{margin-top:20px}
 .process-heading{text-align:center}
 .niches-collapsible:not(.niches-expanded) .niche-columns ul:nth-child(n+3),
 .niches-collapsible:not(.niches-expanded) .niche-columns li:nth-child(n+3){display:none}
 .niches-collapsible .niches-toggle{display:block;margin:20px auto 0;padding:12px 20px;min-height:44px;border:1px solid #BBA6D2;border-radius:12px;background:transparent;color:#6D28D9;font:700 16px/1.4 'Nunito Sans',sans-serif;cursor:pointer}
}
@media(max-width:767px){
 .assortment-directions{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;padding-bottom:16px;overscroll-behavior-x:contain}
 .assortment-directions>.direction{flex:0 0 88%;scroll-snap-align:start;min-width:0}
 .direction-image img{max-width:100%}
}
@media(max-width:1023px){
 .team-office{justify-content:center;text-align:center}
 .team-office address{flex-basis:100%;text-align:center}
}

/* Dedicated portrait scene: keep its full width and the lamps unlit on phones. */
@media(max-width:767px){
 .hero{padding-bottom:60vw;background:#FAF7FA}
 .hero-backdrop{inset:auto 0 0;height:175vw;background:none}
 .hero-backdrop picture{display:block;width:100%;height:100%}
 .hero-scene-image{width:100%;height:100%;object-fit:contain;object-position:center bottom}
 .hero-soften,.hero-headlights{display:none}
 .hero-actions>.hero-offer{background:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0;white-space:normal}
}
/* More compact phone hero typography, with natural heading wrapping. */
@media(max-width:767px){
 .hero h1{font-size:clamp(32px,8.5vw,48px);line-height:1.1}
 .hero-description{font-size:17px;line-height:1.45;margin-top:18px}
}
/* Igor occupies the last phone row as one compact horizontal card. */
@media(max-width:767px){
 .team-member--igor{grid-column:1/-1;width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:end}
 .team-member--igor .team-portrait{height:210px}
 .team-member--igor .team-member-copy{min-height:0;height:auto;align-self:center;padding:14px 10px;margin:0}
 .team-member--igor .team-responsibility-row{margin-top:14px;padding-top:0;gap:8px}
 .team-member--igor .team-member-copy h3{font-size:17px}
}
@media(max-width:359px){
 .team-member--igor{gap:8px}
 .team-member--igor .team-portrait{height:190px}
 .team-member--igor .team-member-copy{padding:12px 8px}
 .team-member--igor .team-member-copy h3{font-size:16px}
 .team-member--igor .team-responsibility{font-size:13px}
}
/* Plain white FAQ on adaptive layouts. */
@media(max-width:1023px){
 .faq,.faq-artboard,.faq-item[open]{background:#fff}
 .faq-background{display:none}
}
/* Soft glass panels keep hero benefits legible over the phone scene. */
@media(max-width:767px){
 .hero-actions>.hero-offer,.hero-actions>.hero-license{
  padding:12px 14px;
  background:rgba(255,255,255,.64);
  border:1px solid rgba(255,255,255,.85);
  border-radius:16px;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 6px 20px -14px rgba(69,38,106,.25);
 }
 .hero-actions>.hero-license img{width:52px;height:52px;margin-left:-6px}
}
@supports not (backdrop-filter:blur(1px)){
 @media(max-width:767px){.hero-actions>.hero-offer,.hero-actions>.hero-license{background:rgba(255,255,255,.94)}}
}
