/* DreamCode Legend Contact Suite: all selectors scoped to widgets. */
.dc-contact-suite {
  --dc-contact-bg:#f2e5d4;
  --dc-contact-ink:#2e1e0f;
  --dc-contact-muted:#4a3624;
  --dc-contact-line:#d4bea7;
  --dc-link-color:var(--dc-contact-ink);
  --dc-link-hover:#8a5733;
  --dc-link-active:#634126;
  --dc-cta-bg:#2e1e0f;
  --dc-cta-color:#f2e5d4;
  --dc-cta-hover-bg:#574028;
  --dc-cta-hover-color:#ffffff;
  --dc-cta-active-bg:#241408;
  --dc-cta-active-color:#ffffff;
  --dc-form-field-bg:transparent;
  --dc-form-field-border:#aa8b6b;
  --dc-form-field-focus:#6a492c;
  color:var(--dc-contact-ink);
  background:var(--dc-contact-bg);
  width:100%;max-width:100%;position:relative;box-sizing:border-box;
  font-family:Arial,Helvetica,sans-serif;
  font-size:16px;line-height:1.55;
  overflow-wrap:anywhere;
}
.dc-contact-suite *, .dc-contact-suite *::before, .dc-contact-suite *::after{box-sizing:border-box}
.dc-contact-suite :is(p,h1,h2,h3,h4,ul,ol){margin:0;padding:0}
.dc-contact-suite :where(.dc-contact-inner,.dc-contact-hero__content,.dc-contact-hero__media,.dc-contact-channels__row,.dc-contact-channels__body,.dc-contact-channels__action,.dc-contact-form__intro,.dc-contact-form__area,.dc-contact-location__grid,.dc-contact-location__info){min-width:0;max-width:100%}
.dc-contact-suite .dc-contact-inner{width:calc(100% - 160px);max-width:1280px;margin-inline:auto}
.dc-contact-suite .dc-contact-title{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:44px;line-height:1.16;letter-spacing:-.02em;color:var(--dc-contact-ink);text-transform:none;overflow-wrap:anywhere}
.dc-contact-suite .dc-contact-copy{font-size:16px;line-height:1.65;color:var(--dc-contact-muted);overflow-wrap:anywhere}
.dc-contact-suite .dc-contact-eyebrow{font-size:12px;font-weight:500;letter-spacing:.07em;line-height:1.5;color:var(--dc-contact-ink)}
.dc-contact-suite a{color:var(--dc-link-color);text-decoration:none;transition:color .2s ease,background-color .2s ease,transform .25s ease,border-color .2s ease}
.dc-contact-suite a:hover,.dc-contact-suite a:focus-visible{color:var(--dc-link-hover)}
.dc-contact-suite a:active{color:var(--dc-link-active)}
.dc-contact-suite :where(a,button,input,textarea,select):focus-visible{outline:2px solid currentColor;outline-offset:3px}
.dc-contact-suite .dc-contact-editor-note{padding:12px;margin-top:12px;color:#66431d;background:#fff1d4;font:13px/1.5 Arial,sans-serif;max-width:100%;border:1px solid #d1b176;overflow-wrap:anywhere}
.dc-contact-suite .dc-contact-media{position:relative;isolation:isolate;max-width:100%;overflow:hidden;background:transparent}
.dc-contact-suite .dc-contact-media picture{display:block;width:100%;height:100%}
.dc-contact-suite .dc-contact-media img.dc-contact-image{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--dc-img-x,50%) var(--dc-img-y,50%);border:0;border-radius:inherit;transition:transform .55s cubic-bezier(.2,.7,.3,1);transform:translateZ(0)}
.dc-contact-suite.has-motion .dc-contact-media:hover img.dc-contact-image{transform:scale(1.035)}
.dc-contact-suite .dc-contact-button,
.elementor .dc-contact-suite a.dc-contact-button,
.elementor .dc-contact-suite span.dc-contact-button {
  background-color:var(--dc-cta-bg);color:var(--dc-cta-color);border:1px solid transparent;box-shadow:none;
  border-radius:0;display:inline-flex;min-height:48px;align-items:center;justify-content:center;
  gap:12px;max-width:100%;min-width:0;text-align:center;padding:12px 23px;
  text-decoration:none;line-height:1.4;font-family:Arial,Helvetica,sans-serif;font-weight:500;font-size:14px;
  cursor:pointer;overflow-wrap:anywhere;
}
.dc-contact-suite .dc-contact-button.is-disabled{cursor:default}
.dc-contact-suite a.dc-contact-button:hover,.dc-contact-suite a.dc-contact-button:focus-visible,
.elementor .dc-contact-suite a.dc-contact-button:hover,.elementor .dc-contact-suite a.dc-contact-button:focus-visible {
  background-color:var(--dc-cta-hover-bg);color:var(--dc-cta-hover-color);border-color:transparent;box-shadow:none;
}
.dc-contact-suite a.dc-contact-button:active,.elementor .dc-contact-suite a.dc-contact-button:active{
  background-color:var(--dc-cta-active-bg);color:var(--dc-cta-active-color);
}
.dc-contact-suite .dc-contact-arrow{display:inline-block;flex:none;transition:transform .25s ease;font-size:1.15em;line-height:1}
.dc-contact-suite.has-motion a:hover .dc-contact-arrow,.dc-contact-suite.has-motion a:focus-visible .dc-contact-arrow{transform:translateX(4px)}
.dc-contact-suite .dc-contact-inline-link {display:inline-flex;align-items:center;gap:9px;max-width:100%;font-size:14px;font-weight:500;color:var(--dc-link-color);text-decoration:underline;text-underline-offset:3px;min-height:44px;overflow-wrap:anywhere}
.dc-contact-suite .dc-contact-inline-link.is-disabled{cursor:default;text-decoration:none}
.dc-contact-suite .dc-contact-inline-link:not(.is-disabled):hover {color:var(--dc-link-hover)}
.dc-contact-suite .dc-contact-inline-link:not(.is-disabled):active {color:var(--dc-link-active)}
.dc-contact-suite .dc-contact-ico{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:currentColor;flex:none}
.dc-contact-suite .dc-contact-ico svg{height:1em;width:1em;fill:currentColor;stroke:currentColor}
.dc-contact-suite .dc-contact-ico svg [fill=none]{fill:none}
/* Section 01 – Hero, reference 1440x543 */
.dc-contact-hero{padding:64px 0;min-height:543px;display:flex;align-items:center}
.dc-contact-hero .dc-contact-hero__grid{display:grid;grid-template-columns:minmax(0,480px) minmax(0,1fr);gap:63px;align-items:center}
.dc-contact-hero .dc-contact-title{font-size:52px;line-height:1.12;margin:0 0 32px}
.dc-contact-hero__content>.dc-contact-copy{font-size:16px;line-height:1.55;margin-bottom:32px;max-width:480px}
.dc-contact-hero__media{aspect-ratio:737/414}
/* Section 02 – Contact details, reference 1440x571 */
.dc-contact-details{--dc-contact-bg:#2e1e0f;--dc-contact-ink:#f2e5d4;--dc-contact-muted:#f2e5d4;--dc-contact-line:rgba(242,229,212,.17);--dc-link-color:#f2e5d4;--dc-link-hover:#fff;--dc-link-active:#d8bfa6;padding:96px 0 86px;min-height:571px}
.dc-contact-details .dc-contact-title{font-size:44px;line-height:1.25}
.dc-contact-details__grid{display:grid;grid-template-columns:minmax(0,470px) minmax(0,1fr);gap:73px;margin-top:53px}
.dc-contact-details__phone-label{display:flex;gap:14px;align-items:center;margin-bottom:10px}
.dc-contact-details__number{font-family:Georgia,'Times New Roman',serif;font-size:46px;letter-spacing:-.03em;line-height:1.3;margin-bottom:22px;color:var(--dc-contact-ink);overflow-wrap:anywhere}
.dc-contact-details__right>.dc-contact-eyebrow{margin-bottom:22px}
.dc-contact-details__hours{margin-bottom:21px!important}
.dc-contact-details__line{height:1px;background:var(--dc-contact-line);margin-bottom:22px}
.dc-contact-details__address{margin:26px 0 25px!important}
/* Section 03 – Three contact channels, reference 1440x1106 */
.dc-contact-channels{padding:94px 0 120px;min-height:1106px}
.dc-contact-channels .dc-contact-title{margin-bottom:48px}
.dc-contact-channels__list{display:flex;flex-direction:column;gap:32px}
.dc-contact-channels__row{display:grid;grid-template-columns:295px minmax(0,1fr) minmax(0,296px);column-gap:24px;align-items:center;position:relative;padding:0 0 32px;min-height:253px;border-bottom:1px solid var(--dc-contact-line);transition:background-color .25s ease,transform .25s ease}
.dc-contact-channels__row:last-child{border-bottom:0;padding-bottom:0}
.dc-contact-channels__media{aspect-ratio:295/220;align-self:start}
.dc-contact-channels__num{font-size:12px;font-weight:600;letter-spacing:.06em;display:block;margin:0 0 12px}
.dc-contact-channels__name{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:29px;letter-spacing:-.017em;line-height:1.23;color:var(--dc-contact-ink);margin-bottom:14px!important}
.dc-contact-channels__desc{margin-bottom:11px!important}
.dc-contact-channels__phone{font-size:16px;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.dc-contact-channels__action{display:flex;align-items:center;gap:8px;justify-content:flex-start}
.dc-contact-channels__action .dc-contact-inline-link{font-size:14px}
.dc-contact-channels.has-motion .dc-contact-channels__row:hover{background-color:var(--dc-channel-hover,rgba(255,255,255,.09))}
/* Section 04 – Elementor shortcode form, reference 1440x888 */
.dc-contact-form{--dc-contact-bg:#e9dccb;padding:96px 0 80px;min-height:888px}
.dc-contact-form__grid{display:grid;grid-template-columns:minmax(0,519px) minmax(0,1fr);gap:24px;align-items:start}
.dc-contact-form .dc-contact-title{font-size:44px;max-width:510px;margin:0 0 36px}
.dc-contact-form__intro>.dc-contact-copy{line-height:1.73;max-width:520px;margin-bottom:33px}
.dc-contact-form__media{aspect-ratio:519/292}
.dc-contact-form__area{min-width:0}
.dc-contact-form__embedded{width:100%;max-width:100%;overflow-wrap:anywhere}
.dc-contact-form__embedded :where(form,.elementor-form,.elementor-form-fields-wrapper,.elementor-field-group){max-width:100%;min-width:0}
.dc-contact-form__embedded :where(input:not([type=checkbox]):not([type=radio]),select,textarea),
.elementor .dc-contact-form__embedded :where(input:not([type=checkbox]):not([type=radio]),select,textarea){background-color:var(--dc-form-field-bg);color:var(--dc-contact-ink);border-color:var(--dc-form-field-border);border-radius:0;box-shadow:none;max-width:100%;min-height:52px;}
.dc-contact-form__embedded :where(input,textarea,select):focus{border-color:var(--dc-form-field-focus);outline-offset:2px}
.dc-contact-form__embedded textarea{resize:vertical;min-height:140px}
.dc-contact-form__embedded :where(button[type=submit], input[type=submit]),
.elementor .dc-contact-form__embedded :where(button[type=submit], input[type=submit]){background-color:var(--dc-cta-bg);color:var(--dc-cta-color);border:1px solid transparent;min-height:48px;max-width:100%;border-radius:0;box-shadow:none;padding:10px 24px;cursor:pointer}
.dc-contact-form__embedded :where(button[type=submit],input[type=submit]):hover,
.elementor .dc-contact-form__embedded :where(button[type=submit],input[type=submit]):hover{background-color:var(--dc-cta-hover-bg);color:var(--dc-cta-hover-color)}
.dc-contact-form__embedded :where(button[type=submit],input[type=submit]):active,
.elementor .dc-contact-form__embedded :where(button[type=submit],input[type=submit]):active{background-color:var(--dc-cta-active-bg);color:var(--dc-cta-active-color)}
/* Section 05 – Location with sanitized map iframe, reference 1440x901 */
.dc-contact-location{padding:96px 0 92px;min-height:901px}
.dc-contact-location .dc-contact-title{font-size:44px;line-height:1.24;margin-bottom:48px}
.dc-contact-location__grid{display:grid;grid-template-columns:minmax(0,737px) minmax(0,1fr);gap:24px}
.dc-contact-location__map{background:#e9dccb;aspect-ratio:737/553;max-width:100%;width:100%;position:relative;overflow:hidden}
.dc-contact-location__map iframe{border:0;display:block;width:100%;height:100%;position:absolute;inset:0}
.dc-contact-location__caption{margin-top:24px!important}
.dc-contact-location__info>.dc-contact-eyebrow{margin-bottom:26px}
.dc-contact-location__address{margin-bottom:28px!important}
.dc-contact-location__phone{margin:-8px 0 24px!important;font-size:16px}
.dc-contact-location__list{margin-top:24px;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--dc-contact-line);padding-top:17px}
.dc-contact-location__item{display:flex;align-items:center;min-height:36px;text-decoration:none;font-size:15px;line-height:1.5;max-width:100%;padding:4px 0;color:var(--dc-link-color);overflow-wrap:anywhere}
.dc-contact-location__item:not(.is-disabled):hover{transform:translateX(3px)}
.dc-contact-location__item.is-disabled{color:var(--dc-contact-ink)}
/* Adaptive laptop / tablet / mobile */
@media(max-width:1399px){
 .dc-contact-suite .dc-contact-inner{width:calc(100% - 112px)}
 .dc-contact-hero .dc-contact-hero__grid{grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:5%}
 .dc-contact-details__grid{grid-template-columns:minmax(0,39%) minmax(0,1fr);gap:5%}
 .dc-contact-channels__row{grid-template-columns:minmax(0,27%) minmax(0,1fr) minmax(0,22%);gap:2.5%}
 .dc-contact-form__grid{grid-template-columns:minmax(0,41%) minmax(0,1fr);gap:2.5%}
 .dc-contact-location__grid{grid-template-columns:minmax(0,58%) minmax(0,1fr);gap:2.5%}
}
@media(max-width:1100px){
 .dc-contact-suite .dc-contact-inner{width:calc(100% - 80px)}
 .dc-contact-channels__row{grid-template-columns:minmax(0,31%) minmax(0,1fr);column-gap:28px;row-gap:8px;align-items:center}
 .dc-contact-channels__media{grid-row:span 2}
 .dc-contact-channels__action{grid-column:2}
 .dc-contact-channels__name{font-size:25px}
 .dc-contact-details__grid{gap:40px}
 .dc-contact-form__grid{gap:30px}
}
@media(max-width:767px){
 .dc-contact-suite{font-size:15px}
 .dc-contact-suite .dc-contact-inner{width:calc(100% - 40px);max-width:560px}
 .dc-contact-suite .dc-contact-title{font-size:clamp(27px,7.2vw,38px);line-height:1.19}
 .dc-contact-suite .dc-contact-copy{font-size:15px;line-height:1.65}
 .dc-contact-hero{min-height:0;padding:56px 0 48px}
 .dc-contact-hero .dc-contact-hero__grid{grid-template-columns:minmax(0,1fr);gap:36px}
 .dc-contact-hero .dc-contact-title{font-size:clamp(34px,10vw,48px);margin-bottom:22px}
 .dc-contact-hero__content>.dc-contact-copy{margin-bottom:26px}
 .dc-contact-hero__media{aspect-ratio:4/3}
 .dc-contact-details{min-height:0;padding:56px 0 60px}
 .dc-contact-details__grid{grid-template-columns:minmax(0,1fr);gap:40px;margin-top:32px}
 .dc-contact-details__number{font-size:clamp(33px,9vw,42px);margin-bottom:12px}
 .dc-contact-details__address{margin-top:14px!important}
 .dc-contact-channels{min-height:0;padding:58px 0 68px}
 .dc-contact-channels .dc-contact-title{margin-bottom:34px}
 .dc-contact-channels__list{gap:28px}
 .dc-contact-channels__row{grid-template-columns:minmax(0,1fr);gap:18px;min-height:0;padding-bottom:28px;align-items:start}
 .dc-contact-channels__media{grid-row:auto;aspect-ratio:4/3}
 .dc-contact-channels__action{grid-column:auto}
 .dc-contact-channels__name{font-size:clamp(24px,6.6vw,29px);margin-bottom:8px!important}
 .dc-contact-channels__num{margin-bottom:6px}
 .dc-contact-form{min-height:0;padding:58px 0 64px}
 .dc-contact-form__grid{grid-template-columns:minmax(0,1fr);gap:32px}
 .dc-contact-form .dc-contact-title{margin-bottom:22px}
 .dc-contact-form__intro>.dc-contact-copy{margin-bottom:24px}
 .dc-contact-form__media{aspect-ratio:4/3}
 .dc-contact-form__embedded :is(input,select,textarea){width:100%}
 .dc-contact-location{min-height:0;padding:58px 0 66px}
 .dc-contact-location .dc-contact-title{margin-bottom:32px}
 .dc-contact-location__grid{grid-template-columns:minmax(0,1fr);gap:34px}
 .dc-contact-location__map{aspect-ratio:4/3}
 .dc-contact-location__caption{margin-top:16px!important}
 .dc-contact-location__info>.dc-contact-eyebrow{margin-bottom:13px}
 .dc-contact-location__address{margin-bottom:22px!important}
 .dc-contact-location__phone{margin:0 0 24px!important}
}
@media(max-width:359px){.dc-contact-suite .dc-contact-inner{width:calc(100% - 32px)}.dc-contact-suite .dc-contact-button{width:100%}}
@media(prefers-reduced-motion:reduce){
 .dc-contact-suite *, .dc-contact-suite *::before, .dc-contact-suite *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .dc-contact-suite.has-motion .dc-contact-media:hover img.dc-contact-image{transform:none}
}
/* Shortcode forms: sensible base layout without replacing Elementor Form rendering. */
.dc-contact-form__embedded form{display:block;width:100%;max-width:100%}
.dc-contact-form__embedded form>label{display:block;width:100%;font-size:14px;font-weight:500;line-height:1.45;margin:0 0 20px;color:var(--dc-contact-ink)}
.dc-contact-form__embedded form>label :is(input,textarea,select){display:block;width:100%;margin-top:9px;font-size:15px;}
.dc-contact-form__embedded form>.elementor-form-fields-wrapper{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0;max-width:100%}
.dc-contact-form__embedded :is(.elementor-field-group,.elementor-field-subgroup){min-width:0}
.dc-contact-form__embedded .elementor-field-group>label{display:block;width:100%;margin-bottom:8px;color:var(--dc-contact-ink)}
.dc-contact-form__embedded :is(input,select,textarea)::placeholder{color:var(--dc-contact-muted);opacity:.75}
.dc-contact-channels__phone.is-disabled{text-decoration:none;cursor:default}
.dc-contact-suite .dc-contact-ico svg[fill=none]{fill:none}
