/* ============================================================
   Cho Cho Industry (CCI) — Contact page styles
   Loads AFTER css/styles.css and reuses its tokens/components:
   .wrap .section .eyebrow .h2 .btn .link-arrow .tag
   .contact__grid .contact__info .contact__list .contact__form .field
   ============================================================ */

/* ============================================================
   BREADCRUMB — same LAYOUT as css/news-article.css (height/gap/font/
   wrap padding & position), but a blue gradient background + light text
   so the white navbar keeps a clear "shelf" and flows into the blue hero
   ============================================================ */
.crumbs{background:linear-gradient(180deg,var(--cci-blue-700) 0%,var(--cci-blue) 100%)}
.crumbs__inner{display:flex;align-items:center;gap:8px;height:48px;
  font-family:"DM Sans",sans-serif;font-size:14px;white-space:nowrap;overflow:hidden}
.crumbs a{color:rgba(255,255,255,.72);font-weight:500;flex:none;transition:.15s}
.crumbs a:hover{color:#fff}
.crumbs__sep{color:rgba(255,255,255,.42);flex:none}
.crumbs__current{color:var(--gold-soft);font-weight:600;min-width:0;
  overflow:hidden;text-overflow:ellipsis}

/* ============================================================
   PAGE HEADER — blue hero, scattered noodle packs + line accents,
   centre kept clear for the title / intro
   ============================================================ */
.chero{
  position:relative;overflow:hidden;text-align:center;
  background:var(--cci-blue);padding:clamp(64px,8vw,96px) 0;
}
.chero__content{position:relative;z-index:2}
.chero__title{
  font-size:clamp(36px,4.4vw,54px);font-weight:700;color:#fff;
  margin:0 0 14px;
}
.chero__lead{color:rgba(255,255,255,.82);font-size:16px;max-width:560px;margin:0 auto}

/* decor layer — sits behind the text */
.chero__decor{position:absolute;inset:0;z-index:1;pointer-events:none}
/* scattered noodle packs, tucked into the four corners */
.cpack{position:absolute;height:auto!important;filter:drop-shadow(0 16px 24px rgba(0,0,0,.35));}
.cpack--tl{width:clamp(96px,12vw,172px);left:-1%;top:5%;transform:rotate(-15deg)}
.cpack--tr{width:clamp(100px,13vw,186px);right:-1%;top:3%;transform:rotate(13deg)}
.cpack--bl{width:clamp(92px,11vw,164px);left:2%;bottom:-12%;transform:rotate(12deg)}
.cpack--br{width:clamp(96px,12vw,176px);right:2%;bottom:-10%;transform:rotate(-13deg)}
/* two feature packs — upper-left-of-centre & mid-right, still clear of the text */
.cpack--aht{width:clamp(120px,15vw,210px);left:15%;top:2%;transform:rotate(-9deg)}
.cpack--kko{width:clamp(160px,19vw,262px);right:13%;top:23%;transform:rotate(9deg)}
/* thin line accents, gold + white, scattered around the edges */
.cline{position:absolute;height:2px;border-radius:2px}
.cline--1{width:clamp(90px,14vw,190px);left:6%;top:24%;transform:rotate(-22deg);background:rgba(231,199,90,.55)}
.cline--2{width:clamp(70px,10vw,140px);right:9%;top:30%;transform:rotate(20deg);background:rgba(255,255,255,.32)}
.cline--3{width:clamp(80px,12vw,160px);left:13%;bottom:24%;transform:rotate(14deg);background:rgba(255,255,255,.28)}
.cline--4{width:clamp(70px,10vw,132px);right:14%;bottom:28%;transform:rotate(-16deg);background:rgba(231,199,90,.5)}

/* ============================================================
   ENQUIRY — info + form (grid comes from styles.css .contact__grid)
   ============================================================ */
.contact__list strong{font-family:"DM Sans",sans-serif;color:var(--ink)}
.contact__list a:hover{color:var(--cci-blue)}

/* ============================================================
   LOCATIONS — address cards + embedded map
   ============================================================ */
/* cards (left) + map (right) */
.loc-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:32px;align-items:stretch}
.loc-list{display:flex;flex-direction:column;gap:20px}
.loc{
  display:flex;flex-direction:column;gap:10px;align-items:flex-start;
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:26px 28px;transition:.25s;flex:1;
}
.loc:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--cci-blue-500)}
.loc h3{font-size:20px;margin-top:4px}
.loc p{color:var(--ink-soft);font-size:16px;margin:0;flex:1}
.loc .link-arrow{margin-top:8px}

