/* DreamCode AE v1.3.0 — Architectural Editorial rhythm
   Deliberate density, natural content height and stable interaction geometry.
   This file loads after editorial.css. No widget ID, markup or JS change is required.
   Original Elementor padding/style selectors remain higher specificity than these defaults. */
.dc-ae-section{
  --dc-ae-rhythm-top:88px;
  --dc-ae-rhythm-bottom:92px;
  --dc-ae-rhythm-factor:1;
  --dc-ae-rhythm-item-gap:24px;
  --dc-ae-rhythm-measure:64ch;
  --dc-ae-rhythm-column-gap:clamp(32px,5vw,76px);
  overflow-wrap:anywhere;
}
/* Double class matches section-specific defaults from previous stylesheets without !important. */
.dc-ae-section.dc-ae-section{
  padding-top:calc(var(--dc-ae-rhythm-top) * var(--dc-ae-rhythm-factor));
  padding-bottom:calc(var(--dc-ae-rhythm-bottom) * var(--dc-ae-rhythm-factor));
}
.dc-ae-section[data-dc-ae-rhythm="compact"]{--dc-ae-rhythm-factor:.78}
.dc-ae-section[data-dc-ae-rhythm="spacious"]{--dc-ae-rhythm-factor:1.18}
.dc-ae-section .dc-ae-inner{min-width:0;max-width:1380px;}
.dc-ae-section .dc-ae-columns{column-gap:var(--dc-ae-rhythm-column-gap);align-items:start;}
.dc-ae-section .dc-ae-body{max-width:var(--dc-ae-rhythm-measure);}
.dc-ae-section .dc-ae-heading{overflow-wrap:break-word;hyphens:none;}
.dc-ae-section .dc-ae-actions{margin-top:clamp(24px,2.8vw,36px);}
.dc-ae-section .dc-ae-text-link{margin-top:24px;}
.dc-ae-section .dc-ae-item-desc{margin-top:12px;}
.dc-ae-section .dc-ae-fineprint{margin-top:25px;}
.dc-ae-section :is(.dc-ae-hero-copy,.dc-ae-row-copy,.dc-ae-split-heading,.dc-ae-form-intro,.dc-ae-location-copy,.dc-ae-spec-copy,.dc-ae-gallery-tools){min-width:0;max-width:100%;}

/* 01 — Immersive, but not empty. Maintain original image frame/crop ratio. */
.dc-ae-section.dc-ae-s01{--dc-ae-rhythm-top:88px;--dc-ae-rhythm-bottom:82px;}
.dc-ae-s01 .dc-ae-hero-grid{margin-top:clamp(40px,4.6vw,68px);grid-template-columns:minmax(0,1.66fr) minmax(0,.76fr);gap:var(--dc-ae-rhythm-column-gap);align-items:end;}
.dc-ae-s01 .dc-ae-heading{max-width:1060px;}
.dc-ae-s01 .dc-ae-hero-copy{padding-bottom:8px;}
.dc-ae-s01 .dc-ae-hero-copy .dc-ae-body{max-width:40ch;}

/* 02 — Editorial numbered index: hover must NEVER shift the reading grid. */
.dc-ae-section.dc-ae-s02{--dc-ae-rhythm-top:86px;--dc-ae-rhythm-bottom:94px;}
.dc-ae-s02 .dc-ae-split-intro{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(40px,6.5vw,108px);}
.dc-ae-s02 .dc-ae-number-row,.dc-ae-s02 .dc-ae-row:first-child{padding:clamp(24px,2.2vw,32px) 0;}
.dc-ae-s02 .dc-ae-number-row{grid-template-columns:64px minmax(0,1fr);gap:16px;transition:border-color .2s ease,color .2s ease;}
.dc-ae-s02 .dc-ae-row:hover{padding-left:0;background:transparent;border-color:currentColor;}
.dc-ae-s02 .dc-ae-item-title{max-width:22ch;}
.dc-ae-s02 .dc-ae-item-desc{max-width:55ch;}

