:root{
  --contact-ink:#10283e;
  --contact-muted:#62717c;
  --contact-orange:#e6792f;
  --contact-orange-dark:#c95e18;
  --contact-mist:#f3f5f5;
  --contact-cream:#fff8ee;
  --contact-line:#dce3e7;
}

.contact-page{background:#fff;color:var(--contact-ink)}

.contact-hero{
  position:relative;
  overflow:hidden;
  padding:44px 0 42px;
  background:linear-gradient(120deg,#fffaf3 0%,#f5f7f7 62%,#eef3f5 100%);
  border-bottom:1px solid rgba(16,40,62,.07);
}
.contact-hero:before,.contact-hero:after{
  content:"";
  position:absolute;
  border:1px solid rgba(16,40,62,.07);
  border-radius:50%;
  pointer-events:none;
}
.contact-hero:before{width:360px;height:360px;right:-100px;top:-215px}
.contact-hero:after{width:210px;height:210px;right:145px;bottom:-155px;border-color:rgba(230,121,47,.13)}
.contact-hero-inner{position:relative;z-index:1;max-width:850px}
.contact-hero .eyebrow{display:block;margin-bottom:9px}
.contact-hero h1{
  max-width:820px;
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.8rem,5vw,4.8rem);
  font-weight:500;
  line-height:.98;
  letter-spacing:-.04em;
}
.contact-hero p{max-width:720px;margin:14px 0 0;color:var(--contact-muted);font-size:1.02rem;line-height:1.65}
.contact-hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.contact-hero-meta span{padding:7px 11px;border:1px solid rgba(16,40,62,.09);border-radius:999px;background:rgba(255,255,255,.58);color:#405564;font-size:.72rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase}

.contact-enquiry{padding:76px 0 72px;background:var(--contact-mist)}
.contact-enquiry-grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(300px,.78fr);gap:28px;align-items:stretch}
.contact-form-card,.contact-info-card{border-radius:24px}
.contact-form-card{padding:38px 40px 40px;background:#fff;border:1px solid rgba(16,40,62,.08);box-shadow:0 15px 42px rgba(16,40,62,.07)}
.contact-form-intro{margin-bottom:28px}
.contact-form-intro .eyebrow{font-size:.69rem}
.contact-form-intro h2{margin:8px 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3vw,2.8rem);font-weight:500;line-height:1.08;letter-spacing:-.025em}
.contact-form-intro p{max-width:690px;margin:0;color:var(--contact-muted);font-size:.94rem;line-height:1.7}
.contact-form{display:grid;gap:18px}
.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form .field{gap:8px}
.contact-form .field label{color:#314a5d;font-size:.7rem;letter-spacing:.1em}
.contact-form .field input,.contact-form .field textarea,.contact-form .field select{
  width:100%;
  min-height:50px;
  padding:13px 15px;
  border:1px solid #d7e0e4;
  border-radius:12px;
  outline:none;
  background:#fbfcfc;
  color:var(--contact-ink);
  font:inherit;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.contact-form .field textarea{min-height:172px;resize:vertical}
.contact-form .field input:focus,.contact-form .field textarea:focus,.contact-form .field select:focus{border-color:rgba(230,121,47,.72);background:#fff;box-shadow:0 0 0 3px rgba(230,121,47,.10)}
.contact-form .field input::placeholder,.contact-form .field textarea::placeholder{color:#9aa6ad}
.contact-form-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:2px}
.contact-form-actions .btn{min-width:154px}
.contact-form-note{margin:0;color:#7b8991;font-size:.78rem;line-height:1.5}
.contact-form .notice{margin-top:0}

.contact-info-card{
  position:relative;
  overflow:hidden;
  padding:38px 34px;
  background:linear-gradient(145deg,#10283e,#153b59);
  color:#fff;
  box-shadow:0 18px 45px rgba(16,40,62,.13);
}
.contact-info-card:after{content:"";position:absolute;right:-90px;bottom:-105px;width:245px;height:245px;border:1px solid rgba(255,255,255,.09);border-radius:50%}
.contact-info-card .eyebrow{position:relative;z-index:1;color:#f2a26c;font-size:.69rem}
.contact-info-card h2{position:relative;z-index:1;margin:9px 0 13px;font-family:Georgia,"Times New Roman",serif;font-size:2rem;font-weight:500;line-height:1.08}
.contact-info-card>p{position:relative;z-index:1;margin:0 0 31px;color:rgba(255,255,255,.68);font-size:.92rem;line-height:1.7}
.contact-details{position:relative;z-index:1;display:grid;gap:0;border-top:1px solid rgba(255,255,255,.11)}
.contact-detail{display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:start;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.11)}
.contact-detail-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);color:#f2a26c}
.contact-detail-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-detail span{display:block;margin-bottom:4px;color:rgba(255,255,255,.5);font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.contact-detail a,.contact-detail p{margin:0;color:#fff;font-size:.94rem;line-height:1.6}
.contact-detail a:hover{color:#f7b083}
.contact-detail .contact-detail-action{display:block;width:max-content;max-width:100%;margin-top:4px;color:#f2a26c;font-size:.73rem;font-weight:700;line-height:1.45;letter-spacing:.01em}
.contact-detail .contact-detail-action:hover{color:#f7b083}
.contact-info-foot{position:relative;z-index:1;margin-top:28px;padding-top:2px;color:rgba(255,255,255,.58);font-size:.79rem;line-height:1.65}

.contact-process{padding:66px 0 70px;background:#fff}
.contact-process-head{max-width:720px;margin-bottom:30px}
.contact-process-head h2{margin:8px 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3.5vw,3.15rem);font-weight:500;line-height:1.08;letter-spacing:-.03em}
.contact-process-head p{margin:0;color:var(--contact-muted)}
.contact-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.contact-step{position:relative;min-height:185px;padding:25px 25px 24px;border:1px solid var(--contact-line);border-radius:18px;background:#fff}
.contact-step-number{display:block;margin-bottom:24px;color:var(--contact-orange);font-size:.68rem;font-weight:800;letter-spacing:.13em}
.contact-step h3{margin:0 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:1.28rem;font-weight:500;line-height:1.18}
.contact-step p{margin:0;color:var(--contact-muted);font-size:.88rem;line-height:1.62}
.contact-step:not(:last-child):after{content:"→";position:absolute;right:-13px;top:50%;z-index:2;display:grid;place-items:center;width:26px;height:26px;margin-top:-13px;border:1px solid #e1e6e9;border-radius:50%;background:#fff;color:var(--contact-orange);font-size:.85rem}

.contact-tailor{padding:58px 0 78px;background:#e9edef}
.contact-tailor-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,320px) auto;gap:28px;align-items:center;padding:36px 40px;border:1px solid rgba(230,121,47,.15);border-radius:22px;background:linear-gradient(110deg,#fff7ec 0%,#fbf4e9 54%,#eef6f9 100%);box-shadow:0 12px 30px rgba(16,40,62,.055)}
.contact-tailor-copy{max-width:720px}
.contact-tailor .eyebrow{font-size:.68rem}
.contact-tailor h2{margin:8px 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3vw,2.9rem);font-weight:500;line-height:1.08;letter-spacing:-.03em}
.contact-tailor p{margin:0;color:#596974;font-size:.92rem;line-height:1.7}
.contact-tailor-art{display:flex;align-items:center;justify-content:center}
.contact-tailor-art img{display:block;width:100%;max-width:310px;height:auto;filter:drop-shadow(0 12px 24px rgba(16,40,62,.07))}
.contact-tailor-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 19px;border-radius:999px;background:var(--contact-orange);color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.02em;white-space:nowrap;box-shadow:0 8px 18px rgba(230,121,47,.20);transition:transform .15s ease,background .15s ease}
.contact-tailor-button:hover,.contact-tailor-button:focus-visible{background:var(--contact-orange-dark);transform:translateY(-1px)}

@media(max-width:980px){
  .contact-enquiry-grid{grid-template-columns:1fr}
  .contact-info-card{padding:34px 32px}
  .contact-tailor-box{grid-template-columns:1fr minmax(210px,280px);justify-items:start}
  .contact-tailor-button{grid-column:1/-1}
}
@media(max-width:760px){
  .contact-hero{padding:36px 0 34px}
  .contact-enquiry{padding:52px 0 54px}
  .contact-form-card{padding:30px 26px 32px;border-radius:20px}
  .contact-form-row{grid-template-columns:1fr}
  .contact-process{padding:52px 0 56px}
  .contact-process-grid{grid-template-columns:1fr}
  .contact-step{min-height:0}
  .contact-step:not(:last-child):after{display:none}
  .contact-tailor{padding:44px 0 58px}
  .contact-tailor-box{grid-template-columns:1fr;padding:30px 26px}
  .contact-tailor-art{justify-content:flex-start}
  .contact-tailor-art img{max-width:255px}
  .contact-tailor-button{width:100%;white-space:normal;text-align:center}
}
@media(max-width:480px){
  .contact-hero h1{font-size:clamp(2.55rem,13vw,3.7rem)}
  .contact-form-card,.contact-info-card{padding-left:22px;padding-right:22px}
  .contact-form-actions{display:grid;grid-template-columns:1fr}
  .contact-form-actions .btn{width:100%}
}