/* embedded Google Map — Head Office, stretches to the card column height */
.map{
  position:relative;border-radius:var(--r);overflow:hidden;
  border:1px solid var(--line);box-shadow:var(--shadow-sm);
  background:var(--cci-blue-50);min-height:440px;
}
.map iframe{display:block;width:100%;height:100%;min-height:440px;border:0}
.map__open{position:absolute;right:18px;bottom:18px;box-shadow:var(--shadow-sm)}

/* ============================================================
   CTA BANNER — Moneta-style card on CCI blue + stacked packs
   ============================================================ */
.cta{padding:0 0 108px}
.cta__inner{
  position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:32px;
  background:var(--cci-blue);border-radius:var(--r);padding:64px;
  overflow:hidden;box-shadow:var(--shadow);
}
/* soft gold glow behind the packs, like the ref's texture */
.cta__inner::before{content:"";position:absolute;right:-120px;top:-140px;
  width:460px;height:460px;border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(231,199,90,.25),transparent 72%)}
.cta__text{position:relative;z-index:1}
.cta__text .h2{margin-bottom:16px}
.cta__text .h2 em{font-style:italic;color:var(--gold-soft)}
.cta__text p{color:rgba(255,255,255,.85);font-size:16px;max-width:420px;margin:0 0 30px}
/* flat geometric decor — burst-section style blocks, static (no animation) */
.cta__decor{position:absolute;inset:0;z-index:0;pointer-events:none}
.cd{position:absolute}
.cd--dots{right:2%;bottom:12%;width:clamp(92px,10vw,132px);height:clamp(60px,7vw,90px);
  background-image:radial-gradient(var(--gold-soft) 2.3px,transparent 2.5px);
  background-size:18px 18px}
.cd--ring{left:46%;bottom:10%;width:clamp(40px,5vw,68px);height:clamp(40px,5vw,68px);
  border:6px solid var(--gold-soft);border-radius:50%}

/* noodle packs — overlapping fan, kept inside the card */
.cta__packs{position:relative;z-index:1;min-height:260px}
.pk{position:absolute;width:52%;height:auto;
  filter:drop-shadow(0 20px 26px rgba(0,0,0,.32))}
.pk--1{left:0;bottom:4%;transform:rotate(-12deg);z-index:1}
.pk--2{left:24%;bottom:8%;transform:rotate(3deg);z-index:2}
.pk--3{left:48%;bottom:2%;transform:rotate(13deg);z-index:3}

/* ============================================================
   RESPONSIVE — same breakpoints as styles.css
   ============================================================ */
@media (max-width:1100px){
  .loc-layout{grid-template-columns:1fr}
  .map{min-height:360px}
  .cta__inner{padding:48px}
}
/* tablet — the two centre-ward feature packs would crowd the centred text,
   so hide them; the four corner packs keep the look */
@media (max-width:960px){
  .cpack--aht,.cpack--kko{display:none}
}
@media (max-width:720px){
  /* taller hero so packs crop in from the TOP and BOTTOM edges while the
     title & intro sit clear in the middle band (echoes the desktop look) */
  .chero{padding:112px 0}
  /* top-edge packs — cropped by the top edge, above the title */
  .cpack--tl {display:block;width:112px;top:-16%;left:-8%;transform:rotate(-16deg)}
  .cpack--aht{display:block;width:124px;top:-18%;left:30%;transform:rotate(-8deg)}
  .cpack--tr {display:block;width:120px;top:-15%;right:-8%;transform:rotate(14deg)}
  /* bottom-edge packs — cropped by the bottom edge, below the intro */
  .cpack--bl {display:block;width:112px;bottom:-16%;left:-8%;transform:rotate(12deg)}
  .cpack--kko{display:block;width:120px;top:auto;bottom:-18%;right:28%;transform:rotate(10deg)}
  .cpack--br {display:block;width:120px;bottom:-15%;right:-8%;transform:rotate(-14deg)}
  .cline--2,.cline--3{display:none}
  .map,.map iframe{min-height:320px}
  .map__open{right:12px;bottom:12px;padding:11px 20px;font-size:14px}
  .cta{padding:0 0 68px}
  .cta__inner{grid-template-columns:1fr;padding:36px 28px 0;gap:20px}
  .cta__packs{min-height:220px;margin-top:8px}
  .pk{width:52%}
  /* hide decor that would sit under the text on small screens */
  .cd--ring{display:none}
}
