:root{
  --paper:#FFFDF9;
  --paper-warm:#F8F1E9;
  --aubergine:#4A1454;
  --rose:#A94F66;
  --lilac:#F1E9F5;
  --lilac-line:#DED1DA;
  --ink:#352A3B;
  --muted:#675B6A;
  --shadow:0 12px 34px rgba(74,20,84,.09);
}
*{box-sizing:border-box}
html{overflow-x:hidden;scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:"Lato",Arial,sans-serif;font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{color:var(--aubergine);font-family:"Literata",Georgia,serif;font-weight:600;line-height:1.12;letter-spacing:-.02em}
.wrap{width:min(calc(100% - 48px),1120px);margin-inline:auto}
.eyebrow{display:inline-flex;color:var(--rose);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:12px 25px;border-radius:999px;font-weight:700;transition:.15s ease}
.btn:hover,.btn:focus-visible{transform:translateY(-1px)}
.btn-outline{border:2px solid var(--aubergine);color:var(--aubergine);background:#fff}

.contact-hero{padding:72px 0 70px;background:radial-gradient(circle at 85% 15%,rgba(228,204,223,.48),transparent 34%),linear-gradient(145deg,#FFFDF9 0%,#F8F1E9 68%,#F1E9F5 100%)}
.contact-hero-inner{max-width:820px;text-align:center}
.contact-hero h1{margin-top:10px;font-size:58px}
.contact-hero p{max-width:720px;margin:18px auto 0;color:#51484f;font-size:20px}

.contact-section{padding:74px 0;background:#FFFDF9}
.contact-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:36px;align-items:stretch}
.contact-form-card,.contact-details-card{border:1px solid var(--lilac-line);border-radius:22px;box-shadow:var(--shadow)}
.contact-form-card{padding:32px;background:#FFFEFA}
.contact-details-card{display:flex;flex-direction:column;justify-content:center;padding:42px 38px;background:var(--lilac)}
.contact-details-card h2{font-size:31px;margin-bottom:4px}
.contact-form{display:grid;gap:21px}
.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-field{display:grid;gap:8px}
.contact-field label{color:var(--aubergine);font-size:15px;font-weight:700}
.contact-field label span,.contact-consent>span>span{color:#A94F66}
.contact-field input,.contact-field select,.contact-field textarea{width:100%;border:1px solid #DCCFDA;border-radius:13px;background:#FFFDFD;color:var(--ink);padding:13px 14px;outline:0;font-family:"Lato",sans-serif;font-size:16px;font-weight:400;line-height:1.45;transition:border-color .15s ease,box-shadow .15s ease}
.contact-field textarea{min-height:175px;resize:vertical}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:#A94F66;box-shadow:0 0 0 3px rgba(169,79,102,.12)}
.contact-consent{display:flex;align-items:flex-start;gap:10px;color:#554B59;font-size:14px;line-height:1.5}
.contact-consent input{width:18px;height:18px;margin-top:2px;flex:none;accent-color:#A94F66}
.contact-consent a{color:#873B53;font-weight:800;text-decoration:underline;text-underline-offset:2px}
.contact-submit{width:max-content;border:0;color:#fff;background:#A94F66;cursor:pointer}
.contact-submit:hover,.contact-submit:focus-visible{background:#873B53}
.contact-submit[disabled]{cursor:wait;opacity:.75}
.contact-reply{margin-top:-9px;color:var(--muted);font-size:14px}
.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
input[type="hidden"]{display:none!important}
.contact-status{padding:12px 14px;border-radius:11px;font-size:14px;font-weight:700}
.contact-status.success{color:#285D3E;background:#EEF7F0;border:1px solid #CFE5D4}
.contact-status.error{color:#7D303E;background:#FBEEF1;border:1px solid #EBCBD2}
.contact-status a{text-decoration:underline}

.contact-details-list{display:grid;gap:0;margin-top:18px}
.contact-detail{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid rgba(74,20,84,.11)}
.contact-detail:first-child{padding-top:12px}
.contact-detail:last-child{border-bottom:0;padding-bottom:12px}
.contact-detail-icon{position:relative;display:block;width:46px;height:46px;flex:none;border:1px solid transparent;border-radius:50%;line-height:0;box-shadow:0 5px 14px rgba(74,20,84,.07)}
.contact-detail-icon svg{position:absolute;left:50%;top:50%;display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transform:translate(-50%,-50%)}
.contact-detail-icon--location{color:#A94F66;background:#F8E6EA;border-color:#EAC8D1}
.contact-detail-icon--location svg{transform:translate(-50%,-53%)}
.contact-detail-icon--email{color:#64366F;background:#EEE5F1;border-color:#DCCBE2}
.contact-detail-icon--phone{color:#B66A4E;background:#F7E9E3;border-color:#EBCFC3}
.contact-detail-icon--clock{color:#6F8873;background:#EAF0EB;border-color:#CEDCCE}
.contact-detail strong,.contact-detail span,.contact-detail a{display:block}
.contact-location-title{display:block;font-family:"Lato",Arial,sans-serif;font-size:15px;font-weight:400;line-height:1.45}
.contact-detail strong{color:var(--aubergine);line-height:1.35}
.contact-detail span{margin-top:2px;color:var(--muted);line-height:1.5}
.contact-detail .contact-location-title{color:#6F6670;font-size:14px;font-weight:400!important;line-height:1.4;letter-spacing:.015em}
.contact-detail a{color:var(--aubergine);font-weight:800;line-height:1.45;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}

/* Retained approved general-area map section */
.i13-section{padding:74px 0}
.i13-warm{background:var(--paper-warm)}
.i13-map-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:32px;align-items:center}
.i13-map-copy h2{margin-top:8px;font-size:40px}
.i13-map-copy p{margin-top:13px;color:var(--muted)}
.i13-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:28px}
.i13-map-card{position:relative;min-height:330px;overflow:hidden;border:1px solid var(--lilac-line);border-radius:22px;background:linear-gradient(32deg,transparent 42%,rgba(124,164,115,.22) 43% 46%,transparent 47%),linear-gradient(142deg,transparent 26%,rgba(214,183,160,.25) 27% 30%,transparent 31%),radial-gradient(circle at 67% 41%,rgba(139,178,128,.45) 0 11%,transparent 12%),radial-gradient(circle at 26% 72%,rgba(194,164,132,.32) 0 14%,transparent 15%),#f6f1e8}
.i13-map-road{position:absolute;left:-5%;top:55%;width:112%;height:6px;background:#fff;transform:rotate(-8deg);box-shadow:0 0 0 1px rgba(74,20,84,.06)}
.i13-map-road.two{top:31%;left:20%;width:80%;transform:rotate(52deg)}
.i13-map-pin{position:absolute;left:54%;top:42%;display:flex;width:48px;height:48px;align-items:center;justify-content:center;transform:translate(-50%,-50%) rotate(-45deg);border-radius:50% 50% 50% 0;background:var(--rose);color:#fff;font-size:21px;box-shadow:0 8px 18px rgba(74,20,84,.2)}
.i13-map-pin span{transform:rotate(45deg)}
.i13-map-label{position:absolute;left:50%;top:60%;transform:translateX(-50%);padding:11px 15px;border-radius:13px;background:#fff;color:var(--aubergine);font-weight:800;box-shadow:var(--shadow);white-space:nowrap}
.i13-map-safe{position:absolute;left:18px;right:18px;bottom:17px;padding:10px 12px;border-radius:11px;background:rgba(255,255,255,.9);color:var(--muted);font-size:12px;text-align:center}

@media(max-width:900px){
  .contact-grid,.i13-map-grid{grid-template-columns:1fr}
  .contact-details-card{order:2}
}
@media(max-width:720px){
  .wrap{width:min(calc(100% - 32px),1120px)}
  .contact-hero{padding:48px 0 52px}
  .contact-hero h1{font-size:43px}
  .contact-hero p{font-size:18px}
  .contact-section,.i13-section{padding:56px 0}
  .contact-form-card,.contact-details-card{padding:24px 20px;border-radius:18px}
  .contact-form-row{grid-template-columns:1fr}
  .contact-submit{width:100%}
  .i13-map-copy h2{font-size:34px}
  .i13-actions{flex-direction:column}
  .i13-actions .btn{width:100%}
  .i13-map-card{min-height:290px}
  .i13-map-label{max-width:calc(100% - 28px);white-space:normal;text-align:center}
}
