@font-face{font-family:Quicksand;src:url('/assets/fonts/quicksand.woff2') format('woff2');font-style:normal;font-weight:300 700;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.contact-page{margin:0;background:#fff;color:#172741;font-family:Quicksand,Arial,sans-serif}body.contact-page a{text-decoration:none}body.contact-page a:focus-visible{outline:3px solid var(--ahm-theme-main,#9f3455);outline-offset:4px}/* Theme colours and hero artwork come from the shared header theme system. */
.contact-content{width:100%;max-width:100%;min-width:0;padding:clamp(40px,5.4vw,76px) 0 clamp(60px,7vw,110px);margin:0 auto}.contact-intro{max-width:750px;margin:0 0 clamp(28px,4vw,48px)}.contact-overline{font-size:.73rem;font-weight:700;letter-spacing:.15em;color:var(--ahm-theme-main,#9f3455);text-transform:uppercase}.contact-intro h2{font-size:clamp(1.9rem,3.8vw,3.05rem);font-weight:600;line-height:1.2;letter-spacing:-.05em;margin:14px 0 16px}.contact-intro p{font-size:clamp(.99rem,1.5vw,1.12rem);line-height:1.8;color:#53637e;margin:0}
.contact-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.contact-method{position:relative;min-width:0;display:flex;flex-direction:column;align-items:flex-start;min-height:310px;padding:clamp(23px,3vw,33px);border:1px solid #dee6f2;border-radius:22px;background:#fff;box-shadow:0 15px 45px rgba(20,42,88,.05);transition:transform .22s,border-color .22s,box-shadow .22s;color:#172741}.contact-method:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--ahm-theme-main,#9f3455) 45%,#fff);box-shadow:0 22px 56px rgba(20,42,88,.10)}.contact-method-icon{display:grid;place-items:center;width:57px;height:57px;flex:none;border-radius:16px;background:var(--ahm-theme-soft,#fdebf1);color:var(--ahm-theme-main,#9f3455);margin-bottom:24px}.contact-method-icon svg{width:27px;height:27px}.contact-method--whatsapp .contact-method-icon{background:var(--ahm-theme-soft,#fdebf1);color:var(--ahm-theme-main,#9f3455)}.contact-method--email .contact-method-icon{background:var(--ahm-theme-soft,#fdebf1);color:var(--ahm-theme-main,#9f3455)}.contact-method-kicker{font-size:.72rem;font-weight:700;letter-spacing:.15em;color:#62738d;margin-bottom:9px}.contact-method strong{display:block;font-weight:700;font-size:clamp(1.15rem,1.9vw,1.45rem);letter-spacing:-.04em;line-height:1.35;overflow-wrap:anywhere}.contact-method-description{display:block;font-size:.92rem;color:#60708a;line-height:1.6;margin-top:13px;margin-bottom:27px}.contact-method-action{display:flex;align-items:center;gap:12px;margin-top:auto;font-size:.94rem;font-weight:700;color:var(--ahm-theme-main,#9f3455)}.contact-method--whatsapp .contact-method-action{color:var(--ahm-theme-main,#9f3455)}.contact-method-action span{font-size:1.2rem}
.contact-bottom{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:20px;margin-top:30px;align-items:stretch}.contact-location{display:flex;align-items:flex-start;gap:18px;padding:clamp(25px,3.4vw,36px);background:linear-gradient(135deg,#fff8fa,var(--ahm-theme-soft,#fdebf1));border:1px solid #e2eaf5;border-radius:22px}.contact-location-icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--ahm-theme-main,#9f3455);box-shadow:0 7px 24px rgba(36,73,135,.08)}.contact-location-icon svg{width:25px;height:25px}.contact-location h3{font-size:clamp(1.6rem,3.4vw,2.35rem);letter-spacing:-.05em;margin:6px 0 10px}.contact-location p,.contact-project p{margin:0;color:#53647d;font-size:.96rem;line-height:1.75}.contact-project{background:linear-gradient(135deg,#a83d5a,#722342);color:#fff;border-radius:22px;padding:clamp(25px,3.4vw,36px);display:flex;flex-direction:column;align-items:flex-start}.contact-project .contact-overline{color:#ffe6ef}.contact-project h3{font-size:clamp(1.3rem,2.4vw,1.8rem);line-height:1.3;letter-spacing:-.035em;font-weight:600;margin:10px 0}.contact-project p{color:#c5d4ea}.contact-project a{display:inline-flex;align-items:center;gap:14px;background:#fff;color:#9f3455;font-weight:700;padding:12px 18px;border-radius:999px;margin-top:auto;min-height:44px}.contact-project a:hover{background:#fdebf1}
@media(max-width:850px){.contact-methods{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-bottom{grid-template-columns:1fr}.contact-project a{margin-top:24px}}
@media(max-width:600px){.contact-content{padding:35px 0 65px}.contact-methods{grid-template-columns:1fr;gap:14px}.contact-method{min-height:0;padding:23px}.contact-method-icon{width:48px;height:48px;border-radius:13px;margin-bottom:19px}.contact-method-icon svg{width:23px;height:23px}.contact-method-description{margin-bottom:22px}.contact-bottom{gap:14px;margin-top:20px}.contact-location{padding:23px;gap:13px}.contact-location-icon{width:40px;height:40px;flex-basis:40px}.contact-project{padding:24px}}
@media(prefers-reduced-motion:reduce){.contact-method{transition:none}}

/* 2.0.109: Keep the contact icon beside the label and primary detail.
   The description belongs to its own row, aligned with the icon's left edge. */
.contact-method-top{display:flex;align-items:center;gap:15px;width:100%;min-width:0}
.contact-method-top .contact-method-icon{margin-bottom:0}
.contact-method-details{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center}
.contact-method-details .contact-method-kicker{margin-bottom:7px}
.contact-method-details strong{max-width:100%;overflow-wrap:anywhere}
.contact-method>.contact-method-description{width:100%;margin:24px 0 28px}
.contact-method>.contact-method-action{margin-top:auto}
.contact-location{flex-direction:column;align-items:stretch;gap:0}
.contact-location-top{display:flex;align-items:center;gap:18px;min-width:0}
.contact-location-details{min-width:0}
/* Match the location label and value to the phone, email and WhatsApp cards. */
.contact-location-details .contact-method-kicker{display:block;margin:0 0 7px;font-size:.72rem;font-weight:700;letter-spacing:.15em;line-height:normal;color:#62738d;text-transform:none}
.contact-location .contact-location-details h3{display:block;margin:0;color:#172741;font-size:clamp(1.15rem,1.9vw,1.45rem);font-weight:700;letter-spacing:-.04em;line-height:1.35;overflow-wrap:anywhere}
.contact-location-description{width:100%;margin:20px 0 0!important}
@media(max-width:600px){
  .contact-method-top{gap:13px}
  .contact-method>.contact-method-description{margin:18px 0 22px}
  .contact-location-top{gap:13px}
  .contact-location-description{margin-top:17px!important}
}

/* 2.0.113 — Four equal-height contact cards in two columns on tablet/desktop. */
body.contact-page .contact-content{padding-bottom:0}
body.contact-page .contact-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:18px;align-items:stretch}
body.contact-page .contact-methods>.contact-method{width:100%;height:100%;min-height:0;padding:clamp(23px,2.6vw,31px);border:1px solid #dee6f2;border-radius:22px;box-shadow:0 15px 45px rgba(20,42,88,.05)}
body.contact-page .contact-methods>.contact-method.contact-location{display:flex;flex-direction:column;align-items:stretch;gap:0;background:linear-gradient(135deg,#fff8fa,var(--ahm-theme-soft,#fdebf1))}
body.contact-page .contact-location-top{display:flex;align-items:center;gap:15px;min-width:0}
body.contact-page .contact-location-icon{display:grid;place-items:center;flex:0 0 57px;width:57px;height:57px;border-radius:16px;background:var(--ahm-theme-soft,#fdebf1);color:var(--ahm-theme-main,#9f3455);box-shadow:none}
body.contact-page .contact-location-icon svg{width:27px;height:27px}
body.contact-page .contact-location-description{margin:24px 0 0!important;font-size:.92rem;line-height:1.6;color:#60708a;overflow-wrap:break-word}
body.contact-page .contact-method>.contact-method-description{margin:24px 0 18px}
body.contact-page .contact-method>.contact-method-action{margin-top:auto}

/* Same full-bleed CTA structure and design as the other service pages. */
body.contact-page main.contact-main>.service-cta{box-sizing:border-box;position:relative;width:100%;max-width:none;margin:clamp(48px,6vw,76px) 0 0;padding:0;border-radius:0;display:block;overflow:hidden;isolation:isolate;background:#f2f6fe;color:#172741}
body.contact-page main.contact-main>.service-cta::before,
body.contact-page main.contact-main>.service-cta::after{content:"";position:absolute;inset:0;pointer-events:none}
body.contact-page main.contact-main>.service-cta::before{background:radial-gradient(circle at 14% 18%,color-mix(in srgb,var(--ahm-theme-main) 10%,transparent) 0,transparent 32%),radial-gradient(circle at 86% 74%,color-mix(in srgb,var(--ahm-theme-main) 12%,transparent) 0,transparent 28%),linear-gradient(135deg,color-mix(in srgb,var(--ahm-theme-main) 5%,transparent),transparent 55%)}
body.contact-page main.contact-main>.service-cta::after{inset:0 0 0 auto;width:min(48vw,620px);opacity:.45;background:radial-gradient(circle at 76% 24%,color-mix(in srgb,var(--ahm-theme-main) 10%,transparent) 0,transparent 44%),repeating-linear-gradient(135deg,color-mix(in srgb,var(--ahm-theme-main) 10%,transparent) 0 2px,transparent 2px 20px),repeating-linear-gradient(45deg,color-mix(in srgb,var(--ahm-theme-main) 5%,transparent) 0 2px,transparent 2px 26px)}
body.contact-page .service-cta .service-cta-inner{position:relative;z-index:1;box-sizing:border-box;width:100%;max-width:1120px;margin:0 auto;padding:clamp(36px,5vw,64px) clamp(24px,4vw,40px);display:flex;align-items:center;justify-content:space-between;gap:clamp(20px,3vw,42px)}
body.contact-page .service-cta .service-cta-content{min-width:0;flex:1 1 auto}
body.contact-page .service-cta .service-eyebrow{margin:0 0 16px;color:var(--ahm-theme-main,#9f3455);font-size:.79rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
body.contact-page .service-cta h2{margin:0 0 22px;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.3;font-weight:500;letter-spacing:-.03em;color:var(--ahm-theme-main,#9f3455)}
body.contact-page .service-cta .service-cta-content>p:not(.service-eyebrow){margin:0;max-width:590px;line-height:1.65;color:#445779}
body.contact-page .service-cta-actions{display:flex;flex-wrap:wrap;gap:12px;flex:0 1 auto}
body.contact-page .service-cta-actions a{min-height:48px;border-radius:999px;padding:13px 21px;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-weight:700}
body.contact-page .service-cta-primary{color:#fff;background:var(--ahm-theme-main,#9f3455)}
body.contact-page .service-cta-primary:hover{filter:brightness(.96)}
body.contact-page .service-cta-primary:focus-visible{outline:3px solid var(--ahm-theme-main,#9f3455);outline-offset:4px}
@media(max-width:900px){body.contact-page .service-cta .service-cta-inner{flex-direction:column;align-items:flex-start}}
@media(max-width:600px){
 body.contact-page .contact-methods{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;gap:14px}
 body.contact-page .contact-methods>.contact-method{height:auto;min-height:0;padding:23px}
 body.contact-page .contact-location-top{gap:13px}
 body.contact-page .contact-location-icon{flex-basis:48px;width:48px;height:48px;border-radius:13px}
 body.contact-page .contact-location-icon svg{width:23px;height:23px}
 body.contact-page .contact-location-description{margin-top:18px!important}
 body.contact-page .service-cta .service-cta-inner{padding:32px 24px 36px}
 body.contact-page main.contact-main>.service-cta::after{width:72vw;opacity:.28}
}


/* 2.0.115 — Match the service pages' bottom-anchored CTA layout. */
body.contact-page main.contact-main{
    display:flex;
    flex-direction:column;
}
body.contact-page main.contact-main>.contact-content{
    margin-bottom:clamp(48px,6vw,76px);
}
body.contact-page main.contact-main>.service-cta{
    margin: auto 0 clamp(24px,3vw,40px);
}


/* 2.0.116 — Balance the vertical CTA clearances on all viewports. */
body.contact-page main.contact-main{
    --ahm-cta-clearance:60px;
}
body.contact-page main.contact-main>.contact-content{
    flex:1 0 auto;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    margin-bottom:0;
}
body.contact-page main.contact-main>.service-cta{
    margin:var(--ahm-cta-clearance) 0 var(--ahm-cta-clearance);
}

/* 2.0.117 — CTA equal top and bottom clearance: desktop/tablet 60px, mobile 30px. */
@media (max-width:600px){body.contact-page main.contact-main{--ahm-cta-clearance:30px;}}

/* 2.0.121 — Do not vertically bottom-align the contact cards on tall
   screens. Their container may grow beneath the content to keep the
   CTA adjacent to the footer with the existing equal spacing. */
body.contact-page main.contact-main>.contact-content{
    justify-content:flex-start;
}
