/* Contact v1. Source: supplied page-contact.php.
   Approved AmanDagat palette; all selectors scoped to this page. */
body.amandagat-contact {
  --ink: #0c2340;
  --deep: #0c2340;
  --night: #0c2340;
  --limewash: #f4f8f9;
  --sand: #fff;
  --brass: #14549e;
  --brass-light: #d6a8a8;
  --gold: #d6a8a8;
  --white: #fff;
  background: #fff;
  color: #0c2340;
}
/* The existing header, logo, navigation and footer retain their structure. */
body.amandagat-contact .util-strip { background: #f4f8f9; border-color: #ccd6df; }
body.amandagat-contact .util-strip a { color: #0c2340; }
body.amandagat-contact .util-strip a:hover { color: #14549e; }
body.amandagat-contact .util-strip > span { color: #14549e !important; }
body.amandagat-contact #nav.solid { background: rgba(255,255,255,.98); }
body.amandagat-contact #nav .nav-dd-menu { background: #0c2340; border-color: #ccd6df; }
body.amandagat-contact footer.starry { background: #0c2340; color: #fff; }
body.amandagat-contact footer .fg h4 { color: #d6a8a8; }
body.amandagat-contact .btn-brass { background: #14549e; color: #fff !important; border: 1px solid #14549e; box-shadow: none; }
body.amandagat-contact .btn-brass:hover { background: #0c2340; border-color: #0c2340; box-shadow: none; }
body.amandagat-contact :focus-visible { outline: 3px solid #14549e; outline-offset: 5px; }

#amandagat-contact {
  --night: #0c2340;
  --deep: #0c2340;
  --brass-light: #d6a8a8;
  font-size: 17px;
  line-height: 1.7;
}
#amandagat-contact :is(h1,h2,h3) { font-weight: 400; letter-spacing: -.025em; }
#amandagat-contact .pgx-wrap { max-width: 1180px; }
#amandagat-contact .pgx-section { padding: 88px max(24px,5vw); }
#amandagat-contact .pgx-eyebrow { font-size: 12px; letter-spacing: .2em; }

/* One uninterrupted hero, including the original stars and approved cue. */
#amandagat-contact .pgx-head { min-height: 560px; padding: 186px 24px 110px; background: #0c2340; color: #fff; }
#amandagat-contact .pgx-head .pgx-wrap { position: relative; z-index: 1; }
#amandagat-contact .pgx-head h1 { max-width: 1040px; margin-inline: auto; font-size: clamp(52px,7vw,92px); line-height: 1.08; color: #fff; }
#amandagat-contact .pgx-head h1 em { color: #d6a8a8; }
#amandagat-contact .pgx-head .sub { max-width: 600px; color: #e6eef4; opacity: 1; font-size: 18px; }
#amandagat-contact .scroll-cue { border-width: 1px; }

/* v1.3 — an enquiry composition, grounded in the owner's form reference. */
#amandagat-contact .ct-connect { position: relative; padding: 92px max(24px,5vw) 100px; background: #fff; }
#amandagat-contact .ct-connect-grid { display: grid; grid-template-columns: minmax(0,.84fr) minmax(0,1.16fr); gap: 36px 64px; align-items: start; }
#amandagat-contact .ct-heading { grid-column: 1; grid-row: 1; min-width: 0; }
#amandagat-contact .ct-heading h2 { margin: 0; font-size: clamp(52px,5.8vw,78px); line-height: 1.02; letter-spacing: -.045em; }
#amandagat-contact .ct-heading h2 em { color: #14549e; font-weight: 400; }
#amandagat-contact .ct-heading > p { max-width: 350px; margin: 24px 0 0; font-size: 18px; line-height: 1.7; color: #44515d; }
#amandagat-contact .ct-wave { width: 150px; margin-top: 27px; color: #d6a8a8; }
#amandagat-contact .ct-wave svg { display: block; width: 100%; stroke: currentColor; stroke-width: 1.4; }

/* A tall paper-like form with a small envelope detail and visible labels. */
#amandagat-contact .ct-form { grid-column: 2; grid-row: 1 / 3; align-self: center; position: relative; min-width: 0; margin: 8px 0 0; padding: 88px 38px 34px; border: 1px solid #ccd6df; border-top-right-radius: 70px; border-bottom-left-radius: 18px; background: #fff; box-shadow: 10px 12px 0 #e5eef5; }
#amandagat-contact .ct-form::before { content: ''; position: absolute; left: 38px; top: -1px; width: 120px; height: 3px; background: #d6a8a8; }
#amandagat-contact .ct-form-mark { position: absolute; top: 22px; right: 32px; width: 51px; height: 51px; padding: 5px; border: 1px dashed #14549e; transform: rotate(7deg); color: #14549e; }
#amandagat-contact .ct-form-mark svg { width: 100%; stroke: currentColor; stroke-width: 1.2; }
#amandagat-contact .ct-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 20px; }
#amandagat-contact .ct-field { min-width: 0; }
#amandagat-contact .ct-field-wide { grid-column: 1 / -1; }
#amandagat-contact .ct-field label { display: block; margin-bottom: 8px; font-family: 'Karla','Segoe UI',sans-serif; font-size: 15px; font-weight: 600; line-height: 1.5; color: #0c2340; }
#amandagat-contact .ct-field label span { margin-left: 5px; font-weight: 400; font-size: 12px; color: #44515d; }
#amandagat-contact .ct-field :is(input,textarea) { display: block; width: 100%; min-width: 0; border: 1px solid #ccd6df; border-radius: 4px; padding: 13px 14px; background: #f4f8f9; color: #0c2340; font: 400 16px/1.5 'Karla','Segoe UI',sans-serif; transition: border-color .18s,background .18s,box-shadow .18s; }
#amandagat-contact .ct-field input { min-height: 52px; }
#amandagat-contact .ct-field textarea { resize: vertical; min-height: 178px; }
#amandagat-contact .ct-field :is(input,textarea):focus { border-color: #14549e; background: #fff; box-shadow: 0 0 0 3px #e5eef5; outline: 2px solid #14549e; outline-offset: 2px; }
#amandagat-contact .ct-form-end { display: flex; align-items: center; gap: 24px; margin-top: 28px; }
#amandagat-contact .ct-send { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 22px; min-height: 52px; padding: 14px 22px; border: 1px solid #14549e; border-radius: 5px; background: #14549e; color: #fff; font: 700 12px/1.5 'Karla','Segoe UI',sans-serif; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; transition: background .2s; }
#amandagat-contact .ct-send span { font-size: 23px; font-weight: 400; line-height: 1; transition: transform .2s; }
#amandagat-contact .ct-send:hover { background: #0c2340; border-color: #0c2340; }
#amandagat-contact .ct-send:hover span { transform: translate(2px,-2px); }
#amandagat-contact #ct-preview-note { margin: 0; max-width: 150px; color: #44515d; font-size: 12px; line-height: 1.5; }
#amandagat-contact .ct-form-status { margin: 22px 0 0; padding: 14px 16px; border-left: 2px solid #14549e; background: #f4f8f9; color: #0c2340; font-size: 14px; }

/* The arch is a framing motif. The supplied resort logo is never redrawn. */
#amandagat-contact .ct-direct { grid-column: 1; grid-row: 2; position: relative; padding: 65px 32px 33px; border-radius: 50% 50% 8px 8px / 75px 75px 8px 8px; background: #0c2340; color: #fff; text-align: center; }
#amandagat-contact .ct-direct::before { content: ''; position: absolute; inset: 10px; border: 1px solid #d6a8a8; border-radius: 50% 50% 3px 3px / 64px 64px 3px 3px; opacity: .45; pointer-events: none; }
#amandagat-contact .ct-direct > * { position: relative; }
#amandagat-contact .ct-direct h2 { margin: 0 0 19px; color: #fff; font-size: 30px; }
#amandagat-contact .ct-direct-links { display: flex; flex-direction: column; align-items: center; }
#amandagat-contact .ct-direct a { color: #fff; text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; overflow-wrap: anywhere; }
#amandagat-contact .ct-direct a:hover { color: #d6a8a8; text-decoration: underline; text-underline-offset: 4px; }
#amandagat-contact .ct-phone { font-size: 23px; letter-spacing: -.01em; }
#amandagat-contact .ct-email { font-size: 16px; }
#amandagat-contact .ct-direct .ct-messenger { gap: 10px; margin-top: 15px; padding: 6px 0; border-top: 1px solid rgba(214,168,168,.4); font-size: 13px; }
#amandagat-contact .ct-messenger span { font-size: 20px; }
#amandagat-contact .ct-direct :focus-visible { outline-color: #d6a8a8; }

/* Address and live map share one composition; practical times finish the band. */
#amandagat-contact .ct-location { background: #f4f8f9; }
#amandagat-contact .ct-location-grid { display: grid; grid-template-columns: minmax(0,.65fr) minmax(0,1.35fr); gap: 36px 64px; align-items: center; }
#amandagat-contact .ct-location-copy { min-width: 0; padding-block: 10px; }
#amandagat-contact .ct-location-mark { display: block; width: 42px; margin-bottom: 22px; color: #14549e; }
#amandagat-contact .ct-location-mark svg { width: 100%; display: block; stroke: currentColor; stroke-width: 1.2; }
#amandagat-contact .ct-location-copy h2 { margin: 0 0 25px; font-size: clamp(42px,4.8vw,62px); line-height: 1.04; }
#amandagat-contact .ct-location-copy h2 em { color: #14549e; }
#amandagat-contact .ct-location-copy address { font-size: 20px; line-height: 1.7; font-style: normal; }
#amandagat-contact .ct-distance { margin: 24px 0 0; padding-top: 20px; border-top: 1px solid #d6a8a8; font-size: 14px; line-height: 1.8; color: #44515d; }
#amandagat-contact .contact-map { height: 430px; min-height: 430px; aspect-ratio: auto; border: 1px solid #ccd6df; border-radius: 18px; background: #e5eef5; }
#amandagat-contact .contact-map iframe { display: block; width: 100%; height: 100%; min-height: 100%; }
#amandagat-contact .ct-arrival { grid-column: 1 / -1; padding: 28px 34px 34px; border-radius: 6px; background: #0c2340; color: #fff; }
#amandagat-contact .ct-arrival h2 { margin: 0 0 20px; color: #d6a8a8; font: 600 12px/1.4 'Karla','Segoe UI',sans-serif; text-transform: uppercase; letter-spacing: .18em; }
#amandagat-contact .ct-arrival-content { display: grid; grid-template-columns: 1fr 1.1fr 1.4fr auto; gap: 24px; align-items: center; }
#amandagat-contact .ct-arrival dl { min-width: 0; margin: 0; }
#amandagat-contact .ct-arrival dt { margin-bottom: 10px; font-size: 13px; color: #e6eef4; }
#amandagat-contact .ct-arrival dd { margin: 0; font: 400 clamp(25px,2.4vw,31px)/1.15 var(--display,'Fraunces',Georgia,serif); color: #fff; letter-spacing: -.03em; }
#amandagat-contact .ct-arrival dl:last-of-type dd { font-size: clamp(23px,2.1vw,28px); }
#amandagat-contact .contact-booking { margin: 0; }
#amandagat-contact .ct-arrival .btn { min-height: 48px; padding: 15px 20px; background: #d6a8a8; border-color: #d6a8a8; border-radius: 5px; color: #0c2340 !important; font-size: 12px; }
#amandagat-contact .ct-arrival .btn:hover { background: #fff; border-color: #fff; transform: none; }
#amandagat-contact .ct-arrival :focus-visible { outline-color: #fff; }

/* Original directions, with quieter cards and a continuous pink rule. */
#amandagat-contact .contact-directions { background: #fff; }
#amandagat-contact .contact-directions .pgx-shead { max-width: 790px; text-align: left; margin: 0 0 44px; }
#amandagat-contact .contact-directions h2 { font-size: clamp(36px,4.5vw,58px); line-height: 1.12; }
#amandagat-contact .contact-routes { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 30px; align-items: stretch; }
#amandagat-contact .contact-route { margin: 0; padding: 28px 32px; min-width: 0; border-left: 2px solid #d6a8a8; background: #f4f8f9; color: #44515d; font-size: 16px; line-height: 1.8; }
#amandagat-contact .contact-route strong { display: block; margin-bottom: 20px; color: #14549e; font: 400 32px/1.2 var(--display,'Fraunces',Georgia,serif); }
#amandagat-contact .contact-drive-time { display: block; margin-top: 13px; color: #44515d; font: 400 14px/1.7 'Karla','Segoe UI',sans-serif; }
#amandagat-contact .contact-maps-link { grid-column: 1 / -1; margin: 0; }
#amandagat-contact .contact-map-link { display: inline-flex; min-height: 48px; align-items: center; color: #14549e; text-decoration: none; border-bottom: 1px solid #14549e; font-weight: 700; }
#amandagat-contact .contact-map-link:hover { color: #0c2340; border-color: #0c2340; }

@media(max-width:1080px) {
  body.amandagat-contact #nav ul.open { background: #fff; }
  body.amandagat-contact #nav .nav-dd-menu { background: transparent; }
  body.amandagat-contact #nav ul.open :is(a,.nav-dd-btn) { color: #0c2340 !important; }
  body.amandagat-contact #nav ul.open .btn-brass { color: #fff !important; }
  #amandagat-contact .ct-connect-grid { gap: 32px; }
  #amandagat-contact .ct-form { padding-inline: 26px; }
  #amandagat-contact .ct-direct { padding-inline: 23px; }
  #amandagat-contact .ct-form-end { flex-wrap: wrap; gap: 16px; }
  #amandagat-contact #ct-preview-note { max-width: none; }
  #amandagat-contact .ct-location-grid { gap: 32px; }
  #amandagat-contact .ct-arrival-content { grid-template-columns: repeat(3,minmax(0,1fr)); }
  #amandagat-contact .ct-arrival .contact-booking { grid-column: 1 / -1; }
}
@media(max-width:820px) {
  #amandagat-contact .pgx-section,
  #amandagat-contact .ct-connect { padding: 64px 24px; }
  #amandagat-contact .ct-connect-grid { grid-template-columns: minmax(0,1fr); gap: 36px; }
  #amandagat-contact .ct-heading { grid-column: 1; grid-row: 1; }
  #amandagat-contact .ct-heading h2 br { display: none; }
  #amandagat-contact .ct-heading h2 em::before { content: ' '; }
  #amandagat-contact .ct-heading > p { max-width: 520px; }
  #amandagat-contact .ct-form { grid-column: 1; grid-row: 2; width: calc(100% - 10px); }
  #amandagat-contact .ct-direct { grid-column: 1; grid-row: 3; width: 100%; max-width: 440px; justify-self: center; }
  #amandagat-contact .ct-location-grid { grid-template-columns: minmax(0,1fr); }
  #amandagat-contact .ct-location-copy { max-width: 540px; }
  #amandagat-contact .ct-location-mark { width: 34px; }
  #amandagat-contact .contact-routes { grid-template-columns: minmax(0,1fr); gap: 26px; }
}
@media(max-width:560px) {
  #amandagat-contact .pgx-head { min-height: 540px; padding: 150px 22px 102px; }
  #amandagat-contact .pgx-head h1 { font-size: clamp(43px,10.5vw,58px); }
  #amandagat-contact .pgx-head .sub { font-size: 17px; }
  #amandagat-contact .pgx-section,
  #amandagat-contact .ct-connect { padding: 50px 22px; }
  #amandagat-contact .ct-heading h2 { font-size: clamp(43px,11vw,60px); }
  #amandagat-contact .ct-heading > p { font-size: 17px; }
  #amandagat-contact .ct-fields { grid-template-columns: minmax(0,1fr); gap: 20px; }
  #amandagat-contact .ct-form { padding: 80px 20px 25px; border-top-right-radius: 50px; }
  #amandagat-contact .ct-form::before { left: 20px; width: 90px; }
  #amandagat-contact .ct-form-mark { right: 22px; }
  #amandagat-contact .ct-form-end { display: grid; gap: 16px; }
  #amandagat-contact .ct-send { width: 100%; }
  #amandagat-contact .ct-phone { font-size: 21px; }
  #amandagat-contact .ct-direct h2 { font-size: 28px; }
  #amandagat-contact .ct-location-copy address { font-size: 18px; }
  #amandagat-contact .contact-map { height: 360px; min-height: 360px; }
  #amandagat-contact .ct-arrival { padding: 27px 24px; }
  #amandagat-contact .ct-arrival-content { grid-template-columns: minmax(0,1fr); gap: 24px; }
  #amandagat-contact .ct-arrival dl { padding-bottom: 20px; border-bottom: 1px solid rgba(204,214,223,.2); }
  #amandagat-contact .ct-arrival dd,
  #amandagat-contact .ct-arrival dl:last-of-type dd { font-size: 30px; }
  #amandagat-contact .ct-arrival .btn { width: 100%; }
  #amandagat-contact .contact-route { padding: 24px; }
}
@media(prefers-reduced-motion:reduce) {
  #amandagat-contact .pgx-stars i { animation: none; opacity: .45; }
  #amandagat-contact .scroll-cue::after { animation: none; }
  #amandagat-contact .ct-field :is(input,textarea),
  #amandagat-contact .ct-send,
  #amandagat-contact .ct-send span { transition: none; transform: none; }
}
