@font-face {
  font-family: Manrope;
  src: url('../fonts/manrope/Manrope-variable.ttf') format('truetype');
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}
:root {
  --site-max-width:1600px;
  --bg:#fafafa; --paper:#fff; --paper-soft:#f3f4f4;
  --ink:#242729; --muted:#687075; --line:#e1e4e5;
  --accent:#c9432b; --accent-soft:#fcf0ec; --gold:#a83a28;
  --dark:#242729; --mist:#f3f4f4; --warm:#fcf0ec;
  --shadow:0 12px 36px rgb(28 35 39 / 8%);
  --shadow-soft:0 4px 18px rgb(28 35 39 / 4%);
  --bs-body-color:var(--ink); --bs-body-bg:var(--bg);
}
html[data-theme='dark'] {
  --bg:#0c0d0f; --paper:#151719; --paper-soft:#1c1e21;
  --ink:#f1f2f2; --muted:#a4a9ae; --line:#313439;
  --accent:#f2866f; --accent-soft:#30211f; --gold:#f2866f;
  --dark:#f1f2f2; --mist:#1c1e21; --warm:#30211f;
}
body, html[data-theme='dark'] body { background:var(--bg); font-family:Manrope,Arial,sans-serif; font-weight:450; letter-spacing:0; -webkit-font-smoothing:antialiased; }
.wrap,.container-xl { max-width:var(--site-max-width); padding-inline:28px; }
main :is(h1,h2,h3,h4) { font-family:inherit; letter-spacing:0; text-wrap:pretty; overflow-wrap:break-word; }
main :is(.hero,.page-title,.project-summary,.section-head,.service-lead,.build-cost,.cta-grid,.prose,.params,.empty-state,.mortgage-card,.order-hero,.ai-planner-promo,.planner-hero,.planner-request__copy,.contact-card,.guide-card,.guide-title,.journal-service,.guide-copy,.company-story,.company-band,.company-closing,.company-contact-info,.company-location,.company-faq,.company-note,.design-hero,.design-intro,.design-section-head,.design-estimate,.design-preparation,.design-faq,.design-closing,.design-brief) :is(h1,h2,h3,h4) { font-family:Manrope,Arial,sans-serif; }
main h1 { font-weight:650; }
main h2 { font-weight:600; }
main h3 { font-weight:650; }
.eyebrow { font-weight:650; color:var(--accent); }