/* 03 — Specification table is information, not empty rows. */
.dc-ae-section.dc-ae-s03{--dc-ae-rhythm-top:96px;--dc-ae-rhythm-bottom:100px;}
.dc-ae-s03 .dc-ae-heading{margin-bottom:clamp(30px,3.8vw,54px);}
.dc-ae-s03 .dc-ae-spec-columns{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:var(--dc-ae-rhythm-column-gap);}
.dc-ae-s03 .dc-ae-spec-table{margin-top:26px;}
.dc-ae-s03 .dc-ae-spec-row{min-height:0;padding:17px 0;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);}
.dc-ae-s03 .dc-ae-fineprint{margin-top:28px;}

/* 04 — Remove compulsory minimum-height that manufactures empty card bottoms. */
.dc-ae-section.dc-ae-s04{--dc-ae-rhythm-top:84px;--dc-ae-rhythm-bottom:94px;}
.dc-ae-s04 .dc-ae-equip-intro{margin-bottom:clamp(30px,3.4vw,48px);align-items:end;}
.dc-ae-s04 .dc-ae-equip-items{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,4vw,58px);row-gap:0;align-items:start;}
.dc-ae-s04 .dc-ae-equip-items .dc-ae-row{
  min-height:0;height:auto;background:transparent;border:0;border-top:1px solid rgba(68,54,42,.32);
  padding:clamp(24px,2.6vw,36px) 0 clamp(30px,3vw,42px);
  transition:border-color .2s ease;
}
.dc-ae-s04 .dc-ae-equip-items .dc-ae-row::before{margin-bottom:clamp(14px,1.9vw,26px);}
.dc-ae-s04 .dc-ae-equip-items .dc-ae-row:hover{background:transparent;border-color:#806a53;}
.dc-ae-s04 .dc-ae-equip-items .dc-ae-item-title{max-width:24ch;}
.dc-ae-s04 .dc-ae-equip-items .dc-ae-item-desc{max-width:55ch;}

/* 05 — Gallery has one unmistakable focal point and predictable captions. */
.dc-ae-section.dc-ae-s05{--dc-ae-rhythm-top:94px;--dc-ae-rhythm-bottom:98px;}
.dc-ae-s05 .dc-ae-gallery-head{grid-template-columns:minmax(0,1fr) minmax(0,.54fr);gap:var(--dc-ae-rhythm-column-gap);align-items:end;}
.dc-ae-s05 .dc-ae-gallery{margin-top:clamp(32px,3.5vw,50px);gap:var(--dc-ae-rhythm-item-gap);}
.dc-ae-section .dc-ae-gallery--editorial .dc-ae-gallery-item:nth-child(3) .dc-ae-gallery-trigger{aspect-ratio:2.15;}
.dc-ae-section .dc-ae-gallery-caption{padding-top:11px;line-height:1.5;}
.dc-ae-section .dc-ae-gallery-trigger:focus-visible{outline-offset:3px;}

/* 06 — Timeline: aligned numbers, no artificial 50px void after each number. */
.dc-ae-section.dc-ae-s06{--dc-ae-rhythm-top:88px;--dc-ae-rhythm-bottom:92px;}
.dc-ae-s06 .dc-ae-heading{margin-bottom:clamp(28px,3.3vw,46px);}
.dc-ae-s06 .dc-ae-process-steps{gap:var(--dc-ae-rhythm-item-gap);align-items:start;}
.dc-ae-s06 .dc-ae-process-step{padding-top:22px;}
.dc-ae-s06 .dc-ae-step-num{margin-bottom:clamp(22px,2.3vw,32px);}
.dc-ae-s06 .dc-ae-process-step .dc-ae-item-desc{max-width:34ch;}
.dc-ae-s06 .dc-ae-actions{margin-top:30px;}

/* 07 — Checklist: compact scanning rhythm, no decorative card enclosure. */
.dc-ae-section.dc-ae-s07{--dc-ae-rhythm-top:78px;--dc-ae-rhythm-bottom:84px;}
.dc-ae-s07 .dc-ae-split-intro{gap:var(--dc-ae-rhythm-column-gap);}
.dc-ae-s07 .dc-ae-prep-items{column-gap:clamp(24px,3vw,44px);}
.dc-ae-s07 .dc-ae-prep-items .dc-ae-row{padding-block:17px;}
.dc-ae-s07 .dc-ae-prep-note{margin-top:28px;}

/* 08 — This is a transition CTA, not another full-screen hero. */
.dc-ae-section.dc-ae-s08{--dc-ae-rhythm-top:64px;--dc-ae-rhythm-bottom:70px;}
.dc-ae-s08 .dc-ae-price-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:var(--dc-ae-rhythm-column-gap);}
.dc-ae-s08 .dc-ae-price-grid>div:last-child{padding-left:clamp(20px,3vw,42px);}
.dc-ae-s08 .dc-ae-actions{margin-top:24px;}

