/* ===== CONTACT PAGE ===== */
.page-contact{--pg:#FBF7F0;--pg2:#F4EEE3;--ink:#2E2A24;--muted:#57503F;--gold:#A8853F;--brown:#6B4A24;--line:#E0D5C0;background:var(--pg);color:var(--ink);font-family:'EB Garamond',Georgia,serif}

/* Hero (built on the courses hero) */
.ct-hero h1{font-size:clamp(40px,5.6vw,66px);line-height:1.08;text-transform:none;letter-spacing:0}
.ct-sub{margin:10px 0 0;font-size:clamp(21px,2.4vw,29px);line-height:1.3}
.page-contact .co-lede{margin-top:16px}

/* Contact information + map */
.ct-info{padding:46px 0 52px}
.ct-info-in{width:min(1200px,100% - 48px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:start}
.ct-dash{display:block;width:70px;height:1px;background:var(--gold);margin-bottom:18px}
.ct-info h2{margin:0 0 12px;font-weight:400;font-size:clamp(27px,3vw,36px)}
.ct-help{margin:0 0 28px;font-family:'Tenor Sans',system-ui,sans-serif;font-size:14.5px;line-height:1.75;color:var(--muted);max-width:430px}

.ct-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:22px}
.ct-list li{display:flex;align-items:center;gap:20px}
.ct-ic{width:58px;height:58px;flex:none;border:1px solid var(--gold);border-radius:50%;color:var(--gold);display:flex;align-items:center;justify-content:center}
.ct-ic svg{width:26px;height:26px}
.ct-list h3{margin:0 0 4px;font-family:'Tenor Sans',system-ui,sans-serif;font-weight:400;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.ct-list p{margin:0;font-size:19px;line-height:1.4}
.ct-list a:hover{color:var(--gold)}

.ct-map{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#EFEAE0}
.ct-map iframe{display:block;width:100%;height:340px;border:0}

/* Forms */
.ct-forms{padding:0 0 56px}
.ct-forms-in{width:min(1200px,100% - 48px);margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;align-items:start}
.ct-form-card{background:var(--pg2);border:1px solid var(--line);border-radius:6px;padding:34px 34px 38px}
.ct-form-card h2{margin:0 0 10px;font-weight:400;font-size:clamp(25px,2.8vw,33px)}
.ct-form{display:flex;flex-direction:column;gap:14px;margin-top:22px}
.ct-form input[type="text"],
.ct-form input[type="email"],
.ct-form input[type="tel"],
.ct-form select,
.ct-form textarea{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:6px;background:#FDFBF7;font-family:'Tenor Sans',system-ui,sans-serif;font-size:14.5px;color:var(--ink);box-sizing:border-box}
.ct-form textarea{resize:vertical;min-height:110px}
.ct-form input:focus,.ct-form select:focus,.ct-form textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
.ct-form ::placeholder{color:#9A9183}

.ct-drop{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:30px 20px;border:1px dashed #C9B894;border-radius:6px;background:#FDFBF7;text-align:center;cursor:pointer}
.ct-drop input[type="file"]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.ct-drop-ic{width:40px;height:40px;border:1px solid var(--gold);border-radius:6px;color:var(--gold);display:flex;align-items:center;justify-content:center}
.ct-drop-ic svg{width:22px;height:22px}
.ct-drop-text{font-family:'Tenor Sans',system-ui,sans-serif;font-size:14px;color:var(--muted)}
.ct-drop-note{font-family:'Tenor Sans',system-ui,sans-serif;font-size:12.5px;color:#9A9183}

.ct-btn{align-self:flex-start;margin-top:8px;display:inline-flex;align-items:center;gap:14px;min-height:52px;padding:0 30px;border:0;border-radius:999px;background:var(--brown);color:#fff;font-family:'Tenor Sans',system-ui,sans-serif;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background .25s}
.ct-btn:hover{background:#523718}
.ct-btn svg{width:20px}

.ct-close .co-close-in{padding:42px 24px 48px}

@media (max-width:980px){
	.ct-info-in{grid-template-columns:minmax(0,1fr);gap:34px}
	.ct-forms-in{grid-template-columns:minmax(0,1fr)}
	.ct-map iframe{height:300px}
}
@media (max-width:560px){
	.ct-form-card{padding:26px 22px 30px}
	.ct-list li{gap:14px}
	.ct-ic{width:50px;height:50px}
	.ct-list p{font-size:17px}
}
