.page-contact .breadcrumbs{position:relative;z-index:2}

.contact-page-inner,
.contact-hero-inner{
  width:min(calc(100% - 64px),var(--page));
  margin-inline:auto;
}

.contact-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:#12110f;
}

.contact-hero::before{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 77% 34%,rgba(201,161,90,.2),transparent 28%),
    linear-gradient(135deg,#161412 0%,#0e0d0c 66%,#252018 100%);
  content:"";
}

.contact-hero::after{
  position:absolute;
  inset:0;
  z-index:-1;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:linear-gradient(90deg,#000,transparent 78%);
  content:"";
}

.contact-hero-inner{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);
  gap:clamp(48px,7vw,96px);
  align-items:center;
  min-height:620px;
  padding:72px 0 84px;
}

.contact-hero-copy{max-width:720px}
.contact-hero h1{font-size:clamp(3rem,5.4vw,5.2rem);line-height:.98}

.contact-hero-lead{
  max-width:690px;
  margin:28px 0 0;
  color:#f0ede7;
  font-size:var(--type-lead);
  line-height:1.65;
}

.contact-area{
  max-width:680px;
  margin:22px 0 0;
  padding-left:18px;
  border-left:2px solid var(--gold);
  color:#cbc6bd;
  font-size:var(--type-sm);
  line-height:1.65;
}

.contact-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}

.contact-portrait{
  position:relative;
  width:min(100%,460px);
  margin:0;
  justify-self:end;
}

.contact-portrait img{
  position:relative;
  width:100%;
  aspect-ratio:1;
  object-fit:contain;
  border-radius:var(--radius);
  background:#f7f7f5;
  box-shadow:var(--shadow);
}

.contact-portrait figcaption{
  position:relative;
  display:flex;
  gap:2px;
  flex-direction:column;
  width:calc(100% - 28px);
  margin:-28px 14px 0;
  padding:16px 18px;
  border:1px solid rgba(201,161,90,.45);
  border-radius:8px;
  background:rgba(22,20,18,.96);
  box-shadow:0 14px 36px rgba(0,0,0,.24);
}

.contact-portrait figcaption strong{color:var(--gold-light);font-family:"Cormorant Garamond",Georgia,serif;font-size:1.45rem;line-height:1.15}
.contact-portrait figcaption span{color:#dfdbd3;font-size:var(--type-xs);line-height:1.45}

.contact-direct{
  border-bottom:1px solid rgba(22,20,18,.12);
  background:var(--cream);
  color:var(--ink);
}

.contact-direct .contact-page-inner{padding:86px 0}

.contact-section-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,480px);
  gap:48px;
  align-items:end;
  margin-bottom:42px;
}

.contact-section-heading h2{max-width:720px}
.contact-section-heading>p{margin:0;color:#514b42;font-size:var(--type-base);line-height:1.7}

.contact-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}

.contact-option{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  min-height:154px;
  padding:24px;
  border:1px solid rgba(22,20,18,.14);
  border-radius:12px;
  background:#fff;
  color:var(--ink);
  box-shadow:0 12px 34px rgba(22,20,18,.055);
  text-decoration:none;
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
}

.contact-option:hover,
.contact-option:focus-visible{
  border-color:var(--gold);
  background:#fffdf7;
  color:var(--ink);
  box-shadow:0 16px 38px rgba(22,20,18,.1);
}

.contact-option-icon{
  display:grid;
  width:48px;
  height:48px;
  place-items:center;
  border-radius:50%;
  background:var(--ink);
  color:var(--gold-light);
}

