
.contact-page{--ct-max:1500px;--ct-pad:clamp(22px,4vw,76px);--ct-ink:#14251f;--ct-muted:#52645d;--ct-paper:#fbf8f0;--ct-green:#073b32;--ct-deep:#031d18;--ct-gold:#d9b96c;--ct-gold2:#b88f43;overflow:hidden;background:var(--ct-paper);color:var(--ct-ink)}
.contact-page *{box-sizing:border-box}.contact-page a{text-decoration:none;color:inherit}
.ct-hero{background:var(--ct-paper);padding:clamp(52px,6vw,88px) var(--ct-pad) 0}
.ct-hero-inner{width:min(var(--ct-max),100%);margin:auto;min-height:clamp(500px,62vh,680px);display:grid;grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);grid-template-rows:1fr auto;align-items:end;gap:32px 64px;padding-bottom:clamp(34px,4vw,58px)}
.ct-hero-copy{max-width:1120px}
.ct-kicker{margin:0 0 17px;color:var(--ct-green);font:700 .68rem/1.2 Arial,sans-serif;letter-spacing:.2em}
.ct-hero h1,.ct-section-head h2,.ct-enquiry-intro h2,.ct-visit h2,.ct-close h2{margin:0;font:400 clamp(3.15rem,7vw,7.5rem)/.9 Georgia,Times,serif;letter-spacing:-.055em}
.ct-hero h1 em,.ct-section-head h2 em,.ct-enquiry-intro h2 em,.ct-visit h2 em,.ct-close h2 em{font-style:italic}
.ct-hero-media{position:relative;align-self:end;min-height:420px;height:min(48vw,530px);overflow:hidden;background:#ece6d8;border:1px solid rgba(20,37,31,.16);box-shadow:0 22px 50px rgba(3,29,24,.12)}.ct-hero-media img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 58%;filter:saturate(.88) contrast(.98);transition:transform .9s cubic-bezier(.2,.8,.2,1),filter .6s ease}.ct-hero-media:hover img{transform:scale(1.035);filter:saturate(1) contrast(1.01)}.ct-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(3,29,24,.48));pointer-events:none}.ct-hero-media-caption{position:absolute;left:20px;right:20px;bottom:18px;z-index:2;color:#fff;display:grid;gap:5px}.ct-hero-media-caption span{font:700 .58rem Arial,sans-serif;letter-spacing:.16em}.ct-hero-media-caption strong{font:400 1.05rem/1.25 Georgia,serif}
.ct-lead{max-width:670px;margin:30px 0 0;color:var(--ct-muted);font:400 1rem/1.75 Arial,sans-serif}
.ct-line-link{display:inline-flex;align-items:center;gap:12px;margin-top:30px;color:var(--ct-green);font:700 .7rem Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid rgba(7,59,50,.35);padding-bottom:9px}
.ct-hero-note{grid-column:1/-1;margin-top:0;display:flex;gap:13px;align-items:flex-start;color:var(--ct-green)}
.ct-hero-note span{font:700 .65rem Arial}.ct-hero-note p{margin:0;font:700 .62rem/1.45 Arial;letter-spacing:.16em}
.ct-hero-rule{width:min(var(--ct-max),100%);margin:auto;border-bottom:1px solid rgba(20,37,31,.2)}

.ct-connect{padding:clamp(68px,8vw,112px) var(--ct-pad);background:var(--ct-paper)}
.ct-section-head{width:min(var(--ct-max),100%);margin:0 auto 52px}
.ct-section-head h2{font-size:clamp(3rem,5.8vw,6.2rem)}
.ct-contact-list{width:min(var(--ct-max),100%);margin:auto;border-top:1px solid rgba(20,37,31,.2)}
.ct-contact-row{min-height:92px;display:grid;grid-template-columns:48px 120px minmax(0,1fr) 30px;align-items:center;gap:18px;border-bottom:1px solid rgba(20,37,31,.2);transition:padding .3s,background .3s}
a.ct-contact-row:hover{padding-inline:18px;background:rgba(217,185,108,.08)}
.ct-index{font:700 .65rem Arial;color:var(--ct-gold2)}.ct-label{font:700 .62rem Arial;letter-spacing:.16em;color:var(--ct-muted)}
.ct-contact-row strong{font:400 clamp(1.02rem,1.8vw,1.45rem)/1.3 Georgia,Times,serif}
.ct-arrow{color:var(--ct-green);font:400 1.1rem Arial;text-align:right}

.ct-enquiry{padding:clamp(70px,8vw,115px) var(--ct-pad);background:var(--ct-green);display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);gap:clamp(55px,8vw,125px);color:#f6f0e4}
.ct-enquiry-intro{max-width:570px}.ct-enquiry .ct-kicker{color:var(--ct-gold)}
.ct-enquiry-intro h2{color:#f6f0e4;font-size:clamp(3rem,5.5vw,6rem)}
.ct-enquiry-intro>p{margin:28px 0 0;max-width:500px;color:rgba(246,240,228,.72);font:400 .96rem/1.8 Arial}
.ct-response{margin-top:45px;padding-top:17px;border-top:1px solid rgba(246,240,228,.23);display:grid;gap:7px}
.ct-response span{font:700 .62rem Arial;letter-spacing:.16em;color:var(--ct-gold)}.ct-response strong{font:400 .95rem Georgia,serif}
.ct-form{display:grid;grid-template-columns:1fr 1fr;gap:25px 30px}
.ct-field label{display:block;margin-bottom:8px;color:rgba(246,240,228,.68);font:700 .62rem Arial;letter-spacing:.14em;text-transform:uppercase}
.ct-field input,.ct-field select,.ct-field textarea{width:100%;border:0;border-bottom:1px solid rgba(246,240,228,.3);border-radius:0;background:transparent;color:#f6f0e4;padding:10px 0 13px;font:400 .95rem Arial;outline:0}
.ct-field input::placeholder,.ct-field textarea::placeholder{color:rgba(246,240,228,.4)}.ct-field select{appearance:none}.ct-field select option{color:#14251f;background:#fbf8f0}.ct-field textarea{resize:vertical;min-height:95px}.ct-field-full{grid-column:1/-1}
.ct-form-bottom{grid-column:1/-1;display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-top:3px}.ct-form-bottom p{max-width:390px;margin:0;color:rgba(246,240,228,.5);font:.68rem/1.6 Arial}.ct-form-bottom button{border:1px solid var(--ct-gold);background:var(--ct-gold);color:#173027;padding:15px 21px;cursor:pointer;font:700 .67rem Arial;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.ct-form-bottom button span{margin-left:9px}.ct-form-status{grid-column:1/-1;display:none;color:#f6f0e4;font:700 .75rem Arial}.ct-form-status.show{display:block}

.ct-visit{padding:clamp(70px,8vw,110px) var(--ct-pad) 0;background:var(--ct-paper)}
.ct-visit-top{width:min(var(--ct-max),100%);margin:auto;display:grid;grid-template-columns:1fr 1.1fr;gap:40px 70px;align-items:end;padding-bottom:45px}.ct-visit-top .ct-kicker{grid-column:1/-1}.ct-visit h2{font-size:clamp(3rem,5.8vw,6.2rem)}.ct-visit-top>p:last-child{max-width:470px;margin:0;color:var(--ct-muted);font:.96rem/1.8 Arial}
.ct-map-wrap{width:min(var(--ct-max),100%);margin:auto;height:clamp(380px,46vw,620px);position:relative;overflow:hidden}.ct-map-wrap iframe{width:100%;height:100%;border:0;filter:grayscale(.55) contrast(.95)}.ct-map-tag{position:absolute;left:22px;bottom:22px;background:var(--ct-paper);padding:17px 20px;display:grid;gap:6px;box-shadow:0 10px 28px rgba(3,29,24,.13)}.ct-map-tag span{font:700 .6rem Arial;letter-spacing:.14em;color:var(--ct-muted)}.ct-map-tag strong{font:400 .95rem Georgia,serif}

.ct-close{background:var(--ct-deep);padding:clamp(75px,8vw,120px) var(--ct-pad);color:#f6f0e4}.ct-close-inner{width:min(var(--ct-max),100%);margin:auto}.ct-close .ct-kicker{color:var(--ct-gold)}.ct-close h2{color:#f6f0e4;max-width:1100px;font-size:clamp(3rem,6vw,6.8rem)}.ct-close-bottom{margin-top:55px;padding-top:22px;border-top:1px solid rgba(246,240,228,.22);display:flex;justify-content:space-between;align-items:flex-end;gap:45px}.ct-close-bottom>p{max-width:480px;margin:0;color:rgba(246,240,228,.66);font:.95rem/1.75 Arial}.ct-close-actions{display:flex;flex-direction:column;gap:14px;align-items:flex-end}.ct-close-actions a{color:#f6f0e4;border-bottom:1px solid rgba(217,185,108,.5);padding-bottom:8px;font:700 .67rem Arial;letter-spacing:.11em;text-transform:uppercase}.ct-close-actions span{margin-left:9px;color:var(--ct-gold)}
@media(max-width:900px){.ct-hero-inner{grid-template-columns:1fr;min-height:0;gap:30px;padding-bottom:34px}.ct-hero-copy{max-width:850px}.ct-hero-media{height:410px;min-height:0}.ct-hero-note{grid-column:auto}.ct-enquiry{grid-template-columns:1fr}.ct-enquiry-intro{max-width:720px}.ct-visit-top{grid-template-columns:1fr}.ct-visit-top .ct-kicker{grid-column:auto}}
@media(max-width:650px){.ct-hero{padding-top:42px}.ct-hero-media{height:320px}.ct-hero-media-caption{left:14px;right:14px;bottom:14px}.ct-hero h1,.ct-section-head h2,.ct-enquiry-intro h2,.ct-visit h2,.ct-close h2{letter-spacing:-.04em}.ct-lead{font-size:.92rem}.ct-contact-row{grid-template-columns:32px 1fr 24px;gap:10px;min-height:92px}.ct-contact-row .ct-label{grid-column:2;grid-row:1}.ct-contact-row strong{grid-column:2;grid-row:2;font-size:1rem}.ct-contact-row .ct-arrow{grid-column:3;grid-row:1/3}.ct-form{grid-template-columns:1fr}.ct-field-full,.ct-form-bottom,.ct-form-status{grid-column:1}.ct-form-bottom{flex-direction:column;align-items:stretch}.ct-form-bottom button{width:100%}.ct-map-wrap{height:420px}.ct-map-tag{left:12px;right:12px;bottom:12px}.ct-close-bottom{flex-direction:column;align-items:flex-start}.ct-close-actions{align-items:flex-start}}
/* CONTACT PAGE DARK MODE — synced with the global body.dark toggle */
body.dark .contact-page{
  --ct-paper:#071e19;
  --ct-ink:#f7f1e6;
  --ct-muted:#c2cec7;
  --ct-green:#d9b96c;
  --ct-deep:#03140f;
  --ct-gold:#d9b96c;
  --ct-gold2:#e0bd73;
  background:var(--ct-paper);
  color:var(--ct-ink);
}
body.dark .contact-page .ct-hero,
body.dark .contact-page .ct-connect,
body.dark .contact-page .ct-visit{background:var(--ct-paper);color:var(--ct-ink)}
body.dark .contact-page .ct-kicker,
body.dark .contact-page .ct-line-link,
body.dark .contact-page .ct-arrow{color:var(--ct-gold)}
body.dark .contact-page .ct-lead,
body.dark .contact-page .ct-contact-row .ct-label,
body.dark .contact-page .ct-visit-top>p:last-child{color:var(--ct-muted)}
body.dark .contact-page .ct-contact-list{border-top-color:rgba(217,185,108,.25)}
body.dark .contact-page .ct-contact-row{border-bottom-color:rgba(217,185,108,.25)}
body.dark .contact-page .ct-contact-row strong{color:var(--ct-ink)}
body.dark .contact-page .ct-line-link{border-bottom-color:rgba(217,185,108,.5)}
body.dark .contact-page .ct-hero-rule{border-bottom-color:rgba(217,185,108,.25)}
body.dark .contact-page .ct-map-tag{background:#0b2722;color:var(--ct-ink);box-shadow:0 10px 28px rgba(0,0,0,.35)}
body.dark .contact-page .ct-map-tag span{color:var(--ct-muted)}
body.dark .contact-page .ct-form input,
body.dark .contact-page .ct-form select,
body.dark .contact-page .ct-form textarea{color:#f6f0e4;border-bottom-color:rgba(246,240,228,.34)}
body.dark .contact-page .ct-form input::placeholder,
body.dark .contact-page .ct-form textarea::placeholder{color:rgba(246,240,228,.5)}
body.dark .contact-page .ct-form select option{color:#f6f0e4;background:#0b2722}
body.dark .contact-page .ct-response{border-top-color:rgba(246,240,228,.23)}
body.dark .contact-page .ct-visit{border-top-color:rgba(217,185,108,.18)}
body.dark .contact-page .ct-close{background:#03140f}



body.dark .detail-row strong{color:#fff7e8} body.dark .detail-row span{color:#e0e8e3} body.dark .collection p{color:#d7e0db} body.dark .text-link{color:var(--gold)}
.enquire-btn{position:relative;top:0!important;transform:none}.enquire-btn:hover{transform:translateY(-2px)}
@media(max-width:700px){.crafted-grid{min-height:0}.crafted-photo{min-height:430px}.crafted-photo img{min-height:430px}.enquire-btn{top:0!important}}


/* =========================================================
   FINAL HERO ALIGNMENT — AURELIA CONTACT
   Match the centered vertical rhythm used by the other
   editorial page heroes while keeping the split composition.
   ========================================================= */
.contact-page .ct-hero{
  padding-top:clamp(42px,5vw,76px);
}
.contact-page .ct-hero-inner{
  min-height:clamp(560px,72vh,680px);
  align-items:center;
}
.contact-page .ct-hero-copy{
  align-self:center;
  text-align:center;
  margin-inline:auto;
}
.contact-page .ct-hero-copy .ct-lead{
  margin-inline:auto;
}
.contact-page .ct-hero-media{
  align-self:center;
}
.contact-page .ct-hero-note{
  align-self:end;
}
@media(max-width:900px){
  .contact-page .ct-hero-inner{
    min-height:0;
    align-items:center;
  }
  .contact-page .ct-hero-copy,
  .contact-page .ct-hero-media{
    align-self:center;
  }
}
@media(max-width:650px){
  .contact-page .ct-hero{
    padding-top:34px;
  }
}

/* FINAL CONTACT ENQUIRY CONTRAST FIX
   Keep the enquiry panel deep green in dark mode. The previous theme
   override changed --ct-green to gold, which made the cream form text
   disappear against the gold background. */
body.dark .contact-page{
  --ct-green:#073b32;
  --ct-deep:#03140f;
  --ct-gold:#d9b96c;
  --ct-gold2:#e0bd73;
}
body.dark .contact-page .ct-enquiry{
  background:#073b32 !important;
  color:#f6f0e4 !important;
}
body.dark .contact-page .ct-enquiry-intro h2,
body.dark .contact-page .ct-enquiry-intro > p,
body.dark .contact-page .ct-response strong,
body.dark .contact-page .ct-form label,
body.dark .contact-page .ct-form input,
body.dark .contact-page .ct-form select,
body.dark .contact-page .ct-form textarea{
  color:#f6f0e4;
}
body.dark .contact-page .ct-form input,
body.dark .contact-page .ct-form select,
body.dark .contact-page .ct-form textarea{
  background:transparent !important;
  border-bottom-color:rgba(246,240,228,.42) !important;
}
body.dark .contact-page .ct-form input::placeholder,
body.dark .contact-page .ct-form textarea::placeholder{
  color:rgba(246,240,228,.72) !important;
}
body.dark .contact-page .ct-form-bottom p{
  color:rgba(246,240,228,.72) !important;
}
body.dark .contact-page .ct-response{
  border-top-color:rgba(246,240,228,.3) !important;
}
body.dark .contact-page .ct-form-bottom button{
  background:#d9b96c !important;
  border-color:#d9b96c !important;
  color:#173027 !important;
}