.site-header { background:rgb(255 255 255 / 91%); box-shadow:none; backdrop-filter:blur(22px); }
html[data-theme='dark'] .site-header { background:rgb(12 13 15 / 92%); }
.brand { gap:10px; }
.brand-mark, html[data-theme='dark'] .brand-mark { width:43px; height:45px; background:none; border-radius:0; color:var(--accent); box-shadow:none; }
.brand-mark svg { width:43px; height:43px; fill:none; }
.brand-text strong { font-size:28px; font-weight:750; }
.brand-text small { font-size:9px; font-weight:550; margin-top:7px; text-transform:none; }
.navbar-nav .nav-link { color:var(--ink); font-size:13px; font-weight:600; border-radius:4px; }
.navbar-nav .nav-link .ui-icon { color:var(--muted); width:15px; height:15px; }
.navbar-nav .nav-link:hover .ui-icon { color:var(--accent); }
.main-menu>.nav-item:first-child>.nav-link { color:var(--accent); background:var(--accent-soft); }
.main-menu>.nav-item:first-child>.nav-link .ui-icon { color:var(--accent); }
.site-header .nav-link { transition:background-color .18s,color .18s; }
.theme-toggle:hover,.header-icon-link:hover { border-color:var(--muted); }
.header-icon-link { width:40px; height:40px; color:var(--ink); border-radius:6px; }
.header-icon-link:hover { transform:none; }
.header-icon-link span { background:var(--accent); border-color:var(--paper); color:#fff; }
.header-socials { border-left:1px solid var(--line); padding-left:14px; margin-left:6px; }
.header-socials .social-link { border-color:transparent; background:transparent; border-radius:5px; }
.theme-toggle, html[data-theme='dark'] .theme-toggle { background:var(--paper); border-color:var(--line); border-radius:6px; }
.theme-toggle__icon--sun { color:#ab7826; }
.theme-toggle__icon--moon { color:var(--muted); }
.theme-toggle__label strong { font-size:10px; }
.theme-toggle__switch { background:#eceeef; box-shadow:inset 0 0 0 1px var(--line); }
html[data-theme='dark'] .theme-toggle__switch { background:#44464b; box-shadow:none; }
html[data-theme='dark'] .theme-toggle__switch::after { background:#f2f2f2; }
.site-header .category-menu { padding:18px; border-radius:0 0 6px 6px; scrollbar-gutter:stable; overscroll-behavior:contain; }
.category-menu-item { border-radius:4px; }
.category-menu-item strong { font-size:13px; }
.category-menu-item span { font-size:11px; }
.category-menu-item--collection { background:transparent; }
.category-menu-item:hover { background:var(--paper-soft); }

.btn,.icon-btn { border-radius:5px; min-height:46px; font-size:13px; font-weight:650; padding:13px 19px; }
.btn:hover,.icon-btn:hover { transform:none; }
.btn-dark,html[data-theme='dark'] .btn-dark { background:#c9432b; border-color:#c9432b; box-shadow:none; color:#fff; }
.btn-dark:hover,.btn-dark:focus,html[data-theme='dark'] .btn-dark:hover { background:#ad3420; border-color:#ad3420; color:#fff; box-shadow:none; }
.btn-light { background:var(--paper); color:var(--ink); }
.btn-light:hover { border-color:var(--ink); color:var(--ink); background:var(--paper-soft); }
.link-btn,.section-link { font-size:13px; font-weight:650; }
.section-link { display:inline-flex; gap:14px; align-items:center; }
.section-link::after { content:'\2197'; font-size:20px; font-weight:400; }
.section { padding-block:72px; }
.section-head { margin-bottom:30px; }
.section-head h2,.service-lead h2,.build-cost h2,.cta-grid h2,.ai-planner-promo h2 { font-size:36px; font-weight:600; line-height:1.25; }
.page-title { padding-top:48px; padding-bottom:34px; }
.page-title h1 { font-size:46px; line-height:1.18; font-weight:650; max-width:1080px; }
.page-title p { font-size:15px; max-width:850px; line-height:1.85; }
.page-actions { gap:10px; margin-top:24px; }
.breadcrumbs { font-size:12px; padding-top:25px; }

/* Keep the carousel and content, using the photographs as an unframed backdrop. */
.hero,html[data-theme='dark'] .hero { isolation:isolate; padding:0; background:var(--paper); }
.hero-grid { position:static; display:block; min-height:590px; padding-block:44px 36px; pointer-events:none; }
.hero-copy { position:relative; z-index:3; max-width:640px; pointer-events:auto; }
.hero-copy :is(a,input,button) { pointer-events:auto; }
.hero .eyebrow { font-size:11px; margin-bottom:18px; }
.hero h1 { font-size:46px; line-height:1.15; font-weight:600; max-width:630px; margin-bottom:22px; }
.hero-copy>p:not(.eyebrow) { font-size:15px; line-height:1.8; max-width:575px; color:#505b63; }
.hero-search { grid-template-columns:minmax(0,1fr) auto; max-width:610px; margin-top:26px; gap:0; background:var(--paper); border:1px solid var(--line); border-radius:6px; padding:6px; box-shadow:0 6px 28px rgb(28 35 39 / 7%); }
.hero-search__field { display:flex; align-items:center; gap:4px; min-width:0; margin:0; padding-left:10px; }
.hero-search__field>.ui-icon { width:19px; height:19px; color:var(--muted); }
.hero-search:focus-within { border-color:var(--accent); outline:2px solid var(--accent-soft); outline-offset:2px; }
.hero-search input[type='search']:focus-visible { outline:0; }
.hero-search .btn>.ui-icon { width:16px; height:16px; }
.hero-search input[type='search'] { border:0; background:transparent; box-shadow:none; font-size:12px; padding:10px 12px; min-height:44px; }
.hero-search .btn { border-radius:3px; }
.hero-actions { margin-top:12px; gap:8px; }
.hero-actions .btn { font-size:11px; min-height:34px; padding:7px 12px; background:rgb(255 255 255 / 85%); }
.hero-proof { margin-top:22px; gap:8px 14px; }
.hero-proof span { font-size:11px; color:#535f65; font-weight:550; }
.hero-proof span+span { border-color:#c9d0d0; padding-left:14px; }
.hero .hero-showcase { position:absolute; inset:0 0 110px; height:auto; min-height:0; z-index:0; pointer-events:auto; border:0; border-radius:0; box-shadow:none; background:var(--paper); }
.hero-showcase::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,#fff 0%,rgb(255 255 255 / 96%) 24%,rgb(255 255 255 / 80%) 38%,rgb(255 255 255 / 18%) 60%,transparent 76%); }
.hero .hero-showcase .hero-showcase__slide { background:none; }
.hero .hero-showcase img { position:absolute; top:0; right:max(0px,calc((100% - var(--site-max-width)) / 2 - 100px)); width:min(100%,1280px); max-width:none; height:100%; object-fit:cover; object-position:center 58%; padding:0; background:none; mask-image:linear-gradient(90deg,transparent,#000 18%,#000 90%,transparent); }
.hero-showcase__slide { cursor:pointer; }
.hero .showcase-card { left:auto; right:max(28px,calc((100% - var(--site-max-width)) / 2 + 28px)); bottom:26px; width:290px; padding:16px 20px; border-radius:4px; border-left:3px solid var(--accent); background:rgb(255 255 255 / 94%); box-shadow:none; z-index:2; }
.showcase-card>span { color:#a83a28; font-size:9px; }
.showcase-card strong { font-size:20px; line-height:1.5; color:#242729; }
.showcase-card small { color:#687075; font-size:11px; }
.hero-showcase .slider-control { z-index:4; top:auto; bottom:26px; transform:none; width:40px; height:40px; border:1px solid #d9dddf; background:#fff; color:#242729; }
.hero-showcase .slider-control--prev { left:auto; right:max(78px,calc((100% - var(--site-max-width)) / 2 + 78px)); bottom:150px; }
.hero-showcase .slider-control--next { right:max(28px,calc((100% - var(--site-max-width)) / 2 + 28px)); bottom:150px; }
.hero-showcase .slider-dots { z-index:3; left:auto; right:max(132px,calc((100% - var(--site-max-width)) / 2 + 132px)); bottom:164px; width:90px; }
.hero-metrics { position:relative; z-index:3; margin-top:0; min-height:110px; border:0; padding-block:22px; background:var(--paper); }
.hero-metrics div { padding:0 28px; }
.hero-metrics strong { font-size:28px; color:var(--ink); line-height:1.4; font-weight:600; }
.hero-metrics span { font-size:12px; font-weight:450; }

.category-grid { --bs-gutter-x:20px; --bs-gutter-y:20px; }
.category-tile { position:relative; padding:24px 50px 24px 0; min-height:150px; border:0; border-top:1px solid var(--line); border-radius:0; background:none; box-shadow:none; gap:14px; transition:border-color .2s,color .2s; }
.category-tile::after { content:'\2197'; display:block; position:absolute; inset:22px 8px auto auto; width:24px; height:24px; border-radius:0; background:none; transform:none; font-size:22px; line-height:1; color:var(--accent); }
.category-tile:hover { transform:none; box-shadow:none; border-color:var(--accent); }
.category-tile span { font-size:21px; line-height:1.35; font-weight:600; }
.category-tile small { font-size:13px; line-height:1.8; }
.category-cluster__head h3 { font-family:inherit; font-size:26px; font-weight:600; }
.category-cluster__head span { border-radius:4px; font-size:13px; }
.home-category { padding:0; border:0; display:flex; flex-direction:column; gap:20px; background:transparent; overflow:visible; }
.home-category::after { display:none; }
.home-category__image { width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; border-radius:5px; background:var(--paper-soft); transition:filter .2s; }
.home-category:hover .home-category__image { filter:brightness(.96); }
.home-category .home-category__copy { position:relative; display:grid; gap:10px; padding-right:28px; font-size:inherit; }
.home-category__copy::after { content:'\2197'; position:absolute; right:0; top:0; font-size:22px; line-height:1.3; font-weight:450; color:var(--accent); }
.home-category .home-category__title { font-size:21px; font-weight:600; line-height:1.4; }
.home-category small { font-size:13px; line-height:1.8; }
.home-category--compact { display:grid; grid-template-columns:104px minmax(0,1fr); gap:18px; padding-top:24px; border-top:1px solid var(--line); align-content:start; }
.home-category--compact .home-category__image { aspect-ratio:4/3; }
.home-category--compact .home-category__title { font-size:18px; }
.home-category--compact .home-category__copy { padding-right:0; }
.home-category--compact .home-category__copy::after { display:none; }
.home-category:not(.home-category--illustrated) { grid-template-columns:1fr; }
.category-grid { --bs-gutter-y:32px; }
.catalog-preview { background:var(--paper-soft); border:0; }
.project-card { border-radius:6px; background:var(--paper); box-shadow:none; }
.project-card:hover { transform:none; box-shadow:none; }
.project-card__image { border-radius:5px; background:var(--paper-soft); }
.project-slide,.project-slide img,.project-card__image img,.project-thumbs button { background:var(--paper-soft); }
.project-card__image img { transition:transform .4s; }
@media(hover:hover) { .project-card:hover .project-card__image:not(.project-card__image--plans) img { transform:scale(1.025); } }
.project-card__image span { border-radius:3px; font-size:11px; padding:6px 9px; }
.card-top h3 { font-size:26px; font-weight:650; line-height:1.2; }
.card-kicker { font-size:10px; color:var(--muted); font-weight:550; }
.card-prices { gap:20px; }
.card-prices span { font-size:11px; text-transform:none; font-weight:500; }
.card-prices strong { font-size:22px; font-weight:650; line-height:1.4; }
.card-prices div+div strong { font-size:18px; font-weight:550; }
.card-prices div+div { padding-left:20px; }
.project-card p { font-size:14px; line-height:1.75; }
.spec-row { gap:8px 14px; }
.spec-row span { font-size:12px; }
.spec-row .ui-icon { width:15px; height:15px; color:var(--muted); }
.card-actions { padding-top:16px; gap:10px; font-size:12px; }
.card-actions__tools { gap:8px; grid-template-columns:repeat(2,42px); width:auto; }
.card-tool { display:inline-flex; align-items:center; justify-content:center; padding:10px; font-size:12px; border-radius:5px; min-height:42px; width:42px; color:var(--muted); }
.card-tool .ui-icon { width:19px; height:19px; }
.card-tool--danger { width:100%; padding:8px 10px; }
.card-actions>.link-btn { display:inline-flex; align-items:center; gap:12px; min-height:42px; font-size:13px; }
.card-actions>.link-btn .ui-icon { width:17px; height:17px; transition:transform .2s; }
.card-actions>.link-btn:hover .ui-icon { transform:translateX(3px); }
.card-tool:hover { background:var(--paper-soft); color:var(--ink); border-color:var(--line); }
.card-tool.is-active { color:var(--accent); }
.cards-grid,.home-project-list { gap:30px; }
.home-project-list .project-card__image img { object-fit:cover; padding:0; }
.sortbar { border:0; border-block:1px solid var(--line); border-radius:0; padding:16px 0; background:none; margin-bottom:26px; }
.sortbar select { font-size:12px; }
.sortbar label { font-size:12px; font-weight:500; }
.view-switch { border:1px solid var(--line); border-radius:5px; background:var(--paper-soft); padding:3px; }
.view-switch a { display:inline-flex; align-items:center; justify-content:center; gap:6px; font-size:12px; padding:9px 11px; font-weight:600; border-radius:3px; }
.view-switch .ui-icon { width:15px; height:15px; }
.view-switch a.active { background:var(--paper); color:var(--ink); }
.filters { padding:24px 22px; border-radius:6px; background:var(--paper); }
.filters-head strong { font-size:15px; font-weight:650; }
.filters-head span { font-size:10px; color:var(--accent); }
.filters label,.range-filter__head { font-size:13px; font-weight:550; }
.filter-status { min-height:18px; line-height:18px; font-size:11px; margin:-10px 0 -8px; }
.range-filter__head strong { font-size:10px; background:var(--paper-soft); color:var(--ink); }
.range-filter input[type='range']::-webkit-slider-runnable-track { background:var(--line); height:4px; }
.range-filter input[type='range']::-moz-range-track { background:var(--line); height:4px; }
.range-filter input[type='range']::-webkit-slider-thumb { border:2px solid var(--accent); width:18px; height:18px; margin-top:-7px; box-shadow:none; }
.range-filter input[type='range']::-moz-range-thumb { border:2px solid var(--accent); width:14px; height:14px; box-shadow:none; }
.pagination { gap:6px; }
.pagination a { font-size:12px; border-radius:4px; min-width:40px; }
.pagination .active { color:#fff; background:#c9432b; border-color:#c9432b; }

.project-gallery { border-radius:5px; }
.project-summary { padding:28px; background:var(--paper); border:1px solid var(--line); border-radius:6px; gap:12px; }
.project-summary h1 { font-size:33px; font-weight:650; }
.project-summary>.price { font-size:30px; font-weight:650; color:var(--ink); }
.project-summary .summary-grid { gap:0 16px; }
.summary-grid span { padding-block:14px; }
.summary-grid .ui-icon { color:var(--muted); }
.summary-grid small { font-size:11px; }
.summary-grid strong { font-size:13px; font-weight:600; }
.project-summary>.btn { font-size:11px; }
.project-order-cta .btn { width:100%; }
.project-thumbs button { border-radius:4px; }
.project-plans-block .section-head h2 { font-size:28px; }
.plans-grid button { border-radius:5px; }
.params { padding:26px; background:var(--paper); border-radius:6px; }
.params h2,.prose h2 { font-size:29px; font-weight:600; line-height:1.3; }
.param-item strong { font-size:14px; }
.param-item .ui-icon { color:var(--muted); }
.params .param-item { grid-template-columns:20px minmax(0,1fr) minmax(90px,1.15fr); gap:10px; align-items:start; }
.params .param-item .ui-icon { grid-column:1; grid-row:1; width:17px; height:17px; }
.params .param-item span { grid-column:2; grid-row:1; font-size:12px; font-weight:450; line-height:1.7; }
.params .param-item strong { grid-column:3; grid-row:1; font-size:13px; font-weight:600; text-align:right; line-height:1.6; }
.params .param-item--wide .ui-icon { grid-row:1/3; }
.params .param-item--wide span { grid-column:2/4; }
.params .param-item--wide strong { grid-column:2/4; grid-row:2; text-align:left; font-weight:450; line-height:1.85; }
.prose { font-size:15px; line-height:1.9; }
.faq details { border:0; border-bottom:1px solid var(--line); border-radius:0; background:none; padding:20px 0; margin:0; }
.faq summary { font-size:15px; font-weight:600; }
.faq summary { display:flex; align-items:baseline; justify-content:space-between; gap:24px; list-style:none; cursor:pointer; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:'+'; flex:0 0 24px; text-align:center; font-size:24px; line-height:1; color:var(--accent); font-weight:450; }
.faq details[open] summary::after { content:'\2212'; }
.cost-grid div,.mortgage-card__result { background:var(--paper-soft); border:0; border-radius:5px; }
.mortgage-card,.build-request,.order-form,.order-aside__box { border-radius:6px; }
.mortgage-card h2 { font-size:28px; font-weight:600; }
.mortgage-card__result strong { font-size:31px; }
.mortgage-card__result { border-left:3px solid var(--accent); }
.cost-grid strong { font-size:26px; }
.lead-form,.planner-panel,.contact-card { border-radius:6px; }
.lead-form h3,.planner-form h3 { font-weight:650; }
.order-hero h1,.planner-hero h1 { font-size:44px; font-weight:650; }
.guide-card { border:0; background:var(--paper); border-radius:5px; }
.guide-card h2 { font-family:inherit; font-size:23px; font-weight:600; }
.guide-card>div { padding:24px; }
.guide-title h1 { font-size:42px; }
.journal-service h2 { font-family:inherit; font-size:30px; font-weight:600; }
.context-guides article { padding-top:22px; border-top:2px solid var(--line); }
.context-guides h3 { font-size:21px; font-weight:600; }
.context-guides a:hover { color:var(--accent); }
.ai-planner-promo { align-items:center; }
.ai-planner-promo__panel,html[data-theme='dark'] .ai-planner-promo__panel { border:0; background:transparent; padding:0; }
.ai-planner-promo__panel>strong { display:block; font-size:14px; font-weight:650; margin-top:22px; }
.ai-planner-promo__panel ul { padding-left:18px; margin-top:10px; font-size:13px; line-height:1.85; }
.ai-planner-promo__preview { position:relative; display:block; width:100%; padding:16px; aspect-ratio:4/3; border:1px solid var(--line); border-radius:5px; background:#fff; cursor:zoom-in; }
.ai-planner-promo__preview img { width:100%; height:100%; object-fit:contain; }
.ai-planner-promo__preview>.ui-icon { position:absolute; bottom:12px; right:12px; width:32px; height:32px; padding:7px; color:#687075; border:1px solid #e1e4e5; border-radius:4px; background:#fff; }
.ai-planner-promo .ai-planner-promo__caption { font-size:11px; line-height:1.7; color:var(--muted); margin:10px 0 0; }
.ai-planner-promo__caption a { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.ai-planner-promo__steps span { border-radius:4px; }
.home-journal .context-guides article { display:flex; flex-direction:column; gap:18px; border-top:0; padding-top:0; padding-bottom:24px; border-bottom:1px solid var(--line); }
.home-guide__image { display:block; overflow:hidden; flex-shrink:0; aspect-ratio:16/10; border-radius:5px; background:var(--paper-soft); }
.home-guide__image img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.home-guide__image--plan img { object-fit:contain; padding:12px; background:#fff; }
.home-journal .context-guides h3 { font-size:22px; font-weight:600; margin:0; line-height:1.45; }
.home-journal .context-guides p { font-size:14px; margin:0; }
.home-journal .section-link::after { display:none; }
.service-card { padding:24px; border:0; border-top:1px solid var(--line); border-radius:0; background:transparent; }
.service-card>span { background:none; color:var(--accent); box-shadow:none; border-radius:0; padding:0; font-size:22px; }
.service-card strong { font-size:19px; font-weight:600; }
.cta-band { background:var(--accent-soft); border:0; color:var(--ink); }
.cta-grid p { color:var(--muted); }
.site-footer,html[data-theme='dark'] .site-footer { background:#202326; padding-block:58px; color:#f0f1f2; }
.site-footer::before { display:none; }
.site-footer .brand-mark { color:#f2866f; }
.site-footer .brand-text small { color:#acb2b6; }
.site-footer p { color:#acb2b6; font-size:13px; line-height:1.9; max-width:360px; }
.site-footer h3 { font-size:13px; font-weight:650; margin-bottom:20px; }
.site-footer a { font-size:12px; color:#c4c9cc; line-height:1.9; }
.site-footer a:hover { color:#fff; }
.site-footer .social-link { border-radius:4px; background:#2b2f33; border-color:#44494d; }
.site-footer .social-link span { font-size:11px; }
.site-footer .social-link img,.site-footer .social-link svg { width:22px; height:22px; }
.company-story h2,.company-band h2,.company-closing h2,.company-contact-info h2,.company-location h2,.company-faq h2,.company-note h2 { font-family:inherit; font-weight:600; }
.design-hero h1 { font-family:inherit; font-weight:600; color:var(--ink); font-size:48px; }
.design-intro h2,.design-section-head h2,.design-estimate h2,.design-preparation h2,.design-faq h2,.design-closing h2,.design-brief h3 { font-family:inherit; font-weight:600; }
.design-hero .eyebrow,.design-hero__price,.design-hero .design-text-link { color:#a83a28; }

html[data-theme='dark'] .hero-showcase::after { background:linear-gradient(90deg,#151719 0%,rgb(21 23 25 / 96%) 24%,rgb(21 23 25 / 80%) 38%,rgb(21 23 25 / 18%) 60%,transparent 76%); }
html[data-theme='dark'] .hero-copy>p:not(.eyebrow),html[data-theme='dark'] .hero-proof span { color:#bdc2c6; }
html[data-theme='dark'] .hero-actions .btn { background:rgb(21 23 25 / 86%); }
html[data-theme='dark'] .category-tile,html[data-theme='dark'] .sortbar,html[data-theme='dark'] .service-card,html[data-theme='dark'] .faq details { background:transparent; }
html[data-theme='dark'] .cost-grid div,html[data-theme='dark'] .mortgage-card__result { background:var(--paper-soft); }
html[data-theme='dark'] .hero .showcase-card { background:rgb(21 23 25 / 94%); }
html[data-theme='dark'] .showcase-card strong { color:var(--ink); }
html[data-theme='dark'] .showcase-card>span { color:var(--accent); }
html[data-theme='dark'] .showcase-card small { color:var(--muted); }
html[data-theme='dark'] .range-filter input[type='range']::-webkit-slider-runnable-track { background:var(--line); }
html[data-theme='dark'] .range-filter input[type='range']::-moz-range-track { background:var(--line); }
html[data-theme='dark'] .cta-band { background:var(--paper-soft); color:var(--ink); }
html[data-theme='dark'] .guide-toc .btn { color:#fff; }
html[data-theme='dark'] .design-hero .eyebrow,html[data-theme='dark'] .design-hero__price,html[data-theme='dark'] .design-hero .design-text-link { color:var(--accent); }
html[data-theme='dark'] :is(.filters,.sortbar,.hero-search,.lead-form,.mortgage-card,.order-form,.build-request,.planner-panel) :is(input,select,textarea):not([type='checkbox']):not([type='radio']):not([type='range']):not([type='hidden']) { background:var(--paper); border-color:var(--line); color:var(--ink); }

@media(min-width:992px) {
  .site-header>.container-xl { min-height:116px; }
  .site-header .navbar-brand { top:10px; }
  .site-header .header-actions { min-height:68px; }
  .site-header .main-menu { min-height:48px; gap:6px; }
  .catalog-results[data-view='list'] .project-card { grid-template-columns:46% minmax(0,1fr); align-items:center; min-height:0; background:none; }
  .catalog-results[data-view='list'] .project-card__image { aspect-ratio:16/10; min-height:0; width:100%; }
  .catalog-results[data-view='list'] .project-card__body { padding:4px 0 4px 26px; gap:12px; }
  .home-project-list .project-card { grid-template-columns:47% minmax(0,1fr); align-items:center; background:var(--paper); }
  .home-project-list .project-card__image { aspect-ratio:16/10; min-height:0; }
  .home-project-list .project-card__body { padding:26px 32px; }
}
@media(min-width:992px) and (max-width:1260px) {
  .site-header .navbar-nav .nav-link { font-size:11px; padding-inline:5px; gap:5px; }
  .site-header .navbar-nav .nav-link .ui-icon { width:13px; height:13px; }
  .brand-text strong { font-size:26px; }
  .brand-text small { font-size:8px; }
  .hero h1 { font-size:42px; max-width:540px; }
  .hero-copy { max-width:560px; }
  .hero-copy>p:not(.eyebrow) { max-width:520px; }
  .card-top h3 { font-size:23px; }
  .catalog-results[data-view='list'] .project-card { grid-template-columns:42% minmax(0,1fr); }
  .catalog-results[data-view='list'] .project-card__body { padding-left:20px; }
  .catalog-results[data-view='list'] .card-actions__tools { width:auto; }
  .card-prices { gap:12px; }
  .card-prices div+div { padding-left:12px; }
  .card-prices strong { font-size:19px; }
  .card-prices div+div strong { font-size:16px; }
}
@media(min-width:1600px) {
  .hero-grid { min-height:650px; padding-top:60px; }
}
@media(min-width:768px) and (max-width:1199px) {
  .home-category { display:grid; grid-template-columns:104px minmax(0,1fr); align-content:start; gap:18px; padding-top:22px; border-top:1px solid var(--line); }
  .home-category__image { aspect-ratio:4/3; }
  .home-category .home-category__title { font-size:18px; }
  .home-category .home-category__copy { padding-right:0; }
  .home-category__copy::after { display:none; }
}
@media(max-width:991.98px) {
  .site-header>.container-xl { min-height:74px; }
  .site-header .navbar-collapse { max-height:calc(100dvh - 88px); }
  .site-header .main-menu .nav-link { display:flex; font-size:14px; padding:13px 8px; border-bottom:1px solid var(--line); border-radius:0; }
  .site-header .category-menu { max-height:47dvh; margin-block:6px 12px; padding:8px; }
  .site-header .header-actions { padding-block:18px; }
  .hero-grid { min-height:600px; }
  .hero-copy { max-width:580px; }
  .hero h1 { font-size:42px; }
  .hero .hero-showcase img { right:0; width:100%; mask-image:none; }
  .hero-showcase::after { background:linear-gradient(90deg,#fff 0%,rgb(255 255 255 / 94%) 38%,rgb(255 255 255 / 55%) 74%,rgb(255 255 255 / 24%)); }
  html[data-theme='dark'] .hero-showcase::after { background:linear-gradient(90deg,#151719 0%,rgb(21 23 25 / 94%) 38%,rgb(21 23 25 / 55%) 74%,rgb(21 23 25 / 24%)); }
  .hero .showcase-card { right:24px; width:225px; padding:12px 16px; bottom:18px; }
  .hero-showcase .slider-control--prev { right:74px; bottom:122px; }
  .hero-showcase .slider-control--next { right:24px; bottom:122px; }
  .hero-showcase .slider-dots { right:24px; bottom:104px; }
  .hero-proof { max-width:360px; }
  .filters-toggle { min-width:140px; }
  .filters { padding:22px; }
}
@media(max-width:767px) {
  .wrap,.container-xl { padding-inline:20px; }
  .brand-mark,.brand-mark svg { width:37px; height:39px; }
  .brand-text strong { font-size:25px; }
  .brand-text small { font-size:8px; margin-top:6px; }
  .site-header .header-actions { gap:8px; flex-wrap:wrap; }
  .header-socials { padding-left:8px; margin-left:0; }
  .navbar-toggler { padding:7px 9px; border-radius:5px; }
  .navbar-toggler-icon { width:23px; height:23px; }
  .section { padding-block:44px; }
  .section-head { gap:18px; margin-bottom:24px; }
  .section-head h2,.service-lead h2,.build-cost h2,.cta-grid h2,.ai-planner-promo h2 { font-size:28px; line-height:1.3; }
  .section-link { font-size:12px; }
  .page-title { padding-top:32px; padding-bottom:26px; }
  .page-title h1,.guide-title h1,.planner-hero h1,.order-hero h1 { font-size:33px; line-height:1.2; }
  .page-title p { font-size:14px; line-height:1.8; }
  .page-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-actions .btn { font-size:11px; padding-inline:12px; }
  .page-actions .btn:first-child { grid-column:1/-1; }
  .hero-grid { min-height:0; padding-top:28px; padding-bottom:170px; }
  .hero-copy { max-width:none; }
  .hero h1 { font-size:30px; line-height:1.18; margin-bottom:16px; }
  .hero .eyebrow { font-size:9px; margin-bottom:15px; }
  .hero-copy>p:not(.eyebrow) { font-size:13px; line-height:1.8; }
  .hero-search { grid-template-columns:minmax(0,1fr) auto; margin-top:20px; padding:4px; }
  .hero-search input[type='search'] { font-size:11px; padding-inline:8px; }
  .hero-search__field { padding-left:4px; gap:0; }
  .hero-search__field>.ui-icon { width:16px; height:16px; }
  .hero-search .btn { font-size:11px; padding-inline:10px; }
  .hero-search .btn>.ui-icon { display:none; }
  .hero-actions { gap:6px; margin-top:10px; }
  .hero-actions .btn { font-size:10px; padding-inline:9px; }
  .hero-proof { gap:6px 10px; margin-top:16px; max-width:none; }
  .hero-proof span { font-size:9px; }
  .hero-proof span+span { padding-left:10px; }
  .hero .hero-showcase { bottom:104px; background:var(--paper); }
  .hero .hero-showcase img { object-fit:contain; object-position:center bottom; }
  .hero-showcase::after { background:linear-gradient(180deg,#fff 0%,#fff 50%,rgb(255 255 255 / 90%) 64%,transparent 82%); }
  html[data-theme='dark'] .hero-showcase::after { background:linear-gradient(180deg,#151719 0%,#151719 50%,rgb(21 23 25 / 90%) 64%,transparent 82%); }
  .hero .showcase-card { right:20px; bottom:14px; width:185px; padding:10px 13px; }
  .showcase-card strong { font-size:17px; }
  .showcase-card>span { font-size:8px; }
  .showcase-card small { font-size:10px; }
  .hero-showcase .slider-control { width:32px; height:34px; top:auto; bottom:108px; }
  .hero-showcase .slider-control--prev { right:60px; }
  .hero-showcase .slider-control--next { right:20px; }
  .hero-showcase .slider-dots { right:auto; left:20px; bottom:24px; width:72px; }
  .hero-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); min-height:104px; padding-block:16px; gap:0; }
  .hero-metrics div,.hero-metrics div:nth-child(odd) { padding:0 10px; border-left:1px solid var(--line); }
  .hero-metrics div:first-child { padding-left:0; border-left:0; }
  .hero-metrics strong { font-size:17px; }
  .hero-metrics span { font-size:9px; }
  .category-grid { --bs-gutter-y:20px; }
  .category-tile { min-height:0; padding:20px 38px 20px 0; gap:12px; }
  .category-tile span { font-size:20px; }
  .category-tile small { font-size:12px; }
  .home-category { display:grid; grid-template-columns:104px minmax(0,1fr); gap:16px; padding:20px 0 0; border-top:1px solid var(--line); min-height:0; }
  .home-category__image { aspect-ratio:4/3; }
  .home-category .home-category__title { font-size:18px; }
  .home-category .home-category__copy { padding-right:0; gap:8px; }
  .home-category__copy::after { display:none; }
  .cards-grid,.home-project-list { gap:28px; }
  .catalog-results .project-card__image,.home-project-list .project-card__image { aspect-ratio:16/10; min-height:0; border-radius:5px 5px 0 0; }
  .catalog-results[data-view='plans'] .project-card__image { aspect-ratio:1/1; }
  .catalog-results .project-card__body,.home-project-list .project-card__body { padding:20px; gap:14px; }
  .card-top h3 { font-size:24px; }
  .card-prices { gap:14px; }
  .card-prices div+div { padding-left:14px; }
  .card-prices strong { font-size:20px; }
  .card-prices div+div strong { font-size:17px; }
  .card-actions { gap:14px; }
  .card-actions__tools { width:auto; }
  .card-tool { min-height:42px; font-size:12px; }
  .sortbar { padding-block:14px; gap:14px; }
  .view-switch { width:100%; }
  .view-switch a { padding-inline:7px; }
  .view-switch a { font-size:11px; }
  .view-switch .ui-icon { width:14px; height:14px; }
  .project-summary { padding:22px; }
  .project-summary h1 { font-size:29px; }
  .project-summary>.price { font-size:28px; }
  .project-summary>.btn { font-size:10px; padding-inline:6px; }
  .params .param-item strong { font-size:12px; }
  .project-plans-block { padding-top:24px; }
  .project-plans-block .section-head h2,.params h2,.prose h2,.mortgage-card h2 { font-size:26px; }
  .mortgage-card__result strong { font-size:28px; }
  .guide-card h2 { font-size:23px; }
  .journal-service h2 { font-size:27px; }
  .site-footer { padding-block:40px; margin-top:34px; }
  .site-footer .footer-grid { gap:32px; }
  .design-hero h1 { font-size:34px; }
  .design-intro h2,.design-section-head h2,.design-estimate h2,.design-preparation h2,.design-faq h2,.design-closing h2 { font-size:29px; }
  .company-story h2 br { display:initial; }
}
@media(max-width:370px) {
  .home-category { grid-template-columns:82px minmax(0,1fr); gap:12px; }
  .home-category .home-category__title { font-size:17px; }
  .view-switch a { gap:4px; font-size:10px; }
  .view-switch .ui-icon { width:12px; height:12px; }
}
@media(prefers-reduced-motion:reduce) { .project-card__image img,.card-actions>.link-btn .ui-icon,.home-guide__image img,.home-category__image { transition:none; } }
