/* ============================================================================
   contact.styles.css — page-specific styling (.co-*).
   Shared foundation (tokens, fonts, nav, footer, accreditation marquee,
   back-to-top, .wrap width) comes from home.styles.css. This file only adds the
   Contact page: a contact-only layout (phone, WhatsApp, three routed email
   inboxes), a short "getting in touch" guide and confirmed company information.
   Fraunces is used for the hero H1 only (matches the design system); everything
   else is Manrope. Backgrounds alternate navy -> white -> light-blue for rhythm.
   ============================================================================ */

/* ---- scroll reveal (JS only) --------------------------------------------- */
html.js .co-rev{opacity:0;transform:translateY(20px);
  transition:opacity .7s cubic-bezier(.22,.61,.36,1) var(--d,0ms),transform .7s cubic-bezier(.22,.61,.36,1) var(--d,0ms)}
html.js .co-rev.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html.js .co-rev{opacity:1;transform:none;transition:none}}

/* ---- HERO (navy, centred) ------------------------------------------------ */
.co-hero{position:relative;background:var(--ink,#0A1F4D);color:#fff;overflow:hidden;
  padding:clamp(104px,11vh,132px) 0 clamp(28px,3.4vw,46px);scroll-margin-top:90px}
.co-hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 130% at 90% -14%,rgba(236,184,76,.20),transparent 55%)}
.co-hero-inner{position:relative;z-index:1}
.co-crumb{margin:0 0 20px}
.co-crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.5ch;justify-content:center;margin:0;padding:0;
  font-family:'PlexMono',ui-monospace,monospace;font-size:.78rem;letter-spacing:.04em;color:rgba(255,255,255,.6)}
