/* Design20 — shared identity, homepage, catalogue and enquiry components.
   Original product facts, prices and photographic sources are not design tokens. */
:root{
 --d-page:#f6f7f3;--d-surface:#ffffff;--d-ink:#1b1c1a;--d-muted:#5f615c;--d-line:#f4f2ee;
 --d-accent:#b64b20;--d-accent-hover:#9d3e18;--d-soft:#fbf9f6;
 --bg:var(--d-page);--bg-warm:#fff;--bg-band:#fbf9f6;--card:#fff;--text:var(--d-ink);--text-soft:var(--d-muted);--text-muted:#5f615c;
 --line:var(--d-line);--accent:var(--d-accent);--accent-hover:var(--d-accent-hover);--accent-soft:#f8ede5;
 --container:1120px;--customer-header-height:76px;--customer-card-radius:20px;--customer-control-radius:12px;
 --h2:clamp(30px,3.15vw,44px);--shadow-card:0 3px 15px #1b1c1a08;--shadow-hover:0 8px 28px #1b1c1a14;
 scroll-padding-top:0;
}
html{scroll-behavior:smooth;scroll-padding-top:0}body{overflow-x:clip}
[hidden]{display:none!important}
#constructor,#catalog,#inside,#structure,#project05,#production,#gallery,#about,#videos,#faq,#contact{scroll-margin-top:20px}
.button{border-radius:var(--customer-control-radius);font-weight:550;min-height:48px;box-shadow:none}
.button:hover{transform:none;box-shadow:none}
.button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #5f615c;outline-offset:3px}
.section{padding:76px 0}
.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:650;color:#795633;margin-bottom:14px}
.section-heading h2,.about-copy h2,.contact h2{font-weight:550;line-height:1.12;letter-spacing:-.035em}
.section-lead{font-size:16px;line-height:1.7}
.site-header{position:static;top:auto;background:#fffffff5;border-color:var(--d-line)}
.site-header .container{width:min(1280px,calc(100% - 64px))}
.header-inner{gap:23px;min-height:76px}
.header-nav{gap:19px}.header-nav a{font-size:13px;color:#4d4f4b;font-weight:550}
.header-nav a[aria-current=location]{color:#5f5145;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:2px}
.header-promise{font-size:11px;color:#5f615c;padding-left:17px}
.header-promise strong{font-weight:500}.header-contact a{font-size:14px;white-space:nowrap;font-weight:650}
.header-contact span{font-size:10px}.site-header .js-open-lead{min-height:44px;font-size:13px;padding:10px 17px}
.menu-toggle{background:#fbf9f6;border-color:var(--d-line)}
/* One visual grid: type aligns, photographs may deliberately extend beyond it. */
.architecture-hero{min-height:clamp(600px,82svh,760px);padding:0;align-items:center;background:#1b1c1a}
.architecture-hero .hero-grid{width:min(var(--container),calc(100% - 64px));grid-template-columns:minmax(0,1fr) 230px;gap:50px;padding:90px 0 78px;align-items:center}
.architecture-hero .hero-content{max-width:720px;padding:0}
.architecture-hero .hero-photo{object-position:56% 62%}
.architecture-hero .hero-shade{background:linear-gradient(90deg,#1b1c1ac4 0%,#1b1c1a83 36%,#1b1c1a22 70%,#1b1c1a12 100%),linear-gradient(0deg,#1b1c1a60,transparent 54%)}
.architecture-hero .eyebrow{font-size:11px;line-height:1.6;letter-spacing:.1em;margin:0 0 22px;color:#f4f2ee}
.architecture-hero h1{font-size:clamp(46px,4.8vw,70px);line-height:1.1;letter-spacing:-.045em;font-weight:550;margin:0 0 23px}
.architecture-hero h1 em{font-size:.89em;line-height:1.15;color:#eee0bf;font-weight:400}
.architecture-hero .hero-lead{font-size:17px;line-height:1.7;max-width:465px;margin:0;color:#fbf9f6}
.architecture-hero .hero-actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.architecture-hero .hero-actions .button{min-height:52px;border-radius:12px;font-size:14px;padding:14px 21px;gap:17px}
.architecture-hero .architecture-hero-secondary{background:#fffdf6;color:#1b1c1a;border:1px solid #fffdf6}
.architecture-hero-caption{position:absolute;right:max(32px,calc((100% - var(--container))/2));bottom:62px;width:230px;padding:17px 19px;border:1px solid #f4f2ee47;border-radius:14px;background:#1b1c1ac7;backdrop-filter:blur(8px);gap:6px}
.architecture-hero-caption>span{font-size:10px;color:#f4f2ee;letter-spacing:.08em}
.architecture-hero-caption strong{font-size:26px;color:#fff;line-height:1.3}
.architecture-hero-caption small{font-size:12px;line-height:1.65;color:#f4f2ee}
.price-guarantee{background:#fff;border:0;border-bottom:1px solid var(--d-line)}
.price-guarantee .trust-strip{padding:24px 0;gap:38px}
.price-guarantee .trust-item{gap:15px;min-height:0;display:flex;align-items:center}
.price-guarantee .trust-item strong{font-size:14px;color:#4d4f4b;font-weight:600}
.price-guarantee .trust-item small{font-size:12px;line-height:1.5;color:#5f615c}
.trust-item .trust-number{font-size:24px;min-width:56px;width:auto;line-height:1.2;color:#795633}
.trust-item .trust-symbol,.trust-item .guarantee-icon{flex-shrink:0;color:#795633}
/* The catalogue intentionally stays compact: three small rounded cards. */
.customer-catalogue{background:var(--d-page);padding:48px 0 58px}
.customer-catalogue>.container{width:min(var(--container),calc(100% - 64px))}
.customer-section-heading{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:28px}
.customer-section-heading h2{font-size:var(--h2);line-height:1.12;font-weight:550;letter-spacing:-.035em;margin:9px 0 0}
.customer-section-heading>p{font-size:15px;line-height:1.7;color:var(--d-muted);max-width:370px;margin:0}
.customer-family-tabs{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--d-line);margin:0 0 26px;padding:0 0 14px}
.customer-family-tabs a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;border:1px solid transparent;border-radius:12px;padding:11px 18px;background:transparent;text-decoration:none;color:#5f615c;font-size:15px;font-weight:500}
.customer-family-tabs a span{font-size:11px;background:#f4f2ee;color:#795633;padding:2px 6px;border-radius:8px;font-weight:500}
.customer-family-tabs a[aria-selected=true]{background:#fff;border-color:#e8e4de;color:#4d4f4b;box-shadow:0 1px 3px #1b1c1a06;font-weight:600}
.customer-family-tabs a:hover{background:#fff}
.customer-family-tabs a:focus-visible,.customer-family:focus-visible{outline:3px solid #a76834;outline-offset:3px}
.customer-family{padding:0;margin:0;min-width:0;outline:none;background:transparent}
#catalog .customer-family + .customer-family{margin-top:56px;padding-top:36px;border-top:1px solid var(--line)}
.customer-family-heading{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:22px}
.customer-family-heading h3{font-size:25px;line-height:1.25;letter-spacing:-.5px;font-weight:600;margin:0 0 9px}
.customer-family-heading p{font-size:14px;line-height:1.65;color:#5f615c;max-width:730px;margin:0}
.customer-family-heading>span{font-size:12px;color:#5f615c;white-space:nowrap}
.customer-family .project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:20px}
#catalog .project-card{grid-column:auto;display:flex;flex-direction:column;min-width:0;border:1px solid var(--d-line);border-radius:var(--customer-card-radius);background:#fff;box-shadow:0 2px 7px #1b1c1a04;overflow:hidden;transition:border-color .18s,box-shadow .18s}
.customer-family .project-gallery-stage{height:auto;aspect-ratio:16/9;position:relative;background:#fbf9f6;overflow:hidden}
.customer-family .project-gallery-stage img{display:block;width:100%;height:100%;object-fit:cover}
.customer-family .project-gallery-stage.is-plan img{object-fit:contain;background:#fff;padding:8px}
#catalog .project-card .project-thumbs{display:flex;gap:6px;padding:7px;background:#fff;border-radius:0;min-height:58px;border-bottom:1px solid #fbf9f6}
#catalog .project-card .project-thumb{flex:1;min-width:0;height:44px;border-radius:8px;border-color:#f4f2ee;overflow:hidden}
#catalog .project-card .project-thumb[aria-current=true]{border-color:#795633;box-shadow:0 0 0 1px #795633}
.customer-family .project-thumb img{display:block;width:100%;height:100%;object-fit:cover}
#catalog .project-card .project-body{display:flex;flex-direction:column;align-items:stretch;justify-content:initial;flex:1;min-width:0;padding:17px 16px 16px}
#catalog .project-body .series-chip{display:none}
#catalog .project-card .project-body h3{font-size:19px;font-weight:600;line-height:1.3;letter-spacing:-.025em;margin:0 0 8px;color:#1b1c1a}
#catalog .project-body .customer-card-description{font-size:13px;line-height:1.55;margin:0 0 8px;min-height:0;color:#4d4f4b}
#catalog .project-body .customer-card-facts{font-size:12px;line-height:1.5;margin:0 0 11px;min-height:0;padding:0;border:0;color:#5f615c}
#catalog .project-price{font-size:19px;line-height:1.25;color:#1b1c1a;margin:auto 0 0;padding-top:5px}
.customer-family .customer-price-caption{font-size:11px;line-height:1.5;color:#5f615c;margin-top:5px}
.customer-family .u-card-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:7px;margin-top:13px}
.customer-family .u-card-actions>button,.customer-family .u-card-actions>a{display:flex;align-items:center;justify-content:center;flex:1 1 115px;min-height:44px;padding:10px 11px;font-size:12px;font-weight:550;text-align:center;border-radius:var(--customer-control-radius)}
#catalog [data-customer-quote]{white-space:nowrap}
#catalog .project-card .project-body .button{margin-top:0}
.customer-family .u-details-button{background:#fbf9f6;border:1px solid #f4f2ee;color:#5f5145}
.customer-family .u-catalog-more{display:block;min-height:46px;margin:25px auto 0;padding:12px 24px;border:1px solid #e8e4de;border-radius:12px;background:#fff;color:#4d4f4b;font:inherit;font-size:14px;cursor:pointer}
.customer-catalogue-help{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:23px;margin-top:30px;border-top:1px solid var(--d-line)}
.customer-catalogue-help p{font-size:14px;line-height:1.7;max-width:720px;color:#5f615c;margin:0}
.customer-catalogue-help strong{color:#4d4f4b}.customer-catalogue-help .button{font-size:13px;white-space:nowrap;background:#fff;color:#4d4f4b;border:1px solid #e8e4de}
@media(min-width:1024px){#catalog .project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.customer-family .project-card:hover{transform:none;border-color:#6b6e68;box-shadow:0 8px 24px #1b1c1a10}}
/* A single homepage introduction. Detailed controls live in the studio. */
#inside.n19-story{padding:64px 0 72px;background:#fff}
#inside.n19-story>.architecture-heading{width:min(var(--container),calc(100% - 64px));gap:44px;margin:0 auto 30px}
#inside.n19-story .architecture-heading h2{font-size:var(--h2);line-height:1.12;font-weight:550;letter-spacing:-.035em;margin:0}
#inside.n19-story .architecture-heading .eyebrow{font-size:11px;letter-spacing:.1em;margin-bottom:16px;color:#795633}
#inside.n19-story .architecture-heading>p{max-width:380px;font-size:15px;line-height:1.7;color:var(--d-muted);margin:0}
.n19-preview{width:min(1200px,calc(100% - 64px));margin:0 auto;border:1px solid var(--d-line);border-radius:22px;overflow:hidden;background:#fff}
#inside.n19-story .architecture-story-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:66px;padding:10px 20px;margin:0;border:0;border-bottom:1px solid var(--d-line);background:#fff}
.n19-preview-label{font-size:13px;color:#5f615c}
#inside.n19-story .architecture-view-switch{display:flex;gap:3px;padding:3px;background:#fbf9f6;border-radius:12px}
#inside.n19-story .architecture-view-switch button{font:inherit;font-size:13px;line-height:1.3;min-height:44px;min-width:98px;padding:10px 16px;border:1px solid transparent;border-radius:10px;background:transparent;color:#5f615c;cursor:pointer}
#inside.n19-story .architecture-view-switch button[aria-pressed=true]{background:#fff;border-color:#e8e4de;color:#5f5145;box-shadow:none}
.n19-preview-figure{margin:0}
#inside.n19-story .architecture-scene{position:relative;display:block;width:100%;max-width:none;margin:0;border:0;border-radius:0;aspect-ratio:1659/948;min-height:0;background:#fbf9f6;overflow:hidden}
#inside.n19-story .architecture-scene>[data-story-image]{width:100%;height:100%;object-fit:contain;object-position:center}
#inside.n19-story :is(.u-labels,.u-leaders){display:none}
.n19-preview-figure>figcaption{position:static;display:block;padding:12px 20px;font-size:12px;line-height:1.6;color:#5f615c;background:#fbf9f6;border-top:1px solid #f4f2ee}
.n19-next{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px}
.n19-next>p{font-size:14px;line-height:1.6;color:#5f615c;margin:0}
.n19-next .button{min-height:48px;padding:13px 20px;font-size:14px;border-radius:12px;white-space:normal;text-align:center;justify-content:center;background:#5f5145}
.n19-next .button:hover{background:#1b1c1a}
.n19-static-plan{width:min(var(--container),calc(100% - 64px));margin:12px auto 0;font-size:13px;line-height:1.6;text-align:right}
.n19-static-plan a{display:inline-block;padding:8px 0;color:#795633;text-decoration:underline;text-underline-offset:4px}
/* Manufacturing and work photographs, not decorative placeholder panels. */
#production{padding:72px 0;background:var(--d-page);border-top:1px solid var(--d-line);border-bottom:0}
#production .maker-intro-grid{gap:54px}
#production .maker-intro-copy h2{font-size:var(--h2);line-height:1.12;font-weight:550;letter-spacing:-.035em}
#production .maker-intro-lead{font-size:16px;line-height:1.75;color:#5f615c}
#production .maker-callout{padding:0 0 0 18px;border:0;border-left:2px solid #a76834;border-radius:0;background:none;margin-top:24px}
#production .maker-callout strong{font-size:15px}#production .maker-callout span{font-size:13px;line-height:1.7}
#production .maker-main-photo{height:390px;min-height:0;border-radius:20px;box-shadow:none}
#production .maker-main-photo img{height:100%;min-height:0;object-fit:cover}
#production .maker-main-photo figcaption{left:14px;right:14px;bottom:14px;background:#1b1c1adc;border-radius:12px;padding:12px 14px}
#production .maker-chain{margin-top:28px;padding:15px 18px;border-radius:14px;box-shadow:none;border-color:var(--d-line);background:#fff}
#production .maker-chain span{font-size:12px;font-weight:550;color:#5f615c}
#production .maker-value-layout{margin-top:28px;background:#fbf9f6;border:1px solid #f4f2ee;border-radius:20px;box-shadow:none}
#production .maker-value-photo{border-radius:0;min-height:420px;height:100%}
#production .maker-value-photo img{height:100%;min-height:420px;object-fit:cover}
#production .maker-value-content{color:#1b1c1a;padding:38px 36px}
#production .maker-value-content h2{font-size:34px;line-height:1.16;font-weight:550;letter-spacing:-1px}
#production .maker-value-content .eyebrow{color:#795633}
#production .maker-value-lead{font-size:15px;line-height:1.7;color:#5f615c}
#production .maker-value-steps{border-color:#e8e4de;margin-top:22px}
#production .maker-value-steps li{padding:14px 0;border-color:#e8e4de;grid-template-columns:30px 1fr;gap:3px 12px}
#production .maker-value-steps li>span{color:#795633}
#production .maker-value-steps strong{font-size:15px;font-weight:550}
#production .maker-value-steps small{font-size:12px;line-height:1.6;color:#795633}
#production .maker-value-outcome{padding:0;border:0;border-radius:0;margin-top:19px;background:none}
#production .maker-value-outcome span{font-size:13px;color:#795633}
#gallery{background:#1b1c1a;color:#fff;padding:72px 0}
#gallery .real-gallery-heading{align-items:end;gap:32px;margin-bottom:28px}
#gallery h2{font-size:var(--h2);font-weight:500;line-height:1.14;letter-spacing:-.03em;max-width:660px}
#gallery .eyebrow{color:#d6cfc5}#gallery .section-lead{font-size:15px;line-height:1.7;color:#e8e4de;max-width:580px}
#gallery .gallery-filters{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
#gallery .gallery-filter{font:inherit;min-height:44px;font-size:12px;padding:10px 13px;border:1px solid #6b6e6855;background:#ffffff08;color:#f4f2ee;border-radius:12px}
#gallery .gallery-filter.is-active{background:#fbf9f6;color:#1b1c1a;border-color:#fbf9f6}
#gallery .real-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;grid-auto-flow:row;gap:14px}
#gallery .real-gallery-item,#gallery .real-gallery-item.gallery-item--wide,#gallery .real-gallery-item.gallery-item--tall,#gallery .real-gallery-item:first-child{grid-column:auto;grid-row:auto;border-radius:16px;box-shadow:none;aspect-ratio:4/3;min-height:0}
#gallery .real-gallery-overlay{opacity:1;transform:none;padding:45px 15px 13px;background:linear-gradient(180deg,transparent,#1b1c1acc)}
#gallery .real-gallery-overlay span{color:#f8eee6;font-size:10px;letter-spacing:.08em;font-weight:550}
#gallery .real-gallery-overlay strong{font-size:13px;font-weight:500;line-height:1.4}
#gallery .real-gallery-zoom{opacity:1;transform:none;width:32px;height:32px;right:10px;top:10px;background:#fbf9f6ea;color:#5f5145;font-weight:400}
#gallery .gallery-more{min-height:46px;border:1px solid #e8e4de6b;border-radius:12px;background:#ffffff09;color:#f4f2ee;padding:12px 22px;font-size:14px}
#gallery .gallery-more-wrap{margin-top:26px}
#about{background:#fff;padding:72px 0}
#about h2{font-size:var(--h2);line-height:1.13;font-weight:550;letter-spacing:-.03em}
#about .about-grid{gap:54px;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr)}
#about .about-photo{height:450px;border-radius:20px;box-shadow:none}
#about .about-copy p{font-size:15px;line-height:1.7;color:#5f615c}
#about .about-stats>div{box-shadow:none;background:#fbf9f6;border:1px solid #f4f2ee;border-radius:12px}
#about .about-stats strong{color:#795633;font-weight:600}
.s18-about-actions{display:flex;flex-wrap:wrap;gap:10px}
.s18-about-actions>button{background:#fff;color:#5f5145;border:1px solid #e8e4de}
#videos{background:#fbf9f6;padding:68px 0}
#videos h2{font-size:var(--h2);line-height:1.13;font-weight:550;letter-spacing:-.03em}
#videos .video-grid{max-width:none;gap:18px}
#videos .video-card{border-radius:18px;box-shadow:none}
#videos .video-title strong{font-size:16px;font-weight:550}
.video-card{position:relative}.s18-video-link{position:absolute;right:12px;top:12px;z-index:2;padding:7px 10px;border-radius:10px;background:#fffffff0;color:#5f5145;font-size:11px}
.customer-faq{background:#fff;padding:68px 0}
.customer-order-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:28px 0 34px}
.customer-order-steps article{border-top:1px solid #e8e4de;padding-top:17px}
.customer-order-steps span{font-size:12px;color:#795633}
.customer-order-steps h3{font-size:20px;line-height:1.3;font-weight:600;margin:11px 0}
.customer-order-steps p{font-size:14px;line-height:1.7;color:#5f615c;margin:0}
.customer-faq-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:36px}
.customer-faq-grid details{border-bottom:1px solid var(--d-line);align-self:start}
.customer-faq-grid summary{font-size:15px;line-height:1.5;padding:18px 18px 18px 0;cursor:pointer;color:#4d4f4b}
.customer-faq-grid details p{font-size:14px;line-height:1.75;color:#5f615c;margin:0 0 18px}
#contact{background:#fbf9f6;padding:68px 0}
#contact h2{font-size:var(--h2);line-height:1.13;font-weight:550;letter-spacing:-.03em}
#contact .contact-grid{gap:24px}
#contact .contact-card{border-radius:20px;box-shadow:none;background:#fff;padding:32px;border:1px solid #f4f2ee}
#contact .contact-photo{border-radius:20px;height:430px;min-height:0}
#contact .contact-photo img{height:100%;width:100%;object-fit:cover}
#contact .contact-map{display:flex;align-items:flex-start;flex-direction:column;gap:6px;min-height:0;height:auto;background:none;padding:0 0 22px;margin:0;border:0;border-bottom:1px solid #f4f2ee;border-radius:0}
#contact .contact-map strong{font-size:30px;line-height:1.25;font-weight:550;letter-spacing:-.6px;color:#5f5145}
#contact .contact-map>span{font-size:14px;color:#5f615c}
#contact .contact-map .d20-location-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;color:#795633}
#contact .contact-card dl{margin:22px 0}
#contact .contact-card dl>div{padding:12px 0;border-color:#f4f2ee}
#contact .contact-card dd{font-size:15px;line-height:1.6;color:#5f5145}
#contact .contact-card dt{font-size:12px;color:#5f615c}
.d20-contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:20px}
.d20-contact-actions a,.d20-contact-actions button{font:inherit;font-size:13px;min-height:44px;padding:10px 0;border:0;background:none;color:#795633;text-decoration:underline;text-underline-offset:4px}
.d20-contact-actions [role=status]{font-size:12px;width:100%;color:#795633}
.site-footer{background:#1b1c1a;color:#f4f2ee}
.customer-footer-nav{display:flex;flex-wrap:wrap;gap:18px;font-size:13px;width:100%;padding-top:18px;border-top:1px solid #f8eee62b}
.footer-inner{flex-wrap:wrap}.footer-inner>span{font-size:12px}
/* Product dialogs share controls and typography without changing their content. */
.u-product-dialog{border-radius:20px;background:#fff;color:var(--d-ink);border-color:var(--d-line)}
.u-product-dialog :is(button,.button){border-radius:12px}
.u-product-dialog header,.u-product-dialog footer{background:#fffffff7;border-color:var(--d-line)}
.u-product-dialog header h3{font-size:21px;line-height:1.35;color:#1b1c1a}
.u-product-dialog .p-product-tabs{background:#fbf9f6;border-color:#f4f2ee}
.u-product-dialog .p-product-tabs button[aria-selected=true]{background:#fff;border-color:#d6cfc5;color:#5f5145;box-shadow:none}
.u-product-dialog .p-product-tabs button{color:#795633}
.u-product-dialog .u-product-image{object-fit:contain;max-height:56svh;background:#f6f8f2;aspect-ratio:16/10;width:100%}
.u-product-dialog .u-product-thumbs{background:#fff;border-color:var(--d-line)}
.u-product-dialog .u-product-thumbs button{min-height:44px;color:#795633;border-color:#f4f2ee;background:#fff}
.u-product-dialog .u-product-thumbs button[aria-pressed=true]{background:#fbf9f6;border-color:#6b6e68}
.u-product-dialog .p-product-copy{color:#795633}
.u-product-dialog .p-product-facts>div,.u-product-dialog .p-rooms>div{background:#fbf9f6;color:#5f5145}
.u-product-dialog .p-wishes button{border-color:var(--d-line);background:#fff}
.u-product-dialog .p-wishes button[aria-pressed=true]{border-color:#a76834;background:#fbf9f6}
.u-product-dialog footer{gap:16px}.u-product-dialog footer button{min-height:46px;font-size:13px;border-color:var(--d-accent);background:var(--d-accent)}
.u-product-dialog .customer-product-error{padding:20px;text-align:center;color:#5f615c}
/* One complete enquiry component, rather than partly styled native fields. */
#leadModal .modal-card{width:min(610px,calc(100vw - 32px));max-width:none;max-height:calc(100svh - 40px);overflow:auto;padding:30px;border-radius:22px;background:#fff;border:1px solid var(--d-line);box-shadow:0 24px 80px #1b1c1a30}
#leadModal .modal-close{width:36px;height:36px;min-width:36px;right:15px;top:15px;background:#fbf9f6;border:1px solid #f4f2ee;box-shadow:none}
#leadModal h2{font-size:28px;line-height:1.2;letter-spacing:-.8px;padding-right:20px;color:#1b1c1a}
#leadModal .eyebrow{font-size:11px;color:#795633}
.customer-call{display:flex;justify-content:center;font-size:14px;min-height:48px;margin:18px 0 22px;background:#5f5145;color:#fff}
.customer-call:hover{background:#1b1c1a}
#leadConfigSummary{padding:15px 17px;border:1px solid #f4f2ee;border-radius:12px;background:#fbf9f6;margin-top:17px;font-size:14px;line-height:1.6;color:#795633}
#leadConfigSummary ul{padding-left:20px}
#leadForm{display:grid;gap:16px;margin:0}
.d20-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#leadForm label:not(.p-consent):not(.p-honeypot){display:grid;align-content:start;gap:7px;font-size:14px;line-height:1.45;color:#5f5145;font-weight:500}
#leadForm .d20-optional{display:block;position:static;font-size:11px;line-height:19px;color:#5f615c;font-weight:400}
#leadForm input:not([type=hidden]):not([type=checkbox]),#leadForm textarea{display:block;appearance:none;-webkit-appearance:none;width:100%;min-width:0;min-height:49px;margin:0;border:1px solid #e8e4de;border-radius:12px;padding:12px 14px;box-shadow:none;outline:none;background:#fcfdf9;color:#1b1c1a;font:400 16px/1.5 Inter,system-ui,sans-serif;transition:border-color .15s,box-shadow .15s}
#leadForm textarea{min-height:104px;resize:vertical}
#leadForm :is(input,textarea)::placeholder{font-size:14px;color:#5f615c;opacity:1}
#leadForm :is(input,textarea):focus-visible{border-color:#a76834;box-shadow:0 0 0 3px #a7683420}
#leadForm [aria-invalid=true]{border-color:#bc593d;box-shadow:0 0 0 2px #bc593d18}
#leadForm label>small{font-weight:400;font-size:11px;line-height:1.5;color:#5f615c}
#leadForm .p-consent{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;margin:0;padding:0;font-size:12px;line-height:1.65;font-weight:400;color:#5f615c}
#leadForm .p-consent input{appearance:auto;width:18px;height:18px;min-height:18px;margin:2px 0 0;border-radius:3px;accent-color:#5f5145;cursor:pointer}
#leadForm .p-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;opacity:0;pointer-events:none}
#leadForm .p-server-status{font-size:13px;line-height:1.65;color:#5f615c;padding:13px 15px;margin:0;background:#fbf9f6;border:1px solid #f4f2ee;border-radius:12px}
#leadForm [data-enquiry-online]{display:flex;min-height:49px;align-items:center;justify-content:center;font-size:15px;background:var(--d-accent);border:1px solid var(--d-accent);color:#fff;border-radius:12px;padding:12px 18px}
#leadForm [data-enquiry-online]:disabled{opacity:.55;cursor:wait}
#leadForm .p-enquiry-options{display:flex;gap:10px;justify-content:center}
#leadForm [data-enquiry-download]{font:inherit;min-height:44px;padding:10px 16px;font-size:14px;border:1px solid #f8eee6;border-radius:12px;background:#fff;color:#795633}
#leadForm[data-enquiry-mode=offline] [data-enquiry-download]{width:100%;background:#fbf9f6}
#leadForm .form-note{margin:0;font-size:12px;line-height:1.65;color:#5f615c}
#leadForm .form-status{font-size:14px;line-height:1.6;padding:13px 15px;margin:0;border-radius:12px;background:#f8f2e3;color:#74552d}
#leadForm .form-status[data-request-id]{background:#fbf9f6;color:#5f5145}
#leadForm .form-status:empty{display:none}
.customer-image-error{position:absolute;inset:0;z-index:3;display:grid;align-content:center;justify-items:center;gap:12px;padding:20px;text-align:center;background:#fbf9f6f2;color:#5f615c;font-size:13px}
.customer-image-error button,.customer-gallery-error button{border:1px solid #e8e4de;background:#fff;padding:11px 18px;border-radius:12px;font:inherit;cursor:pointer}
.gallery-lightbox-shell:focus{outline:none}.customer-gallery-error{position:absolute;inset:25%;z-index:8;display:grid;place-content:center;gap:14px;padding:20px;text-align:center;background:#fbf9f6;color:#795633}
@media(max-width:1250px){.header-promise{display:none}.header-inner{gap:18px}.header-nav{gap:16px}}
@media(max-width:1050px){.architecture-hero .hero-grid{grid-template-columns:1fr}.architecture-hero-caption{display:none}.architecture-hero h1{font-size:58px}}
@media(max-width:1023px){
 .header-nav{display:none}.site-header .menu-toggle{display:flex}.mobile-menu{top:var(--customer-header-height)}
 .customer-family .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .customer-section-heading>p{max-width:320px;font-size:14px}.customer-family-heading{align-items:start}
 #gallery .real-gallery-heading{align-items:start;flex-direction:column;gap:20px}#gallery .gallery-filters{justify-content:flex-start}
 #production .maker-intro-grid,#production .maker-value-layout{grid-template-columns:1fr}
 #production .maker-main-photo{height:430px}#production .maker-value-photo{height:330px;min-height:0}#production .maker-value-photo img{min-height:0}
 #about .about-grid{gap:30px;grid-template-columns:minmax(240px,.85fr) minmax(0,1.15fr)}
}
@media(max-width:760px){
 .section{padding:54px 0}
 .architecture-hero{min-height:calc(92svh - 68px);max-height:none;align-items:flex-end;padding:0}
 .architecture-hero .hero-grid{width:calc(100% - 40px);display:block;padding:225px 0 40px}
 .architecture-hero .hero-photo{top:-12%;height:112%;object-position:61% 63%}
 .architecture-hero .hero-shade{background:linear-gradient(0deg,#1b1c1aeb 0%,#1b1c1a7a 62%,#1b1c1a38 100%)}
 .architecture-hero .eyebrow{font-size:10px;line-height:1.6;letter-spacing:.06em;margin-bottom:17px;max-width:320px}
 .architecture-hero h1{font-size:clamp(35px,8.8vw,50px);line-height:1.12;margin-bottom:18px}
 .architecture-hero h1 em{font-size:.94em}
 .architecture-hero .hero-lead{font-size:15px;line-height:1.7;max-width:345px;margin:0}
 .architecture-hero .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:23px}
 .architecture-hero .hero-actions .button{min-height:48px;font-size:12px;padding:12px 10px;gap:7px;white-space:normal}
 .price-guarantee .trust-strip{gap:17px;padding:22px 0}
 #inside.n19-story{padding:48px 0;background:#fff}
 #inside.n19-story>.architecture-heading{width:calc(100% - 32px);display:block;margin-bottom:22px}
 #inside.n19-story .architecture-heading h2{font-size:32px;letter-spacing:-.8px}
 #inside.n19-story .architecture-heading .eyebrow{font-size:10px;margin-bottom:13px}
 #inside.n19-story .architecture-heading>p{font-size:15px;line-height:1.65;margin-top:16px;max-width:none}
 .n19-preview{width:calc(100% - 24px);border-radius:18px}
 #inside.n19-story .architecture-story-bar{padding:10px 12px;min-height:65px;gap:10px}
 .n19-preview-label{font-size:12px;line-height:1.45;max-width:94px}
 #inside.n19-story .architecture-view-switch button{min-width:78px;font-size:13px;padding:10px 12px}
 .n19-preview-figure>figcaption{padding:12px 14px;font-size:12px;line-height:1.6}
 .n19-next{display:block;padding:16px 14px}.n19-next>p{font-size:13px;margin-bottom:14px}.n19-next>p br{display:none}
 .n19-next .button{width:100%;min-height:48px;font-size:14px}
 .n19-static-plan{width:calc(100% - 32px);font-size:12px;margin-top:8px}
 #production{padding:52px 0}#production .maker-intro-grid{gap:25px}
 #production .maker-intro-copy h2{font-size:32px}
 #production .maker-main-photo{height:300px;border-radius:18px}#production .maker-main-photo figcaption{display:grid;gap:4px}
 #production .maker-main-photo figcaption strong{text-align:left;font-size:12px}
 #production .maker-chain{margin-top:24px;padding:4px 16px}
 #production .maker-chain span{padding:12px 0 12px 20px}
 #production .maker-value-layout{margin-top:24px;border-radius:18px}
 #production .maker-value-content{padding:28px 22px}#production .maker-value-content h2{font-size:29px}
 #production .maker-value-photo{height:265px}
 #gallery{padding:52px 0}#gallery h2{font-size:32px}#gallery .real-gallery-heading{margin-bottom:22px}
 #gallery .real-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 #gallery .real-gallery-item,#gallery .real-gallery-item.gallery-item--wide,#gallery .real-gallery-item.gallery-item--tall{border-radius:13px;aspect-ratio:1}
 #gallery .real-gallery-overlay{padding:32px 10px 10px}#gallery .real-gallery-overlay strong{display:none}
 #gallery .gallery-filter{font-size:12px;padding:9px 12px}
 #about{padding:52px 0}#about h2{font-size:32px}#about .about-grid{grid-template-columns:1fr;gap:28px}
 #about .about-photo{height:340px;max-width:100%;border-radius:18px}#about .about-photo img{object-position:center 32%}
 #videos{padding:52px 0}#videos h2{font-size:32px}#videos .video-grid{grid-template-columns:1fr 1fr;gap:12px}#videos .video-card{border-radius:14px}
 #videos .video-title strong{font-size:12px}#videos .video-title small{font-size:10px}.s18-video-link{font-size:10px;padding:6px 8px;right:8px;top:8px}
 #contact{padding:52px 0}#contact h2{font-size:32px}#contact .contact-grid{grid-template-columns:1fr;gap:20px}
 #contact .contact-card{padding:24px;border-radius:18px}#contact .contact-photo{height:300px;border-radius:18px}
}
@media(max-width:640px){
 .container{width:calc(100% - 32px)}.site-header .container{width:calc(100% - 32px);padding:0}
 .site-header .header-inner{min-height:68px;gap:12px}.header-contact{display:none}.site-header .brand-copy strong{font-size:15px}.site-header .brand-copy small{font-size:9px}.site-header .brand-mark{width:19px;height:19px}
 .menu-toggle{width:44px;height:44px;flex-shrink:0}.site-header .js-open-lead{font-size:12px;padding:10px 12px;min-height:44px}
 .mobile-menu-panel{padding-top:18px;max-height:calc(100svh - var(--customer-header-height));overflow-y:auto}.mobile-menu-panel a{font-size:16px;min-height:48px}.customer-menu-phone{font-weight:650}
 .customer-catalogue{padding:43px 0}.customer-catalogue>.container{width:calc(100% - 32px)}
 .customer-section-heading{display:block;margin-bottom:20px}.customer-section-heading h2{font-size:31px}.customer-section-heading>p{margin-top:14px;max-width:none;font-size:14px}
 .customer-family-tabs{gap:4px;margin-bottom:22px;padding-bottom:12px}.customer-family-tabs a{flex:1;min-width:0;min-height:46px;padding:10px 8px;font-size:12px;gap:0}.customer-family-tabs a span{display:none}
 .customer-family-heading{display:block;margin-bottom:20px}.customer-family-heading h3{font-size:23px}.customer-family-heading p{font-size:14px}.customer-family-heading>span{display:block;font-size:11px;margin-top:9px}
 #catalog .customer-family + .customer-family{margin-top:44px;padding-top:28px}
 .customer-family .project-grid{grid-template-columns:1fr;gap:20px}
 #catalog .project-card .project-body h3{font-size:20px}
 #catalog .project-thumb{height:46px}.customer-family .project-gallery-stage{aspect-ratio:16/10}
 .customer-family .u-card-actions>*{flex-basis:125px}
 .customer-catalogue-help{display:block;margin-top:24px;padding-top:20px}.customer-catalogue-help .button{margin-top:14px;white-space:normal}
 .customer-order-steps{grid-template-columns:1fr;gap:20px;margin-bottom:24px}.customer-order-steps h3{font-size:19px}
 .customer-faq-grid{grid-template-columns:1fr}.customer-faq-grid summary{font-size:15px;padding:17px 0}.customer-faq-grid details p{font-size:14px}
 .customer-footer-nav{gap:14px}
 .u-product-dialog header h3{font-size:18px}
 .u-product-dialog .u-product-image{max-height:40svh}.u-product-dialog .p-product-copy{padding:18px}
 .u-product-dialog footer{flex-wrap:wrap;gap:10px;padding:14px}.u-product-dialog footer small{max-width:235px}
 #leadModal .modal-card{width:calc(100vw - 20px);max-height:calc(100svh - 20px);padding:24px 20px;border-radius:20px}
 #leadModal h2{font-size:25px;line-height:1.25;padding-right:20px}
 .d20-contact-fields{grid-template-columns:1fr;gap:15px}
 #leadForm{gap:15px}.customer-call{font-size:13px;margin:16px 0 20px}
 #leadForm input:not([type=hidden]):not([type=checkbox]),#leadForm textarea{min-height:49px;font-size:16px}
 #leadForm .p-server-status{font-size:12px}
 .trust-item .trust-number{font-size:22px;min-width:48px}
}
@media(max-width:350px){
 .architecture-hero h1{font-size:32px}.architecture-hero .hero-grid{padding-top:195px}
 .architecture-hero .hero-actions{grid-template-columns:1fr}
 .n19-preview-label{display:none}#inside.n19-story .architecture-view-switch{flex:1}#inside.n19-story .architecture-view-switch button{flex:1}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.customer-family *, .customer-family-tabs *, .u-product-dialog *{transition:none!important;scroll-behavior:auto!important}}

/* The website has two distinct experiences; preserve room for both navigation entries. */
@media(min-width:1024px) and (max-width:1540px){.site-header .header-promise{display:none}.site-header .header-inner{gap:16px}.site-header .header-nav{gap:16px}}
/* Stage 1 (2026-09-23): "Комплектация №05" is longer than the old label; keep the desktop header within 1024–1240 px. */
@media(min-width:1024px) and (max-width:1240px){.site-header .header-contact{display:none}.site-header .header-nav{gap:14px}.site-header .header-inner{gap:14px}}
/* One legend for price status across the site (2026-09-23): card, homepage builder, configuration, summary. */
.tag{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:12px;line-height:1.5;font-weight:600;white-space:nowrap;border:1px solid transparent}
.tag::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.tag--base{background:#eef3ea;color:#3f6a2f;border-color:#d6e4cd}
.tag--add{background:#f8eee6;color:#92400e;border-color:#ecd3bd}
.tag--quote{background:#f1efea;color:#5f615c;border-color:#e2ddd4}
.tag--site{background:#edf1f6;color:#3d5877;border-color:#d4dde8}
.tag-legend{display:flex;flex-wrap:wrap;gap:6px 8px;margin:12px 0 0;padding:0;font-size:12px}
/* Picker: three questions above the catalogue */
.picker{margin:0 0 22px;border:1px solid var(--line,#e8e4de);border-radius:14px;background:#fff}
.picker-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border:0;background:none;font:inherit;cursor:pointer;text-align:left;border-radius:14px}
.picker-toggle strong{font-size:16px;font-weight:600}.picker-toggle span{color:#92400e;font-size:15px}
.picker-panel{padding:0 20px 20px;border-top:1px solid var(--line,#e8e4de)}
.picker-q p{margin:16px 0 8px;font-weight:600;font-size:15px}
.picker-q [role=group]{display:flex;flex-wrap:wrap;gap:6px}
.picker-q button{min-height:42px;padding:0 14px;border:1px solid var(--line,#e8e4de);border-radius:999px;background:#fff;font:inherit;font-size:14px;cursor:pointer;color:#4d4f4b}
.picker-q button[aria-pressed=true]{background:#f8eee6;border-color:#e0b18c;color:#92400e;font-weight:600}
.picker-count{margin:18px 0 10px;font-size:14px;color:#6b6e68}
.picker-table{display:grid;gap:0;overflow-x:auto}
.picker-row{display:grid;grid-template-columns:150px repeat(3,minmax(170px,1fr));gap:12px;padding:8px 0;border-bottom:1px solid #f0ece7;font-size:14px;align-items:start}
.picker-head span{display:grid;gap:6px}.picker-head img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:8px}
.picker-row>span:first-child{color:#6b6e68}
.picker-actions{border-bottom:0}.picker-actions button{min-height:40px;padding:0 12px;border-radius:10px;border:1px solid #e0b18c;background:#fffaf6;color:#92400e;font:inherit;font-size:14px;cursor:pointer}
@media(max-width:760px){.picker-toggle{flex-direction:column;align-items:flex-start;gap:2px}.picker-row{grid-template-columns:110px repeat(3,150px)}}
.picker-more{margin-left:6px;border:0;background:none;color:#92400e;font:inherit;font-size:14px;cursor:pointer;text-decoration:underline}

/* Typography pass 2026-09-28: customer-facing text must stay comfortably readable, not UI-microcopy. */
body{font-size:17px}
.header-nav a{font-size:15px}.header-contact a{font-size:15px}.header-contact span{font-size:12px}.site-header .js-open-lead{font-size:14px}
.eyebrow,.architecture-hero .eyebrow,#inside.n19-story .architecture-heading .eyebrow{font-size:12px}
.customer-section-heading>p,.customer-family-heading p,#inside.n19-story .architecture-heading>p,#gallery .section-lead,#about .about-copy p{font-size:17px}
.customer-family-heading>span{font-size:14px}
#catalog .project-body .customer-card-description{font-size:15px;line-height:1.6}
#catalog .project-body .customer-card-facts{font-size:14px;line-height:1.55}
.customer-family .customer-price-caption{font-size:13px}
.customer-family .u-card-actions>button,.customer-family .u-card-actions>a{font-size:14px}
.customer-catalogue-help p{font-size:16px}.customer-catalogue-help .button{font-size:14px}
.n19-preview-label,#inside.n19-story .architecture-view-switch button{font-size:14px}.n19-preview-figure>figcaption{font-size:14px}.n19-next>p{font-size:16px}.n19-static-plan{font-size:14px}
#production .maker-callout strong{font-size:16px}#production .maker-callout span,#production .maker-value-lead{font-size:16px}#production .maker-chain span,#production .maker-value-steps small,#production .maker-value-outcome span{font-size:13px}#production .maker-value-steps strong{font-size:16px}
#gallery .gallery-filter{font-size:14px}#gallery .real-gallery-overlay span{font-size:12px}#gallery .real-gallery-overlay strong{font-size:15px}#gallery .gallery-more{font-size:15px}
#videos .video-title strong{font-size:15px}#videos .video-title small{font-size:13px}.s18-video-link{font-size:13px}
.customer-order-steps span{font-size:13px}.customer-order-steps p{font-size:16px}
.customer-faq-grid summary{font-size:17px}.customer-faq-grid details p{font-size:16px}
#contact .contact-map>span{font-size:16px}#contact .contact-map .d20-location-label{font-size:13px}#contact .contact-card dd{font-size:16px}#contact .contact-card dt{font-size:14px}.d20-contact-actions a,.d20-contact-actions button{font-size:15px}.d20-contact-actions [role=status]{font-size:13px}
.customer-footer-nav{font-size:14px}.footer-inner>span{font-size:13px}
.u-product-dialog footer button{font-size:14px}
#leadModal .eyebrow{font-size:12px}.customer-call{font-size:15px}#leadConfigSummary{font-size:15px}
#leadForm label:not(.p-consent):not(.p-honeypot){font-size:15px}#leadForm .d20-optional{font-size:13px}#leadForm :is(input,textarea)::placeholder{font-size:16px}#leadForm label>small{font-size:13px}#leadForm .p-consent{font-size:13px}#leadForm .p-server-status{font-size:14px}#leadForm [data-enquiry-download]{font-size:15px}#leadForm .form-note{font-size:13px}#leadForm .form-status{font-size:15px}
.tag,.tag-legend{font-size:13px}.picker-q p{font-size:16px}.picker-q button,.picker-count,.picker-row,.picker-actions button,.picker-more{font-size:15px}
@media(max-width:760px){
 .architecture-hero .eyebrow,#inside.n19-story .architecture-heading .eyebrow{font-size:12px}.architecture-hero .hero-lead{font-size:17px}.architecture-hero .hero-actions .button{font-size:14px}
 .site-header .brand-copy small{font-size:11px}.site-header .js-open-lead{font-size:14px}
 .customer-section-heading>p{font-size:16px}.customer-family-tabs a{font-size:14px}.customer-family-heading p{font-size:15px}.customer-family-heading>span{font-size:13px}
 .n19-preview-figure>figcaption,.n19-next>p,.n19-static-plan{font-size:14px}
 #production .maker-main-photo figcaption strong{font-size:14px}#gallery .gallery-filter{font-size:14px}
 #videos .video-title strong{font-size:14px}#videos .video-title small,.s18-video-link{font-size:12px}
 .customer-faq-grid summary{font-size:16px}.customer-faq-grid details p{font-size:15px}.customer-call{font-size:14px}#leadForm .p-server-status{font-size:14px}
}

/* Shared gallery/catalogue viewer uses the native top layer above project details. */
.customer-image-dialog{border:0;padding:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:transparent;color:inherit}
.customer-image-dialog::backdrop{background:#0009}
.catalog-more{margin-top:24px}.catalog-more:disabled{opacity:.7;cursor:default}

.enquiry-calculation-text{white-space:pre-line;overflow-wrap:anywhere}
.project-price-status{display:block;font-size:14px;line-height:1.4;color:#795633;margin-top:4px}
.gallery-lightbox-figure .gallery-image-viewport{width:100%;height:100%;min-height:0;overflow:auto;touch-action:auto;background:#1b1c1a}
.gallery-image-viewport.is-zoomed{cursor:grab}.gallery-image-viewport.is-zoomed:active{cursor:grabbing}
.gallery-image-canvas{display:grid;place-items:center;min-width:100%;min-height:100%}
.gallery-image-canvas img{max-width:none;max-height:none;object-fit:contain;user-select:none}
.gallery-image-viewport:focus-visible{outline:3px solid #fff;outline-offset:-3px}
#leadConfigSummary details{margin-top:8px}
#leadConfigSummary summary{font-size:14px;cursor:pointer;min-height:32px}

/* Photo controls retain the existing palette and leave screen edges to iOS navigation. */
.photo-enlarge{position:absolute;right:10px;bottom:10px;z-index:3;min-height:44px;padding:8px 12px;border:1px solid #ffffff80;border-radius:10px;background:#292925d9;color:white;font:500 14px/1.3 Inter,system-ui,sans-serif;cursor:pointer}
.project-gallery-stage .project-main-image,.u-product-image{cursor:zoom-in;touch-action:auto}
.u-product-thumbs{overflow-x:auto;max-width:100%;flex-wrap:nowrap}.u-product-thumbs button{flex:none;min-height:44px}
.gallery-lightbox-close{min-width:44px;min-height:44px}
@media(max-width:600px){.gallery-lightbox-figure figcaption strong{font-size:14px;line-height:1.4}.gallery-lightbox-shell{height:calc(100dvh - 20px);padding-bottom:env(safe-area-inset-bottom)}.gallery-lightbox-close{top:max(10px,env(safe-area-inset-top));right:8px}}

.p-product-photo-open{display:block;width:100%;border:0;padding:0;background:transparent;cursor:zoom-in}.p-product-photo-open:focus-visible{outline:3px solid #b06b45;outline-offset:-3px}

/* Images open directly; no text overlays. */
.project-photo-open{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;border-radius:inherit}.project-photo-open img{display:block;width:100%;height:100%;object-fit:cover}.is-plan .project-photo-open img{object-fit:contain}.project-photo-open:focus-visible{outline:3px solid #a84f2d;outline-offset:-3px}.u-product-dialog .u-product-thumbs button{padding:3px;width:86px}.u-product-thumbs button img{display:block;width:80px;height:50px;object-fit:contain}

/* Fullscreen photos: one surface, with no nested card around the image. */
.customer-image-dialog{background:#111}
.customer-image-dialog::backdrop{background:transparent}
.customer-image-dialog .gallery-lightbox{padding:0}
.customer-image-dialog .gallery-lightbox-backdrop{background:transparent;backdrop-filter:none}
.customer-image-dialog .gallery-lightbox-shell{display:block;width:100%;height:100vh;height:100dvh;padding:0;margin:0}
.customer-image-dialog .gallery-lightbox-figure{height:100%;width:100%;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.customer-image-dialog .gallery-lightbox-figure .gallery-image-viewport{background:transparent;border:0;border-radius:0;box-shadow:none}
.customer-image-dialog .gallery-image-canvas,
.customer-image-dialog .gallery-image-canvas img{background:transparent;border:0;border-radius:0;box-shadow:none}
.customer-image-dialog .gallery-lightbox-figure figcaption{border:0;background:transparent;padding:12px max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.customer-image-dialog .gallery-lightbox-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);background:#1119}
.customer-image-dialog .gallery-lightbox-prev{left:max(12px,env(safe-area-inset-left))}
.customer-image-dialog .gallery-lightbox-next{right:max(12px,env(safe-area-inset-right))}
.customer-image-dialog .gallery-lightbox-close{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));background:#1119}

/* Direct enquiry chat; keep the established terracotta buttons. */
.enquiry-telegram-actions{display:grid;gap:10px}.enquiry-telegram-actions>.button{text-align:center;white-space:normal}.enquiry-telegram-actions>[data-enquiry-copy]{min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);padding:10px 16px;font:inherit;cursor:pointer}.customer-enquiry-form>.form-note{font-size:13px;line-height:1.5}

.customer-enquiry-form[data-enquiry-mode=online] .enquiry-telegram-actions>.button,.customer-enquiry-form[data-enquiry-mode=email] .enquiry-telegram-actions>.button{background:var(--bg);color:var(--text);border:1px solid var(--line)}

/* Contact form: one submission action, always visible while fields scroll. */
#leadModal .enquiry-panel{display:flex;flex-direction:column;width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:hidden;padding:0}
#leadModal .enquiry-form-header{flex:none;position:relative;padding:24px 64px 18px 24px}
#leadModal .enquiry-form-header h2{margin:0;padding:0;font-size:26px;line-height:1.2}
#leadModal .enquiry-panel #leadForm{display:flex;flex-direction:column;gap:0;min-height:0;overflow:hidden}
#leadModal .enquiry-form-body{display:grid;gap:16px;padding:0 24px 22px;min-height:0;overflow:auto;overscroll-behavior:contain}
#leadModal .enquiry-panel #leadConfigSummary{margin:0;padding:14px 16px;font-size:15px}
#leadModal .enquiry-panel #leadConfigSummary p{margin:5px 0 0}
#leadModal .enquiry-panel #leadConfigSummary .enquiry-price{font-size:18px;color:var(--text);font-weight:600}
#leadModal .enquiry-panel #leadConfigSummary details{margin-top:8px}
#leadModal .enquiry-panel #leadForm textarea{min-height:86px}
#leadModal .enquiry-form-footer{display:grid;gap:10px;flex:none;padding:16px 24px 18px;border-top:1px solid var(--line);background:#fff}
#leadModal .enquiry-panel #leadForm .p-server-status,#leadModal .enquiry-panel #leadForm .form-status{margin:0;padding:10px 12px;font-size:14px;line-height:1.45}
#leadModal .enquiry-panel #leadForm [data-enquiry-online]{min-height:52px;font-size:16px;width:100%}
#leadModal .enquiry-call-link{text-align:center;font-size:14px;line-height:1.5;color:var(--text-muted);text-decoration:underline;text-underline-offset:3px}
#leadModal .enquiry-panel #leadForm label{font-size:15px}
@media(max-width:600px){#leadModal .enquiry-panel{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}#leadModal .enquiry-form-header{padding:20px 56px 16px 20px}#leadModal .enquiry-form-header h2{font-size:24px}#leadModal .enquiry-form-body{padding:0 20px 20px;gap:14px}#leadModal .enquiry-form-footer{padding:14px 20px 16px}#leadModal .d20-contact-fields{grid-template-columns:1fr;gap:14px}}

/* Separate, fully interactive post-enquiry confirmation dialog. */
#enquirySuccessModal .enquiry-success-panel{
 position:relative;width:min(570px,calc(100vw - 32px));max-height:calc(100dvh - 32px);
 overflow:auto;overscroll-behavior:contain;padding:0;border-radius:22px;
 background:#fff;border:1px solid #e8e4de;box-shadow:0 28px 90px #1b1c1a35;color:#1b1c1a;
}
#enquirySuccessModal .modal-close{
 position:absolute;top:16px;right:17px;z-index:2;width:40px;height:40px;
 border:1px solid #e8e4de;border-radius:999px;background:#fbf9f6;
 color:#1b1c1a;font-size:25px;line-height:1;box-shadow:none;
}
#enquirySuccessModal .enquiry-success-inner{padding:34px 38px 31px;min-width:0}
#enquirySuccessModal .enquiry-success-seal{
 display:grid;place-items:center;width:66px;height:66px;border-radius:19px;
 background:#f8eee6;color:#bf4b19;margin-bottom:18px;
}
#enquirySuccessModal .enquiry-success-eyebrow{
 margin:0 0 8px;color:#795633;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
}
#enquirySuccessModal #enquirySuccessTitle{
 margin:0 30px 11px 0;padding:0;color:#1b1c1a;font-size:clamp(27px,3vw,33px);
 font-weight:750;letter-spacing:-.035em;line-height:1.13;
}
#enquirySuccessModal #enquirySuccessTitle:focus{outline:none}
#enquirySuccessModal .enquiry-success-number{
 margin:0 0 16px;color:#000;font-size:27px;font-weight:800;line-height:1.25;letter-spacing:-.035em;
}
#enquirySuccessModal .enquiry-success-description{
 margin:0 0 19px;max-width:45ch;color:#4d4f4b;font-size:16px;line-height:1.65;font-weight:400;
}
#enquirySuccessModal .enquiry-success-contact{
 display:flex;flex-wrap:wrap;align-items:baseline;column-gap:10px;row-gap:3px;
 padding:13px 0 20px;border-bottom:1px solid #e6e1db;color:#5f615c;font-size:13px;line-height:1.6;
}
#enquirySuccessModal .enquiry-success-contact strong{color:#1b1c1a;font-size:16px;font-weight:700;white-space:nowrap}
#enquirySuccessModal .enquiry-success-next{padding-top:22px}
#enquirySuccessModal .enquiry-success-next h3{
 margin:0 0 15px;color:#1b1c1a;font-size:19px;font-weight:700;letter-spacing:-.015em;
}
#enquirySuccessModal .enquiry-success-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#enquirySuccessModal .enquiry-success-primary,
#enquirySuccessModal .enquiry-success-secondary,
#enquirySuccessModal .enquiry-success-print{
 display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:52px;
 padding:12px 15px;border-radius:12px;font:600 14px/1.35 Inter,system-ui,sans-serif;
 text-decoration:none;text-align:center;
}
#enquirySuccessModal .enquiry-success-primary{background:#c44e12;border:1px solid #c44e12;color:#fff}
#enquirySuccessModal .enquiry-success-primary:hover{background:#ad430e;color:#fff}
#enquirySuccessModal .enquiry-success-secondary,
#enquirySuccessModal .enquiry-success-print{background:#fff;border:1px solid #dcd5cd;color:#1b1c1a}
#enquirySuccessModal .enquiry-success-secondary:hover,
#enquirySuccessModal .enquiry-success-print:hover{background:#fbf9f6}
#enquirySuccessModal .enquiry-success-print{grid-column:1/-1}
#enquirySuccessModal .enquiry-success-call{
 display:block;width:fit-content;margin:19px 0 0;padding:7px 0;font-size:14px;font-weight:550;
 line-height:1.5;color:#5f5145;text-decoration:underline;text-underline-offset:3px;
}
@media(max-width:600px){
 #enquirySuccessModal{padding:12px}
 #enquirySuccessModal .enquiry-success-panel{width:100%;max-height:calc(100dvh - 24px);border-radius:20px}
 #enquirySuccessModal .enquiry-success-inner{padding:28px 23px 24px}
 #enquirySuccessModal .enquiry-success-seal{width:58px;height:58px;margin-bottom:16px}
 #enquirySuccessModal #enquirySuccessTitle{font-size:29px;margin-right:32px}
 #enquirySuccessModal .enquiry-success-number{font-size:26px}
 #enquirySuccessModal .enquiry-success-description{font-size:15px;line-height:1.58}
 #enquirySuccessModal .enquiry-success-actions{grid-template-columns:1fr}
 #enquirySuccessModal .enquiry-success-print{grid-column:auto}
 #enquirySuccessModal .enquiry-success-primary,
 #enquirySuccessModal .enquiry-success-secondary,
 #enquirySuccessModal .enquiry-success-print{min-height:52px;font-size:15px}
}
