/* DreamCode AE 1.2 — disciplined editorial redesign.
   Scoped to DreamCode AE widgets; existing content and Elementor control IDs remain unchanged. */
.dc-ae-section{
  --dc-ae-dark:#211b17;
  --dc-ae-cream:#f6f1e9;
  --dc-ae-sand:#e9e1d6;
  --dc-ae-line:#bdb0a0;
  --dc-ae-accent:#99734d;
  --dc-ae-ink-soft:#706256;
  padding-block:clamp(78px,8.3vw,140px);
  background-color:var(--dc-ae-cream);
  color:var(--dc-ae-dark);
  font:400 clamp(15px,1.04vw,16px)/1.75 Arial,Helvetica,sans-serif;
  scroll-margin-top:90px;
}
.dc-ae-section .dc-ae-inner{max-width:1380px;width:calc(100% - 2 * clamp(24px,5vw,88px));}
.dc-ae-section .dc-ae-heading{
  font-family:'Iowan Old Style','Palatino Linotype','Book Antiqua',Georgia,serif;
  font-size:clamp(43px,4.85vw,75px);
  font-weight:400;
  line-height:1.045;
  letter-spacing:-.052em;
  text-wrap:balance;
  text-transform:uppercase;
}
.dc-ae-section .dc-ae-kicker,
.dc-ae-section .dc-ae-eyebrow{
  font:600 11px/1.5 Arial,Helvetica,sans-serif;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.dc-ae-section .dc-ae-kicker::before{content:'';display:inline-block;width:28px;height:1px;background:currentColor;vertical-align:middle;margin-right:12px;opacity:.7;}
.dc-ae-section .dc-ae-body{font-size:clamp(15px,1.13vw,17px);line-height:1.77;max-width:64ch;}
.dc-ae-section .dc-ae-body p + p{margin-top:1.45em;}
.dc-ae-section .dc-ae-columns{column-gap:clamp(28px,5.5vw,104px);row-gap:34px;}
.dc-ae-section .dc-ae-fineprint{font-size:12px;line-height:1.65;letter-spacing:.015em;opacity:.7;margin-top:28px;}
.dc-ae-section .dc-ae-item-title{
  font:400 clamp(23px,2.3vw,34px)/1.19 'Iowan Old Style','Palatino Linotype',Georgia,serif;
  letter-spacing:-.028em;
}
.dc-ae-section .dc-ae-item-desc{font:400 15px/1.75 Arial,Helvetica,sans-serif;color:inherit;opacity:.87;}
.dc-ae-section .dc-ae-row{border-color:color-mix(in srgb,var(--dc-ae-line) 75%,transparent);}
.dc-ae-section .dc-ae-picture{background-color:color-mix(in srgb,var(--dc-ae-dark) 8%,transparent);}
.dc-ae-section .dc-ae-picture img{transition:transform .75s cubic-bezier(.16,1,.3,1);}
.dc-ae-section .dc-ae-picture:hover img{transform:scale(1.025);}
.dc-ae-section .dc-ae-actions{gap:14px;}
.dc-ae-section :is(a.dc-ae-btn,span.dc-ae-btn){
  border-radius:2px;
  min-height:52px;
  padding:13px 24px;
  font:600 12px/1.4 Arial,Helvetica,sans-serif;
  letter-spacing:.07em;
  text-transform:uppercase;
  background-image:none;
  box-shadow:none;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.dc-ae-section :is(a.dc-ae-btn--primary,span.dc-ae-btn--primary){background-color:var(--dc-ae-dark);border-color:var(--dc-ae-dark);color:var(--dc-ae-cream);}
.dc-ae-section :is(a.dc-ae-btn--outline,span.dc-ae-btn--outline){background-color:transparent;border-color:currentColor;color:inherit;}
.dc-ae-section a.dc-ae-btn:hover{transform:translateY(-2px);}
.dc-ae-section a.dc-ae-btn--primary:hover,.dc-ae-section a.dc-ae-btn--primary:focus-visible{background-color:var(--dc-ae-accent);border-color:var(--dc-ae-accent);color:#fff;}
.dc-ae-section a.dc-ae-btn--outline:hover,.dc-ae-section a.dc-ae-btn--outline:focus-visible{background-color:color-mix(in srgb,var(--dc-ae-accent) 14%,transparent);border-color:currentColor;}
.dc-ae-section .dc-ae-text-link{
  display:inline-flex;align-items:center;gap:12px;
  font:600 12px/1.55 Arial,Helvetica,sans-serif;
  letter-spacing:.045em;
  margin-top:28px;
  text-decoration:none;
  padding-bottom:7px;
  border-bottom:1px solid currentColor;
}
.dc-ae-section a.dc-ae-text-link:hover{color:var(--dc-ae-accent);opacity:1;}
.dc-ae-section a.dc-ae-text-link:focus-visible{outline:2px solid currentColor;outline-offset:4px;}
/* Hero: one confident display statement, a cinematic image and a carefully sized sidebar. */
.dc-ae-section.dc-ae-s01{background:#221b17;color:#f5eee4;padding-top:clamp(68px,7vw,115px);padding-bottom:clamp(65px,7.6vw,120px);}
.dc-ae-s01 .dc-ae-heading{max-width:1120px;font-size:clamp(52px,6.4vw,106px);line-height:.99;letter-spacing:-.057em;margin-top:35px;}
.dc-ae-s01 .dc-ae-kicker{color:#dcc3a4;}
.dc-ae-s01 .dc-ae-actions{margin-top:38px;}
.dc-ae-s01 .dc-ae-hero-grid{grid-template-columns:minmax(0,1.83fr) minmax(275px,.7fr);align-items:end;margin-top:clamp(44px,6vw,96px);gap:clamp(24px,4vw,64px);}
.dc-ae-s01 .dc-ae-main-image{aspect-ratio:1.72;}
.dc-ae-s01 .dc-ae-hero-copy{padding:0 0 15px 22px;border-left:1px solid rgba(243,229,213,.34);}
.dc-ae-s01 .dc-ae-eyebrow{max-width:none;margin-bottom:18px!important;color:#dcc3a4;}
.dc-ae-s01 .dc-ae-hero-copy .dc-ae-body{font-size:15px;line-height:1.8;}
.dc-ae-s01 :is(a.dc-ae-btn--primary,span.dc-ae-btn--primary){background:#eadbc9;border-color:#eadbc9;color:#211b17;}
.dc-ae-s01 a.dc-ae-btn--primary:hover{background:#fff;border-color:#fff;color:#211b17;}
/* Programs: numbered editorial index, not repetitive floating cards. */
.dc-ae-section.dc-ae-s02{background:#e9e1d6;padding-block:clamp(75px,8vw,120px);}
.dc-ae-s02 .dc-ae-split-intro{grid-template-columns:minmax(0,.84fr) minmax(0,1.32fr);gap:clamp(40px,8vw,136px);}
.dc-ae-s02 .dc-ae-split-heading .dc-ae-heading{max-width:540px;}
.dc-ae-s02 .dc-ae-rows{counter-reset:program;}
.dc-ae-s02 .dc-ae-number-row{grid-template-columns:80px minmax(0,1fr);gap:18px;padding:36px 18px 38px 0;transition:padding .25s ease,background-color .25s ease;}
.dc-ae-s02 .dc-ae-row:first-child{padding-top:36px;}
.dc-ae-s02 .dc-ae-row:hover{background:rgba(255,255,255,.38);padding-left:18px;}
.dc-ae-s02 .dc-ae-row-index{font:400 17px/1.6 Georgia,serif;color:var(--dc-ae-accent);}
.dc-ae-s02 .dc-ae-item-title{font-size:clamp(26px,2.6vw,40px);}
.dc-ae-s02 .dc-ae-item-desc{max-width:58ch;margin-top:15px;}
/* Specifications: white space, architectural diagram image, readable rows. */
.dc-ae-section.dc-ae-s03{background:#f6f1e9;padding-block:clamp(82px,9vw,144px);}
.dc-ae-s03 .dc-ae-heading{max-width:1000px;margin-bottom:50px;}
.dc-ae-s03 .dc-ae-spec-columns{grid-template-columns:minmax(0,.9fr) minmax(0,1.16fr);gap:clamp(40px,6vw,100px);align-items:start;}
.dc-ae-s03 .dc-ae-spec-columns .dc-ae-main-image{margin-top:0;aspect-ratio:1.35;}
.dc-ae-s03 .dc-ae-spec-table{background:transparent;margin-top:34px;border-top:1px solid var(--dc-ae-line);}
.dc-ae-s03 .dc-ae-spec-row{grid-template-columns:minmax(0,.93fr) minmax(0,1fr);gap:22px;min-height:70px;padding:17px 0;border-color:#d3c8bc;font-size:14px;}
.dc-ae-s03 .dc-ae-spec-row span:first-child{font-weight:600;}
.dc-ae-s03 .dc-ae-spec-copy .dc-ae-body{font-size:16px;}
/* Equipment: service-oriented quiet cards with a slender number and zero shadows. */
.dc-ae-section.dc-ae-s04{background:#e7ddd0;padding-block:clamp(78px,8vw,130px);}
.dc-ae-s04 .dc-ae-equip-intro{grid-template-columns:minmax(0,1.08fr) minmax(0,.85fr);gap:clamp(30px,8vw,125px);margin-bottom:56px;}
.dc-ae-s04 .dc-ae-heading{max-width:750px;}
.dc-ae-s04 .dc-ae-equip-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;counter-reset:feature;}
.dc-ae-s04 .dc-ae-equip-items .dc-ae-row{counter-increment:feature;border:1px solid rgba(68,54,42,.27);background:rgba(255,255,255,.23);padding:clamp(25px,3vw,48px);min-height:260px;transition:background-color .25s ease,border-color .25s ease;}
.dc-ae-s04 .dc-ae-equip-items .dc-ae-row::before{content:'0' counter(feature);display:block;margin-bottom:42px;font:600 12px Arial,sans-serif;letter-spacing:.12em;color:#8b6546;}
.dc-ae-s04 .dc-ae-equip-items .dc-ae-row:hover{background:rgba(255,255,255,.57);border-color:#957b61;}
.dc-ae-s04 .dc-ae-equip-items .dc-ae-item-title{font:400 clamp(26px,2.3vw,36px)/1.2 Georgia,serif;letter-spacing:-.025em;}
.dc-ae-s04 .dc-ae-equip-items .dc-ae-item-desc{max-width:55ch;}
/* Gallery: actual media, image-by-image links to Elementor's native group lightbox. */
.dc-ae-section.dc-ae-s05{background:#211b17;color:#f6eee4;padding-block:clamp(82px,9vw,145px);}
.dc-ae-s05 .dc-ae-gallery-head{grid-template-columns:minmax(0,1.15fr) minmax(250px,.6fr);align-items:end;gap:36px;}
.dc-ae-s05 .dc-ae-gallery-head .dc-ae-heading{max-width:850px;}
.dc-ae-gallery-tools{display:flex;flex-direction:column;align-items:flex-start;gap:20px;}
.dc-ae-s05 .dc-ae-gallery-actions{display:flex;flex-wrap:wrap;gap:12px;}
.dc-ae-s05 :is(a.dc-ae-btn--primary,span.dc-ae-btn--primary){background:#eadbc9;border-color:#eadbc9;color:#211b17;}
.dc-ae-s05 a.dc-ae-btn--primary:hover{background:#fff;border-color:#fff;color:#211b17;}
.dc-ae-s05 .dc-ae-gallery{gap:clamp(12px,1.65vw,24px);margin-top:50px;min-width:0;}
.dc-ae-section .dc-ae-gallery-item:nth-child(n){aspect-ratio:auto;min-width:0;overflow:visible;}
.dc-ae-section .dc-ae-gallery--editorial{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));}
.dc-ae-section .dc-ae-gallery--editorial .dc-ae-gallery-item{grid-column:span 4;}
.dc-ae-section .dc-ae-gallery--editorial .dc-ae-gallery-item:nth-child(1){grid-column:span 7;}
.dc-ae-section .dc-ae-gallery--editorial .dc-ae-gallery-item:nth-child(2){grid-column:span 5;}
.dc-ae-section .dc-ae-gallery--editorial .dc-ae-gallery-item:nth-child(3){grid-column:span 12;}
.dc-ae-gallery-trigger{position:relative;display:block;min-width:0;max-width:100%;overflow:hidden;color:inherit;text-decoration:none;aspect-ratio:1.34;cursor:zoom-in;background:#393027;}
.dc-ae-gallery-trigger--static{cursor:default;}
.dc-ae-section .dc-ae-gallery--editorial .dc-ae-gallery-item:nth-child(1) .dc-ae-gallery-trigger{aspect-ratio:1.52;}
.dc-ae-section .dc-ae-gallery--editorial .dc-ae-gallery-item:nth-child(2) .dc-ae-gallery-trigger{aspect-ratio:1.08;}
.dc-ae-section .dc-ae-gallery--editorial .dc-ae-gallery-item:nth-child(3) .dc-ae-gallery-trigger{aspect-ratio:2.15;}
.dc-ae-gallery-trigger > .dc-ae-picture{width:100%;height:100%;aspect-ratio:inherit;}
.dc-ae-gallery-zoom{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:45px;height:45px;background:#f4eee7;color:#211b17;font:400 23px/1 Georgia,serif;opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease;pointer-events:none;}
.dc-ae-gallery-trigger:is(:hover,:focus-visible) .dc-ae-gallery-zoom{opacity:1;transform:translateY(0);}
.dc-ae-gallery-trigger:focus-visible{outline:2px solid #fff;outline-offset:4px;}
.dc-ae-gallery-caption{display:flex;gap:12px;justify-content:space-between;padding-top:12px;font-size:12px;line-height:1.5;letter-spacing:.02em;}
.dc-ae-gallery-caption span{font-family:Georgia,serif;opacity:.5;}
.dc-ae-carousel-controls{display:flex;align-items:center;gap:15px;}
.dc-ae-section button.dc-ae-carousel-arrow{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;flex:none;padding:0;background:transparent;color:inherit;border:1px solid currentColor;border-radius:0;font:400 21px/1 Georgia,serif;box-shadow:none;cursor:pointer;transition:background-color .2s ease,color .2s ease;}
.dc-ae-section button.dc-ae-carousel-arrow:hover:not(:disabled){background:#f2e9dc;color:#211b17;}
.dc-ae-section button.dc-ae-carousel-arrow:disabled{opacity:.34;cursor:default;}
.dc-ae-carousel-count{min-width:65px;text-align:center;font:600 12px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.07em;}
.dc-ae-section .dc-ae-gallery--carousel{display:flex;gap:clamp(14px,2vw,28px);overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:0;scrollbar-width:thin;scrollbar-color:#a18b77 transparent;touch-action:pan-x pan-y;padding-bottom:12px;}
.dc-ae-section .dc-ae-gallery--carousel > .dc-ae-gallery-item:nth-child(n){flex:0 0 var(--dc-ae-slide-width,48%);grid-column:auto;scroll-snap-align:start;}
.dc-ae-section .dc-ae-gallery--carousel .dc-ae-gallery-trigger{aspect-ratio:1.35;}
.dc-ae-section .dc-ae-gallery--carousel.dc-ae-is-dragging{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none;user-select:none;}
.dc-ae-section .dc-ae-gallery--carousel.dc-ae-is-dragging a{cursor:grabbing;}
/* Timeline + preparation: information architecture instead of generic panels. */
.dc-ae-section.dc-ae-s06{background:#f6f1e9;padding-block:clamp(80px,8vw,130px);}
.dc-ae-s06 .dc-ae-heading{max-width:1070px;margin-bottom:64px;}
.dc-ae-s06 .dc-ae-process-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,3vw,42px);}
.dc-ae-s06 .dc-ae-process-step{position:relative;border-top:1px solid #aa9988;padding-top:24px!important;}
.dc-ae-s06 .dc-ae-process-step::before{content:'';position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:#99734d;}
.dc-ae-s06 .dc-ae-step-num{font-size:15px;margin-bottom:52px;color:#99734d;}
.dc-ae-s06 .dc-ae-process-step .dc-ae-item-title{font:400 clamp(24px,2.1vw,32px)/1.21 Georgia,serif;max-width:340px;}
.dc-ae-s06 .dc-ae-process-step .dc-ae-item-desc{font-size:14px;max-width:32ch;}
.dc-ae-section.dc-ae-s07{background:#ebe3d8;padding-block:clamp(80px,8vw,130px);}
.dc-ae-s07 .dc-ae-split-intro{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:clamp(30px,7vw,108px);}
.dc-ae-s07 .dc-ae-prep-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px;}
.dc-ae-s07 .dc-ae-prep-items .dc-ae-row{position:relative;padding:20px 12px 20px 28px;border-color:#c8baaa;font-size:15px;line-height:1.55;}
.dc-ae-s07 .dc-ae-prep-items .dc-ae-row::before{content:'↗';position:absolute;left:0;color:#99734d;font-size:16px;}
.dc-ae-s07 .dc-ae-prep-note{border-left:2px solid #aa8a68;padding-left:18px;max-width:60ch;margin-top:38px!important;}
/* Pricing: restrained tonal break and generous space. */
.dc-ae-section.dc-ae-s08{background:#28221e;color:#f5eee5;padding-block:clamp(80px,8vw,120px);}
.dc-ae-s08 .dc-ae-price-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.75fr);gap:clamp(35px,8vw,140px);}
.dc-ae-s08 .dc-ae-price-grid .dc-ae-heading{max-width:850px;}
.dc-ae-s08 .dc-ae-price-grid > div:last-child{border-left:1px solid #746758;padding-left:clamp(24px,3vw,48px);}
.dc-ae-s08 .dc-ae-price-grid .dc-ae-body{font-size:16px;line-height:1.77;}
.dc-ae-s08 :is(a.dc-ae-btn--primary,span.dc-ae-btn--primary){background:#eadbc9;border-color:#eadbc9;color:#211b17;}
.dc-ae-s08 a.dc-ae-btn--primary:hover{background:#fff;border-color:#fff;color:#211b17;}
/* Native accordion: easy scanning, solid touch areas, clear expansion. */
.dc-ae-section.dc-ae-s09{background:#f6f1e9;padding-block:clamp(84px,8vw,135px);}
.dc-ae-s09 .dc-ae-faq-columns{grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr);gap:clamp(35px,8vw,130px);}
.dc-ae-s09 .dc-ae-faq-item{border-color:#c5b8a9;}
.dc-ae-s09 .dc-ae-faq-item summary{min-height:96px;padding:22px 0;gap:25px;}
.dc-ae-s09 .dc-ae-faq-item summary > span:first-child{font:400 clamp(22px,2.1vw,31px)/1.23 Georgia,serif;letter-spacing:-.025em;}
.dc-ae-s09 .dc-ae-faq-toggle{width:38px;height:38px;flex-basis:38px;border:1px solid #c4b5a3;border-radius:50%;}
.dc-ae-s09 .dc-ae-faq-toggle::before,.dc-ae-s09 .dc-ae-faq-toggle::after{width:12px;height:1px;}
.dc-ae-s09 .dc-ae-faq-item[open] summary{color:#805a39;}
.dc-ae-s09 .dc-ae-faq-item[open] .dc-ae-faq-toggle{background:#211b17;color:#fff;border-color:#211b17;}
.dc-ae-s09 .dc-ae-faq-item > .dc-ae-body{font-size:15px;line-height:1.8;max-width:65ch;margin-bottom:30px;}
.dc-ae-s09 .dc-ae-faq-item[open] > .dc-ae-body{padding:0 60px 26px 0;margin-bottom:12px;}
/* Form remains a genuine Elementor shortcode; styling never changes field semantics. */
.dc-ae-section.dc-ae-s10{background:#e9e1d6;padding-block:clamp(83px,9vw,140px);}
.dc-ae-s10 .dc-ae-form-grid{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(40px,7vw,105px);}
.dc-ae-s10 .dc-ae-form-intro .dc-ae-heading{max-width:650px;margin-bottom:34px;}
.dc-ae-s10 .dc-ae-form-intro .dc-ae-body{font-size:16px;max-width:46ch;}
.dc-ae-s10 .dc-ae-form-phone{border-color:#bba992;margin-top:50px;padding-top:28px;}
.dc-ae-s10 .dc-ae-form-phone :is(a,span){font:400 clamp(28px,3vw,42px)/1.2 Georgia,serif;letter-spacing:-.025em;}
.dc-ae-s10 .dc-ae-form-slot :is(.elementor-form,.elementor-form-fields-wrapper){gap:0;}
.dc-ae-s10 .dc-ae-form-slot .elementor-form .elementor-field-group :is(input,textarea,select){border-radius:2px;}
.dc-ae-s10 .dc-ae-form-slot .elementor-form .elementor-field-type-submit :is(button.elementor-button,button[type=submit],input[type=submit]){border-radius:2px;min-height:52px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;}
/* Map is a true proportional iframe, no fixed outside dimensions. */
.dc-ae-section.dc-ae-s11{background:#211b17;color:#f6eee4;padding-block:clamp(80px,8vw,126px);}
.dc-ae-s11 .dc-ae-location-grid{grid-template-columns:minmax(0,.86fr) minmax(0,1.12fr);gap:clamp(35px,7vw,116px);}
.dc-ae-s11 .dc-ae-location-copy .dc-ae-heading{font-size:clamp(42px,4.9vw,72px);max-width:650px;margin-bottom:30px;}
.dc-ae-s11 .dc-ae-address{font-size:15px;line-height:1.75;}
.dc-ae-s11 .dc-ae-location-phone{font:400 clamp(30px,3vw,43px) Georgia,serif;}
.dc-ae-s11 .dc-ae-map{aspect-ratio:1.2;min-height:400px;border:1px solid rgba(255,255,255,.22);background:#e9e1d6;}
.dc-ae-s11 :is(a.dc-ae-btn--primary,span.dc-ae-btn--primary){background:#eadbc9;border-color:#eadbc9;color:#211b17;}
.dc-ae-s11 a.dc-ae-btn--primary:hover{background:#fff;border-color:#fff;color:#211b17;}
/* Shared branded navigation and footer — same design vocabulary, not unrelated widgets. */
.dc-ae-layout{--dc-ae-hf-dark:#211b17;--dc-ae-hf-light:#f6eee4;font-family:Arial,Helvetica,sans-serif;}
.dc-ae-header{background:#ebe4da;color:#211b17;}
.dc-ae-header .dc-ae-hf-container{min-height:92px;}
.dc-ae-header :is(a.dc-ae-header-link,span.dc-ae-header-link){font-size:12px;text-decoration:none;text-transform:uppercase;letter-spacing:.065em;}
.dc-ae-header a.dc-ae-header-link:hover,.dc-ae-header a.dc-ae-header-link:focus-visible{color:#956e4a;text-decoration:underline;text-underline-offset:8px;}
.dc-ae-header :is(a.dc-ae-header-cta,span.dc-ae-header-cta){background:#211b17;color:#f6eee4;border-color:#211b17;min-height:48px;border-radius:2px;font-weight:600;font-size:11px;letter-spacing:.08em;text-transform:uppercase;}
.dc-ae-footer{background:#1d1916;color:#f6eee4;}
.dc-ae-footer .dc-ae-hf-container{padding-top:clamp(60px,7vw,110px);padding-bottom:clamp(52px,6vw,90px);}
.dc-ae-footer .dc-ae-footer-title{font-family:Georgia,serif;font-weight:400;font-size:clamp(24px,2.4vw,34px);letter-spacing:-.03em;line-height:1.25;max-width:310px;}
.dc-ae-footer .dc-ae-footer-label{font-size:11px;letter-spacing:.18em;color:#bca38b;}
.dc-ae-footer .dc-ae-hf-link{transition:color .2s ease,opacity .2s ease;}
.dc-ae-footer a.dc-ae-hf-link:hover{color:#fff;opacity:.75;}
@media (max-width:1279px){
  .dc-ae-section .dc-ae-heading{font-size:clamp(40px,4.9vw,65px);}
  .dc-ae-s01 .dc-ae-heading{font-size:clamp(49px,6.5vw,85px);}
  .dc-ae-section .dc-ae-columns{column-gap:clamp(22px,3.5vw,65px);}
  .dc-ae-s06 .dc-ae-process-steps{gap:20px;}
  .dc-ae-s04 .dc-ae-equip-items .dc-ae-row{min-height:230px;}
}
@media (max-width:1024px){
  .dc-ae-section .dc-ae-inner{width:calc(100% - 64px);}
  .dc-ae-s01 .dc-ae-hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.75fr);}
  .dc-ae-s02 .dc-ae-split-intro,.dc-ae-s07 .dc-ae-split-intro,.dc-ae-s09 .dc-ae-faq-columns{grid-template-columns:minmax(0,.82fr) minmax(0,1.2fr);}
  .dc-ae-s03 .dc-ae-spec-columns{grid-template-columns:1fr 1fr;}
  .dc-ae-s06 .dc-ae-process-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:34px;}
  .dc-ae-s10 .dc-ae-form-grid{grid-template-columns: minmax(0,.83fr) minmax(0,1.17fr);}
}
@media (max-width:767px){
  .dc-ae-section{padding-block:clamp(62px,12vw,86px);font-size:15px;}
  .dc-ae-section .dc-ae-inner{width:calc(100% - 40px);}
  .dc-ae-section .dc-ae-heading{font-size:clamp(35px,9vw,52px);letter-spacing:-.043em;line-height:1.09;}
  .dc-ae-section .dc-ae-columns{grid-template-columns:minmax(0,1fr)!important;gap:28px;}
  .dc-ae-section :is(a.dc-ae-btn,span.dc-ae-btn){min-height:50px;padding:12px 18px;font-size:11px;}
  .dc-ae-section .dc-ae-body{font-size:15px;}
  .dc-ae-s01 .dc-ae-heading{font-size:clamp(40px,10.5vw,68px);margin-top:27px;}
  .dc-ae-s01 .dc-ae-hero-grid{margin-top:42px;}
  .dc-ae-s01 .dc-ae-main-image{aspect-ratio:1.18;}
  .dc-ae-s01 .dc-ae-hero-copy{padding-left:17px;}
  .dc-ae-s02 .dc-ae-split-intro{gap:24px;}
  .dc-ae-s02 .dc-ae-number-row{grid-template-columns:42px 1fr;gap:12px;padding:24px 0;}
  .dc-ae-s02 .dc-ae-row:first-child{padding-top:22px;}
  .dc-ae-s02 .dc-ae-row:hover{padding-left:0;}
  .dc-ae-s02 .dc-ae-item-title{font-size:clamp(23px,6.6vw,32px);}
  .dc-ae-s03 .dc-ae-heading{margin-bottom:27px;}
  .dc-ae-s03 .dc-ae-spec-columns .dc-ae-main-image{aspect-ratio:1.25;}
  .dc-ae-s04 .dc-ae-equip-intro{margin-bottom:27px;}
  .dc-ae-s04 .dc-ae-equip-items{grid-template-columns:1fr;gap:14px;}
  .dc-ae-s04 .dc-ae-equip-items .dc-ae-row{min-height:0;padding:27px;}
  .dc-ae-s04 .dc-ae-equip-items .dc-ae-row::before{margin-bottom:23px;}
  .dc-ae-s05 .dc-ae-gallery-head{gap:25px;}
  .dc-ae-section .dc-ae-gallery--editorial{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .dc-ae-section .dc-ae-gallery--editorial .dc-ae-gallery-item:nth-child(n){grid-column:span 1;}
  .dc-ae-section .dc-ae-gallery--editorial .dc-ae-gallery-item:nth-child(1),
  .dc-ae-section .dc-ae-gallery--editorial .dc-ae-gallery-item:nth-child(3){grid-column:span 2;}
  .dc-ae-section .dc-ae-gallery--editorial .dc-ae-gallery-trigger{aspect-ratio:1.23;}
  .dc-ae-section .dc-ae-gallery--editorial .dc-ae-gallery-item:nth-child(1) .dc-ae-gallery-trigger{aspect-ratio:1.46;}
  .dc-ae-section .dc-ae-gallery--editorial .dc-ae-gallery-item:nth-child(3) .dc-ae-gallery-trigger{aspect-ratio:1.62;}
  .dc-ae-section .dc-ae-gallery--carousel>.dc-ae-gallery-item:nth-child(n){flex-basis:var(--dc-ae-slide-width,88%);}
  .dc-ae-gallery-zoom{opacity:1;transform:none;width:37px;height:37px;right:11px;bottom:11px;}
  .dc-ae-s06 .dc-ae-process-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;}
  .dc-ae-s06 .dc-ae-step-num{margin-bottom:21px;}
  .dc-ae-s06 .dc-ae-process-step .dc-ae-item-title{font-size:23px;}
  .dc-ae-s07 .dc-ae-prep-items{grid-template-columns:1fr;}
  .dc-ae-s08 .dc-ae-price-grid > div:last-child{padding:0;border:0;border-top:1px solid #746758;padding-top:25px;}
  .dc-ae-s09 .dc-ae-faq-item summary{min-height:76px;padding:16px 0;}
  .dc-ae-s09 .dc-ae-faq-item summary>span:first-child{font-size:clamp(21px,5.8vw,28px);}
  .dc-ae-s09 .dc-ae-faq-item[open]>.dc-ae-body{padding-right:0;}
  .dc-ae-s10 .dc-ae-form-grid{grid-template-columns:minmax(0,1fr);}
  .dc-ae-s11 .dc-ae-location-copy .dc-ae-heading{font-size:clamp(38px,9vw,54px);}
  .dc-ae-s11 .dc-ae-map{min-height:290px;aspect-ratio:1.23;}
  .dc-ae-header .dc-ae-hf-container{min-height:74px;}
}
@media (max-width:430px){
  .dc-ae-section .dc-ae-inner{width:calc(100% - 36px);}
  .dc-ae-s01 .dc-ae-heading{font-size:clamp(36px,10vw,43px);}
  .dc-ae-section .dc-ae-actions{gap:9px;}
  .dc-ae-section .dc-ae-item-title{font-size:24px;}
  .dc-ae-section .dc-ae-gallery--editorial .dc-ae-gallery-item:nth-child(n){grid-column:span 2;}
  .dc-ae-section .dc-ae-gallery--editorial .dc-ae-gallery-trigger{aspect-ratio:1.25;}
  .dc-ae-section .dc-ae-gallery--editorial .dc-ae-gallery-item:nth-child(1) .dc-ae-gallery-trigger{aspect-ratio:1.2;}
  .dc-ae-s06 .dc-ae-process-steps{grid-template-columns:1fr;gap:14px;}
  .dc-ae-s06 .dc-ae-process-step{padding-bottom:15px;}
  .dc-ae-s06 .dc-ae-process-step .dc-ae-item-desc{max-width:100%;}
  .dc-ae-s09 .dc-ae-faq-toggle{width:34px;height:34px;flex-basis:34px;}
}
@media (prefers-reduced-motion:reduce){
  .dc-ae-section .dc-ae-picture img,.dc-ae-section .dc-ae-gallery-zoom,.dc-ae-section .dc-ae-btn,.dc-ae-section .dc-ae-equip-items .dc-ae-row{transition:none;transform:none;}
  .dc-ae-section .dc-ae-gallery--carousel{scroll-behavior:auto;}
}
/* Hide inactive controls in a no-JS render; swipe/scroll remains usable. */
.dc-ae-carousel-controls{visibility:hidden;}
.dc-ae-carousel-ready .dc-ae-carousel-controls{visibility:visible;}

/* Missing media should never produce broken-image icons or fake content in frontend. */
.dc-ae-hero-grid:not(:has(.dc-ae-main-image)),.dc-ae-spec-columns:not(:has(.dc-ae-main-image)){grid-template-columns:minmax(0,1fr);}
.dc-ae-section .dc-ae-media-empty.dc-ae-editor-note{min-height:96px;padding:24px;display:flex;align-items:center;}