.contact-option-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-option-icon-whatsapp svg{fill:currentColor;stroke:none}
.contact-option-copy{display:flex;min-width:0;flex-direction:column;gap:4px}
.contact-option-copy>span{color:#72572c;font-size:var(--type-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.contact-option-copy strong{overflow-wrap:anywhere;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.35rem,1.15rem + .55vw,1.7rem);line-height:1.15}
.contact-option-email .contact-option-copy strong{overflow-wrap:anywhere;word-break:break-word;font-family:"Open Sans",Arial,sans-serif;font-size:clamp(.875rem,.82rem + .22vw,1.0625rem);line-height:1.35}
.contact-option-copy small{color:#655f56;font-size:.9375rem;line-height:1.45}
.contact-option-arrow{align-self:start;color:#72572c;font-size:1.35rem;line-height:1}

.contact-address{
  display:flex;
  gap:12px 28px;
  flex-wrap:wrap;
  align-items:baseline;
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid rgba(22,20,18,.14);
  font-style:normal;
}

.contact-address span{color:#72572c;font-size:var(--type-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.contact-address strong{font-size:var(--type-sm)}

.contact-form-section{
  position:relative;
  overflow:hidden;
  background:#f9f8f5;
  color:var(--ink);
}

.contact-form-section::before{
  position:absolute;
  top:-220px;
  left:-190px;
  width:520px;
  height:520px;
  border:1px solid rgba(201,161,90,.2);
  border-radius:50%;
  content:"";
}

.contact-form-layout{
  position:relative;
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
  gap:clamp(48px,7vw,92px);
  align-items:start;
  padding:92px 0 104px;
}

.contact-form-intro{position:sticky;top:128px}
.contact-form-intro h2{margin-bottom:24px}
.contact-form-intro>p:not(.section-kicker){margin:0;color:#514b42;font-size:var(--type-base);line-height:1.72}

.contact-form-explainer{
  margin-top:34px;
  padding:24px;
  border-left:3px solid var(--gold);
  background:#f1ede3;
}

.contact-form-explainer h3{margin-bottom:10px;font-size:1.55rem}
.contact-form-explainer p{margin:0;color:#554f46;font-size:var(--type-xs);line-height:1.7}

.contact-form{
  padding:clamp(28px,4vw,48px);
  border:1px solid rgba(22,20,18,.12);
  border-radius:14px;
  background:#fff;
  box-shadow:0 24px 70px rgba(22,20,18,.1);
}

.form-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.form-field{display:flex;flex-direction:column;gap:9px;margin-bottom:24px}
.form-field label,.form-choice legend{font-size:var(--type-xs);font-weight:700;line-height:1.45}
.form-field label>span[aria-hidden="true"],.form-consent span[aria-hidden="true"]{color:#8a5a11}
.optional{margin-left:5px;color:#726c63;font-size:.875rem;font-weight:400}

.form-field input,
.form-field select,
.form-field textarea{
  width:100%;
  min-height:54px;
  padding:13px 15px;
  border:1px solid #b9b4aa;
  border-radius:8px;
  background:#fdfcf9;
  color:var(--ink);
  font-size:1rem;
  line-height:1.5;
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}

.form-field textarea{min-height:168px;resize:vertical}
.form-field input:hover,.form-field select:hover,.form-field textarea:hover{border-color:#81786c}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#8c641f;background:#fff;box-shadow:0 0 0 4px rgba(201,161,90,.22);outline:0}
.form-field textarea::placeholder{color:#777168}

.form-choice{margin:2px 0 24px;padding:0;border:0}
.form-choice legend{margin-bottom:11px}
.form-choice-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.form-choice-options label{position:relative;cursor:pointer}
.form-choice-options input{position:absolute;opacity:0;pointer-events:none}
.form-choice-options span{display:flex;min-height:48px;align-items:center;justify-content:center;padding:10px 14px;border:1px solid #b9b4aa;border-radius:8px;background:#fdfcf9;font-size:var(--type-xs);font-weight:700}
.form-choice-options input:checked+span{border-color:#7c591d;background:#efe2c8;box-shadow:inset 0 0 0 1px #7c591d}
.form-choice-options input:focus-visible+span{outline:3px solid var(--gold);outline-offset:3px}

.form-consent{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;margin:0 0 28px;color:#514b42;cursor:pointer;font-size:.9375rem;line-height:1.6}
.form-consent input{width:21px;height:21px;margin:2px 0 0;accent-color:#8c641f}
.form-consent a{color:#684b1c;font-weight:700}

.form-submit-row{display:flex;gap:18px;align-items:center;justify-content:space-between}
.form-submit-row p{max-width:210px;margin:0;color:#726c63;font-size:.875rem;line-height:1.45;text-align:right}
.contact-submit{display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:14px;padding:13px 20px;border:1px solid var(--gold);border-radius:9px;background:var(--gold);color:var(--ink);font-weight:700;cursor:pointer;transition:background-color .16s ease,border-color .16s ease}
.contact-submit:hover,.contact-submit:focus-visible{border-color:var(--gold-light);background:var(--gold-light)}
.contact-submit span{font-size:1.25rem}
.contact-form-status{min-height:1.6em;margin:16px 0 0;color:#5c451f;font-size:.9375rem;font-weight:700;line-height:1.55}

@media (max-width:980px){
  .contact-hero-inner{grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:44px;min-height:560px}
  .contact-options{grid-template-columns:1fr}
  .contact-option{min-height:120px}
  .contact-form-layout{grid-template-columns:1fr;gap:42px}
  .contact-form-intro{position:static;max-width:760px}
  .contact-form-explainer{max-width:680px}
}

@media (max-width:760px){
  .contact-page-inner,.contact-hero-inner{width:min(calc(100% - 40px),var(--page))}
  .contact-hero-inner{grid-template-columns:1fr;gap:52px;min-height:0;padding:54px 0 68px}
  .contact-hero h1{font-size:clamp(2.7rem,12vw,4rem)}
  .contact-portrait{width:min(100%,440px);justify-self:center}
  .contact-direct .contact-page-inner{padding:68px 0}
  .contact-section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:34px}
  .contact-option{grid-template-columns:auto minmax(0,1fr) auto;padding:20px}
  .contact-option-copy strong{font-size:1.45rem}
  .contact-form-layout{padding:68px 0 82px}
  .form-field-grid{grid-template-columns:1fr;gap:0}
  .contact-form{padding:26px 20px}
  .form-submit-row{align-items:stretch;flex-direction:column}
  .form-submit-row p{max-width:none;text-align:left}
  .contact-submit{width:100%}
}

@media (max-width:440px){
  .contact-hero-actions{align-items:stretch;flex-direction:column}
  .contact-hero-actions .button{width:100%}
  .contact-option{grid-template-columns:auto minmax(0,1fr);gap:14px}
  .contact-option-arrow{display:none}
  .contact-option-icon{width:44px;height:44px}
  .contact-option-copy strong{font-size:1.32rem}
  .form-choice-options{grid-template-columns:1fr}
  .form-choice-options span{justify-content:flex-start}
}

@media (prefers-reduced-motion:reduce){
  .contact-option,.form-field input,.form-field select,.form-field textarea,.contact-submit{transition:none}
}