/* 09 — Accordion height reflects text; 44px+ target and clear open rhythm. */
.dc-ae-section.dc-ae-s09{--dc-ae-rhythm-top:90px;--dc-ae-rhythm-bottom:96px;}
.dc-ae-s09 .dc-ae-faq-columns{gap:var(--dc-ae-rhythm-column-gap);}
.dc-ae-s09 .dc-ae-faq-item summary{min-height:68px;padding-block:18px;}
.dc-ae-s09 .dc-ae-faq-item summary>span:first-child{font-size:clamp(22px,1.85vw,28px);}
.dc-ae-s09 .dc-ae-faq-item[open]>.dc-ae-body{padding-bottom:12px;margin-bottom:12px;}
.dc-ae-s09 .dc-ae-faq-toggle{flex:0 0 38px;}

/* 10 — A readable intro with real form fields, no counterfeit form markup. */
.dc-ae-section.dc-ae-s10{--dc-ae-rhythm-top:96px;--dc-ae-rhythm-bottom:100px;}
.dc-ae-s10 .dc-ae-form-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:var(--dc-ae-rhythm-column-gap);}
.dc-ae-s10 .dc-ae-form-intro .dc-ae-heading{margin-bottom:26px;}
.dc-ae-s10 .dc-ae-form-phone{margin-top:34px;padding-top:24px;}
.dc-ae-s10 .dc-ae-form-grid--empty{grid-template-columns:minmax(0,770px);}

/* 11 — Proportional map card, no viewport-dependent stretch. */
.dc-ae-section.dc-ae-s11{--dc-ae-rhythm-top:86px;--dc-ae-rhythm-bottom:96px;}
.dc-ae-s11 .dc-ae-location-grid{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:var(--dc-ae-rhythm-column-gap);align-items:start;}
.dc-ae-s11 .dc-ae-map{min-height:clamp(330px,32vw,420px);aspect-ratio:1.24;}
.dc-ae-s11 .dc-ae-location-copy .dc-ae-heading{margin-bottom:26px;}
.dc-ae-s11 .dc-ae-actions{margin-top:26px;}