.co-crumb li+li::before{content:"/";opacity:.4;margin-right:.4ch}
.co-crumb a{color:rgba(255,255,255,.72);text-decoration:none}
.co-crumb a:hover{color:#fff;text-decoration:underline}
.co-crumb [aria-current="page"]{color:var(--amber,#ECB84C)}
.co-hero-copy{max-width:74ch;margin:0 auto;text-align:center}
.co-hero .co-eyebrow{margin-left:auto;margin-right:auto}
.co-hero .co-eyebrow .etrack span,.co-hero .co-eyebrow .etrack i{color:var(--amber,#ECB84C)}
.co-hero h1{font-family:'Fraunces',Georgia,serif;font-weight:300;
  font-size:clamp(2.4rem,5.6vw,4rem);line-height:1.02;letter-spacing:-.015em;margin:6px 0 0;color:#fff}
.co-hero h1 .r{color:var(--amber,#ECB84C)}
.co-lead{margin:18px auto 0;max-width:66ch;font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.62;color:rgba(255,255,255,.82)}
.co-hero-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:28px 0 0}
.co-cta{--dotc:#fff}
.co-cta-ghost{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-weight:600;font-size:.98rem;
  padding:13px 22px;border:1px solid rgba(255,255,255,.28);border-radius:40px;background:rgba(255,255,255,.05);
  transition:border-color .25s var(--e),background .25s var(--e),transform .25s var(--e)}
.co-cta-ghost svg{width:16px;height:16px}
.co-cta-ghost:hover,.co-cta-ghost:focus-visible{border-color:var(--amber,#ECB84C);background:rgba(236,184,76,.14);transform:translateY(-2px)}

/* ---- shared section rhythm + heads --------------------------------------- */
.co-channels,.co-guide{padding:clamp(32px,4.2vw,58px) 0}
.co-channels{background:#e3ebf8}
.co-guide{background:#fff;padding-bottom:clamp(18px,2.2vw,28px)}
.co-head{max-width:70ch;margin:0 0 clamp(18px,2.4vw,30px)}
.co-eyebrow.d .etrack span{color:var(--red,#C8102E)}
.co-eyebrow.d .etrack i{color:rgba(10,31,77,.32)}
.co-head h2{font-family:'Manrope',system-ui,sans-serif;font-weight:800;color:#0A1F4D;
  font-size:clamp(1.9rem,3.8vw,2.8rem);line-height:1.06;letter-spacing:-.02em;margin:10px 0 0}
.co-head p{margin:12px 0 0;max-width:60ch;color:#41526d;font-size:clamp(1rem,1.35vw,1.12rem);line-height:1.62}

/* ---- channels grid: two compact cards (call + WhatsApp) then wide emails -- */
.co-cgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,22px);align-items:stretch}

/* compact cards (phone + WhatsApp) */
.co-chan{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(10,31,77,.10);border-radius:18px;
  padding:clamp(22px,2.6vw,30px);box-shadow:0 16px 34px -26px rgba(10,31,77,.4);
  transition:transform .4s var(--e),border-color .4s var(--e),box-shadow .4s var(--e)}
.co-chan:hover{transform:translateY(-4px);border-color:rgba(200,16,46,.34);box-shadow:0 24px 44px -26px rgba(10,31,77,.4)}
.co-chan-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;
  background:rgba(200,16,46,.10);color:var(--red,#C8102E);margin-bottom:16px}
.co-chan-ic svg{width:24px;height:24px}
.co-chan-ic--wa{background:rgba(31,143,77,.12);color:#1f8f4d}
.co-chan h3{font-family:'Manrope',system-ui,sans-serif;font-weight:700;font-size:1.16rem;letter-spacing:-.01em;
  color:#0A1F4D;margin:0 0 12px}
.co-chan-lead{display:inline-block;font-family:'Manrope',system-ui,sans-serif;font-weight:800;
  font-size:clamp(1.4rem,2.2vw,1.85rem);letter-spacing:-.01em;color:#0A1F4D;text-decoration:none;line-height:1.1}
.co-chan-lead:hover,.co-chan-lead:focus-visible{color:var(--gold-hi,#E01B30)}
.co-avail{margin:14px 0 0;color:#41526d;font-size:.95rem;line-height:1.5}
.co-badge{display:inline-block;font-family:'PlexMono',ui-monospace,monospace;font-size:.72rem;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:#1f8f4d;background:#eaf6ee;border:1px solid rgba(31,143,77,.28);
  border-radius:999px;padding:3px 10px;margin-right:6px}
.co-chan-note{margin:10px 0 0;color:#41526d;font-size:.95rem;line-height:1.55}
.co-chan--wa{justify-content:flex-start}
.co-chan--wa .co-chan-note{flex:1}
.co-chan-link{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--gold-hi,#E01B30);text-decoration:none;
  font-size:.98rem;margin-top:14px}
.co-chan-link svg{width:17px;height:17px;transition:transform .3s var(--e)}
.co-chan-link:hover svg,.co-chan-link:focus-visible svg{transform:translateX(4px)}

/* wide email direction cards (full width, horizontal) */
.co-mail{grid-column:1 / -1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(16px,2.4vw,28px);
  background:#fff;border:1px solid rgba(10,31,77,.12);border-radius:18px;padding:clamp(18px,2.2vw,26px) clamp(20px,2.6vw,30px);
  text-decoration:none;color:inherit;position:relative;overflow:hidden;box-shadow:0 16px 34px -28px rgba(10,31,77,.4);
  transition:transform .4s var(--e),border-color .4s var(--e),box-shadow .4s var(--e)}
.co-mail::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red,#C8102E);
  transform:scaleY(0);transform-origin:top;transition:transform .4s var(--e)}
.co-mail:hover,.co-mail:focus-visible{transform:translateY(-3px);border-color:rgba(200,16,46,.4);box-shadow:0 26px 48px -30px rgba(10,31,77,.42)}
.co-mail:hover::before,.co-mail:focus-visible::before{transform:scaleY(1)}
.co-mail-ic{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:13px;
  background:rgba(10,31,77,.06);color:#0A1F4D}
.co-mail-ic svg{width:24px;height:24px}
.co-mail-tx{display:flex;flex-direction:column;gap:4px;min-width:0}
.co-mail-role{font-family:'Manrope',system-ui,sans-serif;font-weight:800;font-size:clamp(1.05rem,1.5vw,1.22rem);
  letter-spacing:-.01em;color:#0A1F4D;line-height:1.2}
.co-mail-desc{color:#41526d;font-size:.98rem;line-height:1.5}
.co-mail-addr{display:inline-flex;align-items:center;gap:9px;flex:none;font-weight:700;font-size:1rem;color:var(--gold-hi,#E01B30);
  white-space:nowrap}
.co-mail-addr svg{width:18px;height:18px;transition:transform .3s var(--e)}
.co-mail:hover .co-mail-addr svg,.co-mail:focus-visible .co-mail-addr svg{transform:translateX(5px)}

/* ---- getting in touch guide --------------------------------------------- */
.co-guide-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(22px,3vw,44px);align-items:start}
.co-guide-tx h2{font-family:'Manrope',system-ui,sans-serif;font-weight:800;color:#0A1F4D;
  font-size:clamp(1.7rem,3.2vw,2.4rem);line-height:1.08;letter-spacing:-.02em;margin:10px 0 0}
.co-guide-tx p{margin:14px 0 0;color:#41526d;font-size:clamp(1rem,1.35vw,1.1rem);line-height:1.65}
.co-guide-tx p b{color:#0A1F4D;font-weight:700}
.co-guide-card{background:#eef3fb;border:1px solid rgba(10,31,77,.10);border-radius:18px;
  padding:clamp(22px,2.6vw,30px);box-shadow:0 18px 40px -30px rgba(10,31,77,.35)}
.co-guide-card h3{font-family:'Manrope',system-ui,sans-serif;font-weight:800;font-size:1.1rem;letter-spacing:-.01em;
  color:#0A1F4D;margin:0 0 16px}
.co-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.co-checklist li{position:relative;padding-left:30px;color:#41526d;font-size:1rem;line-height:1.5}
.co-checklist li::before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;
  background:rgba(200,16,46,.10);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C8102E' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  background-size:13px 13px;background-position:center;background-repeat:no-repeat}

/* ---- company information (small inset at the foot of the guide) ---------- */
.co-coreg{grid-column:1 / -1;margin:clamp(2px,0.6vw,6px) 0 0;padding-top:clamp(10px,1.4vw,14px);
  border-top:1px solid rgba(10,31,77,.12);color:#5a6478;font-size:.9rem;line-height:1.55}
.co-coreg b{color:#0A1F4D;font-weight:700}

/* ---- accreditations strip (light-blue field, marquee only, no heading) --- */
.co-accred{background:#e3ebf8;padding:clamp(16px,2.4vw,30px) 0 clamp(24px,3.4vw,42px)}
.co-accred .acmarq{max-width:none;margin-top:0}

/* ---------------------------------------------------------- responsive ---- */
@media (max-width:900px){
  .co-guide-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .co-cgrid{grid-template-columns:1fr}
  .co-mail{grid-template-columns:auto 1fr;row-gap:12px}
  .co-mail-addr{grid-column:1 / -1;white-space:normal;word-break:break-word}
}
