/* =============================================================
   Dell Collective  ·  main.css
   Palette + type extracted from live dellcollective.com
   ============================================================= */
:root{
	--rust:#D38F4C;
	--rust-dark:#c07e3c;
	--tan:#E1B07F;
	--tan-soft:#EAC9A6;
	--forest:#152C23;
	--charcoal:#2B2723;
	--cream:#F7F0E6;
	--white:#fff;
	--text:#152C23;

	--f-display:"Maleah", Georgia, serif;
	--f-serif:"Cormorant Garamond", Georgia, serif;
	--f-sans:"Rosario", system-ui, sans-serif;

	--wrap:1400px;
	--pad:clamp(18px,4vw,48px);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
	margin:0; background:var(--white); color:var(--text);
	font-family:var(--f-serif); font-size:1.15rem; line-height:1.7;
	-webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4{ font-family:var(--f-display); font-weight:400; line-height:1.1; margin:0 0 .4em; color:var(--forest); }

.dc-container{ max-width:var(--wrap); margin:0 auto; padding-left:var(--pad); padding-right:var(--pad); }
.dc-ic{ font-style:normal; }

/* ---------- buttons ---------- */
.dc-btn{
	display:inline-flex; align-items:center; gap:.5em;
	font-family:var(--f-sans); font-weight:600; font-size:.78rem;
	text-transform:uppercase; letter-spacing:.12em; line-height:1;
	padding:.95em 1.5em; border:1px solid transparent; cursor:pointer;
	transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.dc-btn--rust{ background:var(--rust); color:var(--white); }
.dc-btn--rust:hover{ background:var(--rust-dark); }
.dc-btn--ghost{ background:transparent; color:var(--white); border-color:rgba(255,255,255,.4); }
.dc-btn--ghost:hover{ background:rgba(255,255,255,.12); }

/* =============================================================
   HEADER
   ============================================================= */
.dc-header{ position:relative; z-index:20; }

/* utility bar */
.dc-utility{ background:var(--charcoal); color:#efe7db; font-family:var(--f-serif); }
.dc-utility__inner{ display:flex; align-items:center; justify-content:space-between; min-height:46px; gap:20px; }
.dc-utility ul{ list-style:none; display:flex; align-items:center; gap:22px; margin:0; padding:0; }
.dc-utility__left li{ font-size:.98rem; letter-spacing:.02em; }
.dc-utility__left a:hover{ color:var(--tan); }
.dc-utility__right{ gap:14px; }
.dc-social{ display:flex; align-items:center; gap:14px; font-size:1rem; }
.dc-social svg{ display:block; }
.dc-social a{ opacity:.85; } .dc-social a:hover{ opacity:1; color:var(--tan); }
.dc-utility .dc-btn{ padding:.7em 1.15em; font-size:.7rem; }

/* tan property nav */
.dc-propnav{ background:var(--tan); }
.dc-propnav__inner{ display:flex; justify-content:center; }
.dc-menu{ list-style:none; display:flex; margin:0; padding:0; gap:2.6em; }
.dc-menu > li{ position:relative; }
.dc-menu > li > a{
	display:block; padding:1.05em 0; font-family:var(--f-serif);
	font-weight:600; font-size:1.02rem; text-transform:uppercase; letter-spacing:.11em;
	color:var(--forest);
}
.dc-menu > li > a:hover{ color:var(--white); }
.dc-caret{ display:inline-block; width:.5em; height:.5em; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); margin-left:.4em; }

/* dropdowns */
.dc-sub{
	list-style:none; margin:0; padding:.4em 0; position:absolute; top:100%; left:50%; transform:translateX(-50%);
	min-width:230px; background:var(--forest); box-shadow:0 12px 30px rgba(0,0,0,.22);
	opacity:0; visibility:hidden; transition:opacity .18s ease; z-index:30;
}
.dc-has-sub:hover .dc-sub{ opacity:1; visibility:visible; }
.dc-sub li a{
	display:block; padding:.6em 1.3em; color:#eadfce; font-family:var(--f-serif);
	font-size:1rem; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap;
}
.dc-sub li a:hover{ background:rgba(255,255,255,.08); color:var(--tan); }

/* logo row */
.dc-brandrow{ background:var(--white); }
.dc-brandrow__inner{ display:flex; align-items:center; justify-content:space-between; gap:30px; padding-top:14px; padding-bottom:14px; }
.dc-logo img{ height:120px; width:auto; }
.dc-menu--primary{ gap:2.1em; }
.dc-menu--primary > li > a{ padding:.4em 0; font-size:.98rem; color:var(--forest); }
.dc-menu--primary > li > a:hover{ color:var(--rust); }

/* =============================================================
   HERO + tan band
   ============================================================= */
.dc-hero{ position:relative; }
.dc-hero img{ width:100%; height:clamp(340px,52vh,560px); object-fit:cover; }
.dc-hero--video{ height:clamp(360px,62vh,640px); overflow:hidden; background:#000; }
.dc-hero--video iframe{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:100vw; height:56.25vw; min-height:100%; min-width:177.78vh; border:0; pointer-events:none; }

.dc-band{ background:var(--tan); text-align:center; padding:clamp(40px,6vw,72px) var(--pad); }
.dc-band h1,.dc-band h2{ color:var(--forest); font-size:clamp(1.9rem,3.6vw,2.9rem); letter-spacing:.02em; text-transform:uppercase; margin-bottom:.35em; }
.dc-band p{ font-family:var(--f-serif); font-size:1.2rem; max-width:60ch; margin:0 auto 1.4em; color:var(--forest); }

/* =============================================================
   SECTIONS
   ============================================================= */
.dc-section{ padding:clamp(52px,7vw,92px) 0; }
.dc-section--cream{ background:var(--cream); }
.dc-section--forest{ background:#000; color:#e9e2d6; }
.dc-section--forest h2,.dc-section--forest h3{ color:var(--white); }
.dc-sectionhead{ text-align:center; max-width:70ch; margin:0 auto clamp(34px,5vw,56px); }
.dc-sectionhead h2{ font-size:clamp(2.1rem,4.4vw,3.4rem); letter-spacing:.03em; text-transform:uppercase; }
.dc-sectionhead p{ font-family:var(--f-serif); font-size:1.22rem; }

/* property grid */
.dc-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(26px,4vw,56px); align-items:start; }
.dc-card__img{ display:block; aspect-ratio:16/11; overflow:hidden; }
.dc-card__img img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.dc-card:hover .dc-card__img img{ transform:scale(1.04); }
.dc-card h3{ margin-top:.9em; font-size:1.5rem; text-transform:uppercase; letter-spacing:.04em; }
.dc-card p{ font-family:var(--f-serif); color:rgba(21,44,35,.85); margin:.2em 0 0; }

/* =============================================================
   FOOTER
   ============================================================= */
.dc-footer{ background:var(--charcoal); color:#e6ddcf; }
.dc-footer__inner{ display:flex; justify-content:space-between; gap:40px; padding:clamp(44px,6vw,74px) var(--pad); flex-wrap:wrap; }
.dc-footer__h{ color:var(--white); font-size:1.8rem; text-transform:uppercase; letter-spacing:.04em; }
.dc-footer__contact p{ font-family:var(--f-serif); max-width:44ch; }
.dc-footer__meta{ list-style:none; padding:0; margin:1.4em 0 0; display:flex; gap:26px; font-family:var(--f-serif); }
.dc-footer__brand{ text-align:right; }
.dc-footer__logo{ height:120px; width:auto; margin-left:auto; filter:brightness(0) invert(1); opacity:.92; }
.dc-footer__tag{ font-family:var(--f-serif); letter-spacing:.1em; text-transform:uppercase; font-size:.9rem; margin-top:.5em; }
.dc-footer__bar{ background:#211d19; font-family:var(--f-sans); font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; }
.dc-footer__barinner{ display:flex; justify-content:space-between; padding:16px var(--pad); }
.dc-footer__barinner a{ text-decoration:underline; text-underline-offset:2px; }
.dc-footer__barinner a:hover{ color:var(--tan); }

/* ---------- post / page prose ---------- */
.dc-post__hero img{ width:100%; max-height:560px; object-fit:cover; }
.dc-prose{ max-width:760px; }
.dc-prose:has(.dc-split){ max-width:none; } /* services pages use wide split-row layouts */
.dc-prose p,.dc-prose li{ font-family:var(--f-serif); font-size:1.24rem; line-height:1.75; }
.dc-prose h2,.dc-prose h3{ margin-top:1.4em; }
.dc-prose img{ margin:1.6em 0; }
.dc-prose a{ color:var(--rust); text-decoration:underline; text-underline-offset:3px; }
.dc-prose a.dc-btn{ color:var(--white); text-decoration:none; }
.dc-pagination{ text-align:center; margin-top:clamp(30px,5vw,56px); font-family:var(--f-sans); text-transform:uppercase; letter-spacing:.08em; font-size:.85rem; }
.dc-pagination a,.dc-pagination .current{ padding:.5em .8em; }
.dc-pagination .current{ color:var(--rust); }

.dc-grid--3{ grid-template-columns:repeat(3,1fr); }
.dc-center{ display:table; margin:clamp(30px,4vw,48px) auto 0; }
.dc-card__blogtitle{ font-size:1.3rem; }
.dc-card__date{ font-family:var(--f-sans); text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; color:var(--rust); }

/* ---------- stay with us ---------- */
.dc-stay__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(30px,5vw,64px); align-items:center; }
.dc-stay__text h2{ text-align:left; font-size:clamp(2.1rem,4vw,3.2rem); text-transform:uppercase; letter-spacing:.03em; }
.dc-stay__text p{ font-family:var(--f-serif); font-size:1.15rem; }
.dc-amenities{ columns:2; column-gap:32px; list-style:none; padding:0; margin:1.3em 0; }
.dc-amenities li{ font-family:var(--f-sans); font-size:.92rem; line-height:1.5; margin-bottom:.7em; padding-left:1.1em; position:relative; break-inside:avoid; }
.dc-amenities li::before{ content:""; position:absolute; left:0; top:.55em; width:6px; height:6px; background:var(--rust); border-radius:50%; }
.dc-stay__collage{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.dc-stay__collage img{ width:100%; aspect-ratio:1/1; object-fit:cover; }

/* ---------- testimonials ---------- */
.dc-testi{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,3vw,34px); align-items:start; }
.dc-testi__card{ background:var(--tan-soft); margin:0; padding:clamp(26px,3vw,38px); position:relative; }
.dc-testi__mark{ font-family:var(--f-display); font-size:3.4rem; line-height:.6; color:var(--rust); display:block; margin-bottom:.15em; }
.dc-testi__card p{ font-family:var(--f-serif); font-size:1.08rem; line-height:1.6; margin:0 0 1em; color:var(--forest); }
.dc-testi__card cite{ font-family:var(--f-sans); font-style:normal; text-transform:uppercase; letter-spacing:.12em; font-size:.82rem; font-weight:600; color:var(--forest); }
.dc-testi__cta{ text-align:center; margin-top:clamp(34px,4vw,52px); }
.dc-testi__cta h3{ font-size:2rem; text-transform:uppercase; letter-spacing:.03em; margin-bottom:.5em; }

/* ---------- shop ---------- */
.dc-shop{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(24px,4vw,48px); align-items:start; }
.dc-shop__item{ text-align:center; }
.dc-shop__img{ aspect-ratio:1/1; background:#fff; overflow:hidden; }
.dc-shop__img img{ width:100%; height:100%; object-fit:cover; }
.dc-shop__item h4{ font-family:var(--f-display); font-weight:400; color:#fff; font-size:1.35rem; margin:.8em 0 .2em; }
.dc-shop__item p{ font-family:var(--f-sans); font-size:.86rem; letter-spacing:.04em; color:#cbd3c4; margin:0; }

/* ---------- instagram ---------- */
.dc-insta{ position:relative; }
.dc-insta__head{ background:var(--tan); text-align:center; padding:16px; }
.dc-insta__handle{ font-family:var(--f-serif); text-transform:uppercase; letter-spacing:.14em; font-weight:600; color:var(--forest); }
.dc-insta__row{ display:grid; grid-template-columns:repeat(6,1fr); }
.dc-insta__cell{ display:block; aspect-ratio:1/1; overflow:hidden; }
.dc-insta__cell img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease, opacity .3s ease; }
.dc-insta__cell:hover img{ transform:scale(1.05); opacity:.85; }

/* ---------- split rows (services pages) ---------- */
.dc-split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,60px); align-items:center; margin:clamp(34px,5vw,60px) 0; }
.dc-split:nth-of-type(even) .dc-split__img{ order:2; }
.dc-split__img img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.dc-split h3{ font-size:clamp(1.5rem,2.6vw,2.1rem); text-transform:uppercase; letter-spacing:.03em; margin-bottom:.4em; }
.dc-split p{ font-family:var(--f-serif); font-size:1.08rem; color:rgba(21,44,35,.85); }
.dc-split .dc-price{ display:block; font-family:var(--f-sans); font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; color:var(--rust); font-weight:600; margin-top:.8em; }
@media (max-width:760px){ .dc-split{ grid-template-columns:1fr; } .dc-split:nth-of-type(even) .dc-split__img{ order:0; } }
.dc-minigrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:clamp(30px,4vw,50px); }
.dc-minigrid img{ width:100%; aspect-ratio:1/1; object-fit:cover; }
@media (max-width:640px){ .dc-minigrid{ grid-template-columns:1fr 1fr; } }

/* ---------- contact ---------- */
.dc-contact{ display:grid; grid-template-columns:1fr 1.3fr; gap:clamp(28px,5vw,56px); margin-top:2em; align-items:start; }
.dc-contact__info h3{ font-size:1.5rem; text-transform:uppercase; letter-spacing:.04em; margin-bottom:.6em; }
.dc-contact__info p{ font-family:var(--f-serif); margin:.2em 0 1.1em; }
.dc-contact__info strong{ font-family:var(--f-sans); text-transform:uppercase; letter-spacing:.09em; font-size:.72rem; color:var(--rust); display:block; margin-bottom:.2em; }
.dc-form{ display:grid; gap:15px; }
.dc-form label{ font-family:var(--f-sans); text-transform:uppercase; letter-spacing:.08em; font-size:.72rem; color:var(--forest); display:block; margin-bottom:5px; }
.dc-form input,.dc-form textarea{ width:100%; padding:.8em 1em; border:1px solid #d8cdbb; background:#fff; font-family:var(--f-serif); font-size:1.05rem; }
.dc-form textarea{ min-height:150px; resize:vertical; }
.dc-form button{ justify-self:start; border:0; }
@media (max-width:720px){ .dc-contact{ grid-template-columns:1fr; } }

/* ---------- property page ---------- */
.dc-prop-hero{ background:#000; }
.dc-prop-video{ position:relative; width:100%; aspect-ratio:16/9; max-height:78vh; margin:0 auto; }
.dc-prop-video iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; pointer-events:none; }

/* poster covers the YouTube title/caption flash until playback actually starts */
.dc-video-poster{ position:absolute; inset:0; z-index:1; background:#000 center/cover no-repeat; pointer-events:none; opacity:1; transition:opacity .5s ease; }
.dc-video-poster.is-hidden{ opacity:0; }
.dc-prop-heroimg{ width:100%; height:clamp(340px,55vh,600px); object-fit:cover; }
.dc-band--forest{ background:#000; }
.dc-band--forest h1,.dc-band--forest h2,.dc-band--forest p{ color:#ece7db; }
.dc-prop-specs{ background:var(--charcoal); color:#e6ddcf; }
.dc-prop-specs ul{ list-style:none; margin:0; padding:clamp(22px,3vw,38px) var(--pad); display:flex; flex-wrap:wrap; justify-content:center; gap:clamp(26px,5vw,66px); }
.dc-prop-specs li{ font-family:var(--f-serif); text-transform:uppercase; letter-spacing:.13em; font-size:1.02rem; position:relative; }
.dc-prop-specs li + li::before{ content:""; position:absolute; left:calc(-1 * clamp(13px,2.5vw,33px)); top:15%; height:70%; width:1px; background:rgba(255,255,255,.22); }
.dc-features{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(24px,3vw,44px); margin-bottom:clamp(30px,4vw,50px); align-items:start; }
.dc-feature h4{ font-family:var(--f-display); font-weight:400; font-size:1.4rem; color:var(--forest); margin:0 0 .3em; letter-spacing:.01em; }
.dc-feature p{ font-family:var(--f-serif); font-size:1.02rem; color:rgba(21,44,35,.82); margin:0; }
@media (max-width:820px){ .dc-features{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .dc-features{ grid-template-columns:1fr; } }
.dc-products{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(26px,4vw,44px); align-items:start; }
.dc-product{ text-align:center; }
.dc-product__img{ aspect-ratio:1/1; overflow:hidden; background:#fff; position:relative; }
.dc-product__img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.dc-product:hover .dc-product__img img{ transform:scale(1.04); }
.dc-product__badge{ position:absolute; top:12px; right:12px; background:var(--charcoal); color:#fff; font-family:var(--f-sans); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; padding:.45em .8em; }
.dc-product h4{ font-family:var(--f-display); font-weight:400; font-size:1.25rem; margin:.8em 0 .15em; color:var(--forest); }
.dc-product__price{ font-family:var(--f-sans); font-size:.85rem; letter-spacing:.08em; color:var(--rust); font-weight:600; text-transform:uppercase; }
.dc-product p{ font-family:var(--f-serif); font-size:.96rem; color:rgba(21,44,35,.78); margin:.4em 0 0; }
@media (max-width:960px){ .dc-products{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .dc-products{ grid-template-columns:1fr; } }
.dc-enhance{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(20px,3vw,36px); margin-bottom:clamp(26px,3vw,40px); align-items:start; }
.dc-enhance__item h4{ font-family:var(--f-display); font-weight:400; font-size:1.25rem; color:var(--forest); margin:0 0 .3em; }
.dc-enhance__item p{ font-family:var(--f-serif); font-size:.98rem; color:rgba(21,44,35,.82); margin:0 0 .5em; }
.dc-enhance__price{ font-family:var(--f-sans); font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--rust); font-weight:600; }
@media (max-width:960px){ .dc-enhance{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .dc-enhance{ grid-template-columns:1fr; } }
.dc-bullets{ list-style:none; margin:.6em 0 1.2em; padding:0; }
.dc-bullets li{ font-family:var(--f-serif); font-size:1.02rem; color:rgba(21,44,35,.82); margin-bottom:.5em; padding-left:1.2em; position:relative; }
.dc-bullets li::before{ content:""; position:absolute; left:0; top:.6em; width:6px; height:6px; background:var(--rust); border-radius:50%; }
.dc-faq{ border-top:1px solid #e3d8c6; padding:1em 0; }
.dc-faq:last-of-type{ border-bottom:1px solid #e3d8c6; }
.dc-faq summary{ font-family:var(--f-display); font-size:1.3rem; color:var(--forest); cursor:pointer; list-style:none; position:relative; padding-right:2em; }
.dc-faq summary::after{ content:"+"; position:absolute; right:.2em; top:0; font-family:var(--f-sans); color:var(--rust); font-size:1.3rem; transition:transform .2s ease; }
.dc-faq[open] summary::after{ transform:rotate(45deg); }
.dc-faq p{ font-family:var(--f-serif); margin:.8em 0 0; color:rgba(21,44,35,.85); }
.dc-faq p a,.dc-bullets a{ color:var(--rust); text-decoration:underline; text-underline-offset:3px; }
.dc-gallery{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.dc-gallery__cell{ aspect-ratio:4/3; overflow:hidden; display:block; }
.dc-gallery__cell img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.dc-gallery__cell:hover img{ transform:scale(1.05); }
@media (max-width:720px){ .dc-gallery{ grid-template-columns:1fr 1fr; } }

/* =============================================================
   RESPONSIVE
   ============================================================= */
@media (max-width:960px){
	.dc-utility__left li:first-child{ display:none; }
	.dc-menu{ gap:1.4em; }
	.dc-brandrow__inner{ flex-direction:column; }
	.dc-menu--primary{ flex-wrap:wrap; justify-content:center; }
}
@media (max-width:720px){
	.dc-utility__inner{ flex-direction:column; gap:8px; padding-top:8px; padding-bottom:8px; }
	.dc-propnav__inner{ overflow-x:auto; }
	.dc-menu{ white-space:nowrap; }
	.dc-grid,.dc-grid--3,.dc-testi,.dc-shop{ grid-template-columns:1fr; }
	.dc-stay__grid{ grid-template-columns:1fr; }
	.dc-amenities{ columns:1; }
	.dc-insta__row{ grid-template-columns:repeat(3,1fr); }
	.dc-footer__inner{ flex-direction:column; }
	.dc-footer__brand{ text-align:left; } .dc-footer__logo{ margin-left:0; }
}
@media (max-width:960px){
	.dc-grid--3,.dc-testi,.dc-shop{ grid-template-columns:1fr 1fr; }
	.dc-stay__grid{ grid-template-columns:1fr; }
}

/* ---------- forms + popups (native replacements for Gravity Forms / Elementor popups) ---------- */
.dc-form select{ width:100%; padding:.8em 1em; border:1px solid #d8cdbb; background:#fff; font-family:var(--f-serif); font-size:1.05rem; }
.dc-form__row{ display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.dc-form__row fieldset{ border:1px solid #e3d8c6; padding:1em; }
.dc-check{ display:block; text-transform:none !important; letter-spacing:0 !important; font-size:.95rem !important; font-family:var(--f-serif) !important; margin:.35em 0; }
.dc-check input{ width:auto; margin-right:.5em; }
.dc-form__legend{ font-size:.8rem; color:rgba(21,44,35,.6); }
.dc-form__error{ color:#8a2f20; font-weight:600; }
.dc-form__hp{ position:absolute !important; left:-9999px !important; height:0; overflow:hidden; }
.dc-hidden{ display:none !important; }
@media (max-width:720px){ .dc-form__row{ grid-template-columns:1fr; } }

.dc-signup__row{ display:flex; gap:10px; }
.dc-signup__row input[type=email]{ flex:1; padding:.8em 1em; border:1px solid #d8cdbb; background:#fff; font-family:var(--f-serif); font-size:1rem; }
.dc-signup__msg{ font-family:var(--f-serif); margin-top:.6em; min-height:1.2em; }

.dc-modal{ display:none; position:fixed; inset:0; z-index:999; background:rgba(21,44,35,.55); padding:20px; }
.dc-modal.is-open{ display:flex; align-items:center; justify-content:center; }
.dc-modal__card{ position:relative; background:var(--cream,#f7f2e9); max-width:520px; width:100%; padding:clamp(28px,5vw,48px); text-align:center; box-shadow:0 20px 60px rgba(0,0,0,.35); animation:dcFadeIn .3s ease; }
.dc-modal__card h3{ font-size:clamp(1.6rem,3vw,2.2rem); text-transform:uppercase; letter-spacing:.04em; margin-bottom:.4em; }
.dc-modal__card p{ font-family:var(--f-serif); margin-bottom:1.2em; }
.dc-modal__close{ position:absolute; top:10px; right:14px; border:0; background:none; font-size:1.8rem; line-height:1; cursor:pointer; color:var(--forest,#152c23); }
body.dc-modal-open{ overflow:hidden; }
@keyframes dcFadeIn{ from{ opacity:0; } to{ opacity:1; } }

/* ---------- contact page building blocks ---------- */
.dc-hero-image,.dc-divider-image{ margin:0 0 2em; }
.dc-hero-image img,.dc-divider-image img{ width:100%; height:clamp(240px,38vw,420px); object-fit:cover; }
.dc-divider-image{ margin:2.5em 0; }
.dc-contact-details{ list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:.6em 2.2em; justify-content:center; font-family:var(--f-sans); text-transform:uppercase; letter-spacing:.08em; font-size:.85rem; }
.dc-contact-details a{ color:var(--forest,#152c23); text-decoration:none; }
.dc-map{ margin:2em 0; }
.dc-map iframe{ width:100%; height:400px; border:0; display:block; }
.dc-testimonials{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,3vw,40px); margin:2em 0; }
.dc-testimonials blockquote{ margin:0; padding:1.4em; background:#fff; border:1px solid #e3d8c6; font-family:var(--f-serif); font-size:.98rem; }
.dc-testimonials cite{ display:block; margin-top:.8em; font-style:normal; font-family:var(--f-sans); text-transform:uppercase; letter-spacing:.09em; font-size:.75rem; color:var(--rust,#a5502c); }
@media (max-width:860px){ .dc-testimonials{ grid-template-columns:1fr; } }

/* ---------- FAQ page: open two-column Q&A blocks (matches live site) ---------- */
.dc-faqgrid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,48px); margin:1.5em 0; }
.dc-prose:has(.dc-faqgrid){ max-width:none; }
.dc-faqitem h3{ font-size:1.15rem; text-transform:uppercase; letter-spacing:.04em; margin-bottom:.5em; }
.dc-faqitem{ border-top:1px solid #e3d8c6; padding-top:1.2em; }
@media (max-width:820px){ .dc-faqgrid{ grid-template-columns:1fr; } }

/* ---------- contact page: full-bleed sections + dark form band (matches live) ---------- */
.screen-reader-text{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }
.dc-section--flush{ padding-top:0; }
.dc-prose:has(.dc-fullbleed){ max-width:none; }
.dc-fullbleed{ width:100vw; margin-left:calc(50% - 50vw); max-width:100vw; }
.dc-fullbleed.dc-hero-image, .dc-fullbleed.dc-divider-image{ margin-top:0; margin-bottom:0; }
.dc-fullbleed.dc-hero-image img, .dc-fullbleed.dc-divider-image img{ width:100%; height:clamp(300px,42vw,560px); object-fit:cover; display:block; }
.dc-contact-details{ padding:clamp(24px,4vw,44px) 20px; margin:0 auto; }
.dc-contact-details .dc-ic{ color:var(--rust); margin-right:.35em; }
.dc-formband{ background:#3d3d3d; padding:clamp(48px,7vw,90px) 20px; }
.dc-formband__inner{ max-width:660px; margin:0 auto; text-align:center; }
.dc-formband h2{ color:#fff; font-size:clamp(1.9rem,3.6vw,2.7rem); text-transform:uppercase; letter-spacing:.08em; margin-bottom:.5em; }
.dc-formband__inner > p{ color:rgba(255,255,255,.9); font-family:var(--f-serif); margin-bottom:2em; }
.dc-formband .dc-form{ text-align:left; gap:12px; }
.dc-formband .dc-form input,.dc-formband .dc-form textarea,.dc-formband .dc-form select{ border:0; }
.dc-formband .dc-form__row fieldset{ border-color:rgba(255,255,255,.35); }
.dc-formband .dc-check{ color:#fff; }
.dc-formband .dc-form__error{ color:#f0b9a8; }
.dc-formband .dc-form button{ justify-self:center; min-width:240px; margin-top:.6em; }
.dc-testimonials{ max-width:1200px; margin:3em auto; }
.dc-testimonials blockquote{ background:var(--tan); border:0; padding:2em 1.6em; position:relative; }
.dc-testimonials blockquote::before{ content:"\201C"; display:block; font-family:Georgia,serif; font-size:3.4em; line-height:.6; color:var(--forest); margin-bottom:.35em; }
.dc-testimonials cite{ color:var(--forest); font-weight:600; }
.dc-review-cta{ margin:2.5em auto 3.5em; text-align:center; }
.dc-review-cta p:first-child{ font-family:var(--f-display); font-size:1.6rem; text-transform:uppercase; letter-spacing:.06em; }

/* ---------- video parity: mobile fallback + bottom tour player ---------- */
.dc-prop-heroimg--mobile{ display:none; }
@media (max-width:767px){
	/* Elementor hides background videos on mobile (play_on_mobile off everywhere but the homepage) */
	.dc-prop-video{ display:none; }
	.dc-prop-heroimg--mobile{ display:block; }
	.dc-page .dc-prop-hero{ display:none; } /* content pages (Animal Experiences): no image fallback, like the live site */
}
.dc-prop-player{ position:relative; aspect-ratio:16/9; max-width:1000px; margin:0 auto; }
.dc-prop-player iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