@media (max-width:1279px){
 .dc-ae-section{--dc-ae-rhythm-column-gap:clamp(24px,3.5vw,56px);}
 .dc-ae-s04 .dc-ae-equip-items{column-gap:32px;}
 .dc-ae-s01 .dc-ae-hero-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,.8fr);}
}
@media (max-width:1024px){
 .dc-ae-section:is(.dc-ae-s01,.dc-ae-s02,.dc-ae-s03,.dc-ae-s04,.dc-ae-s05,.dc-ae-s06,.dc-ae-s07,.dc-ae-s08,.dc-ae-s09,.dc-ae-s10,.dc-ae-s11){--dc-ae-rhythm-top:72px;--dc-ae-rhythm-bottom:76px;}
 .dc-ae-s01 .dc-ae-hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr);}
 .dc-ae-s05 .dc-ae-gallery-head{grid-template-columns:minmax(0,1fr) minmax(0,.58fr);}
 .dc-ae-s10 .dc-ae-form-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);}
}
@media (max-width:767px){
 .dc-ae-section:is(.dc-ae-s01,.dc-ae-s02,.dc-ae-s03,.dc-ae-s04,.dc-ae-s05,.dc-ae-s06,.dc-ae-s07,.dc-ae-s08,.dc-ae-s09,.dc-ae-s10,.dc-ae-s11){--dc-ae-rhythm-top:56px;--dc-ae-rhythm-bottom:60px;--dc-ae-rhythm-column-gap:26px;--dc-ae-rhythm-item-gap:14px;}
 .dc-ae-section .dc-ae-columns{grid-template-columns:minmax(0,1fr);row-gap:26px;}
 .dc-ae-s01 .dc-ae-hero-grid{grid-template-columns:minmax(0,1fr);gap:26px;margin-top:32px;}
 .dc-ae-s01 .dc-ae-hero-copy{padding-bottom:0;}
 .dc-ae-s02 .dc-ae-split-intro{grid-template-columns:minmax(0,1fr);}
 .dc-ae-s02 .dc-ae-number-row,.dc-ae-s02 .dc-ae-row:first-child{padding-block:23px;}
 .dc-ae-s02 .dc-ae-number-row{grid-template-columns:42px minmax(0,1fr);gap:12px;}
 .dc-ae-s03 .dc-ae-heading{margin-bottom:26px;}
 .dc-ae-s03 .dc-ae-spec-columns{grid-template-columns:minmax(0,1fr);gap:26px;}
 .dc-ae-s04 .dc-ae-equip-items{grid-template-columns:minmax(0,1fr);row-gap:0;}
 .dc-ae-s04 .dc-ae-equip-items .dc-ae-row{min-height:0;padding:23px 0 28px;}
 .dc-ae-s04 .dc-ae-equip-items .dc-ae-row::before{margin-bottom:15px;}
 .dc-ae-s05 .dc-ae-gallery-head{grid-template-columns:minmax(0,1fr);gap:22px;}
 .dc-ae-s05 .dc-ae-gallery{margin-top:26px;}
 .dc-ae-s06 .dc-ae-process-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px;}
 .dc-ae-s06 .dc-ae-step-num{margin-bottom:18px;}
 .dc-ae-s07 .dc-ae-split-intro{grid-template-columns:minmax(0,1fr);}
 .dc-ae-s07 .dc-ae-prep-items{grid-template-columns:minmax(0,1fr);}
 .dc-ae-s08 .dc-ae-price-grid{grid-template-columns:minmax(0,1fr);gap:24px;}
 .dc-ae-s08 .dc-ae-price-grid>div:last-child{border-left:0;border-top:1px solid #746758;padding:24px 0 0;}
 .dc-ae-s09 .dc-ae-faq-columns{grid-template-columns:minmax(0,1fr);}
 .dc-ae-s09 .dc-ae-faq-item summary{min-height:64px;padding-block:16px;}
 .dc-ae-s10 .dc-ae-form-grid{grid-template-columns:minmax(0,1fr);gap:28px;}
 .dc-ae-s10 .dc-ae-form-phone{margin-top:27px;}
 .dc-ae-s11 .dc-ae-location-grid{grid-template-columns:minmax(0,1fr);}
 .dc-ae-s11 .dc-ae-map{min-height:290px;aspect-ratio:1.25;}
}
@media (max-width:430px){
 .dc-ae-section:is(.dc-ae-s01,.dc-ae-s02,.dc-ae-s03,.dc-ae-s04,.dc-ae-s05,.dc-ae-s06,.dc-ae-s07,.dc-ae-s08,.dc-ae-s09,.dc-ae-s10,.dc-ae-s11){--dc-ae-rhythm-top:50px;--dc-ae-rhythm-bottom:54px;--dc-ae-rhythm-item-gap:12px;}
 .dc-ae-s06 .dc-ae-process-steps{grid-template-columns:minmax(0,1fr);row-gap:12px;}
 .dc-ae-s06 .dc-ae-process-step{padding-bottom:18px;}
 .dc-ae-s09 .dc-ae-faq-item summary>span:first-child{font-size:clamp(20px,5.6vw,25px);}
 .dc-ae-s11 .dc-ae-map{min-height:260px;}
}
@media (prefers-reduced-motion:reduce){
 .dc-ae-s04 .dc-ae-equip-items .dc-ae-row,
 .dc-ae-s02 .dc-ae-number-row{transition:none;}
}
