@font-face{font-family:Playfair Display;src:url('../fonts/playfair-display.ttf') format('truetype');font-weight:400 900;font-display:swap}
@font-face{font-family:Sofia Sans;src:url('../fonts/sofia-sans.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root {
    --font-site: Georgia, "Times New Roman", serif;
    --ink: #171914;
    --ink-soft: #282b23;
    --stone: #f1eee8;
    --stone-2: #e4e0d7;
    --paper: #fbfaf7;
    --white: #fff;
    --moss: #7c8952;
    --moss-dark: #5f693e;
    --moss-light: #cbd5a0;
    --gold: #b6a375;
    --muted: #77796f;
    --line: rgba(23,25,20,.14);
    --line-light: rgba(255,255,255,.14);
    --shadow: 0 30px 90px rgba(31,31,25,.16);
    --shell: min(1240px, calc(100vw - 52px));
    --ease: cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--font-site);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.nav-open{overflow:hidden}
main,section,header,footer{max-width:100%}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}
p{line-height:1.72}
.shell{width:var(--shell);margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:9999;top:10px;left:10px;padding:11px 16px;background:var(--moss-light);transform:translateY(-150%)}
.skip-link:focus{transform:none}

.site-header{position:fixed;inset:0 0 auto;z-index:100;color:var(--ink);background:rgba(255,255,255,.94);border-bottom:1px solid transparent;transition:.3s ease}
.site-header.is-scrolled{border-color:var(--line);box-shadow:0 12px 34px rgba(26,28,23,.09);backdrop-filter:blur(18px)}
.header-inner{min-height:88px;display:flex;align-items:center;gap:30px}
.brand{width:210px;margin-right:auto;flex:none}
.brand img{width:100%;height:auto}
.main-nav{display:flex;align-items:center;gap:27px}
.main-nav a{position:relative;padding:34px 0;color:#4d5047;font-size:.76rem;font-weight:750;letter-spacing:.075em;text-transform:uppercase}
.main-nav a::after{content:"";position:absolute;left:0;right:0;bottom:25px;height:2px;background:var(--moss);transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease)}
.main-nav a:hover,.main-nav a:focus-visible{color:var(--ink)}
.main-nav a:hover::after,.main-nav a:focus-visible::after{transform:scaleX(1);transform-origin:left}
.main-nav .nav-phones{display:none}
.main-nav .nav-phone{display:none}
.header-contacts{display:flex;align-self:stretch;align-items:center}
.header-contact{padding:0 13px;border-left:1px solid var(--line);display:grid;gap:2px;white-space:nowrap}
.header-contact span{color:var(--muted);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}
.header-contact strong{font-size:.76rem;letter-spacing:.015em}
.nav-toggle{display:none;width:46px;height:46px;padding:10px;border:0;background:none}
.nav-toggle span{display:block;height:2px;margin:7px 0;background:var(--ink);transition:.25s ease}

