/* contact page styles (ct-* only) */
/* CONTACT PAGE */
.ct-hero { background: var(--linen); padding: 80px 56px 72px; text-align:center; position:relative; overflow:hidden; border-bottom:1px solid var(--mist); }
.ct-hero::before { content:''; position:absolute; top:-110px; right:-110px; width:320px; height:320px; border-radius:50%; border:1px solid var(--mist); }
.ct-eyebrow { font-size:11px; font-weight:500; letter-spacing:0.22em; text-transform:uppercase; color:var(--sage); display:flex; align-items:center; justify-content:center; gap:10px; margin-bottom:16px; position:relative; z-index:1; }
.ct-eyebrow::before, .ct-eyebrow::after { content:''; width:28px; height:1px; background:var(--sage); }
.ct-hero-title { font-family:'Cormorant Garamond',serif; font-size:50px; font-weight:400; line-height:1.12; color:var(--ink); margin-bottom:16px; position:relative; z-index:1; }
.ct-hero-title em { font-style:italic; }
.ct-hero-sub { font-size:16px; color:var(--text-sm); line-height:1.8; font-weight:300; max-width:540px; margin:0 auto; position:relative; z-index:1; }
/* main split: info + form */
.ct-main { display:grid; grid-template-columns: 0.9fr 1.1fr; align-items:stretch; }
.ct-info { background: var(--ink); padding: 80px 64px; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; }
.ct-info::before { content:''; position:absolute; bottom:-100px; left:-100px; width:280px; height:280px; border-radius:50%; border:1px solid rgba(255,255,255,0.06); }
.ct-info-label { font-size:11px; font-weight:500; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold-lt); display:flex; align-items:center; gap:10px; margin-bottom:28px; }
.ct-info-label::before { content:''; width:22px; height:1px; background:var(--gold); }
.ct-detail { display:flex; align-items:flex-start; gap:18px; margin-bottom:30px; position:relative; z-index:1; }
.ct-detail-icon { width:46px; height:46px; border-radius:50%; border:1px solid rgba(184,154,90,0.4); display:flex; align-items:center; justify-content:center; font-size:18px; flex-shrink:0; }
.ct-detail-text strong { display:block; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-lt); margin-bottom:6px; font-weight:500; }
.ct-detail-text span { font-size:15px; color:rgba(255,255,255,0.85); font-weight:300; line-height:1.65; }
.ct-detail-text a { color:rgba(255,255,255,0.85); text-decoration:none; }
.ct-detail-text a:hover { color:var(--white); }
/* form */
.ct-form-wrap { background: var(--warm-white); padding: 80px 64px; display:flex; flex-direction:column; justify-content:center; }
.ct-form-label { font-size:11px; font-weight:500; letter-spacing:0.22em; text-transform:uppercase; color:var(--sage); display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.ct-form-label::before { content:''; width:22px; height:1px; background:var(--sage); }
.ct-form-title { font-family:'Cormorant Garamond',serif; font-size:34px; font-weight:400; color:var(--ink); margin-bottom:8px; }
.ct-form-title em { font-style:italic; }
.ct-form-intro { font-size:14.5px; color:var(--text-sm); font-weight:300; line-height:1.7; margin-bottom:32px; max-width:420px; }
.ct-field { margin-bottom:20px; }
.ct-field label { display:block; font-size:11px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-sm); margin-bottom:8px; }
.ct-field input, .ct-field textarea {
  width:100%; padding:14px 16px; border:1px solid var(--mist); background:var(--white);
  font-family:'Jost',sans-serif; font-size:15px; font-weight:300; color:var(--text); resize:vertical;
  transition: border-color 0.2s;
}
.ct-field input:focus, .ct-field textarea:focus { outline:none; border-color: var(--sage); }
.ct-field input::placeholder, .ct-field textarea::placeholder { color: #b0a89e; }
.ct-form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
/* map full width */
.ct-map { height: 440px; overflow:hidden; position:relative; border-top:4px solid var(--forest); }
.ct-map iframe { width:100%; height:100%; border:0; display:block; filter: grayscale(0.2) contrast(1.05); }

@media (max-width: 900px) {
.ct-hero { padding:56px 24px; }
.ct-hero::before { display:none; }
.ct-hero-title { font-size:38px; }
.ct-main { grid-template-columns:1fr; }
.ct-info { padding:52px 24px; order:1; }
.ct-form-wrap { padding:52px 24px; order:0; }
.ct-form-row { grid-template-columns:1fr; gap:0; }
.ct-map { height:320px; }
}

/* SVG detail icons + dark-panel text (appended) */
.ct-detail-icon svg { width: 20px; height: 20px; color: var(--gold-lt); }
.ct-detail-text strong { display:block; font-family:'Jost',sans-serif; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color: var(--gold-lt); margin-bottom:4px; }
.ct-detail-text span, .ct-detail-text a { color: rgba(255,255,255,0.82); text-decoration:none; font-size:15px; line-height:1.6; }
.ct-detail-text a:hover { color:#fff; }
.ct-form-note { font-size:13px; color: var(--text-sm); margin-top:16px; line-height:1.6; }
.ct-form-note a { color: var(--ink); }
