/* Shared visual system. Content and source snapshots remain unchanged. */
:root {
  --site-content-width: 1200px;
  --site-gutter: 40px;
  --site-frame-width: calc(var(--site-content-width) + 2 * var(--site-gutter));
  --ink: #252f2b;
  --body: #545b58;
  --accent: #ad542e;
  --accent-hover: #8d4022;
  --forest: #283f35;
  --paper: #ffffff;
  --linen: #f7f8f7;
  --line: #e5e8e6;
  --heading-font: 'Bricolage Grotesque', 'Inter', sans-serif;
  --body-font: 'Inter', sans-serif;
  --theme-font-family: var(--body-font);
  --theme-text-color: var(--body);
  --theme-headings-color: var(--ink);
  --theme-palette-color-1: var(--accent);
  --theme-palette-color-2: var(--accent-hover);
  --theme-palette-color-3: var(--body);
  --theme-palette-color-4: var(--ink);
  --theme-palette-color-5: var(--ink);
  --theme-palette-color-6: var(--linen);
  --theme-palette-color-7: var(--line);
  --theme-palette-color-8: var(--paper);
}
html { background:var(--paper); }
body { background:var(--paper)!important;color:var(--body)!important;font-family:var(--body-font)!important;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased; }
::selection { background:#e7c7ac;color:var(--ink); }
.site-header { background:var(--paper);border-bottom:1px solid var(--line); }
.header-inner { max-width:var(--site-frame-width);min-height:100px;padding:22px var(--site-gutter);gap:32px; }
.brand { flex-basis:235px; }.brand img { width:235px; }
.primary-nav>ul { gap:25px; }
.primary-nav a,.primary-nav summary { font-family:var(--body-font);font-size:14px;font-weight:600;letter-spacing:.01em;color:var(--ink); }
.primary-nav a:hover,.primary-nav a[aria-current=page],.primary-nav summary:hover { color:var(--accent); }
.primary-nav summary span { font-size:15px;color:var(--accent); }
.nav-dropdown>ul { margin-top:20px;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--paper);box-shadow:0 20px 60px #252f2b15; }
.nav-dropdown>ul a { border-radius:5px;padding:9px 12px;font-size:13px; }
.nav-dropdown>ul a:hover { background:var(--linen); }
.nav-service-group { position:relative;display:flex;align-items:center;gap:3px; }
.nav-service-group>.nav-dropdown { position:static; }
.nav-service-group>.nav-dropdown>summary { display:flex;align-items:center;justify-content:center;min-width:28px;min-height:32px;padding:4px;color:var(--accent);border-radius:4px; }
.nav-service-group>.nav-dropdown>summary:hover { background:var(--linen); }
.nav-service-group summary span { display:block;transition:transform .18s ease; }
.nav-service-group details[open]>summary span { transform:rotate(180deg); }
.primary-nav :is(a,summary):focus-visible { outline:2px solid var(--accent);outline-offset:4px;border-radius:4px; }
@media (min-width:901px) {
  .nav-dropdown>ul::before { content:'';position:absolute;left:0;right:0;top:-21px;height:21px; }
}
.header-phone { background:var(--accent);padding:14px 20px;font:600 12px/1.5 var(--body-font);border-radius:5px;box-shadow:0 4px 12px #ad542e15;transition:background .2s; }
.header-phone:hover { background:var(--accent-hover); }
.menu-toggle { border-color:var(--line);border-radius:5px;font-family:var(--body-font); }
.migrated-site.elementor-kit-41 {
  --e-global-color-primary:var(--accent);--e-global-color-text:var(--body);--e-global-color-secondary:var(--ink);
  --e-global-color-blocksy_palette_1:var(--paper);--e-global-color-blocksy_palette_2:var(--line);
  --e-global-color-blocksy_palette_3:var(--body);--e-global-color-blocksy_palette_4:var(--accent);
  --e-global-color-blocksy_palette_5:var(--ink);--e-global-color-blocksy_palette_6:var(--linen);
  --e-global-color-blocksy_palette_7:var(--line);--e-global-color-blocksy_palette_8:#fff;
  font-family:var(--body-font)!important;color:var(--body)!important;background:var(--paper);
}
.migrated-site :is(p,li,td,th,address,.elementor-widget-text-editor) { font-family:var(--body-font)!important;font-size:16px!important;line-height:1.8!important;letter-spacing:0!important;color:var(--body)!important; }
.migrated-site p { margin:0 0 20px; }
.migrated-site p:last-child { margin-bottom:0; }
.migrated-site :is(h1,h2,h3,h4,h5,h6) { font-family:var(--heading-font)!important;color:var(--ink)!important;font-weight:700!important;text-transform:none!important;letter-spacing:-.035em!important;line-height:1.18!important;text-wrap:pretty; }
.migrated-site h1 { font-size:clamp(44px,4.8vw,68px)!important; }
.migrated-site h2 { font-size:clamp(32px,3.3vw,46px)!important; }
.migrated-site h3 { font-size:27px!important; }.migrated-site h4 { font-size:24px!important; }.migrated-site h5 { font-size:22px!important; }
.migrated-site h1 :is(span,a),.migrated-site h2 :is(span,a),.migrated-site h3 a { font:inherit!important;color:inherit!important;letter-spacing:inherit!important; }
.migrated-site :is(h1,h2,h3,h4,h5,h6) a { text-decoration:none; }
.migrated-site :is(h2,h3) a:hover { color:var(--accent)!important; }
.migrated-site .elementor-widget-text-editor a:not(.elementor-button),.migrated-site .entry-content>p a { color:var(--accent);text-decoration-thickness:1px;text-underline-offset:4px; }
.migrated-site .licensed-label,.migrated-site .eyebrow,.eyebrow { color:var(--accent)!important;font:600 11px/1.6 var(--body-font)!important;letter-spacing:.16em!important;text-transform:uppercase!important; }
.migrated-site .licensed-label p,.migrated-site .licensed-label span { font:inherit!important;letter-spacing:inherit!important;color:inherit!important; }
.migrated-site .licensed-label::before { background:var(--accent)!important;width:24px; }
.migrated-site .grid-bg { background-image:none!important; }
.migrated-site .ct-container-full:has(.elementor),.migrated-site .entry-content>.elementor { width:100%!important;max-width:none!important;margin-inline:0!important; }
.migrated-site .ct-container-full>article:has(>.entry-content>.elementor) { width:100%!important;max-width:none!important;margin-inline:0!important; }
.migrated-site .design-hero-copy :is(.e-con,.elementor-widget) { min-width:0!important;max-width:100%!important; }
.migrated-site .elementor-button { background:var(--accent)!important;color:#fff!important;border:1px solid var(--accent)!important;border-radius:5px!important;padding:17px 24px!important;font:600 15px/1.3 var(--body-font)!important;letter-spacing:0!important;text-transform:none!important;box-shadow:none!important;transition:background .2s,transform .2s; }
.migrated-site .elementor-button:hover { background:var(--accent-hover)!important;border-color:var(--accent-hover)!important;transform:translateY(-2px); }
.migrated-site .elementor-button span { font:inherit!important;letter-spacing:inherit!important; }
.migrated-site .elementor-button[href*="gallery"] { background:transparent!important;border-color:#c7c9c0!important;color:var(--ink)!important; }
.migrated-site .elementor-button[href*="gallery"]:hover { background:var(--linen)!important; }
.migrated-site .design-section { --content-width:var(--site-content-width)!important;--padding-top:88px!important;--padding-bottom:88px!important;--padding-left:var(--site-gutter)!important;--padding-right:var(--site-gutter)!important;background:var(--paper)!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;margin:0!important; }
.migrated-site .design-section>.e-con-inner { width:100%!important;max-width:var(--site-content-width)!important;margin-inline:auto!important;--gap:24px;gap:24px!important; }
.migrated-site .design-section:not(.design-hero):nth-child(2n) { background:#fff!important; }
.migrated-site .design-section>.e-con-inner>:is(.elementor-widget-heading,.elementor-widget-text-editor) { width:100%!important;max-width:none!important; }
.migrated-site .design-section>.e-con-inner>.elementor-widget-heading h2 { max-width:none; }
.migrated-site .design-section .elementor-widget-heading { margin-bottom:0!important; }
.migrated-site .design-hero { background:#fff!important;--padding-top:72px!important;--padding-bottom:72px!important;position:relative;isolation:isolate; }
.migrated-site .design-hero::before,.migrated-site .design-hero::after { display:none!important; }
.migrated-site .design-hero>.e-con-inner { display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)!important;align-items:center!important;gap:64px!important; }
.design-hero-copy { min-width:0; }
.migrated-site .design-hero-copy>.e-con { width:100%!important;max-width:none!important;--width:100%!important;--padding-top:0px!important;--padding-bottom:0px!important;--padding-left:0px!important;--padding-right:0px!important;--gap:24px!important;background:transparent!important; }
.migrated-site .design-hero-copy h1 { margin:0!important;max-width:680px; }
.migrated-site .design-hero-copy h1 span { color:var(--accent)!important; }
.migrated-site .design-hero-copy .elementor-widget-text-editor { max-width:650px; }
.migrated-site .design-hero-copy p { font-size:16px!important;line-height:1.8!important; }
.design-hero-photo { align-self:stretch;min-width:0;min-height:620px;border-radius:12px;background-size:cover;background-position:50% 50%;position:relative; }
.design-hero-photo::after { display:none; }
.migrated-site .design-hero-copy .e-con:has(>.elementor-widget-heading h3) { --gap:12px!important;flex-wrap:wrap!important; }
.migrated-site .design-hero-copy h3 { font:500 13px/1.5 var(--body-font)!important;letter-spacing:0!important;color:var(--body)!important; }
.migrated-site .design-hero-copy .elementor-widget-heading:has(h3) { width:auto!important;max-width:none!important;padding:0!important; }
.migrated-site .field-form-box { background:#fff!important;border:1px solid var(--line)!important;border-radius:12px!important;padding:28px 20px 16px!important;box-shadow:0 16px 50px #283f3508!important;outline:0!important; }
.migrated-site .field-form-box::before,.migrated-site .field-form-box::after { display:none!important; }
.migrated-site .field-form-box iframe { width:100%;background:#fff;border-radius:5px; }
.migrated-site .embed-fallback { font-size:12px!important;line-height:1.6!important;color:var(--body)!important; }
.migrated-site .design-card-grid { display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;margin-top:20px!important; }
.migrated-site .design-card { --width:auto!important;--padding-top:30px!important;--padding-bottom:30px!important;--padding-left:28px!important;--padding-right:28px!important;--gap:18px!important;min-width:0;background:#fff!important;border:1px solid var(--line)!important;border-radius:9px!important;box-shadow:0 4px 15px #283f3503;transition:box-shadow .2s,border-color .2s; }
.migrated-site .design-card:hover { border-color:#c6cbbf!important;box-shadow:0 12px 24px #283f3507; }
.migrated-site .design-card h3 { font-size:26px!important; }
.migrated-site .design-card p { font-size:16px!important;line-height:1.8!important; }
.migrated-site .design-card>.elementor-widget-text-editor:first-child p { color:var(--accent)!important;font-size:12px!important;font-weight:600!important;letter-spacing:.08em!important; }
.migrated-site .design-services .design-card-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important;align-items:stretch; }
.migrated-site .design-services .service-card { display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:24px!important;padding:32px!important;height:auto!important;min-height:0!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important; }
.migrated-site .design-services .service-card::before,.migrated-site .design-services .service-card::after { display:none!important; }
.service-card-header { display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:18px;min-width:0;padding-bottom:24px;border-bottom:1px solid var(--line); }
.service-card-icon { display:flex;align-items:center;justify-content:center;width:52px;height:52px;background:#faf0e9;border-radius:10px;color:var(--accent); }
.migrated-site .service-card-heading { width:100%!important;max-width:none!important;min-width:0;margin:0!important; }
.migrated-site .service-card-heading :is(h3,h4) { margin:0!important;font-size:25px!important;line-height:1.25!important; }
.migrated-site .service-card-number { width:auto!important;max-width:none!important;margin:0!important; }
.migrated-site .service-card-number p { font:500 12px/1.5 var(--body-font)!important;color:#767e78!important;letter-spacing:.06em!important;margin:0!important;white-space:nowrap; }
.service-card-description { min-width:0; }
.migrated-site .service-card-description>.elementor-widget { width:100%!important;max-width:none!important;margin:0!important; }
.migrated-site .service-card-description p { font-size:16px!important;line-height:1.8!important; }
@media(max-width:760px) {
  .migrated-site .design-services .design-card-grid { grid-template-columns:minmax(0,1fr)!important;gap:18px!important; }
  .migrated-site .design-services .service-card { padding:26px!important;gap:20px!important; }
  .service-card-header { grid-template-columns:44px minmax(0,1fr) auto;gap:14px;padding-bottom:20px; }
  .service-card-icon { width:44px;height:44px; }
  .migrated-site .service-card-heading :is(h3,h4) { font-size:23px!important; }
}
.migrated-site .design-styles .design-card-grid { grid-template-columns:minmax(0,1fr)!important;gap:0!important; }
.migrated-site .design-styles .style-card { display:grid!important;grid-template-columns:52px minmax(0,.8fr) minmax(0,1.7fr)!important;align-items:start!important;gap:32px!important;padding:36px 0!important;min-height:0!important;height:auto!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;background:#fff!important;box-shadow:none!important; }
.migrated-site .design-styles .style-card:last-child { border-bottom:1px solid var(--line)!important; }
.migrated-site .style-card-number { display:flex;align-items:center;justify-content:center;width:52px!important;min-width:52px;height:52px;max-width:none!important;margin:0!important;background:#faf0e9;border-radius:10px; }
.migrated-site .design-styles .style-card .style-card-number p { font:700 24px/1 var(--heading-font)!important;color:var(--accent)!important;letter-spacing:-.03em!important;margin:0!important;white-space:nowrap; }
.migrated-site .style-card-heading { width:100%!important;max-width:none!important;margin:0!important;padding-top:8px; }
.migrated-site .style-card-heading :is(h3,h4) { margin:0!important;font-size:26px!important;line-height:1.3!important; }
.style-card-description { min-width:0;padding-top:6px; }
.migrated-site .style-card-description>.elementor-widget { width:100%!important;max-width:none!important;margin:0!important; }
.migrated-site .style-card-description p { font-size:16px!important;line-height:1.8!important; }
@media(max-width:900px) {
  .migrated-site .design-styles .style-card { grid-template-columns:52px minmax(0,1fr)!important;gap:16px 24px!important; }
  .style-card-description { grid-column:2;padding-top:0; }
}
@media(max-width:600px) {
  .migrated-site .design-styles .style-card { grid-template-columns:44px minmax(0,1fr)!important;padding:28px 0!important;gap:18px!important; }
  .migrated-site .style-card-number { width:44px!important;min-width:44px;height:44px; }
  .migrated-site .design-styles .style-card .style-card-number p { font-size:21px!important; }
  .migrated-site .style-card-heading { padding-top:5px; }
  .migrated-site .style-card-heading :is(h3,h4) { font-size:24px!important; }
  .style-card-description { grid-column:1/-1; }
}
.migrated-site .design-process .design-card-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important;align-items:stretch; }
.migrated-site .design-process .process-step-card { display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:24px!important;padding:32px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;min-width:0; }
.process-step-meta { display:flex;align-items:center;gap:16px;padding-bottom:22px;border-bottom:1px solid var(--line); }
.migrated-site .process-step-number { display:flex;align-items:center;justify-content:center;flex:0 0 52px;width:52px!important;min-width:52px;height:52px;margin:0!important;border-radius:10px;background:#faf0e9; }
.migrated-site .process-step-number p { margin:0!important;font:700 24px/1 var(--heading-font)!important;letter-spacing:-.03em!important;color:var(--accent)!important;white-space:nowrap!important; }
.migrated-site .process-step-label { width:auto!important;max-width:none!important;margin:0!important; }
.migrated-site .process-step-label .elementor-heading-title { font:600 12px/1.5 var(--body-font)!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:var(--body)!important;white-space:nowrap!important;writing-mode:horizontal-tb!important; }
.process-step-copy { display:flex;flex-direction:column;gap:16px;min-width:0; }
.migrated-site .process-step-copy>.elementor-widget { width:100%!important;max-width:none!important;margin:0!important; }
.migrated-site .process-step-copy h3 { margin:0!important;font-size:26px!important;line-height:1.25!important; }
.migrated-site .process-step-copy p { font-size:16px!important;line-height:1.8!important; }
@media(max-width:760px) {
  .migrated-site .design-process .design-card-grid { grid-template-columns:minmax(0,1fr)!important;gap:18px!important; }
  .migrated-site .design-process .process-step-card { padding:26px!important;gap:20px!important; }
  .process-step-meta { padding-bottom:18px; }
}
.migrated-site .design-cost .design-card:first-child { background:var(--forest)!important;border-color:var(--forest)!important; }
.migrated-site .design-cost .design-card:first-child :is(h3,p,a) { color:#fff!important; }
.migrated-site .ratio-box { border:0!important;border-radius:9px!important;overflow:hidden;min-height:280px; }
.migrated-site .populated-gallery-tile .elementor-heading-title { color:#fff!important; }
.migrated-site .ratio-box:has(.elementor-heading-title) { display:flex!important;flex-direction:column!important;justify-content:flex-end!important;align-items:flex-start!important;gap:8px!important;padding:28px!important;aspect-ratio:4/3;isolation:isolate; }
.migrated-site .ratio-box:has(.elementor-heading-title)::before { content:''!important;display:block!important;position:absolute!important;inset:0!important;z-index:0!important;opacity:1!important;background:linear-gradient(180deg,rgba(12,20,16,.12) 0%,rgba(12,20,16,.3) 35%,rgba(12,20,16,.86) 100%)!important;pointer-events:none; }
.migrated-site .ratio-box:has(.elementor-heading-title)::after { display:none!important; }
.migrated-site .ratio-box>.elementor-widget-heading { position:relative!important;z-index:1!important;width:100%!important;max-width:none!important;margin:0!important;text-align:left!important;pointer-events:none; }
.migrated-site .ratio-box .elementor-heading-title { color:#fff!important;margin:0!important;text-align:left!important;text-shadow:0 1px 4px #0004; }
.migrated-site .ratio-box span.elementor-heading-title { font:600 11px/1.5 var(--body-font)!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:#f2f4f1!important; }
.migrated-site .ratio-box h5.elementor-heading-title { font-size:22px!important;line-height:1.25!important;min-height:2.5em;letter-spacing:-.025em!important;text-wrap:pretty; }
.migrated-site .ratio-box>.gallery-tile-link { z-index:3!important; }
@media(max-width:600px) {
  .migrated-site .ratio-box:has(.elementor-heading-title) { padding:24px!important; }
  .migrated-site .ratio-box h5.elementor-heading-title { font-size:21px!important; }
}
.migrated-site .design-projects .e-grid { gap:22px!important; }
.migrated-site .design-areas .e-grid>.e-con { background:#fff!important;border:1px solid var(--line)!important;border-radius:6px!important;--padding-top:18px!important;--padding-bottom:18px!important; }
.migrated-site .design-areas iframe { border-radius:9px; }
.migrated-site .design-cta { background:#fff!important;color:var(--ink)!important;text-align:left!important; }
.migrated-site .design-cta>.e-con-inner { display:grid!important;grid-template-columns:minmax(0,1fr) 240px!important;align-items:center!important;gap:60px!important;text-align:left!important; }
.cta-copy { display:flex;flex-direction:column;gap:22px;min-width:0; }
.migrated-site .cta-copy :is(.elementor-widget-heading,.elementor-widget-text-editor) { width:100%!important;max-width:none!important;text-align:left!important; }
.migrated-site .design-cta :is(h2,h3) { color:var(--ink)!important;background:transparent!important; }
.migrated-site .design-cta h2 { font-size:clamp(32px,3.5vw,48px)!important; }
.migrated-site .design-cta p { color:var(--body)!important;background:transparent!important;max-width:none;font-size:16px!important; }
.migrated-site .design-cta .licensed-label,.migrated-site .design-cta .licensed-label :is(p,span) { color:var(--accent)!important;background:transparent!important; }
.migrated-site .design-cta .licensed-label::before { background:var(--accent)!important; }
.cta-actions { display:flex;flex-direction:column;gap:14px;min-width:0; }
.migrated-site .cta-actions>.elementor-widget { width:100%!important;max-width:none!important;margin:0!important; }
.migrated-site .design-cta .elementor-button { display:block;margin:0!important;padding:18px 24px!important;background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important;text-align:center!important; }
.migrated-site .design-cta .elementor-button span { color:inherit!important;background:transparent!important; }
.migrated-site .design-cta .elementor-button:hover { background:var(--accent-hover)!important; }
.migrated-site .design-cta .elementor-button[href*="gallery"] { background:#fff!important;color:var(--ink)!important;border-color:var(--line)!important; }
.migrated-site .design-cta .elementor-button[href*="gallery"]:hover { background:var(--linen)!important; }
@media(max-width:900px) {
  .migrated-site .design-cta>.e-con-inner { grid-template-columns:minmax(0,1fr)!important;gap:28px!important; }
  .cta-actions { flex-direction:row;flex-wrap:wrap; }
  .migrated-site .cta-actions>.elementor-widget { width:auto!important; }
}
@media(max-width:600px) {
  .cta-actions { flex-direction:column; }
  .migrated-site .cta-actions>.elementor-widget { width:100%!important; }
}
.migrated-site .e-n-accordion { display:flex!important;flex-direction:column!important;--n-accordion-title-font-size:17px;--n-accordion-border-radius:10px;gap:14px!important; }
.migrated-site :is(.e-n-accordion-item,.faq-page details) { padding:0!important;border:1px solid var(--line)!important;background:#fff!important;border-radius:10px!important;overflow:hidden;transition:border-color .2s,box-shadow .2s; }
.migrated-site :is(.e-n-accordion-item,.faq-page details):hover { border-color:#bcc6bf!important; }
.migrated-site :is(.e-n-accordion-item,.faq-page details)[open] { border-color:#d3b6a5!important;box-shadow:0 6px 20px #252f2b05; }
.migrated-site :is(.e-n-accordion-item-title,.faq-page summary) { display:grid!important;grid-template-columns:minmax(0,1fr) 34px!important;align-items:center!important;gap:24px!important;min-height:82px;padding:22px 28px!important;margin:0!important;background:#fff!important;color:var(--ink)!important;border:0!important;list-style:none!important;cursor:pointer; }
.migrated-site :is(.e-n-accordion-item-title,.faq-page summary)::-webkit-details-marker { display:none; }
.migrated-site :is(.e-n-accordion-item-title,.faq-page summary)::after { content:'';display:block;width:34px;height:34px;border-radius:50%;background:linear-gradient(var(--ink),var(--ink)) center/12px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1.5px 12px no-repeat,var(--linen); }
.migrated-site :is(.e-n-accordion-item,.faq-page details)[open]>summary::after { background:linear-gradient(var(--accent),var(--accent)) center/12px 1.5px no-repeat,#faf0e9; }
.migrated-site .e-n-accordion-item-title-header { min-width:0; }
.migrated-site .e-n-accordion-item-title-text,.migrated-site .faq-page summary { font:600 17px/1.6 var(--body-font)!important;color:var(--ink)!important;margin:0!important;letter-spacing:-.01em!important; }
.migrated-site .e-n-accordion-item>div { padding:0 28px 28px!important;background:#fff!important;border:0!important; }
.migrated-site .e-n-accordion-item>div>.elementor-widget { width:100%!important;max-width:none!important; }
.migrated-site .e-n-accordion-item :is(.faq-item,.faq-answer) { border:0!important;background:transparent!important;padding:0!important;margin:0!important;box-shadow:none!important; }
.migrated-site .e-n-accordion-item[open] .faq-answer { display:block!important;max-height:none!important;opacity:1!important; }
.migrated-site .e-n-accordion-item p,.migrated-site .faq-page details p { font-size:16px!important;line-height:1.8!important; }
.migrated-site .e-n-accordion-item-title-icon { display:none!important; }
.migrated-site .entries { display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:32px!important; }
.migrated-site .entry-card { --card-inner-spacing:0px;--card-spacing:0px;background:#fff!important;border:1px solid var(--line)!important;border-radius:12px!important;overflow:hidden;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;gap:0!important;padding:0!important;margin:0!important;height:100%;box-shadow:0 3px 16px #252f2b04;transition:box-shadow .2s,transform .2s,border-color .2s; }
.migrated-site .entry-card:hover,.migrated-site .entry-card:focus-within { border-color:#ccd3cc!important;box-shadow:0 12px 32px #283f3510;transform:translateY(-3px); }
.migrated-site .entry-card .ct-media-container { position:relative;display:block!important;width:100%;aspect-ratio:16/10!important;flex-shrink:0;overflow:hidden;margin:0!important;padding:0!important;line-height:0;border-bottom:1px solid var(--line); }
.migrated-site .entry-card img { position:absolute!important;inset:0;display:block;width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important;margin:0!important;transition:transform .35s; }
.migrated-site .entry-card:hover img { transform:scale(1.035); }
.migrated-site .entry-card .entry-title { display:flex;flex:1;padding:24px 24px 26px!important;margin:0!important;font-size:22px!important;line-height:1.35!important;letter-spacing:-.025em!important; }
.migrated-site .entry-card .entry-title>a { display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:24px;flex:1;min-width:0;font:inherit!important;color:var(--ink)!important;text-decoration:none; }
.migrated-site .entry-card .entry-title>a::after { content:'';display:block;flex-shrink:0;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:#f7f8f7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23ad542e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M7 7h10v10'/%3E%3C/svg%3E") center no-repeat;transition:background-color .2s,border-color .2s; }
.migrated-site .entry-card:hover .entry-title>a::after,.migrated-site .entry-card:focus-within .entry-title>a::after { background-color:#faf0e9;border-color:#e6cdbd; }
.archive-card-body { display:flex;flex-direction:column;flex:1;gap:16px;min-width:0;padding:24px; }
.migrated-site .archive-article-card .entry-title { display:block;flex:none;min-height:4.05em;margin:0!important;padding:0!important; }
.migrated-site .archive-article-card .entry-title>a { display:block; }
.migrated-site .archive-article-card .entry-title>a::after { display:none; }
.migrated-site .archive-card-body>.entry-meta { display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px 12px;margin:0!important;padding:0!important;list-style:none; }
.migrated-site .archive-card-body .entry-meta :is(li,a,time,span) { font:400 12px/1.6 var(--body-font)!important;color:var(--body)!important; }
.migrated-site .archive-card-body .meta-categories a { display:inline-block;padding:4px 8px;border-radius:4px;background:var(--linen);color:var(--accent)!important;font-weight:500!important;text-decoration:none; }
.migrated-site .archive-card-body .entry-excerpt { display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;margin:0!important; }
.migrated-site .archive-card-body .entry-excerpt p { margin:0!important; }
.migrated-site .archive-card-body>.entry-meta:last-child { margin-top:auto!important;padding-top:16px!important;border-top:1px solid var(--line); }
.migrated-site .category-archive-heading h1 { font-size:clamp(34px,4vw,52px)!important;line-height:1.15!important; }
@media(max-width:600px) {
  .archive-card-body { padding:22px; }
  .migrated-site .archive-article-card .entry-title { min-height:0; }
}
.migrated-site .ct-pagination { justify-content:center!important;gap:10px!important;margin-top:48px!important; }
.migrated-site .ct-pagination :is(a,span) { border:1px solid var(--line);border-radius:5px;color:var(--ink);font:500 13px/1.5 var(--body-font);padding:12px 17px; }
.migrated-site .ct-pagination a:hover,.migrated-site .ct-pagination .current { background:var(--forest);color:#fff;border-color:var(--forest); }
.archive-heading,.project-gallery,.contact-page,.faq-page,.not-found { padding:80px 40px!important; }
.archive-heading { max-width:var(--site-frame-width);padding-bottom:30px!important; }
.archive-heading h1,.project-gallery>h1,.contact-page h1,.faq-page h1 { color:var(--ink)!important;margin:18px 0 24px!important; }
.archive-heading p { max-width:650px; }
.migrated-site>.ct-container,.migrated-site>div>.ct-container { max-width:var(--site-frame-width)!important;padding:40px var(--site-gutter) 88px!important; }
.migrated-site[data-page-type=post] .hero-section[data-type=type-2] { min-height:380px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:56px;align-items:center;background:#fff!important;max-width:1280px;margin:auto;padding:64px 40px;border-bottom:1px solid var(--line); }
.migrated-site[data-page-type=post] .hero-section[data-type=type-2]::after { display:none!important; }
.migrated-site[data-page-type=post] .hero-section[data-type=type-2]>figure { position:relative!important;inset:auto!important;grid-column:2;grid-row:1;width:100%!important;height:100%!important;margin:0;overflow:hidden;border-radius:10px;z-index:auto; }
.migrated-site[data-page-type=post] .hero-section[data-type=type-2]>figure .ct-media-container { width:100%;height:100%;min-height:300px; }
.migrated-site[data-page-type=post] .hero-section[data-type=type-2]>figure img { position:absolute;width:100%;height:100%;inset:0;object-fit:cover; }
.migrated-site[data-page-type=post] .hero-section[data-type=type-2] .entry-header { position:relative;grid-column:1;grid-row:1;background:transparent!important;max-width:none!important;width:100%;padding:0!important;border-radius:0;text-align:left!important; }
.migrated-site[data-page-type=post] .hero-section[data-type=type-2] .page-title { color:var(--ink)!important;font-size:clamp(34px,3.5vw,50px)!important;max-width:900px;margin:0 0 24px!important; }
.migrated-site[data-page-type=post] .entry-meta,.migrated-site[data-page-type=post] .entry-meta :is(li,a,time,span) { color:var(--body)!important;font-size:13px!important; }
.migrated-site[data-page-type=post] .entry-meta { justify-content:flex-start!important; }
.migrated-site[data-page-type=post] :is(.ct-container,.ct-container-full) { width:100%!important;max-width:var(--site-frame-width)!important;margin-inline:auto!important;padding:64px var(--site-gutter) 88px!important; }
.migrated-site[data-page-type=post] .ct-container-full>article { width:100%!important;max-width:none!important; }
.migrated-site[data-page-type=post] .entry-content>* { max-width:100%!important; }
.migrated-site[data-page-type=post] .entry-content>h2 { font-size:32px!important;margin:52px 0 22px!important; }
.migrated-site[data-page-type=post] .entry-content>h3 { font-size:23px!important;margin:34px 0 16px!important; }
.migrated-site[data-page-type=post] .entry-content :is(p,li) { font-size:16px!important;line-height:1.85!important; }
.migrated-site[data-page-type=post] .entry-content>p { margin-bottom:24px!important; }
.migrated-site[data-page-type=post] .entry-content ul { padding-left:24px;margin:24px 0; }
.migrated-site[data-page-type=post] .entry-content li { padding-left:6px;margin-bottom:10px; }
.migrated-site .table-scroll { border:1px solid var(--line);border-radius:8px;margin:28px 0; }
.migrated-site table { margin:0!important;border:0!important; }
.migrated-site :is(td,th) { padding:16px 20px!important;border-color:var(--line)!important;font-size:14px!important; }
.migrated-site th { background:var(--linen);font-weight:600; }
.migrated-site tbody tr:nth-child(even) { background:#f7f5ef; }
.migrated-site .author-box { border:1px solid var(--line)!important;background:var(--linen)!important;border-radius:8px;padding:28px!important;margin-top:48px; }
.migrated-site .contact-page { gap:80px!important;align-items:start;max-width:var(--site-frame-width)!important; }
.migrated-site .contact-page>div:first-child { padding-top:25px; }
.migrated-site .quote-panel { background:#fff;border:1px solid var(--line);border-radius:12px;padding:32px;box-shadow:0 16px 50px #283f3506; }
.migrated-site .quote-panel h2 { font-size:26px!important;margin:0 0 26px!important; }
.migrated-site .quote-panel p { font-size:13px!important; }
.migrated-site .contact-call { color:var(--accent)!important;font-family:var(--body-font);font-size:22px;font-weight:600;text-decoration:none; }
.migrated-site .faq-page { max-width:var(--site-frame-width); }
.migrated-site .faq-page details { background:#fff;border:1px solid var(--line);border-radius:8px;margin:14px 0;padding:24px 28px; }
.migrated-site .faq-page details:first-of-type { margin-top:40px; }
.migrated-site .faq-page summary { font:600 17px/1.6 var(--body-font);color:var(--ink); }
.migrated-site .faq-page details p { font-size:16px!important;margin:0!important;padding:0 28px 28px; }
.project-gallery { max-width:var(--site-frame-width); }
.gallery-filters { margin:36px 0;gap:10px; }
.gallery-filters button { font:500 13px/1.5 var(--body-font);padding:12px 24px;border-color:var(--line);background:#fff;border-radius:5px; }
.gallery-filters button[aria-pressed=true] { background:var(--forest);border-color:var(--forest); }
.gallery-grid { gap:32px; }
.gallery-grid figure { border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff; }
.gallery-grid img { aspect-ratio:4/3; }
.gallery-grid figcaption { padding:23px 24px; }
.gallery-grid figcaption span { color:var(--accent);font:600 10px/1.5 var(--body-font);letter-spacing:.14em; }
.migrated-site .gallery-grid figcaption h2 { font-size:22px!important;margin-top:8px!important; }
.gallery-cta { background:var(--linen);padding:40px;border:0;border-radius:9px;margin-top:56px; }
.migrated-site .gallery-cta h2 { font-size:32px!important; }
.site-footer { background:#fff!important;border-top:1px solid var(--line);padding:72px 40px 0!important;color:var(--body); }
.footer-grid { max-width:var(--site-content-width);grid-template-columns:1.6fr .8fr 1fr 1.2fr;gap:56px; }
.site-footer img { width:235px;background:var(--paper);border-radius:0;padding:0; }
.site-footer h2 { font:600 16px/1.5 var(--body-font)!important;color:var(--ink)!important;margin-bottom:24px!important;letter-spacing:0; }
.site-footer p,.site-footer a,.site-footer address { color:var(--body)!important;font:400 15px/1.8 var(--body-font)!important; }
.site-footer a:hover { color:var(--accent)!important; }
.footer-bottom { max-width:var(--site-content-width);border-color:var(--line);color:#6b746e;font-family:var(--body-font);font-size:13px;padding:26px 0;margin-top:56px; }
/* One shared frame for navigation, page sections, archives, and standalone pages. */
.header-inner,.site-footer { padding-inline:var(--site-gutter)!important; }
.archive-heading,.project-gallery,.contact-page,.faq-page,.not-found { width:100%;max-width:var(--site-frame-width)!important;margin-inline:auto!important;padding-inline:var(--site-gutter)!important; }
.migrated-site[data-page-type=post] .hero-section[data-type=type-2] { width:100%;max-width:var(--site-frame-width);padding-inline:var(--site-gutter)!important; }
.migrated-site[data-page-type=post] .entry-content { width:100%!important;max-width:none!important; }
.migrated-site[data-page-type=post] .entry-content>:is(p,h2,h3,h4,ul,ol,blockquote) { width:100%!important;margin-inline:0!important; }
@media(min-width:1700px) { .migrated-site .design-hero { --padding-top:88px!important;--padding-bottom:88px!important; } }
@media(max-width:1100px) {
  .header-inner { padding:20px var(--site-gutter);gap:22px; }.brand { flex-basis:190px; }.brand img { width:190px; }.primary-nav>ul { gap:17px; }.header-phone { padding:12px 15px;font-size:11px; }
  .migrated-site .design-hero>.e-con-inner { gap:36px!important; }.design-hero-photo { min-height:520px; }.migrated-site .design-card-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .footer-grid { gap:30px; }
}
@media(max-width:900px) {
  :root { --site-gutter:28px; }
  .nav-service-group { display:block;width:100%; }
  .nav-service-group>a { display:flex;align-items:center;min-height:44px;padding-right:54px; }
  .nav-service-group>.nav-dropdown>summary { position:absolute;right:0;top:0;width:44px;height:44px; }
  .header-inner { gap:16px; }.brand { flex:1; }.brand img { width:215px; }.primary-nav>ul { gap:0; }.primary-nav a,.primary-nav summary { font-size:15px; }.nav-dropdown>ul { background:transparent;border:0;padding:0 0 0 10px;margin-top:12px; }
  .migrated-site .design-section { --padding-top:64px!important;--padding-bottom:64px!important;--padding-left:28px!important;--padding-right:28px!important; }
  .migrated-site .design-hero>.e-con-inner { grid-template-columns:minmax(0,1fr)!important;gap:36px!important; }.design-hero-photo { min-height:420px;max-height:540px;aspect-ratio:4/3;border-radius:12px; }
  .migrated-site .design-hero-copy>.e-con { max-width:720px!important; }.migrated-site .design-hero-copy h1 { max-width:700px; }
  .migrated-site .entries { grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important; }
  .archive-heading,.project-gallery,.contact-page,.faq-page,.not-found { padding:64px 28px!important; }.migrated-site .contact-page { gap:36px!important; }
  .footer-grid { grid-template-columns:1fr 1fr;gap:40px; }.site-footer { padding:60px 28px 0!important; }.gallery-grid { gap:24px; }
}
@media(max-width:600px) {
  :root { --site-gutter:22px; }
  .header-inner { min-height:0;padding:18px 22px;gap:14px; }.brand img { width:190px; }.header-phone { padding:11px 15px;font-size:12px; }.menu-toggle { font-size:12px;padding:9px 12px; }
  .migrated-site :is(p,li) { font-size:16px!important;line-height:1.8!important; }.migrated-site h1 { font-size:44px!important;letter-spacing:-.04em!important; }.migrated-site h2 { font-size:34px!important; }.migrated-site h3 { font-size:25px!important; }
  .migrated-site .design-section { --padding-top:50px!important;--padding-bottom:50px!important;--padding-left:22px!important;--padding-right:22px!important; }
  .migrated-site .design-hero { --padding-top:42px!important;--padding-bottom:42px!important; }.migrated-site .design-hero>.e-con-inner { gap:30px!important; }.design-hero-photo { min-height:320px;aspect-ratio:1.1;border-radius:10px; }
  .migrated-site .design-hero-copy>.e-con { --gap:22px!important; }.migrated-site .design-hero-copy p { font-size:16px!important;line-height:1.8!important; }.migrated-site .design-hero-copy h3 { font-size:12px!important; }
  .migrated-site .design-card-grid { grid-template-columns:1fr!important;gap:16px!important; }.migrated-site .design-card { --padding-top:26px!important;--padding-bottom:26px!important;--padding-left:24px!important;--padding-right:24px!important; }
  .migrated-site .design-cta h2 { font-size:33px!important; }.migrated-site .field-form-box { padding:20px 10px!important; }.migrated-site .elementor-button { padding:15px 18px!important;font-size:14px!important; }
  .migrated-site .entries { grid-template-columns:1fr!important;gap:24px!important; }.migrated-site .entry-card .entry-title { font-size:22px!important;padding:22px!important; }
  .archive-heading,.project-gallery,.contact-page,.faq-page,.not-found { padding:48px 22px!important; }.archive-heading { padding-bottom:16px!important; }.migrated-site>.ct-container,.migrated-site>div>.ct-container { padding:24px 22px 50px!important; }
  .migrated-site[data-page-type=post] .hero-section[data-type=type-2] { min-height:320px;grid-template-columns:minmax(0,1fr);padding:44px 22px;gap:28px; }.migrated-site[data-page-type=post] .hero-section[data-type=type-2]>figure { grid-row:2;grid-column:1;min-height:250px; }.migrated-site[data-page-type=post] .hero-section[data-type=type-2] .entry-header { padding:0!important; }.migrated-site[data-page-type=post] .hero-section[data-type=type-2] .page-title { font-size:38px!important; }.migrated-site[data-page-type=post] .ct-container { padding:40px 22px 55px!important; }
  .migrated-site[data-page-type=post] .entry-content>h2 { font-size:30px!important;margin-top:38px!important; }.migrated-site[data-page-type=post] .entry-content :is(p,li) { font-size:16px!important; }
  .migrated-site .faq-page details { padding:21px 22px; }.migrated-site .e-n-accordion-item-title { padding:20px!important; }.migrated-site .e-n-accordion-item-title-text { font-size:16px!important; }.migrated-site .e-n-accordion-item>div { padding:0 20px 20px!important; }
  .migrated-site .faq-page summary { padding:20px!important;font-size:16px!important; }.migrated-site .faq-page details p { padding:0 20px 20px; }
  .migrated-site .contact-page>div:first-child { padding:0; }.migrated-site .quote-panel { padding:24px 18px; }.migrated-site .quote-panel h2 { font-size:24px!important; }.gallery-grid { gap:22px; }.gallery-grid figcaption { padding:21px; }.gallery-cta { padding:28px 24px; }.migrated-site .gallery-cta h2 { font-size:28px!important; }
  .site-footer { padding:48px 22px 0!important; }.footer-grid { grid-template-columns:1fr 1fr;gap:32px 22px; }.footer-grid>div:first-child,.footer-grid>div:last-child { grid-column:1/-1; }.site-footer img { width:220px; }.footer-bottom { margin-top:36px; }
}