.hero{position:relative;min-height:850px;padding-top:88px;color:var(--white);background:var(--ink);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 14% 20%,rgba(151,165,100,.17),transparent 33%),linear-gradient(120deg,#171914 0%,#20231c 55%,#11120f 100%)}
.hero-stone{position:absolute;inset:0;background:url("../images/hero.jpg") center/cover;opacity:.055;mix-blend-mode:screen;filter:contrast(1.25)}
.hero-layout{position:relative;z-index:2;min-height:762px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:clamp(45px,7vw,105px);align-items:center}
.hero-copy{padding-block:70px;min-width:0}
.eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 25px;color:var(--moss-light);font-size:.67rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.eyebrow span{width:38px;height:1px;background:currentColor}
.eyebrow.dark{color:var(--moss-dark)}
.eyebrow.light{color:var(--moss-light)}
.hero h1,.section-heading h2,.glass-copy h2,.about-copy h2,.contact-copy h2{margin:0;font-family:var(--font-site);font-weight:400;letter-spacing:-.045em}
.hero h1{max-width:670px;font-size:clamp(4rem,6.5vw,7.35rem);line-height:.89}
.hero-lead{max-width:630px;margin:30px 0 0;color:#c5c8bd;font-size:1.08rem}
.hero-actions{display:flex;gap:12px;align-items:center;margin-top:38px}
.button{min-height:58px;padding:14px 23px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:30px;font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:.3s var(--ease)}
.button span{font-size:1rem}
.button-primary{color:var(--ink);background:var(--moss-light)}
.button-primary:hover{background:#dbe6ae;transform:translateY(-2px)}
.button-ghost{color:var(--white);border-color:var(--line-light);background:rgba(255,255,255,.02)}
.button-ghost:hover{border-color:var(--moss-light);color:var(--moss-light)}
.button-dark{color:var(--white);background:var(--ink)}
.button-dark:hover{background:var(--moss-dark)}
.button-outline{border-color:var(--line);background:transparent}
.button-outline:hover{border-color:var(--moss);color:var(--moss-dark)}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:56px;border-top:1px solid var(--line-light)}
.hero-stats div{padding:21px 17px 0 0;min-width:0}
.hero-stats div+div{padding-left:17px;border-left:1px solid var(--line-light)}
.hero-stats strong{display:block;font-family:var(--font-site);font-size:1.42rem;font-weight:400;color:var(--white)}
.hero-stats span{display:block;margin-top:6px;color:#969a90;font-size:.6rem;line-height:1.35;letter-spacing:.07em;text-transform:uppercase}
.hero-visual{position:relative;align-self:stretch;min-width:0}
.hero-photo{position:absolute;inset:42px -12vw 42px 0;overflow:hidden;background:#282b23}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,25,20,.33),transparent 40%),linear-gradient(0deg,rgba(23,25,20,.4),transparent 45%);pointer-events:none}
.hero-photo img{width:100%;height:112%;object-fit:cover;object-position:center;transform:translateY(var(--parallax-y,0));filter:saturate(.55) contrast(1.08);transition:transform .15s linear}
.hero-card{position:absolute;left:-42px;bottom:75px;width:min(380px,80%);padding:24px 27px;background:rgba(250,249,245,.94);color:var(--ink);box-shadow:var(--shadow);backdrop-filter:blur(10px)}
.hero-card span{display:block;color:var(--moss-dark);font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.hero-card strong{display:block;margin:8px 0 5px;font-family:var(--font-site);font-size:1.28rem;font-weight:400}
.hero-card small{color:var(--muted);font-size:.66rem}
.hero-scroll{position:absolute;z-index:3;left:28px;bottom:30px;display:flex;align-items:center;gap:12px;color:#969a90;font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;transform:rotate(-90deg);transform-origin:left center}
.hero-scroll span{width:48px;height:1px;background:#969a90}
.service-strip{background:var(--stone)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.service-grid>div{min-height:205px;padding:37px 30px 28px;border-right:1px solid var(--line)}
.service-grid>div:first-child{border-left:1px solid var(--line)}
.service-grid span{color:var(--moss);font-size:.62rem;font-weight:800;letter-spacing:.12em}
.service-grid strong{display:block;margin-top:24px;font-family:var(--font-site);font-size:1.2rem;font-weight:400}
.service-grid p{margin:8px 0 0;color:var(--muted);font-size:.79rem}

.catalog-section,.realizations-section,.branches-section{padding:135px 0}
.section-heading{margin-bottom:55px}
.heading-split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.55fr);gap:70px;align-items:end}
.section-heading h2,.glass-copy h2,.about-copy h2,.contact-copy h2{font-size:clamp(3rem,5.2vw,5.4rem);line-height:.98}
.section-heading>p,.heading-split>p{margin:0;color:var(--muted)}
.section-heading.compact{max-width:850px}
.section-heading.compact>p:last-child{max-width:680px;margin-top:22px}
.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:19px;border-bottom:1px solid var(--line)}
.filter-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.filter-tabs::-webkit-scrollbar{display:none}
.filter-tab{flex:none;min-height:44px;padding:9px 15px;border:1px solid transparent;background:transparent;color:#666960;font-size:.67rem;font-weight:800;letter-spacing:.065em;text-transform:uppercase;cursor:pointer}
.filter-tab:hover{color:var(--ink)}
.filter-tab.is-active{color:var(--white);background:var(--ink)}
.catalog-search{position:relative;flex:0 0 265px}
.catalog-search input{width:100%;height:45px;padding:9px 38px 9px 13px;border:1px solid var(--line);border-radius:0;background:var(--white);outline:none}
.catalog-search input:focus{border-color:var(--moss)}
.catalog-search>span:last-child{position:absolute;right:13px;top:8px;color:var(--moss);font-size:1.25rem}
.catalog-meta{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:.7rem;letter-spacing:.04em}
.catalog-meta p{margin:0}
.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.catalog-grid.is-loading{opacity:.48;pointer-events:none}
.product-card{min-width:0;background:var(--white);border:1px solid var(--line);transition:.35s var(--ease)}
.product-card:hover{transform:translateY(-6px);box-shadow:0 24px 55px rgba(31,31,25,.11)}
.product-image{position:relative;width:100%;aspect-ratio:1;border:0;padding:0;background:#f5f4f0;cursor:zoom-in;overflow:hidden}
.product-image img{width:100%;height:100%;object-fit:contain;transition:transform .6s var(--ease)}
.product-card:hover .product-image img{transform:scale(1.045)}
.product-image>span{position:absolute;top:13px;left:13px;padding:7px 9px;color:var(--white);background:var(--moss-dark);font-size:.57rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.product-info{padding:20px 19px 19px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:start}
.product-info>div{min-width:0;display:block}
.product-info small{color:var(--moss-dark);font-size:.57rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.product-info h3{margin:5px 0 0;font-family:var(--font-site);font-size:1.2rem;font-weight:400}
.product-info>strong{display:block;min-width:38px;margin:0;padding:5px 7px;color:var(--moss-dark);border:1px solid rgba(95,105,62,.28);background:#f3f3eb;font-size:.58rem;line-height:1;text-align:center;letter-spacing:.08em}
.product-info>p{grid-column:1/-1;min-height:64px;margin:17px 0 16px;color:var(--muted);font-size:.75rem}
.product-info>.text-link{grid-column:1/-1;justify-self:start}
.text-link{padding:0 0 6px;border:0;border-bottom:1px solid currentColor;background:none;color:var(--ink);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.text-link span{margin-left:13px;color:var(--moss)}
.catalog-empty{grid-column:1/-1;padding:65px 25px;text-align:center;border:1px solid var(--line);color:var(--muted)}
.noscript-note{padding:15px;background:#fff3cd}

.materials-section{padding:130px 0;background:var(--ink);color:var(--white);overflow:hidden}
.materials-section .section-heading>p{color:#adb0a5}
.material-rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line-light);border:1px solid var(--line-light)}
.material-card{position:relative;min-width:0;background:var(--ink-soft);overflow:hidden}
.material-card img{width:100%;aspect-ratio:1;object-fit:cover;filter:saturate(.72);transition:.55s var(--ease)}
.material-card:hover img{transform:scale(1.06);filter:saturate(1)}
.material-card>div{min-height:160px;padding:20px}
.material-card small{color:var(--moss-light);font-size:.58rem;letter-spacing:.1em}
.material-card h3{margin:13px 0 7px;font-family:var(--font-site);font-size:1.15rem;font-weight:400}
.material-card p{margin:0;color:#aeb0a7;font-size:.72rem}

.glass-section{padding:34px 0;background:var(--paper);border-block:1px solid var(--line)}
.glass-disclosure{background:var(--stone);border:1px solid rgba(23,25,20,.1)}
.glass-disclosure>summary{min-height:94px;display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:22px;padding:18px 25px;list-style:none;cursor:pointer;transition:background .25s ease}
.glass-disclosure>summary::-webkit-details-marker{display:none}
.glass-disclosure>summary:hover{background:#ebe8e1}
.glass-disclosure>summary:focus-visible{outline:2px solid var(--moss);outline-offset:3px}
.glass-summary-label{color:var(--moss-dark);font-size:.58rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.glass-summary-copy{display:grid;gap:4px;min-width:0}
.glass-summary-copy small{color:var(--muted);font-size:.57rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.glass-summary-copy strong{font-family:var(--font-site);font-size:1.25rem;font-weight:400}
.glass-summary-action{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:.61rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.glass-summary-action b{display:grid;place-items:center;width:31px;height:31px;color:var(--ink);border:1px solid var(--line);font-size:1.15rem;font-weight:400;transition:transform .25s ease}
.glass-disclosure[open] .glass-summary-action b{transform:rotate(45deg)}
.glass-layout{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:clamp(28px,4vw,55px);align-items:center;padding:28px;border-top:1px solid var(--line)}
.glass-image{position:relative;max-width:320px}
.glass-image img{width:100%;height:260px;object-fit:cover;object-position:center 38%;filter:saturate(.72);box-shadow:0 16px 45px rgba(31,31,25,.13)}
.glass-image>span{position:absolute;right:10px;bottom:10px;padding:9px 11px;background:rgba(255,255,255,.94);font-size:.54rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.glass-copy h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.05}
.glass-copy p:not(.eyebrow){max-width:650px;margin:18px 0 24px;color:var(--muted)}
.glass-copy .button{min-height:48px;padding-inline:22px}

.about-section{padding:135px 0;color:var(--white);background:#24271f}
.about-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(70px,10vw,150px)}
.about-copy>p:not(.eyebrow){margin:30px 0;color:#b6b9ae}
.light-link{color:var(--moss-light)}
.about-features{border-top:1px solid var(--line-light)}
.about-features article{display:grid;grid-template-columns:48px 190px 1fr;gap:24px;padding:34px 0;border-bottom:1px solid var(--line-light);align-items:start}
.about-features article>span{color:var(--moss-light);font-size:.61rem;letter-spacing:.1em}
.about-features h3{margin:0;font-family:var(--font-site);font-size:1.25rem;font-weight:400}
.about-features p{margin:0;color:#aeb0a7;font-size:.79rem}

.realization-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:170px;gap:14px}
.realization-item{position:relative;grid-column:span 4;grid-row:span 2;padding:0;border:0;background:#ddd;cursor:zoom-in;overflow:hidden}
.realization-item:nth-child(1),.realization-item:nth-child(7){grid-column:span 7;grid-row:span 3}
.realization-item:nth-child(2),.realization-item:nth-child(8){grid-column:span 5;grid-row:span 3}
.realization-item img{width:100%;height:100%;object-fit:cover;transition:.6s var(--ease);filter:saturate(.75)}
.realization-item:hover img{transform:scale(1.04);filter:saturate(1)}
.realization-item::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,14,10,.72),transparent 52%);opacity:.75}
.realization-item>span{position:absolute;z-index:2;left:22px;right:22px;bottom:19px;color:#fff;text-align:left}
.realization-item small{display:block;color:var(--moss-light);font-size:.57rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.realization-item strong{display:block;margin-top:5px;font-family:var(--font-site);font-size:1.08rem;font-weight:400}
.realization-item.is-extra{display:none}
.realization-grid.show-all .realization-item.is-extra{display:block}
.gallery-more{margin:30px auto 0}

.branches-section{padding-top:20px;background:var(--paper)}
.branch-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}
.branch-card{min-height:430px;padding:36px 34px;display:flex;flex-direction:column;align-items:flex-start;border-right:1px solid var(--line);background:var(--white);cursor:pointer;transition:color .25s ease,background .25s ease,box-shadow .25s ease}
.branch-card:last-child{border-right:0}
.branch-card.is-primary{color:var(--white);background:var(--moss-dark)}
.branch-card:not(.is-primary):hover{box-shadow:inset 0 0 0 2px var(--moss-light)}
.branch-card:focus-visible{position:relative;z-index:1;outline:3px solid var(--moss-light);outline-offset:-3px}
.branch-card>span{font-size:.6rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--moss)}
.branch-card.is-primary>span{color:var(--moss-light)}
.branch-card h3{margin:20px 0 17px;font-family:var(--font-site);font-size:2rem;font-weight:400}
.branch-card p{margin:0 0 16px;color:var(--muted);font-size:.82rem}
.branch-card.is-primary p{color:#d8ddc8}
.branch-card .hours{padding-top:15px;border-top:1px solid var(--line-light)}
.branch-card>a:not(.branch-map){margin-top:8px;font-size:.82rem;font-weight:700}
.branch-map{margin-top:auto;padding:0 0 5px;border:0;border-bottom:1px solid currentColor;color:inherit;background:none;font-size:.66rem;font-weight:800;letter-spacing:.08em;text-align:left;text-transform:uppercase;cursor:pointer}
.branch-map-embed{display:grid;grid-template-columns:minmax(240px,.35fr) minmax(0,1fr);min-height:430px;margin-top:28px;background:var(--ink);color:var(--white);scroll-margin-top:105px}.branch-map-embed>div{display:flex;align-items:flex-start;flex-direction:column;padding:38px 34px}.branch-map-embed span{color:var(--moss-light);font-size:.59rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.branch-map-embed strong{margin-top:20px;font-family:var(--font-site);font-size:1.35rem;font-weight:400;line-height:1.45;white-space:pre-line}.branch-map-embed a{margin-top:auto;padding-bottom:5px;border-bottom:1px solid currentColor;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.branch-map-embed iframe{width:100%;height:100%;min-height:430px;border:0;background:#d9d9d4}

.contact-section{padding:135px 0;color:var(--white);background:var(--ink)}
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(60px,10vw,145px)}
.contact-copy>p:not(.eyebrow){max-width:500px;margin:28px 0;color:#abadA2}
.contact-direct{margin-top:46px;padding-top:25px;border-top:1px solid var(--line-light);display:grid;gap:13px}
.contact-direct>span{color:#96998e;font-size:.61rem;letter-spacing:.1em;text-transform:uppercase}
.contact-direct-list{display:grid;max-width:500px}
.contact-direct-list a{display:grid;grid-template-columns:minmax(105px,.55fr) minmax(0,1fr);gap:18px;align-items:baseline;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.1);color:var(--moss-light)}
.contact-direct-list a:last-child{border-bottom:0}
.contact-direct-list small{color:#96998e;font-size:.58rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.contact-direct-list strong{font-family:var(--font-site);font-size:1.42rem;font-weight:400;line-height:1.1}
.contact-form{padding:38px;background:#f8f7f3;color:var(--ink)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form label:not(.consent):not(.honeypot){display:block;margin-bottom:19px}
.contact-form label>span:first-child{display:block;margin-bottom:7px;color:#5e6158;font-size:.61rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;min-height:51px;padding:12px 13px;border:1px solid #d7d5ce;border-radius:0;background:#fff;color:var(--ink);outline:none}
.contact-form textarea{min-height:130px;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--moss)}
.contact-form .has-error{border-color:#a8493d}
.contact-form small[data-error]{display:block;min-height:15px;margin-top:4px;color:#a8493d;font-size:.68rem}
.consent{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;color:#6e7168;font-size:.72rem;line-height:1.5}
.consent input{width:18px;height:18px;margin:1px 0;accent-color:var(--moss-dark)}
.consent small{grid-column:2}
.form-submit{margin-top:23px;display:flex;align-items:center;gap:20px}
.form-submit p{margin:0;color:var(--moss-dark);font-size:.73rem}
.contact-form.is-loading button{opacity:.6;pointer-events:none}
.recaptcha-field{margin:0 0 20px;overflow:hidden}.recaptcha-field>div{min-height:78px}.recaptcha-field p{margin:5px 0 0;color:#6e7168;font-size:.67rem}.recaptcha-field small[data-error]{display:block;min-height:15px;margin-top:3px;color:#a8493d;font-size:.68rem}
.honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

.site-footer{background:#0d0e0c;color:var(--white)}
.footer-main{min-height:200px;display:grid;grid-template-columns:230px 1fr auto;gap:55px;align-items:center}
.footer-brand{padding:0;background:transparent;width:220px}
.footer-brand img{width:100%;height:auto;aspect-ratio:249/60;object-fit:contain;filter:brightness(0) invert(1)}
.footer-main>p{max-width:430px;color:#92958b;font-size:.79rem}
.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:12px 25px;font-size:.65rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.footer-links a:hover{color:var(--moss-light)}
.footer-bottom{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line-light);color:#6e7169;font-size:.62rem}.footer-credit{display:inline-flex;align-items:center;gap:10px;color:#a3a69e;white-space:nowrap}.footer-credit>span{font-size:.55rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.footer-credit img{display:block;width:120px;height:29px;object-fit:contain;object-position:right center}.footer-credit:hover{color:#fff}

dialog{border:0;padding:0}
dialog::backdrop{background:rgba(15,16,13,.8);backdrop-filter:blur(5px)}
.product-dialog{width:min(980px,calc(100vw - 34px));max-height:calc(100dvh - 34px);overflow:auto;background:var(--paper);box-shadow:var(--shadow)}
.dialog-close{position:sticky;z-index:5;float:right;top:10px;margin:10px 10px -62px 0;width:44px;height:44px;border:0;background:var(--ink);color:#fff;font-size:1.7rem;cursor:pointer}
.dialog-layout{display:grid;grid-template-columns:1.08fr .92fr;min-height:580px}
.dialog-image{background:#efede8;display:grid;place-items:center}
.dialog-image img{width:100%;height:100%;max-height:680px;object-fit:contain}
.dialog-copy{padding:70px 55px}
.dialog-copy>small{color:var(--moss-dark);font-size:.63rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.dialog-copy h2{margin:13px 0 5px;font-family:var(--font-site);font-size:2.7rem;font-weight:400;line-height:1}
.dialog-copy>strong{color:#96998e;font-size:.75rem;letter-spacing:.1em}
.dialog-copy>p:not(.dialog-material){margin:27px 0;color:var(--muted)}
.dialog-material{display:grid;gap:5px;padding:17px 0;border-block:1px solid var(--line)}
.dialog-material span{font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.dialog-material b{font-weight:650}
.dialog-copy .button{margin-top:24px}
.dialog-actions{display:grid;gap:10px;margin-top:24px}.dialog-actions .button{width:100%;margin-top:0}.dialog-actions .button-outline{color:var(--ink)}
.lightbox{width:min(1120px,calc(100vw - 30px));max-height:calc(100dvh - 30px);overflow:hidden;background:#11130f;color:#fff}
.lightbox-stage{position:relative;display:grid;min-height:240px;place-items:center;background:#11130f;touch-action:pan-y}
.lightbox-close{position:absolute;z-index:3;right:12px;top:12px;width:46px;height:46px;border:0;background:#fff;color:#111;font-size:1.7rem;cursor:pointer}
.lightbox-nav{position:absolute;z-index:2;top:50%;width:54px;height:70px;transform:translateY(-50%);border:0;background:rgba(255,255,255,.9);color:#111;font-size:2.2rem;line-height:1;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}
.lightbox-nav:hover,.lightbox-nav:focus-visible{background:var(--moss-light);color:#fff;transform:translateY(-50%) scale(1.04)}
.lightbox-prev{left:12px}
.lightbox-next{right:12px}
.lightbox img{display:block;width:100%;max-height:calc(100dvh - 105px);object-fit:contain;user-select:none}
.lightbox-footer{display:flex;min-height:50px;align-items:center;justify-content:space-between;gap:20px;padding:13px 18px;color:#c0c3b8}
.lightbox-footer p{margin:0;font-size:.75rem}
.lightbox-footer span{flex:none;font-size:.7rem;font-weight:700;letter-spacing:.08em}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s var(--ease),transform .75s var(--ease);transition-delay:var(--delay,0ms)}
.reveal.is-visible{opacity:1;transform:none}

@media(max-width:1100px){
    .header-inner{gap:18px}.brand{width:185px}.main-nav{gap:18px}.header-contacts{display:grid;align-content:center}.header-contact{padding:2px 0 2px 13px}.header-contact span{display:none}.header-contact strong{font-size:.7rem}.hero-layout{grid-template-columns:.88fr 1.12fr;gap:45px}.hero h1{font-size:clamp(4rem,7.4vw,6.4rem)}
    .catalog-grid{grid-template-columns:repeat(3,1fr)}.material-rail{grid-template-columns:repeat(5,220px);overflow-x:auto;scroll-snap-type:x mandatory}.material-card{scroll-snap-align:start}
    .about-layout{gap:65px}.about-features article{grid-template-columns:42px 150px 1fr}.contact-layout{gap:70px}
}

@media(max-width:960px){
    html{scroll-padding-top:72px}.header-inner{min-height:72px}.brand{width:175px}.header-contacts{display:none}.nav-toggle{display:block;z-index:3}.nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(4.5px) rotate(45deg)}.nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
    body.nav-open .site-header{box-shadow:0 14px 40px rgba(0,0,0,.18)}
    .main-nav{position:fixed;top:72px;right:0;bottom:auto;left:0;width:100%;max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);padding:10px max(28px,12vw) max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px;background:rgba(255,255,255,.985);border-top:1px solid var(--line);box-shadow:0 24px 50px rgba(0,0,0,.18);opacity:0;visibility:hidden;overflow-y:auto;transform:translateY(-13px);transition:opacity .22s ease,visibility .22s ease,transform .3s var(--ease)}
    .main-nav.is-open{opacity:1;visibility:visible;transform:none}.main-nav>a{width:100%;min-height:52px;padding:10px 0;display:flex;align-items:center;font-size:1.05rem}.main-nav>a::after{bottom:5px}.main-nav .nav-phones{width:100%;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.main-nav .nav-phone{min-width:0;min-height:0;padding:10px 0;display:grid;gap:3px;color:var(--moss-dark);text-transform:none}.main-nav .nav-phone::after{display:none}.nav-phone span{color:var(--muted);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase}.nav-phone strong{font-size:.84rem;letter-spacing:0}
}

@media(max-width:820px){
    :root{--shell:min(calc(100% - 34px),680px)}html{scroll-padding-top:72px}.header-inner{min-height:72px}.brand{width:175px}.nav-toggle{display:block;z-index:3}.nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(4.5px) rotate(45deg)}.nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
    body.nav-open .site-header{box-shadow:0 14px 40px rgba(0,0,0,.18)}
    .main-nav{position:fixed;top:72px;right:0;bottom:auto;left:0;width:100%;max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);padding:10px max(28px,12vw) max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px;background:rgba(255,255,255,.985);border-top:1px solid var(--line);box-shadow:0 24px 50px rgba(0,0,0,.18);opacity:0;visibility:hidden;overflow-y:auto;transform:translateY(-13px);transition:opacity .22s ease,visibility .22s ease,transform .3s var(--ease)}
    .main-nav.is-open{opacity:1;visibility:visible;transform:none}.main-nav>a{width:100%;min-height:52px;padding:10px 0;display:flex;align-items:center;font-size:1.05rem}.main-nav>a::after{bottom:5px}
    .hero{min-height:0}.hero-layout{min-height:0;grid-template-columns:1fr;padding-top:65px;padding-bottom:90px}.hero-copy{padding:30px 0 0}.hero h1{max-width:650px;font-size:clamp(4rem,13vw,6.8rem)}.hero-lead{max-width:620px}.hero-visual{height:610px}.hero-photo{inset:25px -17px 30px 45px}.hero-card{left:0;bottom:60px}.hero-scroll{display:none}
    .service-grid{grid-template-columns:1fr 1fr}.service-grid>div:nth-child(3){border-left:1px solid var(--line);border-top:1px solid var(--line)}.service-grid>div:nth-child(4){border-top:1px solid var(--line)}
    .catalog-section,.realizations-section,.branches-section,.materials-section,.about-section,.contact-section{padding-block:100px}.heading-split,.about-layout,.contact-layout{grid-template-columns:1fr;gap:50px}.catalog-toolbar{align-items:stretch;flex-direction:column;gap:14px}.catalog-search{flex-basis:auto;width:100%}.catalog-grid{grid-template-columns:repeat(2,1fr)}.branch-map-embed{grid-template-columns:1fr}.branch-map-embed>div{min-height:230px}.branch-map-embed iframe{min-height:360px}
    .glass-layout{grid-template-columns:1fr;gap:28px}.glass-image{max-width:420px}.glass-copy{max-width:650px}.about-features article{grid-template-columns:46px 190px 1fr}.realization-grid{grid-auto-rows:140px}.branch-grid{grid-template-columns:1fr}.branch-card{min-height:350px;border-right:0;border-bottom:1px solid var(--line)}.branch-card:last-child{border-bottom:0}.contact-copy{max-width:650px}
    .footer-main{grid-template-columns:1fr;gap:22px;padding-block:55px}.footer-main>p{margin:0}.footer-links{display:flex;flex-wrap:wrap}.footer-bottom{padding-block:20px;align-items:flex-start;flex-direction:column}
    .dialog-layout{grid-template-columns:1fr}.dialog-image{min-height:390px}.dialog-copy{padding:42px 30px}
}

@media(max-width:560px){
    :root{--shell:calc(100% - 28px)}html{scroll-padding-top:68px}.header-inner{min-height:68px}.brand{width:155px}.nav-toggle{width:48px;height:48px;margin-right:-7px}.main-nav{top:68px;max-height:calc(100vh - 68px);max-height:calc(100dvh - 68px);padding-inline:28px}.main-nav .nav-phones{grid-template-columns:1fr}.main-nav .nav-phone{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:7px 0}
    .hero{padding-top:68px}.hero-layout{padding-top:48px;padding-bottom:70px}.eyebrow{font-size:.61rem;line-height:1.45;letter-spacing:.12em}.eyebrow span{width:27px}.hero h1{font-size:clamp(3.6rem,17vw,5rem);line-height:.91}.hero-lead{font-size:.95rem}.hero-actions{align-items:stretch;flex-direction:column}.button{width:100%;min-height:56px}.hero-stats{grid-template-columns:1fr 1fr}.hero-stats div:nth-child(3){grid-column:1/-1;padding-left:0;margin-top:14px;border-left:0}.hero-visual{height:410px}.hero-photo{inset:15px -14px 20px 20px}.hero-card{bottom:34px;width:92%;padding:18px}.hero-card strong{font-size:1.1rem}
    .service-grid{grid-template-columns:1fr}.service-grid>div{min-height:0;padding:27px 22px;border-left:1px solid var(--line);border-top:1px solid var(--line)}.service-grid>div:first-child{border-top:0}.service-grid strong{margin-top:14px}
    .catalog-section,.realizations-section,.branches-section,.materials-section,.about-section,.contact-section{padding-block:74px}.section-heading{margin-bottom:38px}.section-heading h2,.about-copy h2,.contact-copy h2{font-size:clamp(2.7rem,12vw,3.7rem)}.filter-tabs{margin-inline:-14px;padding-inline:14px}.catalog-meta>span{display:none}.catalog-grid{grid-template-columns:1fr;gap:12px}.product-info>p{min-height:0}.contact-direct-list a{grid-template-columns:1fr;gap:3px}.contact-direct-list strong{font-size:1.35rem}
    .glass-section{padding-block:22px}.glass-disclosure>summary{min-height:82px;grid-template-columns:1fr auto;gap:10px;padding:15px}.glass-summary-label{display:none}.glass-summary-copy strong{font-size:1.05rem}.glass-summary-action{font-size:0;gap:0}.glass-summary-action b{width:34px;height:34px;font-size:1.15rem}.glass-layout{padding:18px;gap:22px}.glass-image,.glass-copy{max-width:none}.glass-image img{height:245px}.glass-image>span{right:7px;bottom:7px;max-width:90%;line-height:1.35}.glass-copy h2{font-size:1.85rem}.glass-copy p:not(.eyebrow){margin-block:14px 19px}.glass-copy .button{width:100%}.material-rail{grid-template-columns:repeat(10,78vw)}.material-card>div{min-height:135px}.about-features article{grid-template-columns:38px 1fr;gap:10px}.about-features article p{grid-column:2}.realization-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:170px;gap:8px}.realization-item,.realization-item:nth-child(1),.realization-item:nth-child(2),.realization-item:nth-child(7),.realization-item:nth-child(8){grid-column:span 1;grid-row:span 1}.realization-item:nth-child(1){grid-column:1/-1;grid-row:span 2}.realization-item>span{left:12px;right:12px;bottom:11px}.branch-card{padding:30px 24px}.form-row{grid-template-columns:1fr;gap:0}.contact-form{padding:25px 18px}.contact-form input,.contact-form textarea,.contact-form select{font-size:16px}.form-submit{align-items:stretch;flex-direction:column}.footer-brand{width:205px}.footer-links{display:grid;grid-template-columns:1fr 1fr}.footer-links a{min-height:36px;display:flex;align-items:center}
    .dialog-image{min-height:300px}.dialog-copy h2{font-size:2.15rem}.dialog-copy .button{width:100%}
}

@media(max-width:820px) and (max-height:600px){.main-nav{padding-top:5px;padding-bottom:max(9px,env(safe-area-inset-bottom))}.main-nav>a{min-height:41px;padding-block:5px;font-size:.98rem}.main-nav .nav-phone{padding-block:3px}}
@media(max-width:560px){.lightbox{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.lightbox-close{top:8px;right:8px;width:42px;height:42px}.lightbox-nav{width:42px;height:56px;font-size:1.8rem}.lightbox-prev{left:6px}.lightbox-next{right:6px}.lightbox img{max-height:calc(100dvh - 95px)}.lightbox-footer{min-height:46px;padding:10px 12px}}
@media(hover:none){.product-card:hover{transform:none}.button-primary:hover{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.hero-photo img{transform:none!important}}
