/* Selected design: editorial composition, ivory and deep blue. */
:root{--paper:#f5f3ee;--ink:#182c40;--muted:#586574;--line:#d4d8da;--soft:#eceeea;--lime:#e3e9ed;--accent:#254e70;--navy:#182c40}
body{background:var(--paper);color:var(--ink)}
::selection{background:#c9d9e6;color:#182c40}
:focus-visible{outline-color:var(--accent)}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em}
.wrap{max-width:1320px;width:calc(100% - 96px)}
.site-header{height:142px;background:var(--paper);border-color:var(--line)}
.brand-logo{width:124px;height:auto;mix-blend-mode:multiply}
.brand-descriptor{font-size:9px;color:var(--muted);line-height:1.8}
.desktop-nav{gap:24px}.desktop-nav>a{font-size:13px}
.header-phone{font-size:14px}.header-inner{gap:24px}
.button,.lead .btn{border-radius:0;box-shadow:none;min-height:56px}
.button.dark,.hero-actions .button,.cta .button,.lead .btn{background:var(--accent);color:#fff}
.button.dark:hover,.hero-actions .button:hover,.cta .button:hover,.lead .btn:hover{background:#183c5b;box-shadow:none}
.button.outline{background:transparent;border-color:var(--line)}
.button.outline:hover{background:#e6e9e9;border-color:var(--accent)}
.home-page .hero{display:grid;grid-template-columns:1.12fr 1fr;gap:64px;align-items:center;min-height:0;margin:46px auto 64px;padding:0;background:transparent;color:var(--ink);border-radius:0;overflow:visible;isolation:auto}
.hero-copy{max-width:none;width:auto}
.home-page .hero-copy>.eyebrow{color:var(--accent);font-size:10px;letter-spacing:.1em}
.status-dot{display:none}
.home-page .hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,4.7vw,66px);font-weight:400;line-height:1.12;letter-spacing:-.045em;margin-top:28px}
.home-page .hero h1 span{font-style:italic;color:var(--accent)}
.home-page .hero-copy>p{color:var(--ink);font-size:17px;line-height:1.65;max-width:460px;margin-top:28px}
.hero-actions{gap:22px;margin-top:28px}.hero-actions .text-link{color:var(--accent)}
.hero-note{color:var(--muted);font-size:12px}.hero-note .small-cross{color:var(--accent)}
.home-page .hero-visual{display:block;position:relative;inset:auto;z-index:auto;min-width:0;align-self:stretch;padding-left:20px;border-left:1px solid var(--line)}
.home-page .hero-photo{position:relative;height:550px;min-height:0;max-height:none;border-radius:0;background:#d9dfe1}
.home-page .hero-photo:after{display:none}
.home-page .hero-slide>img{object-position:center 60%}
.home-page .hero-project{top:auto;bottom:0;left:0;right:0;max-width:none;border-radius:0;padding:48px 22px 20px;background:linear-gradient(transparent,#182c40d9);color:#fff}
.hero-project b{font-family:Georgia,serif;font-size:24px;font-weight:400}
.home-page .carousel-controls{top:18px;bottom:auto;right:18px;border:0;border-radius:0;box-shadow:none;padding:0;background:var(--paper)}
.carousel-controls button{color:var(--ink)}.carousel-controls button:hover{background:#e1e7ea;border-radius:0}
.intro-strip{background:#eceeea;border-block:1px solid var(--line)}
.intro-strip-inner{border:0;padding-block:32px}.intro-strip p{font-family:Georgia,serif;font-size:28px;line-height:1.35}
.circle-link,.image-arrow{border-radius:0;background:var(--paper);border-color:var(--line)}
.section{padding-block:76px}.section-head h2,.faq-section h2{font-family:Georgia,serif;font-size:clamp(32px,3.5vw,48px);font-weight:400;line-height:1.17}
.section-head>p{color:var(--muted)}
.home-page .direction-feature,.direction-feature{border-radius:0;background:transparent;border:0;border-bottom:1px solid var(--line)}
.home-page .direction-photo,.direction-photo{height:330px;border-radius:0}
.home-page .direction-body,.direction-body{padding:28px 0 30px}
.home-page .direction-body h3,.direction-body h3{font-family:Georgia,serif;font-size:32px;font-weight:400}
.direction-links{border-color:var(--line)}
.service-card,.service-card:first-child{background:#eeefeb;border:1px solid var(--line);border-radius:0;color:var(--ink)}
.service-card:hover,.service-card:first-child:hover{background:#e3e8e9;border-color:var(--accent)}
.service-card h3{font-size:26px}.service-card-link,.filter.active{color:var(--accent)}
.home-service-row:hover{background:#e9ecea}.home-service-row h3{font-family:Georgia,serif;font-weight:400}
.home-page .route-section,.route-section,.principles{background:#e9edea;border-color:var(--line)}
.home-page .stages-grid li{background:transparent;border-radius:0;padding:22px 0;border-top:1px solid #bfc9ce}
.home-page .stage-number,.stage-number{color:var(--accent)}
.home-page .stages-grid h3,.stages-grid h3{font-family:Georgia,serif;font-size:25px;font-weight:400}
.project-image,.home-page .project-image,.gallery-item{border-radius:0}
.project-card h3,.home-page .project-card h3{font-family:Georgia,serif;font-size:26px;font-weight:400}
.home-page .about-band,.about-band{background:#254e70;color:#f5f3ee}
.home-page .about-band p,.home-page .about-facts span,.about-band p,.about-facts span{color:#e0e8ed}
.home-page .about-band .text-link,.about-band .text-link{color:#fff}
.about-band h2{font-family:Georgia,serif;font-size:40px;font-weight:400}
.cta{background:#e4e9e9;padding-block:58px}.cta h2{font-family:Georgia,serif;font-size:44px;font-weight:400}
.site-footer{background:#182c40;color:#f5f3ee}.site-footer .brand{background:#f5f3ee;padding:10px}
.site-footer .brand-logo{width:110px}.footer-grid,.footer-top,.footer-bottom{border-color:#ffffff30}
.footer-grid .eyebrow,.footer-bottom{color:#ced8e1}.footer-grid a:hover,.footer-bottom a:hover{color:#fff}
.page-intro{padding-block:35px 46px}.page-intro h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(38px,4.8vw,64px)}
.page-intro .intro-text{color:var(--muted)}
.service-practice,.scope-note,.result-card,.brief-card,.lead{background:#eeefeb;border-radius:0;box-shadow:none;border-color:var(--line)}
.service-practice h2,.scope-note h2{font-family:Georgia,serif;font-weight:400}
.work-list h3,.three-grid h3{font-family:Georgia,serif;font-size:27px;font-weight:400}
.filter{border-radius:0}.filter.active{background:var(--accent);border-color:var(--accent);color:#fff}
.lead input:focus,.lead textarea:focus,.lead select:focus{outline-color:var(--accent)}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.brand-descriptor{display:none}.desktop-nav{gap:18px}.home-page .hero{gap:36px}.home-page .hero h1{font-size:49px}.home-page .hero-photo{height:530px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{height:116px}.brand-logo{width:98px}.header-inner{gap:16px}.mobile-menu nav{top:115px;background:var(--paper)}.header-phone{font-size:12px}.home-page .hero{width:calc(100% - 40px);grid-template-columns:1fr;gap:30px;margin:30px auto 45px;padding:0;min-height:0}.home-page .hero h1{font-size:clamp(39px,8.8vw,49px);line-height:1.13;margin-top:24px}.home-page .hero-copy>p{font-size:16px;margin-top:23px}.home-page .hero-visual{padding-left:12px;align-self:auto}.home-page .hero-photo{height:410px;min-height:0}.home-page .hero-project{padding:45px 18px 18px}.home-page .hero-project b{font-size:23px}.hero-actions{gap:16px}.hero-actions .text-link{font-size:13px}.hero-note{margin-top:22px}.section{padding-block:48px}.section-head h2,.faq-section h2{font-size:34px}.intro-strip p{font-size:25px}.home-page .direction-photo,.direction-photo{height:260px}.home-page .direction-body,.direction-body{padding:24px 0}.home-page .direction-body h3{font-size:30px}.about-band h2{font-size:34px}.cta h2{font-size:34px}.page-intro h1{font-size:40px}.site-footer .brand-logo{width:98px}}
@media(max-width:380px){.home-page .hero h1{font-size:33px}.header-phone{font-size:11px}.home-page .hero-actions{align-items:flex-start;flex-direction:column}.home-page .hero-photo{height:350px}.page-intro h1{font-size:35px}}
.contact-request{margin-bottom:16px}
.lead .optional{font-size:11px;font-weight:400;color:var(--muted);margin-left:8px}
.lead input,.lead select,.lead textarea{border-radius:0!important}
.lead .form-status{overflow-wrap:anywhere}
.lead .form-status.err{border-left:3px solid #a02323;padding:12px;background:#f8e9e5}
.lead .form-status.ok{border-left:3px solid #356052;padding:12px;background:#e3eee7}
.lead .consent{min-height:44px;padding-block:6px}
.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:760px){.request-page .inquiry-layout{display:flex;flex-direction:column;gap:30px}.request-page .inquiry-layout>.lead{order:-1;scroll-margin-top:20px}.request-page .page-intro{padding-bottom:26px}.request-page .lead{padding:22px}.request-page .lead h3{font-size:26px;margin-bottom:18px}}
@media(min-width:381px) and (max-width:760px){.header-phone{display:flex;font-size:11px}}
.image-view-open{overflow:hidden}
#image-dialog{padding:20px;border-radius:0;overflow:hidden;max-height:calc(100dvh - 24px)}
#image-dialog>img{height:calc(100dvh - 215px);max-height:720px;width:100%;object-fit:contain;margin-top:12px;touch-action:pan-y pinch-zoom}
#image-dialog>p{font-size:13px;margin-top:14px;line-height:1.4;min-height:18px}
.image-navigation{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:14px}
.image-navigation button{width:48px;height:44px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:24px}
.image-navigation button:hover{background:#e0e7e9}
.image-navigation button:disabled{opacity:.35;cursor:default}
.image-position{font-size:12px;min-width:110px;text-align:center}
.company-details{display:flex;flex-wrap:wrap;gap:10px 28px;padding-block:26px;font-size:12px;color:#d4dfe7;border-top:1px solid #ffffff30}
.legal-prose{max-width:880px}.legal-prose h2{font-size:28px;line-height:1.3;margin-top:36px}.legal-prose p{line-height:1.8;overflow-wrap:anywhere}.legal-prose a{text-decoration:underline;text-underline-offset:3px}.legal-return{padding-bottom:50px}
.breadcrumb span,.service-card-top>.eyebrow,.brief-details summary span{color:var(--muted)}
.breadcrumb{gap:8px 12px;line-height:1.5;max-width:100%}
.breadcrumb a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted)}
.breadcrumb a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.breadcrumb [aria-current]{color:var(--ink);overflow-wrap:anywhere}
.breadcrumb .breadcrumb-separator{color:var(--muted)}
.intro-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:28px}
.intro-actions .text-link{min-height:44px}
#work-scope{scroll-margin-top:28px}
.mobile-menu .menu-directions{display:grid;gap:0;padding-bottom:18px;margin-bottom:8px;border-bottom:1px solid var(--line)}
.menu-directions .eyebrow{font-size:10px;letter-spacing:.09em;color:var(--muted);padding:4px 5px 10px}
.menu-directions a{display:flex;align-items:center;min-height:52px;padding:10px 5px;font-size:20px;line-height:1.3;color:var(--ink)}
.mobile-menu a[aria-current]{color:var(--accent);font-weight:600}
.mobile-menu nav>.menu-request{justify-content:space-between;padding:14px 18px;margin-top:18px;background:var(--accent);color:#fff;border:0;font-size:17px}
.mobile-menu nav>.menu-request:hover{background:#183c5b}
.mobile-menu nav>.menu-phone{padding:12px 5px;font-size:17px;color:var(--accent)}
@media(max-width:760px){
 .site-header{position:relative;z-index:10}
 .mobile-menu nav{top:100%;max-height:calc(100vh - 116px);max-height:calc(100dvh - 116px);overflow-y:auto;overscroll-behavior:contain;padding:18px 20px 20px}
 .mobile-menu nav>a:not(.menu-request){padding-block:10px;min-height:48px}
 .service-intro{padding-top:16px;padding-bottom:30px}
 .service-intro .breadcrumb{margin-bottom:16px;font-size:12px;gap:4px 10px}
 .service-intro .breadcrumb [aria-current]{flex-basis:100%;padding-bottom:4px}
 .service-intro .breadcrumb a[href="/uslugi/"]+.breadcrumb-separator{display:none}
 .service-intro .intro-line{padding-bottom:15px}
 .page-intro.service-intro h1{margin-top:18px;font-size:clamp(34px,9vw,40px);overflow-wrap:normal;hyphens:manual}
 .service-intro .intro-text{margin-top:18px}
 .intro-actions{gap:12px 22px;margin-top:24px}
 .intro-actions .button{padding-inline:20px;font-size:16px;gap:22px;min-height:54px}
 .intro-actions .text-link{font-size:16px}
}
@media(max-width:760px){#image-dialog{padding:14px;width:calc(100vw - 24px)}#image-dialog>img{height:calc(100dvh - 235px)}#image-dialog>p{min-height:36px}.image-navigation{gap:16px}.company-details{gap:10px 20px}}
