/* CMS theme roles keep the exact original palette as fallbacks.
   Status/validation colors, RAL samples, photographs and optical masks are independent. */
/* ELIPS — an interior brand. Photography, precise lines, warm paper and navy. */
:root {
 --color-primary:var(--theme-primary, #122536); --color-primary-dark:var(--theme-primary-deep, #0c1b29); --color-primary-light:var(--theme-primary-soft, #1d3440);
 --color-bg-page:var(--theme-page, #faf9f6); --color-bg-alt:var(--theme-surface-alt, #f1f0eb); --color-text-main:var(--theme-text, #142c36);
 --color-text-muted:var(--theme-muted, #657177); --color-gold:var(--theme-accent, #a7824c); --color-gold-light:var(--theme-highlight, #d4b47b);
 --color-border:var(--theme-border, #dfdfd7); --color-border-gold:var(--theme-accent, #c4a675);
 --radius-sm:2px; --radius-md:4px; --radius-lg:6px; --container-max:1400px;
 --shadow-sm:none; --shadow-md:none; --shadow-lg:none; --shadow-gold:none;
}
html { background:var(--color-bg-page); }
body { background:var(--color-bg-page); }
h1,h2,h3 { hyphens:none; overflow-wrap:normal; word-break:normal; }
.container { max-width:1400px; padding-inline:64px; }
.site-header { background:var(--theme-primary, #122536); border-bottom:1px solid var(--theme-primary-soft, #34434b); }
.site-header.scrolled { background:var(--theme-primary, #122536); box-shadow:none; }
.header-container { height:84px; gap:24px; }
.logo-title { font-size:1.05rem; font-weight:500; letter-spacing:.045em; }
.logo-subtitle { font-size:.5rem; letter-spacing:.16em; }
.logo-icon { width:40px; }
.nav-menu { gap:23px; }
.nav-link { font-size:.8rem; font-weight:400; color:var(--theme-on-primary-muted, #d5dcdd); }
.nav-link.active { color:var(--theme-accent-on-primary, #e2c48d); }
.header-actions { gap:20px; }
.phone-link { font-size:.82rem; }
.header-phone-sub { font-size:.66rem; }
.btn { min-height:50px; border-radius:2px; padding:15px 24px; font-size:.86rem; font-weight:500; box-shadow:none; }
.btn-gold { background:var(--theme-button-fill, var(--theme-accent, #d4b47b)); color:var(--theme-on-button, var(--theme-on-accent, #172b32)); box-shadow:none; }
.btn-gold:hover { background:var(--theme-button-fill, var(--theme-accent, #e0c38f)); transform:translateY(-2px); box-shadow:none; }
.btn-navy { background:var(--theme-primary, #122536); }
.btn-gold-sm { min-height:43px; padding:10px 17px; font-size:.77rem; }
.btn-outline-gold { border-color:var(--theme-accent-strong, #baa178); color:var(--theme-accent-strong, #826439); }
.section { padding:86px 0; }
.section-alt { background:var(--theme-surface-alt, #f1f0eb); }
.section-pretitle,.badge-tag { font-size:.65rem; letter-spacing:.17em; font-weight:500; }
.section-pretitle { color:var(--theme-accent-strong, #947446); margin-bottom:20px; }
.section-title { font-size:clamp(2rem,3.55vw,3.1rem); font-weight:500; line-height:1.19; letter-spacing:-.035em; }
.section-title em,.lead-banner-title em { font-style:italic; font-weight:500; color:var(--theme-accent-on-primary, #9a7b4e); }
.section-desc { line-height:1.8; font-size:.94rem; max-width:620px; }
.section-header-row { margin-bottom:36px; align-items:flex-end; }
.section-link { font-size:.8rem; font-weight:500; gap:12px; }
/* A photographic first screen: text is anchored, the ceiling stays in view. */





















.features-strip { padding:27px 0; background:var(--theme-page, #faf9f6); border-bottom:1px solid var(--theme-border, #dfdfd7); }
.features-grid { gap:0; grid-template-columns:repeat(4,minmax(0,1fr)); }
.feature-item { padding:0 22px; border-right:1px solid var(--theme-border, #dfdfd7); gap:14px; }
.feature-item:first-child { padding-left:0; }.feature-item:last-child { border:0; padding-right:0; }
.feature-icon-box { border:0; background:transparent; border-radius:0; color:var(--theme-accent-strong, #a7824c); width:35px; }
.feature-title { font-size:.85rem; font-weight:500; margin-bottom:4px; }
.feature-desc { font-size:.72rem; line-height:1.6; }
.home-tools { padding:0; background:var(--theme-surface-alt, #f1f0eb); }
.editorial-tools { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.editorial-tools>a { display:flex; align-items:center; gap:18px; padding:27px 26px; border-right:1px solid var(--theme-border, #dcded6); }
.editorial-tools>a:first-child { padding-left:0; }.editorial-tools>a:last-child { border:0; padding-right:0; }
.tool-number { font-family:var(--font-serif); font-size:1.2rem; color:var(--theme-accent-strong, #a7824c); }
.editorial-tools strong { display:block; font-size:.9rem; font-weight:500; }
.editorial-tools small { display:block; font-size:.71rem; color:var(--theme-muted, #657177); margin-top:5px; }
.editorial-tools>a>span:last-child { margin-left:auto; color:var(--theme-accent-strong, #a7824c); }
/* Materials: an interactive index opposite one large image. */
.material-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:center; }
.material-layout>div>.section-desc { margin:20px 0 26px; }
.material-list { border-top:1px solid var(--theme-border, #d7dad2); margin-bottom:25px; }
.material-row { width:100%; display:flex; align-items:center; gap:21px; padding:21px 0; background:none; border:0; border-bottom:1px solid var(--theme-border, #d7dad2); text-align:left; cursor:pointer; color:var(--theme-text, #142c36); }
.material-number { font-size:.72rem; color:var(--theme-accent-strong, #9c8057); }
.material-row strong { font-family:var(--font-serif); font-weight:500; font-size:1.45rem; line-height:1.3; display:block; }
.material-row small { display:block; color:var(--theme-muted, #657177); font-size:.75rem; margin-top:5px; line-height:1.6; }
.material-row>span:last-child { margin-left:auto; color:var(--theme-accent-strong, #a7824c); }
.material-row[aria-pressed=true] { border-bottom-color:var(--theme-accent-strong, #a7824c); }
.material-row[aria-pressed=true] strong { color:var(--theme-accent-strong, #977343); }
.material-figure { margin:0; align-self:stretch; display:flex; flex-direction:column; }
.material-image { width:100%; height:560px; flex:1; min-height:0; object-fit:cover; object-position:center; }
.material-figure figcaption { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px 0 0; }
.material-figure strong { display:block; font-size:.85rem; font-weight:500; }
.material-figure small { font-size:.65rem; color:var(--theme-muted, #657177); display:block; margin-top:5px; }
.material-figure a { font-size:.75rem; color:var(--theme-accent-strong, #947446); }
/* Gallery labels belong below the photograph, keeping the ceiling clear. */
.home-gallery { background:var(--theme-surface-alt, #f1f0eb); }
.home-projects-grid { grid-template-columns:1.26fr 1fr; grid-template-rows:263px 263px; gap:30px; }
.home-projects-grid>.work-card { display:flex; flex-direction:column; background:transparent; border:0; border-radius:0; box-shadow:none; overflow:visible; }
.home-projects-grid .work-card-img-wrap { height:auto; flex:1; min-height:0; border-radius:0; }
.home-projects-grid .work-card-img { height:100%; object-position:center 23%; }
.home-projects-grid .work-card-content { position:relative; inset:auto; padding:15px 0 0; }
.home-projects-grid .work-card-title,.home-projects-grid .work-card:first-child .work-card-title { font-family:var(--font-sans); font-size:.9rem; color:var(--theme-text, #142c36); font-weight:500; max-width:calc(100% - 30px); }
.home-projects-grid .work-card-sub { font-size:.7rem; color:var(--theme-muted, #657177); margin-top:5px; }
.home-projects-grid .project-open { right:0; top:16px; bottom:auto; font-size:1.2rem; color:var(--theme-accent-strong, #9b7844); }
.gallery-origin { margin-top:32px; padding-top:20px; border-top:1px solid var(--theme-border, #d7dad2); }
.gallery-origin p { font-size:.72rem; color:var(--theme-muted, #657177); }
.home-services-grid { gap:96px; }
.services-photos { padding:0 75px 50px 0; }
.services-main-photo { height:510px; border-radius:0; object-position:50% 30%; }
.services-detail-photo { border-radius:0; border:0; padding:9px; box-shadow:none; width:240px; background:var(--theme-page, #faf9f6); }
.services-detail-photo img { border-radius:0; height:190px; }
.service-list>div { padding:21px 0; gap:20px; border-bottom-color:var(--theme-border, #d7dad2); }
.service-list h3 { font-size:.9rem; font-weight:500; }
.service-list p { font-size:.8rem; }
.home-prices { background:var(--theme-primary, #122536); }
.home-prices-grid { grid-template-columns:1fr .9fr; gap:120px; }
.home-prices .section-title em { color:var(--theme-accent-on-primary, #d4b47b); }
.home-prices .section-desc { font-size:.91rem; }
.price-panel { background:var(--theme-page, #faf9f6); border-radius:0; box-shadow:none; padding:36px; }
.price-panel h3 { font-family:var(--font-serif); font-size:1.65rem; font-weight:500; margin:16px 0 20px; }
.price-panel-label { font-size:.61rem; }
.estimate-line { font-size:.8rem; border-bottom-color:var(--theme-border, #dfdfd7); }
.estimate-line strong { font-weight:500; font-size:.82rem; }
.estimate-total strong { font-size:3.5rem; font-weight:500; }.estimate-total>span { font-size:.8rem; }
.price-panel>p { font-size:.68rem; }
.price-source { font-size:.7rem; }
.home-process { background:var(--theme-page, #faf9f6); }
.home-process .section-header { max-width:none; text-align:left; }
.process-grid { gap:0; }
.process-card { padding:0 27px; border:0; border-left:1px solid var(--theme-border, #dfdfd7); background:transparent; border-radius:0; box-shadow:none; }
.process-card:first-child { padding-left:0; border:0; }
.process-number { font-family:var(--font-serif); font-size:2rem; font-weight:500; color:var(--theme-accent-strong, #a7824c); }
.process-icon { border-radius:0; background:none; width:32px; }
.process-title { font-size:.88rem; font-weight:500; }.process-desc { font-size:.77rem; }
.home-archive { background:var(--theme-surface-alt, #f1f0eb); padding:54px 0; }
.archive-grid { grid-template-columns:1.1fr 1fr 1fr; gap:35px; }
.archive-grid .section-title { font-size:2.15rem; }.archive-grid .section-desc { font-size:.78rem; }
.archive-photo { border-radius:0; border:0; background:none; }
.archive-photo>img { height:200px; object-fit:contain; background:var(--theme-surface-alt, #e4e5df); }
.archive-photo>span { padding:12px 0 0; font-size:.72rem; line-height:1.5; font-weight:500; }
.home-reviews { background:var(--theme-page, #faf9f6); }
.home-reviews-grid { gap:30px; }
.home-review { background:transparent; border:0; border-top:1px solid var(--theme-accent-strong, #b99d73); padding:26px 0 0; border-radius:0; }
.quote-mark { font-size:2.6rem; height:25px; }
.home-review blockquote { font-family:var(--font-serif); font-size:1.13rem; line-height:1.75; margin:15px 0 23px; }
.review-author { font-size:.78rem; font-weight:500; }.review-source { font-size:.66rem; }
.home-faq { background:var(--theme-surface-alt, #f1f0eb); }
.home-faq>.container { max-width:1400px !important; display:grid; grid-template-columns:.75fr 1.25fr; column-gap:96px; }
.faq-intro { grid-row:1/3; text-align:left; }
.home-faq .text-center { text-align:left; margin-top:20px !important; }
.faq-container { width:100%; }
.faq-item { border:0; border-bottom:1px solid var(--theme-border, #d4d8d0); border-radius:0; background:transparent; margin:0; box-shadow:none; }
.faq-item.active { background:transparent; border-color:var(--theme-accent-strong, #a7824c); }
.faq-question { padding:18px 0; font-size:.86rem; font-weight:500; }.faq-answer { font-size:.8rem; }
.faq-answer>div { padding:0 0 22px; }
.home-lead { padding:76px 0; background:var(--theme-primary, #122536); }
.home-lead .lead-banner { padding:0; border-radius:0; background:none; box-shadow:none; overflow:visible; }
.home-lead .lead-banner-bg { display:none; }
.home-lead .lead-banner-grid { grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.home-lead .lead-banner-title { font-size:3.1rem; font-weight:500; line-height:1.17; letter-spacing:-.035em; }.home-lead .lead-banner-title em { color:var(--theme-accent-on-primary, #d4b47b); }
.home-lead .lead-banner-desc { font-size:.88rem; max-width:400px; }
.editorial-form { padding:30px; border-radius:0; background:var(--theme-page, #faf9f6); color:var(--theme-text, #142c36); }
.editorial-form .form-inline-grid { margin-bottom:20px; gap:18px; }
.form-input,.form-textarea,.form-select { border-radius:2px; box-shadow:none; border-color:var(--theme-border, #d8ddd6); background:var(--theme-surface, #fff); }
.form-label { font-size:.72rem; font-weight:500; }
.editorial-form .form-checkbox-label { margin:12px 0 20px; font-size:.67rem; }
.form-service-note { font-size:.66rem; }
.home-contacts { padding:54px 0; background:var(--theme-surface-alt, #f1f0eb); }
.home-contacts .section-title { font-size:2.15rem; }.home-contacts .section-desc { font-size:.83rem; }
.home-contact-links strong { font-size:1.13rem; font-weight:500; }
.home-contact-links>a { padding:13px 0; }.home-contact-links>a>span:first-child { font-size:.69rem; }
.site-footer { background:var(--theme-primary-deep, #0c1b29); padding-top:54px; }
.footer-brand { font-weight:500; font-size:1rem; letter-spacing:.04em; }
.footer-heading { font-size:.65rem; letter-spacing:.12em; font-weight:500; }
.footer-links a,.footer-desc { font-size:.76rem; }.footer-phone { font-size:.9rem; }.footer-email { font-size:.8rem; }
.footer-bottom { font-size:.65rem; }
@media(min-width:1351px) { .header-actions>.btn { display:inline-flex; } }
@media(max-width:1350px) { .container { padding-inline:44px; }.nav-menu { gap:18px; }.material-layout { gap:64px; } }
@media(max-width:1199px) { .nav-menu { background:var(--theme-primary, #122536); gap:0; }.nav-link { font-size:1rem; padding:17px 6px; }.container { padding-inline:36px; }.material-layout { gap:45px; }.material-image { height:520px; }.home-prices-grid { gap:65px; }.home-services-grid { gap:65px; } }
@media(max-width:900px) {
 .section { padding:64px 0; }
 .features-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }.feature-item { padding:0; border:0; }.editorial-tools>a { padding:24px 18px; gap:12px; }.editorial-tools strong { font-size:.8rem; }.editorial-tools small { font-size:.65rem; }.tool-number { font-size:1rem; }
 .material-layout { gap:36px; }.material-image { height:510px; }.material-row { gap:15px; padding:18px 0; }.material-row strong { font-size:1.25rem; }.material-row small { font-size:.69rem; }.material-figure a { font-size:.65rem; }.home-projects-grid { grid-template-rows:235px 235px; gap:23px; }
 .home-services-grid { gap:38px; }.services-photos { padding:0 40px 35px 0; }.services-main-photo { height:460px; }.services-detail-photo { width:170px; }.services-detail-photo img { height:140px; }.home-prices-grid { gap:36px; }.price-panel { padding:27px; }
 .process-card { padding:0 18px; }.home-archive { padding:48px 0; }.archive-grid { grid-template-columns:1fr 1fr; gap:25px; }.archive-grid>div { grid-column:1/-1; }.home-faq>.container { grid-template-columns:.8fr 1.2fr; column-gap:38px; }.home-lead .lead-banner-grid { gap:45px; }.home-lead .lead-banner-title { font-size:2.4rem; }.editorial-form { padding:25px; }.home-review blockquote { font-size:1rem; }
}
@media(max-width:767px) {
 :root { --header-height:72px; }.header-container { height:72px; }.container { padding-inline:24px; }.section { padding:50px 0; }.section-pretitle { margin-bottom:15px; font-size:.58rem; }.section-title { font-size:2.15rem; }.section-header-row { align-items:flex-start; gap:18px; margin-bottom:28px; }.section-link { font-size:.75rem; }.section-desc { font-size:.87rem; }
 
 .features-strip { padding:24px 0; }.features-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 18px; }.feature-item { gap:8px; align-items:flex-start; }.feature-icon-box { width:27px; height:30px; }.feature-icon-box svg { width:25px; height:25px; }.feature-title { font-size:.77rem; }.feature-desc { font-size:.67rem; }
 .editorial-tools { grid-template-columns:1fr; }.editorial-tools>a,.editorial-tools>a:first-child,.editorial-tools>a:last-child { padding:18px 0; border-right:0; border-bottom:1px solid var(--theme-border, #daddd4); gap:20px; }.editorial-tools>a:last-child { border-bottom:0; }.editorial-tools strong { font-size:.85rem; }.editorial-tools small { font-size:.68rem; }
 .material-layout { grid-template-columns:1fr; gap:27px; }.material-image { height:auto; aspect-ratio:4/3; flex:none; }.material-row { padding:16px 0; }.material-row strong { font-size:1.3rem; }.material-row small { font-size:.74rem; }.material-figure { align-self:auto; }.material-figure a { font-size:.72rem; }.material-list { margin-bottom:20px; }
 .home-projects-grid { grid-template-columns:1fr; grid-template-rows:auto; gap:27px; }.home-projects-grid .work-card:first-child { grid-row:auto; }.home-projects-grid .work-card-img-wrap { height:auto; aspect-ratio:4/3; flex:none; }.home-projects-grid .work-card-title,.home-projects-grid .work-card:first-child .work-card-title { font-size:.89rem; }.gallery-origin { gap:14px; margin-top:25px; }.gallery-origin p { font-size:.7rem; }
 .home-services-grid,.home-prices-grid,.home-contacts-grid { grid-template-columns:1fr; gap:30px; }.home-services-grid>div:last-child { order:0; }.services-main-photo { height:auto; aspect-ratio:4/5; }.services-photos { max-width:none; padding:0 48px 35px 0; }.services-detail-photo { width:180px; }.services-detail-photo img { height:140px; }.service-list { margin:20px 0; }.service-list>div { padding:17px 0; }.home-prices .section-desc { margin:19px 0 24px; }.price-panel { padding:26px; }.price-panel h3 { font-size:1.45rem; }.estimate-total strong { font-size:3rem; }
 .process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:27px 20px; }.process-card,.process-card:first-child { padding:0; border:0; border-top:1px solid var(--theme-border, #dfdfd7); padding-top:20px; }.process-header { margin-bottom:16px; }.process-title { font-size:.84rem; }.process-desc { font-size:.74rem; }.process-number { font-size:1.65rem; }
 .archive-grid { grid-template-columns:1fr 1fr; gap:25px 20px; }.archive-grid>div { grid-column:1/-1; }.archive-grid .section-title { font-size:1.9rem; }.archive-photo>img { height:auto; aspect-ratio:4/3; }.archive-photo>span { font-size:.66rem; }
 .home-reviews-grid { grid-template-columns:1fr; gap:27px; }.home-review { padding-top:20px; }.home-review blockquote { font-size:1.1rem; margin:13px 0 18px; }
 .home-faq>.container { display:block; }.faq-intro { margin-bottom:24px; }.faq-question { font-size:.81rem; }.faq-answer { font-size:.78rem; }.home-lead .lead-banner-grid { grid-template-columns:1fr; gap:27px; }.home-lead .lead-banner-title { font-size:2.5rem; }.home-lead .lead-banner-desc { font-size:.85rem; }.editorial-form { padding:24px; }.editorial-form .form-inline-grid { grid-template-columns:1fr; gap:16px; }.form-label { font-size:.74rem; }.form-input,.form-textarea,.form-select { font-size:.85rem; }.editorial-form .form-checkbox-label { font-size:.69rem; }.form-service-note { font-size:.65rem; }.home-contacts .section-title { font-size:1.95rem; }.home-contact-links strong { font-size:1.05rem; }
 .footer-grid { gap:26px; }.footer-desc,.footer-links a { font-size:.76rem; }.footer-heading { font-size:.62rem; }.footer-bottom { font-size:.62rem; }
}
@media(max-width:480px) {
 
 .home-faq>.container { max-width:100% !important; }.archive-grid { grid-template-columns:1fr 1fr; }.archive-grid .section-title { font-size:1.85rem; }.section-title { font-size:1.95rem; }.estimate-line { font-size:.74rem; gap:12px; }.estimate-line strong { font-size:.76rem; }.editorial-form .form-inline-grid { grid-template-columns:1fr; }.home-contact-links strong { font-size:.96rem; }.header-container { gap:10px; }
}
@media(max-width:360px) { .container { padding-inline:18px; }.section-title { font-size:1.8rem; }.features-grid { gap:20px 12px; }.feature-title { font-size:.73rem; }.feature-desc { font-size:.63rem; }.material-row small { font-size:.7rem; }.editorial-form { padding:20px; }.home-lead .lead-banner-title { font-size:2.15rem; }.archive-grid { gap:22px 14px; } }
@media(max-width:360px) {
 .logo .logo-title { font-size:.82rem; letter-spacing:.01em; }
 .logo .logo-icon,.logo .logo-icon svg { width:28px; height:28px; }
 .logo { gap:7px; }.header-container { gap:6px; }.header-actions { gap:8px; }
 .header-phone-box .phone-link { width:38px; height:38px; }.mobile-toggle { width:38px; height:38px; }
}
.faq-question>span:first-child { min-width:0; flex:1; }
.faq-question>span:last-child { flex-shrink:0; }
@media(max-width:767px) {
 
 
 
 
 
 
 
 
 
}
@media(max-width:480px) {  }
@media(max-width:360px) {  }
/* Internal pages: individual photographs within one editorial grid. */
.editorial-page-hero { background:var(--theme-primary, #122536); padding:0; }
.page-hero-grid { display:grid; grid-template-columns:1fr 1.05fr; gap:60px; align-items:center; }
.page-hero-copy { padding:34px 0 42px; min-width:0; }
.page-hero-copy .breadcrumbs { font-size:.66rem; margin-bottom:25px; }
.page-hero-copy .section-pretitle { color:var(--theme-accent, #c7ab7a); margin-bottom:19px; font-size:.57rem; }
.page-hero-title { font-size:clamp(2.25rem,3.6vw,3.15rem); font-weight:500; letter-spacing:-.03em; line-height:1.15; max-width:660px; }
.page-hero-subtitle { font-size:.87rem; line-height:1.8; color:var(--theme-on-primary-muted, #c5d1d5); max-width:520px; margin-top:18px; }
.page-hero-photo { align-self:stretch; position:relative; margin:0; min-height:325px; }
.page-hero-photo img { width:100%; height:100%; position:absolute; object-fit:cover; object-position:center 26%; }
.page-hero-photo figcaption { position:absolute; bottom:15px; right:16px; font-size:.5rem; letter-spacing:.12em; color:var(--theme-on-primary, #fff); background:color-mix(in srgb, var(--theme-primary, rgb(14 30 39)) 75%, transparent); padding:6px 9px; }
.page-image-note { font-size:.62rem; color:var(--theme-on-primary-muted, #aebfc5); margin-top:20px; }
.compact-hero-badges { margin-top:22px; gap:16px; flex-wrap:wrap; }.header-badge-item { font-size:.62rem; }.header-badge-item svg { width:16px; height:16px; }
.page-hero-copy .btn { margin-top:4px; }
.story-image,.service-detail img { border-radius:0; aspect-ratio:4/3; object-fit:cover; box-shadow:none; }
.service-detail,.grid-2col-split { gap:80px; }
.about-story .section-title { max-width:600px; }
.about-story .section-desc { margin-top:22px; }
.about-story .feature-item { padding:0; border:0; }
.section-dark { background:var(--theme-primary, #122536); }
.section-dark .section-title { font-weight:500; }
.lead-banner { background:var(--theme-primary, #122536); border-radius:0; box-shadow:none; padding:45px; }
.lead-banner-bg { display:none; }
.lead-banner-title { font-size:2.7rem; font-weight:500; line-height:1.2; }
.lead-banner-desc { font-size:.9rem; line-height:1.8; }
.lead-banner .editorial-form { background:var(--theme-page, #faf9f6); }
/* Portfolio: meaningful captions and a quiet photographic grid. */
.portfolio-filters { display:flex; gap:13px; flex-wrap:wrap; align-items:center; margin-bottom:24px; border-bottom:1px solid var(--theme-border, #d7dad2); padding-bottom:20px; }
.btn-pill-gold { border-radius:2px; background:transparent; border:1px solid var(--theme-border, #cfd5cf); color:var(--theme-text, #223a43); padding:9px 15px; font-size:.73rem; font-weight:500; box-shadow:none; }
.btn-pill-gold.active,.btn-pill-gold:hover { background:var(--theme-primary-soft, #122536); color:var(--theme-accent-on-primary, #ead0a4); border-color:var(--theme-primary, #122536); }
.works-grid { gap:34px 26px; }
.works-grid .work-card { border-radius:0; background:none; box-shadow:none; overflow:visible; border:0; }
.works-grid .work-card-img-wrap { height:auto; aspect-ratio:4/3; border-radius:0; }
.works-grid .work-card-img { object-position:center 28%; }
.works-grid .work-card-content { position:static; padding:14px 0 0; }
.works-grid .work-card-title { color:var(--theme-text, #142c36); font-size:.87rem; font-weight:500; max-width:none; }
.works-grid .work-card-sub { color:var(--theme-muted, #657177); font-size:.7rem; margin-top:5px; }
.works-grid .work-card-tag { border-radius:0; font-size:.56rem; letter-spacing:.06em; padding:5px 8px; top:12px; left:12px; color:var(--theme-accent-on-primary, #eee0c5); background:color-mix(in srgb, var(--theme-primary, rgb(16 37 47)) 88%, transparent); }
.portfolio-archive { background:var(--theme-surface-alt, #f1f0eb); }
.portfolio-archive-grid { gap:27px; }
.archive-open { border:0; padding:0; border-radius:0; color:var(--theme-text, #142c36); }.archive-open>img { height:235px; }.archive-open>span { padding:14px 0 0; font-size:.72rem; }
.grid-cta-split { gap:70px; }.grid-cta-split .editorial-form { border:1px solid var(--theme-border, #d8ddd6); }
.grid-cta-split .feature-card { box-shadow:none; border-radius:0; background:transparent; border:0; border-bottom:1px solid var(--theme-border, #d8ddd6); }
/* Calculator stays fully functional, presented as a clear tool. */
.calculator-page [data-calculator] { padding-top:15px; }
.calc-card { border:1px solid var(--theme-border, #d8ddd6); background:var(--theme-surface, #fff); padding:32px; border-radius:0; box-shadow:none; }
.calc-title { font-size:1.6rem; font-weight:500; }.calc-desc { font-size:.76rem; line-height:1.8; }
.calc-type-select { border-radius:2px; font-size:.77rem; padding:12px; }
.calc-quick-textures { gap:8px; }.calc-quick-texture { border-radius:2px; }
.calc-label { font-size:.84rem; font-weight:500; }.calc-input-stepper { border-radius:2px; }
.calc-summary { background:var(--theme-primary, #122536); border-radius:0; box-shadow:none; }
.summary-card { background:var(--theme-primary, #122536); border-radius:0; box-shadow:none; }
.summary-price-amount,.calc-price-amount { color:var(--theme-accent-on-primary, #d4b47b); font-weight:500; }
.calc-mini-card { border-radius:2px; }
.calculator-page .process-card { border-top:1px solid var(--theme-accent-strong, #b99d73); padding:24px 20px 0; border-left:0; }
.calculator-page .process-grid { gap:22px; }.calculator-page .process-card:first-child { padding-left:0; }
.calculator-page .section-header { text-align:left; }.calculator-page .section-header .section-desc { margin-inline:0; }
/* Reviews preserve every published text without fictitious scores. */
.reviews-grid { gap:35px 60px; }
.review-card { padding:25px 0 0; border:0; border-top:1px solid var(--theme-accent-strong, #b99d73); border-radius:0; background:none; box-shadow:none; justify-content:flex-start; }
.review-card:hover { transform:none; border-color:var(--theme-accent-strong, #a7824c); }
.review-card .quote-mark { margin-bottom:18px; }
.review-name { font-size:.88rem; font-weight:600; margin-bottom:20px; }.review-text { font-size:.83rem; line-height:1.9; margin-bottom:22px; }
.review-card .section-link { margin-top:auto; font-size:.67rem; }
/* Offers: published terms distinct from the visual idea catalogue. */
.promotion-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; margin:0 0 35px; }
.promotion-card { position:relative; padding:28px 0 0; border-top:1px solid var(--theme-accent-strong, #b99d73); display:flex; flex-direction:column; justify-content:space-between; gap:18px; }
.promotion-card>div[style] { display:none; }
.promotion-card>.btn { width:auto !important; align-self:flex-start; }
.offers-grid { gap:33px 27px; }.offer-card { border-radius:0; background:none; border:0; box-shadow:none; }
.offer-card-img-wrap { border-radius:0; height:auto; aspect-ratio:4/3; }.offer-card-img { object-position:center 25%; }
.offer-badge { border-radius:0; font-size:.5rem; letter-spacing:.06em; background:var(--theme-button-fill, var(--theme-primary, #122536)); color:var(--theme-on-button, var(--theme-accent-strong, #dfc598)); padding:6px 9px; }
.offer-card-body { padding:18px 0 0; }.offer-card-title { font-family:var(--font-serif); font-weight:500; font-size:1.4rem; }.offer-card-desc { font-size:.78rem; line-height:1.8; }.offer-card-footer { margin-top:20px; }
/* Picker: cleaned thumbnails, roomy controls, ceiling-only tint preserved. */
.picker-controls,.visualizer-display { border-radius:0; box-shadow:none; }
.picker-controls { border-color:var(--theme-border, #d8ddd6); padding:25px; }.picker-layout { gap:32px; }
.picker-step-title { font-size:.84rem; font-weight:500; }.picker-step-number { background:var(--theme-primary, #122536); color:var(--theme-accent-on-primary, #dec89f); border-radius:0; font-size:.73rem; }
.surface-card { border-radius:0; box-shadow:none; padding:6px; background:var(--theme-page, #faf9f6); border-color:var(--theme-border, #d8ddd6); }.surface-card.active { border-color:var(--theme-accent-strong, #a7824c); box-shadow:none; }
.surface-card img { width:100%; height:72px; object-fit:cover; border-radius:0; }.surface-card-title { font-size:.75rem; }.surface-card-desc { font-size:.62rem; }
.room-pill { border-radius:2px; font-size:.73rem; }.room-pill.active { background:var(--theme-primary, #122536); color:var(--theme-accent-on-primary, #ead0a4); }
.swatch-circle { border-radius:2px; }.swatch-name { font-size:.65rem; }.color-tab { font-size:.73rem; }
.visualizer-display { background:var(--theme-surface, #fff); border:1px solid var(--theme-border, #d8ddd6); }.visualizer-canvas-wrap { border-radius:0; }
.visualizer-thumb { border-radius:0; }.inspire-card { border-radius:0; box-shadow:none; background:transparent; border:0; }
.inspire-card-body { padding:16px 0; }.inspire-card-title { font-size:.84rem; }
/* Contact and appointment pages have a useful, legible working layout. */
.contacts-layout { gap:80px; }.contact-info-card { padding:0; border-radius:0; border:0; box-shadow:none; background:none; }
.contacts-layout>.editorial-form { border:1px solid var(--theme-border, #d8ddd6); }
.contact-channel-item { gap:18px; padding:17px 0; border-bottom:1px solid var(--theme-border, #d8ddd6); }.contact-channel-title { font-size:1.05rem; font-weight:500; }.contact-channel-sub { font-size:.73rem; }
.contact-channel-icon { background:none; border:0; border-radius:0; color:var(--theme-accent-strong, #a7824c); }
.map-wrapper { border-radius:0; box-shadow:none; border:1px solid var(--theme-border, #d8ddd6); }.service-area { background:var(--theme-surface-alt, #eeefe7); }
.grid-measure-layout { gap:85px; grid-template-columns:1fr 1fr; }.grid-measure-layout>.editorial-form { border:1px solid var(--theme-border, #d8ddd6); padding:32px; }
.measurement-number { font-family:var(--font-serif); font-size:1.7rem; color:var(--theme-accent-strong, #a7824c); width:35px; flex-shrink:0; }
.measurement-story>div>div { padding-bottom:20px; border-bottom:1px solid var(--theme-border, #d8ddd6); }
.measurement-story h3 { font-size:.9rem !important; font-weight:500 !important; }
.measurement-story>img { border-radius:0 !important; box-shadow:none !important; object-position:center 25%; }
.question-aside { background:var(--theme-primary, #122536); color:var(--theme-on-primary, #fff); padding:26px; position:sticky; top:106px; }
.question-aside h3 { color:var(--theme-on-primary, #fff) !important; font-weight:500; }.question-aside>p { color:var(--theme-on-primary-muted, #c5d1d5) !important; font-size:.83rem !important; }
.question-photo { width:100%; height:230px; object-fit:cover; margin-bottom:27px; }
.grid-faq-layout { gap:75px; }.faq-icon { flex-shrink:0; }
/* Project route: keep the image dominant and the specifications honest. */
.project-heading { background:var(--theme-page, #faf9f6); padding:28px 0 25px; border-bottom:1px solid var(--theme-border, #d8ddd6); }
.project-heading .breadcrumbs { font-size:.69rem; margin-bottom:20px; }
#projectTitle { font-family:var(--font-serif); font-size:2.8rem; font-weight:500; margin-top:15px; }
.project-gallery { border-radius:0; box-shadow:none; }
.project-main-img-wrap { border-radius:0; }.project-main-img { border-radius:0; object-position:center 25%; }
.project-thumb-btn,.project-thumb-btn img { border-radius:0; }.project-spec-item { border-radius:0; background:transparent; border:0; border-bottom:1px solid var(--theme-border, #d8ddd6); }
.spec-item { background:none; border-radius:0; border:0; padding:18px 0; border-bottom:1px solid var(--theme-border, #d8ddd6); }
.spec-icon { border-radius:0; background:none; }.spec-title { font-size:.68rem; font-weight:500; }.spec-value { font-size:.8rem; font-weight:500; }
.similar-grid .work-card { border-radius:0; box-shadow:none; }.similar-grid .work-card-title { font-size:.87rem; }
.privacy-content { border-radius:0; box-shadow:none; }.privacy-title { font-size:2.2rem; font-weight:500; }
.modal-content { border-radius:4px; }.modal-title { font-weight:500; }
@media(max-width:1199px) {
 .page-hero-grid { gap:35px; }.page-hero-title { font-size:2.6rem; }.page-hero-photo { min-height:350px; }
 .service-detail,.grid-2col-split { gap:48px; }.grid-faq-layout,.grid-measure-layout,.contacts-layout { gap:40px; }
}
@media(max-width:900px) { .page-hero-title { font-size:2.25rem; }.page-hero-grid { gap:30px; }.compact-hero-badges { gap:10px; }.header-badge-item { font-size:.56rem; }.page-hero-photo { min-height:350px; }.reviews-grid { gap:30px; }.lead-banner { padding:32px; }.grid-cta-split { gap:35px; }.calc-card { padding:25px; }.grid-measure-layout { gap:30px; } }
@media(max-width:767px) {
 .page-hero-grid { grid-template-columns:1fr; gap:0; }.page-hero-copy { padding:25px 0 30px; }.page-hero-copy .breadcrumbs { font-size:.62rem; margin-bottom:21px; }.page-hero-title { font-size:2.25rem; max-width:100%; }.page-hero-subtitle { font-size:.83rem; line-height:1.75; }.page-hero-photo { height:230px; min-height:0; margin:0 -24px; }.page-hero-photo img { object-position:center 27%; }.page-hero-photo figcaption { font-size:.46rem; }.page-hero-copy .section-pretitle { font-size:.53rem; margin-bottom:17px; }.compact-hero-badges { gap:12px; }.header-badge-item { font-size:.58rem; }.page-image-note { font-size:.61rem; }
 .service-detail,.grid-2col-split { grid-template-columns:1fr; gap:28px; }.story-image,.service-detail img { aspect-ratio:4/3; }.about-story .section-desc { font-size:.86rem; }.lead-banner { padding:27px; }.lead-banner-title { font-size:2.1rem; }.lead-banner-desc { font-size:.84rem; }.lead-banner-grid { gap:25px; }.lead-banner .editorial-form { padding:22px; }
 .portfolio-filters { gap:8px; margin-bottom:20px; padding-bottom:18px; }.btn-pill-gold { font-size:.68rem; padding:9px 12px; }.works-grid { gap:28px; }.works-grid .work-card-img-wrap { aspect-ratio:4/3; }.works-grid .work-card-title { font-size:.88rem; }.works-grid .work-card-sub { font-size:.71rem; }.portfolio-archive-grid { grid-template-columns:1fr; gap:26px; }.archive-open>img { height:auto; aspect-ratio:4/3; }.archive-open>span { font-size:.72rem; }
 .grid-cta-split { gap:28px; }.calc-card { padding:22px; }.calc-title { font-size:1.4rem; }.calc-label { font-size:.8rem; }.calc-type-select { font-size:.73rem; }.calculator-page .process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 22px; }.calculator-page .process-card,.calculator-page .process-card:first-child { padding:20px 0 0; }.calculator-page .section-header .section-title { font-size:1.95rem; }
 .reviews-grid { grid-template-columns:1fr; gap:28px; }.review-card { padding:22px 0 0; }.review-text { font-size:.83rem; }.promotion-grid { grid-template-columns:1fr; gap:29px; }.promotion-card { padding-top:23px; }.offers-grid { grid-template-columns:1fr; gap:33px; }.offer-card-title { font-size:1.4rem; }
 .picker-controls { padding:20px; }.surface-card img { height:65px; }.picker-step-title { font-size:.8rem; }.picker-layout { gap:24px; }.room-pill { font-size:.7rem; }.swatch-name { font-size:.63rem; }.visualizer-display { width:100%; }.inspire-grid { gap:22px; }
 .contacts-layout,.grid-measure-layout,.grid-faq-layout { grid-template-columns:1fr; gap:32px; }.contacts-layout>.editorial-form { padding:22px; }.contact-channel-title { font-size:.98rem; }.contact-channel-sub { font-size:.72rem; }.grid-measure-layout>.editorial-form { padding:23px; }.measurement-story>img { width:100%; height:auto !important; aspect-ratio:4/3; }.question-aside { position:static; padding:24px; }.question-photo { height:220px; }.grid-faq-layout { gap:30px; }
 #projectTitle { font-size:2.15rem; }.project-heading { padding:24px 0; }.project-heading .breadcrumbs { font-size:.64rem; }.project-main-img-wrap { aspect-ratio:4/3; }.project-main-img { height:100%; object-fit:cover; }.spec-value { font-size:.77rem; }.privacy-title { font-size:1.8rem; }
}
@media(max-width:360px) { .page-hero-title { font-size:1.95rem; }.page-hero-photo { margin-inline:-18px; height:210px; }.page-hero-grid { gap:0; }.calc-card { padding:18px; }.calc-field-header { flex-wrap:wrap; }.contacts-layout>.editorial-form,.grid-measure-layout>.editorial-form { padding:20px; }.contact-channel-title { font-size:.87rem; }#projectTitle { font-size:1.85rem; }.calculator-page .section-header .section-title { font-size:1.8rem; }.calc-title { font-size:1.28rem; } }
.service-region { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:70px; padding:45px; background:var(--theme-surface-alt, #eeefe7); }
.service-region h3 { font-family:var(--font-serif); font-size:2.5rem; font-weight:500; line-height:1.2; letter-spacing:-.025em; margin-bottom:20px; }
.service-region h3 em { color:var(--theme-accent-strong, #977446); }.service-region p { font-size:.87rem; color:var(--theme-muted, #657177); max-width:420px; line-height:1.8; margin-bottom:25px; }
.service-region figure { margin:0; }.service-region img { width:100%; height:270px; object-fit:cover; object-position:center 30%; }.service-region figcaption { font-size:.63rem; color:var(--theme-muted, #657177); margin-top:12px; }
.similar-grid .work-card { background:transparent; border:0; position:relative; overflow:visible; }
.similar-grid .work-card-img-wrap { height:auto; aspect-ratio:4/3; }.similar-grid .work-card-content { position:static; padding:15px 26px 0 0; }
.similar-grid .work-card-title { color:var(--theme-text, #142c36); font-size:.85rem; max-width:none; font-weight:500; }.similar-grid .work-card-sub { color:var(--theme-muted, #657177); font-size:.68rem; margin-top:5px; }
.similar-arrow { position:absolute; right:0; bottom:18px; color:var(--theme-accent-strong, #a7824c); font-size:1.2rem; }
.grid-project-layout .project-specs { gap:0 25px; }.project-specs>.project-spec-card { border:0; border-bottom:1px solid var(--theme-border, #d8ddd6); padding:18px 0; background:transparent; }
.project-page .source-note { margin-top:12px; margin-bottom:0; font-size:.67rem; padding:0; }
.summary-card,.calc-summary-card { background:var(--theme-primary, #122536); }
@media(max-width:900px) { .service-region { padding:32px; gap:40px; }.service-region h3 { font-size:2rem; } }
@media(max-width:767px) { .service-region { grid-template-columns:1fr; gap:25px; padding:24px; }.service-region h3 { font-size:2rem; }.service-region img { height:220px; }.service-region p { font-size:.83rem; }.similar-grid .work-card-title { font-size:.85rem; } }
@media(max-width:360px) { .service-region { padding:20px; }.service-region h3 { font-size:1.8rem; }.services-page .lead-banner-title { font-size:1.85rem; } }

/* Current photographic composition. One set of hero rules for each layout. */
:root { --header-height:78px; --color-primary:var(--theme-primary, #122536); --color-primary-dark:var(--theme-primary-deep, #0c1b29); }
.header-container { height:var(--header-height); gap:22px; }
.nav-menu { gap:24px; }
.nav-link { font-size:.85rem; }
.logo-title { font-size:1.08rem; }
.logo-subtitle { font-size:.55rem; }
@media(min-width:768px) { .header-phone-box .phone-link { font-size:.85rem; } }
.btn { font-size:.9rem; min-height:52px; }
.header-actions>.btn { min-height:44px; font-size:.8rem; }
.editorial-hero { position:relative; padding:0; background:var(--theme-primary, #122536); isolation:isolate; overflow:hidden; }
.hero-media { position:absolute; inset:0 0 0 auto; width:88%; z-index:-2; }
.hero-media img { width:100%; height:100%; object-fit:cover; object-position:50% 0; }
.editorial-hero::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,var(--theme-primary, #122536) 0%,color-mix(in srgb, var(--theme-primary, rgb(18 37 54)) 96%, transparent) 15%,color-mix(in srgb, var(--theme-primary, rgb(18 37 54)) 79%, transparent) 32%,color-mix(in srgb, var(--theme-primary, rgb(18 37 54)) 24%, transparent) 49%,transparent 66%); }
.hero-layout { position:relative; min-height:650px; display:flex; align-items:center; }
.hero-content { max-width:570px; padding:52px 0 94px; }
.hero-content .badge-tag { display:block; color:var(--theme-accent-on-primary, #ddc59c); font-size:.68rem; letter-spacing:.18em; margin-bottom:30px; }
.hero-title { font-family:var(--font-sans); font-size:1.2rem; line-height:1.4; letter-spacing:.015em; font-weight:400; margin-bottom:26px; }
.hero-title>span { display:block; font-family:var(--font-serif); font-size:clamp(3.4rem,5vw,4.6rem); line-height:1.08; letter-spacing:-.04em; color:var(--theme-on-primary-muted, #f7f3e9); font-weight:500; margin-top:16px; }
.hero-subtitle { max-width:390px; font-size:1rem; line-height:1.8; color:var(--theme-on-primary-muted, #d4dde2); margin:0 0 30px; }
.hero-buttons { display:flex; flex-direction:row; align-items:center; gap:25px; }
.hero-buttons .btn { padding:15px 21px; }
.hero-secondary { font-size:.86rem; padding:11px 0; color:var(--theme-on-primary-muted, #f4efe6); border-bottom:1px solid var(--theme-muted-light, #9aabb5); white-space:nowrap; }
.hero-secondary:hover { color:var(--theme-accent-on-primary, #e0c38f); border-color:var(--theme-accent, #e0c38f); }
.hero-note { display:block; margin-top:23px; font-size:.78rem; line-height:1.65; color:var(--theme-on-primary-muted, #bccad3); }
.hero-image-label { position:absolute; bottom:74px; right:64px; width:275px; padding:17px 22px; background:var(--theme-primary, #122536); color:var(--theme-on-primary, #fff); border-left:2px solid var(--theme-accent, #d4b47b); }
.hero-image-label>span:first-child { display:block; color:var(--theme-accent-on-primary, #d4b47b); font-size:.63rem; letter-spacing:.12em; }
.hero-image-label strong { display:block; margin:9px 22px 7px 0; font-size:.88rem; line-height:1.55; font-weight:400; }
.hero-image-label small { display:block; font-size:.7rem; color:var(--theme-on-primary-muted, #bdcbd4); }
.hero-label-arrow { position:absolute; top:50%; right:18px; font-size:1.3rem; color:var(--theme-accent-on-primary, #d4b47b); }
.hero-location { position:absolute; bottom:0; left:0; right:0; display:flex; justify-content:space-between; gap:20px; padding:16px max(64px,calc((100vw - 1272px)/2)); background:color-mix(in srgb, var(--theme-primary, rgb(12 27 41)) 55%, transparent); color:var(--theme-on-primary-muted, #d5dde2); border-top:1px solid color-mix(in srgb, var(--theme-on-primary, rgb(255 255 255)) 16%, transparent); font-size:.64rem; letter-spacing:.12em; }
.hero-location a { letter-spacing:0; font-size:.75rem; }
.features-strip { padding:32px 0; }
.features-strip .feature-icon-box { font-family:var(--font-serif); font-size:1.45rem; width:30px; height:auto; }
.features-strip .feature-title { font-size:.95rem; }
.features-strip .feature-desc { font-size:.82rem; line-height:1.7; }
.ceiling-types { padding-top:100px; }
.section-pretitle { font-size:.7rem; }
.section-desc { font-size:1rem; }
.section-link { font-size:.87rem; }
.material-layout { grid-template-columns:.9fr 1.1fr; gap:90px; }
.material-image { height:590px; object-position:center 15%; }
.material-row small { font-size:.85rem; }
.material-figure strong { font-size:.95rem; }
.material-figure small { font-size:.76rem; }
.material-figure a { font-size:.83rem; }
.material-figure figcaption { min-height:76px; }
.home-projects-grid { grid-template-columns:1.3fr 1fr; grid-template-rows:285px 285px; gap:32px; }
.home-projects-grid>.work-card:first-child .work-card-img { object-position:46% 0; }
.home-projects-grid .work-card-img { object-position:50% 0; }
.home-projects-grid .work-card-title,.home-projects-grid .work-card:first-child .work-card-title { font-size:1rem; }
.home-projects-grid .work-card-sub { font-size:.82rem; }
.gallery-origin p { font-size:.82rem; }
.services-main-photo { object-position:center 0; height:560px; }
.services-detail-photo img { object-fit:cover; object-position:50% 0; }
.service-list h3 { font-size:1rem; }
.service-list p { font-size:.9rem; }
.price-panel-label { font-size:.73rem; }
.estimate-line { font-size:.9rem; padding:16px 0; }
.estimate-line strong { font-size:.9rem; }
.price-panel>p,.price-source { font-size:.8rem; line-height:1.75; }
.process-title { font-size:1rem; }
.process-desc { font-size:.87rem; line-height:1.75; }
.process-icon { display:none; }
.faq-question { font-size:1rem; }
.faq-answer { font-size:.94rem; }
.home-lead .lead-banner-desc { font-size:1rem; }
.form-label { font-size:.86rem; }
.form-input,.form-textarea,.form-select { font-size:1rem; }
.editorial-form .form-checkbox-label { font-size:.8rem; }
.form-service-note { font-size:.8rem; }
.footer-heading { font-size:.75rem; }
.footer-links a,.footer-desc { font-size:.85rem; }
.footer-phone { font-size:1rem; }
.footer-bottom { font-size:.75rem; }
/* Internal page text stays readable alongside the larger photography. */
.page-hero-copy .breadcrumbs { font-size:.78rem; }
.page-hero-copy .section-pretitle { font-size:.68rem; }
.page-hero-subtitle { font-size:1rem; }
.page-hero-photo img { object-position:center 0; }
.page-hero-photo figcaption { font-size:.6rem; }
.page-image-note { font-size:.78rem; }
.works-grid .work-card-img { object-position:center 0; }
.works-grid .work-card-title { font-size:1rem; }
.works-grid .work-card-sub { font-size:.82rem; }
.works-grid .work-card-tag { font-size:.65rem; }
.review-text { font-size:.96rem; }
.review-name { font-size:1rem; }
.offer-card-desc { font-size:.94rem; }
.contact-channel-title { font-size:1.12rem; }
.contact-channel-sub { font-size:.85rem; }
.question-aside>p { font-size:.95rem !important; }
.calc-desc { font-size:.9rem; }
.calc-type-select { font-size:.88rem; }
.specs-grid .spec-card { background:transparent; padding:18px 0; border:0; border-bottom:1px solid var(--theme-border, #d8ddd6); border-radius:0; }
.specs-grid .spec-icon-box { display:none; }
.spec-title { font-size:.78rem; }
.spec-value { font-size:.95rem; line-height:1.6; }
.project-main-img-wrap { aspect-ratio:16/9; }
.project-main-img { width:100%; height:100%; object-fit:cover; object-position:center 0; }
.project-thumb-btn img { object-position:center 0; }
.project-page .source-note { font-size:.83rem; }
.image-loading { opacity:.65; }
.material-image { transition:opacity .2s; }
@media(min-width:1600px) { .hero-layout { min-height:710px; }.hero-content { max-width:600px; }.hero-title>span { font-size:4.9rem; } }
@media(max-width:1350px) { .nav-menu { gap:20px; }.hero-image-label { right:44px; }.hero-location { padding-inline:44px; } }
@media(max-width:1199px) {
 .nav-menu { gap:0; }.nav-link { font-size:1rem; }
 .hero-layout { min-height:620px; }.hero-title>span { font-size:3.65rem; }
 .hero-content { max-width:500px; }.hero-subtitle { max-width:355px; }
 .hero-image-label { right:36px; width:250px; }.hero-location { padding-inline:36px; }
 .material-layout { gap:45px; }.material-image { height:570px; }
}
@media(min-width:768px) and (max-width:900px) {
 .hero-layout { min-height:620px; }.hero-media { width:100%; }
 .hero-content { max-width:440px; }.hero-title>span { font-size:3.3rem; }
 .hero-image-label { width:220px; padding:14px 18px; bottom:66px; }
 .hero-buttons { gap:20px; }.hero-buttons .btn { font-size:.82rem; padding:14px 16px; }.hero-secondary { font-size:.8rem; }
 .material-layout { gap:30px; }.material-image { height:590px; }
 .home-projects-grid { grid-template-rows:250px 250px; gap:24px; }
 .features-strip .feature-title { font-size:.95rem; }
}
@media(max-width:767px) {
 :root { --header-height:72px; }
 .editorial-hero { display:flex; flex-direction:column; }
 .editorial-hero::before { display:none; }
 .hero-layout { order:0; display:block; min-height:0; }
 .hero-content { padding:39px 0 34px; max-width:none; }
 .hero-content .badge-tag { font-size:.62rem; margin-bottom:21px; }
 .hero-title { font-size:1rem; margin-bottom:20px; }
 .hero-title>span { font-size:clamp(2.7rem,8.5vw,3.75rem); margin-top:13px; line-height:1.12; letter-spacing:-.035em; }
 .hero-subtitle { max-width:480px; font-size:.95rem; line-height:1.75; margin-bottom:22px; }
 .hero-buttons { flex-direction:row; flex-wrap:wrap; gap:15px 24px; }
 .hero-buttons .btn { width:auto; font-size:.86rem; padding:14px 18px; min-height:50px; }
 .hero-secondary { font-size:.84rem; }
 .hero-note { margin-top:17px; font-size:.76rem; }
 .hero-media { order:1; position:relative; inset:auto; width:100%; height:auto; z-index:0; }
 .hero-media img { height:auto; width:100%; object-fit:contain; }
 .hero-image-label { display:none; }
 .hero-location { order:2; position:static; padding:15px 24px; background:var(--theme-primary, #122536); font-size:.61rem; }
 .hero-location a { display:block; font-size:.69rem; }
 .hero-location>span { letter-spacing:.07em; }
 .features-strip { padding:28px 0; }
 .features-strip .features-grid { gap:25px 18px; }
 .features-strip .feature-item { padding:0; gap:10px; border:0; }
 .features-strip .feature-icon-box { font-size:1.15rem; width:23px; min-width:23px; }
 .features-strip .feature-title { font-size:.85rem; line-height:1.5; }
 .features-strip .feature-desc { font-size:.78rem; line-height:1.65; }
 .section { padding:58px 0; }.ceiling-types { padding-top:60px; }
 .section-pretitle { font-size:.64rem; }.section-desc { font-size:.95rem; }.section-link { font-size:.82rem; }
 .material-layout { grid-template-columns:1fr; gap:29px; }
 .material-image { height:auto; aspect-ratio:4/5; flex:none; }
 .material-row small { font-size:.84rem; }.material-row strong { font-size:1.4rem; }
 .material-figure strong { font-size:.9rem; }.material-figure small { font-size:.73rem; }.material-figure a { font-size:.78rem; }
 .home-projects-grid { grid-template-columns:1fr; grid-template-rows:auto; gap:32px; }
 .home-projects-grid .work-card-img-wrap { aspect-ratio:4/3; }
 .home-projects-grid>.work-card:first-child .work-card-img-wrap { aspect-ratio:3/2; }
 .home-projects-grid .work-card-title,.home-projects-grid .work-card:first-child .work-card-title { font-size:.96rem; }
 .home-projects-grid .work-card-sub { font-size:.8rem; }
 .gallery-origin p { font-size:.8rem; }
 .services-main-photo { height:auto; aspect-ratio:4/5; }
 .service-list h3 { font-size:.96rem; }.service-list p { font-size:.88rem; }
 .estimate-line,.estimate-line strong { font-size:.84rem; }.price-panel>p,.price-source { font-size:.78rem; }
 .process-title { font-size:.94rem; }.process-desc { font-size:.84rem; }
 .faq-question { font-size:.95rem; }.faq-answer { font-size:.9rem; }
 .home-lead .lead-banner-desc { font-size:.95rem; }
 .editorial-form .form-label { font-size:.86rem; }.editorial-form .form-checkbox-label { font-size:.8rem; }
 .form-service-note { font-size:.8rem; }
 .form-input,.form-textarea,.form-select { font-size:1rem; }
 .footer-links a,.footer-desc { font-size:.84rem; }.footer-heading { font-size:.72rem; }.footer-bottom { font-size:.74rem; }
 .page-hero-copy .breadcrumbs { font-size:.74rem; }.page-hero-copy .section-pretitle { font-size:.65rem; }.page-hero-subtitle { font-size:.95rem; }
 .page-hero-photo { height:auto; aspect-ratio:16/9; }.page-hero-photo img { object-position:center 0; }.page-image-note { font-size:.76rem; }
 .works-grid .work-card-title { font-size:.96rem; }.works-grid .work-card-sub { font-size:.8rem; }
 .offer-card-desc { font-size:.94rem; }.review-text { font-size:.94rem; }
 .contact-channel-title { font-size:1.05rem; }.contact-channel-sub { font-size:.82rem; }
 .project-main-img-wrap { aspect-ratio:4/3; }.spec-value { font-size:.9rem; }
}
@media(max-width:430px) {
 .hero-buttons { flex-direction:column; align-items:flex-start; gap:14px; }
 .hero-location a { display:none; }
 .hero-title>span { font-size:clamp(2.65rem,10.8vw,3rem); }
 .section-title { font-size:2.1rem; }
 .home-prices .price-panel { padding:23px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
.utility-intro { background:var(--theme-surface-alt, #f1f0eb); color:var(--theme-text, #142c36); border-bottom:1px solid var(--theme-border, #dfdfd7); }
.utility-intro .page-hero-grid { display:block; }
.utility-intro .page-hero-copy { padding:34px 0 46px; max-width:840px; }
.utility-intro .page-hero-title,.utility-intro .page-hero-title span { color:var(--theme-text, #142c36); }
.utility-intro .page-hero-title { font-size:3.1rem; max-width:800px; }
.utility-intro .page-hero-subtitle { color:var(--theme-muted, #657177); max-width:670px; }
.utility-intro .breadcrumbs,.utility-intro .breadcrumbs a { color:var(--theme-muted, #657177); }
.utility-intro .breadcrumbs-current { color:var(--theme-text, #142c36); }
.utility-intro .page-hero-copy .section-pretitle { color:var(--theme-accent-strong, #947446); }
.contact-hero-channels { margin:0; padding:42px 0; border-left:1px solid var(--theme-primary-soft, #344653); padding-left:48px; }
.contact-hero-channels p { color:var(--theme-accent-on-primary, #c7ab7a); font-size:.73rem; letter-spacing:.12em; margin-bottom:20px; }
.contact-hero-channels a { font-size:1.65rem; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:10px 0; font-weight:400; }
.contact-hero-channels a span { color:var(--theme-accent-on-primary, #d4b47b); font-size:1.2rem; }
.contact-hero-channels a:hover { color:var(--theme-accent-on-primary, #d4b47b); }
.contact-hero-channels a.contact-hero-mail { color:var(--theme-accent-on-primary, #c7ab7a); font-size:1rem; margin-top:10px; }
.contact-intro .page-hero-title { font-size:3.7rem; }
.offer-intro .page-hero-photo { min-height:280px; }
.offer-intro .page-hero-copy { padding-block:30px; }
.services-page #textures .story-image { aspect-ratio:4/5; max-height:610px; object-position:center 0; }
.about-page .page-hero-photo img { object-position:center 20%; }
.faq-answer { line-height:1.8; }
.faq-item.active .faq-answer { padding-bottom:20px; }
.faq-question .faq-icon { width:26px; height:26px; background:transparent; color:var(--theme-accent-strong, #a7824c); border:1px solid var(--theme-border, #c6bea9); border-radius:50%; }
@media(max-width:1024px) { .contact-hero-channels { padding-left:28px; }.contact-hero-channels a { font-size:1.3rem; }.contact-intro .page-hero-title { font-size:2.9rem; } }
@media(max-width:767px) {
 .utility-intro .page-hero-copy { padding:28px 0 35px; }
 .utility-intro .page-hero-title { font-size:2.2rem; }
 .contact-intro .page-hero-title { font-size:2.5rem; }
 .contact-hero-channels { border-left:0; border-top:1px solid var(--theme-primary-soft, #344653); padding:24px 0 30px; }
 .contact-hero-channels a { font-size:1.35rem; }.contact-hero-channels p { margin-bottom:10px; }
 .offer-intro .page-hero-photo { min-height:0; }
 .services-page #textures .story-image { aspect-ratio:4/5; }
}
.project-main-img { object-fit:contain; background:var(--theme-surface-alt, #efede7); }
@media(min-width:1200px) and (max-width:1350px) { .header-actions>.btn { display:inline-flex; }.nav-menu { gap:16px; }.nav-link { font-size:.78rem; }.header-actions { gap:16px; }.header-container { gap:18px; }.logo-title { font-size:1rem; } }
@media(min-width:768px) and (max-width:1199px) { .header-actions>.btn { display:inline-flex; } }
.project-main-slide { height:auto; aspect-ratio:16/9; background:var(--theme-surface-alt, #efede7); }
.project-viewer { background:transparent; border:0; border-radius:0; box-shadow:none; }
.project-thumbs-row { display:flex; gap:18px; padding:20px 0 0; background:transparent; border:0; }
.project-thumb-btn { width:210px; border:1px solid var(--theme-border, #d4d8d0); border-radius:0; }
.project-thumb-btn img { height:100px; }
.project-thumb-caption { font-size:.77rem; line-height:1.6; padding:9px; }
.project-thumb-btn.active { border-color:var(--theme-accent-strong, #a7824c); }
.room-pill { min-height:46px; }
@media(max-width:767px) {
 .header-actions .phone-link { font-size:0; }
 .project-main-slide { height:auto; aspect-ratio:4/3; }
 .project-thumbs-row { gap:12px; }
 .project-thumb-btn { width:calc(50% - 6px); }
 .project-thumb-caption { font-size:.72rem; }
 .project-thumb-btn img { height:80px; }
 .header-container { gap:10px; }.logo { min-width:0; }.logo-title { font-size:.95rem; }
 .header-actions { gap:10px; }.header-phone-box .phone-link { width:40px; height:40px; }.mobile-toggle { width:40px; height:40px; }
}
@media(max-width:360px) { .logo .logo-title { font-size:.87rem; }.logo { gap:7px; }.header-actions { gap:8px; } }
