/* ============================================================
   DESTINATIONS / CANADA — "THE CANADA INDEX"
   Colour-blocked editorial poster system. Warm paper canvas,
   flat indigo / gold / yellow / sand slabs, photography either
   inset with wide matting or bled to a single edge. Heavy tight
   display type, solid gold numerals, an oversized numbered
   INDEX band under the cover. Feature showcase = zero-gutter
   full-bleed mosaics that alternate photo cards with solid
   colour type cards. Brand colours + Plus Jakarta Sans only —
   no theme components.
   Static: no JS, no transitions, no hover changes, no details.
   Every custom rule is `.ca-a .caa-x` (0,2,0) so single-class
   rules always beat theme's element-qualified resets.
   ============================================================ */
.ca-a{
  --paper:#FBFAF4;
  --paper-2:#F4F0E3;
  --sand:#E9E2CA;
  --ink:#120F64;
  --ink-d:#0B0947;
  --gold:#CEA800;
  --yellow:#FFE100;
  --copy:#4A4668;
  --copy-2:#6F6B8C;
  --line:#E2DABF;
  --line-2:#CDC3A3;
  background:var(--paper);
  color:var(--copy);
  font-family:var(--font-body);
  display:block;
  overflow-x:clip;
  font-size:16px;
  line-height:1.68;
}
.ca-a *{box-sizing:border-box}
.ca-a img{display:block;max-width:100%;border-radius:0}
.ca-a h1,.ca-a h2,.ca-a h3,.ca-a h4{font-family:var(--font-display);color:var(--ink);font-weight:800;letter-spacing:-.045em;line-height:1.02;margin:0}
.ca-a p{margin:0}
.ca-a a{color:inherit;text-decoration:none}
.ca-a ul,.ca-a ol{list-style:none;margin:0;padding:0}
.ca-a em{font-style:italic}

/* ── rhythm ─────────────────────────────────────────────── */
.ca-a .caa-wrap{max-width:1360px;margin:0 auto;padding:0 clamp(20px,5vw,72px)}
.ca-a .caa-full{position:relative;width:100vw;left:50%;transform:translateX(-50%)}
.ca-a .caa-sec{padding-block:clamp(72px,9.5vw,150px)}
.ca-a .caa-sec--tight{padding-block:clamp(56px,7vw,104px)}

/* ── shared type atoms ──────────────────────────────────── */
.ca-a .caa-kick{
  font-family:var(--font-ui);font-size:.66rem;font-weight:800;letter-spacing:.36em;
  text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;
  gap:13px;line-height:1;
}
.ca-a .caa-kick::before{content:"";width:30px;height:2px;background:var(--gold);display:inline-block;flex:none}
.ca-a .caa-kick--bare::before{display:none}
.ca-a .caa-kick--pale{color:var(--yellow)}
.ca-a .caa-kick--pale::before{background:var(--yellow)}
.ca-a .caa-kick--ink{color:var(--ink)}
.ca-a .caa-kick--ink::before{background:var(--ink)}
.ca-a .caa-lede{font-size:clamp(1.08rem,1.45vw,1.32rem);line-height:1.5;color:var(--ink);font-weight:500;letter-spacing:-.012em}
.ca-a .caa-body{font-size:1rem;line-height:1.78;color:var(--copy)}
.ca-a .caa-body--pale{color:#C9C5E4}
.ca-a .caa-body--gap{margin-top:16px}
.ca-a .caa-body--gap-l{margin-top:18px}
.ca-a .caa-gold{color:var(--gold)}
.ca-a .caa-h2{font-size:clamp(2.05rem,4.4vw,3.65rem)}
.ca-a .caa-h2--pale{color:var(--paper)}
.ca-a .caa-rule{height:2px;background:var(--ink);width:64px}

/* buttons — flat, no state change */
.ca-a .caa-btns{display:flex;flex-wrap:wrap;gap:12px}
.ca-a .caa-btn--solid{background:var(--ink);color:var(--paper)}
.ca-a .caa-btn--yellow{background:var(--yellow);color:var(--ink)}
.ca-a .caa-btn--line{border-color:var(--ink);color:var(--ink)}
.ca-a .caa-btn--lineup{border-color:var(--yellow);color:var(--yellow)}

/* ═══ 1 · COVER ═════════════════════════════════════════ */
.ca-a .caa-cover{padding-top:clamp(18px,2.6vw,38px)}
.ca-a .caa-coverimg{height:clamp(380px,62vh,660px);overflow:hidden}
.ca-a .caa-coverimg img{width:100%;height:100%;object-fit:cover;object-position:center 46%}
.ca-a .caa-coverbar{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  align-items:end;gap:clamp(28px,4vw,64px);
}
.ca-a .caa-plate{
  background:var(--yellow);padding:clamp(30px,3.4vw,50px) clamp(28px,3.4vw,52px) clamp(30px,3.4vw,46px);
  margin-top:clamp(-168px,-12vw,-64px);position:relative;z-index:2;align-self:start;
}
.ca-a .caa-covermeta{align-self:end;padding-bottom:clamp(6px,1vw,16px)}
.ca-a .caa-plate h1{font-size:clamp(2.9rem,7.4vw,6.1rem);line-height:.9;margin-top:20px}
.ca-a .caa-plate h1 em{color:#8A6F00;font-style:italic}
.ca-a .caa-covermeta .caa-lede{margin-bottom:26px}
.ca-a .caa-stamp{
  display:flex;gap:26px;margin-top:30px;padding-top:22px;border-top:2px solid var(--line-2);
  font-family:var(--font-ui);font-size:.66rem;font-weight:800;letter-spacing:.2em;
  text-transform:uppercase;color:var(--copy-2);
}

/* ═══ 2 · INDEX BAND ════════════════════════════════════ */
.ca-a .caa-index{background:var(--ink);padding-block:clamp(46px,5.2vw,74px)}
.ca-a .caa-indexgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.ca-a .caa-ix{padding:6px clamp(18px,2.2vw,34px);border-left:2px solid rgba(206,168,0,.42)}
.ca-a .caa-ix:first-child{padding-left:0;border-left:0}
.ca-a .caa-ixn{font-family:var(--font-display);font-size:clamp(2.2rem,3.4vw,3.1rem);font-weight:800;color:var(--gold);line-height:1;letter-spacing:-.05em}
.ca-a .caa-ixt{font-size:clamp(.98rem,1.2vw,1.12rem);font-weight:700;color:var(--paper);line-height:1.28;margin-top:12px;letter-spacing:-.02em}
.ca-a .caa-ixs{font-size:.85rem;color:#A9A4CF;line-height:1.55;margin-top:8px}

/* ═══ 3 · QUICK ANSWER ══════════════════════════════════ */
.ca-a .caa-answer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(34px,5vw,86px);align-items:center}
.ca-a .caa-answer .caa-h2{margin:22px 0 24px}
.ca-a .caa-answer .caa-body{margin-top:16px;max-width:46ch}
.ca-a .caa-mat{background:var(--sand);padding:clamp(20px,2.4vw,34px)}
.ca-a .caa-mat img{width:100%;height:clamp(300px,42vw,500px);object-fit:cover}
.ca-a .caa-matcap{
  font-family:var(--font-ui);font-size:.66rem;font-weight:800;letter-spacing:.2em;
  text-transform:uppercase;color:#7A6E42;margin-top:18px;
}

/* ═══ 4 · COMPARE MOSAIC ════════════════════════════════ */
.ca-a .caa-mosaic{display:grid;grid-template-columns:repeat(6,1fr);gap:0}
.ca-a .caa-tile{position:relative;display:block;min-height:clamp(300px,26vw,392px);overflow:hidden}
.ca-a .caa-tile--s2{grid-column:span 2}
.ca-a .caa-tile--s3{grid-column:span 3}
.ca-a .caa-tile--s4{grid-column:span 4}
.ca-a .caa-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ca-a .caa-scrim{position:absolute;inset:0;background:
  linear-gradient(to top,rgba(11,9,71,.9) 0%,rgba(11,9,71,.54) 42%,rgba(11,9,71,.06) 78%),
  linear-gradient(to bottom,rgba(11,9,71,.5) 0%,rgba(11,9,71,.16) 22%,rgba(11,9,71,0) 40%)}
.ca-a .caa-tilebody{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(24px,2.4vw,34px)}
.ca-a .caa-tilen{font-family:var(--font-display);font-size:.82rem;font-weight:800;letter-spacing:.22em;line-height:1;margin-bottom:auto}
.ca-a .caa-tileh{font-size:clamp(1.24rem,1.8vw,1.62rem);line-height:1.1;letter-spacing:-.035em}
.ca-a .caa-tilep{font-size:.93rem;line-height:1.6;margin-top:11px;max-width:34ch}
.ca-a .caa-tile--photo .caa-tilen{color:var(--yellow)}
.ca-a .caa-tile--photo .caa-tileh{color:#fff}
.ca-a .caa-tile--photo .caa-tilep{color:#DCD9EE}
.ca-a .caa-tile--gold{background:var(--gold)}
.ca-a .caa-tile--gold .caa-tilen{color:#6B5700}
.ca-a .caa-tile--gold .caa-tileh{color:#231C00}
.ca-a .caa-tile--gold .caa-tilep{color:#4E4100}
.ca-a .caa-tile--ink{background:var(--ink)}
.ca-a .caa-tile--ink .caa-tilen{color:var(--gold)}
.ca-a .caa-tile--ink .caa-tileh{color:var(--paper)}
.ca-a .caa-tile--ink .caa-tilep{color:#B4AFDA}
.ca-a .caa-tile--sand{background:var(--sand)}
.ca-a .caa-tile--sand .caa-tilen{color:#8A7B47}
.ca-a .caa-tile--sand .caa-tileh{color:var(--ink)}
.ca-a .caa-tile--sand .caa-tilep{color:#5D5535}

/* section head used above mosaics */
.ca-a .caa-head{max-width:900px;margin-bottom:clamp(30px,3.6vw,52px)}
.ca-a .caa-head .caa-h2{margin:20px 0 18px}
.ca-a .caa-head .caa-body{max-width:56ch}
.ca-a .caa-head--pale .caa-body{color:#B4AFDA}

/* ═══ 5 · PANORAMA ══════════════════════════════════════ */
.ca-a .caa-pano{position:relative}
.ca-a .caa-panoimg{height:clamp(340px,44vw,560px);overflow:hidden}
.ca-a .caa-panoimg img{width:100%;height:100%;object-fit:cover;object-position:center 58%}
.ca-a .caa-panocard{
  background:var(--paper);padding:clamp(30px,3.4vw,50px);max-width:520px;
  margin-top:clamp(-96px,-7vw,-50px);position:relative;z-index:2;
  border-top:6px solid var(--yellow);
}
.ca-a .caa-panocard h3{font-size:clamp(1.5rem,2.4vw,2.05rem);margin:18px 0 14px}

/* ═══ 6 · TRUST SLAB ════════════════════════════════════ */
.ca-a .caa-trust{background:var(--ink)}
.ca-a .caa-trustgrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(34px,5vw,80px);align-items:center}
.ca-a .caa-quote{font-family:var(--font-display);font-size:clamp(1.7rem,3.3vw,2.7rem);font-weight:800;letter-spacing:-.04em;line-height:1.08;color:var(--paper);margin:24px 0 26px}
.ca-a .caa-quote span{color:var(--yellow)}
.ca-a .caa-trust .caa-body{color:#B4AFDA;max-width:52ch}
.ca-a .caa-trustimg img{width:100%;height:clamp(330px,38vw,470px);object-fit:cover}
.ca-a .caa-trustcap{font-family:var(--font-ui);font-size:.64rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-top:16px}

/* ═══ 7 · ROUTE ═════════════════════════════════════════ */
.ca-a .caa-route{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:clamp(24px,3vw,44px)}
.ca-a .caa-step{padding:0 clamp(18px,2.2vw,32px);border-left:2px solid var(--line)}
.ca-a .caa-step:first-child{padding-left:0;border-left:0}
.ca-a .caa-stepn{font-family:var(--font-display);font-size:clamp(3.4rem,6vw,5.2rem);font-weight:800;color:var(--gold);line-height:.82;letter-spacing:-.06em}
.ca-a .caa-step h3{font-size:clamp(1.06rem,1.35vw,1.24rem);margin:20px 0 10px;letter-spacing:-.028em}
.ca-a .caa-step p{font-size:.93rem;line-height:1.65;color:var(--copy)}

/* ═══ 8 · SERVICES SHOWCASE ═════════════════════════════ */
.ca-a .caa-svc{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.ca-a .caa-card{position:relative;display:block;min-height:clamp(292px,23vw,364px);overflow:hidden}
.ca-a .caa-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ca-a .caa-cardbody{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(22px,2.2vw,30px)}
.ca-a .caa-cardn{font-family:var(--font-display);font-size:.78rem;font-weight:800;letter-spacing:.22em;line-height:1;margin-bottom:auto}
.ca-a .caa-cardh{font-size:clamp(1.12rem,1.5vw,1.36rem);line-height:1.12;letter-spacing:-.034em}
.ca-a .caa-cardp{font-size:.9rem;line-height:1.58;margin-top:10px}
.ca-a .caa-cardgo{font-family:var(--font-ui);font-size:.66rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;margin-top:16px}
.ca-a .caa-card--photo .caa-cardn{color:var(--yellow)}
.ca-a .caa-card--photo .caa-cardh{color:#fff}
.ca-a .caa-card--photo .caa-cardp{color:#DAD7EC}
.ca-a .caa-card--photo .caa-cardgo{color:var(--yellow)}
.ca-a .caa-card--ink{background:var(--ink)}
.ca-a .caa-card--ink .caa-cardn{color:var(--gold)}
.ca-a .caa-card--ink .caa-cardh{color:var(--paper)}
.ca-a .caa-card--ink .caa-cardp{color:#B0ABD6}
.ca-a .caa-card--ink .caa-cardgo{color:var(--gold)}
.ca-a .caa-card--yellow{background:var(--yellow)}
.ca-a .caa-card--yellow .caa-cardn{color:#8A7300}
.ca-a .caa-card--yellow .caa-cardh{color:#1A1500}
.ca-a .caa-card--yellow .caa-cardp{color:#4B3F00}
.ca-a .caa-card--yellow .caa-cardgo{color:#6B5900}
.ca-a .caa-card--sand{background:var(--sand)}
.ca-a .caa-card--sand .caa-cardn{color:#8A7B47}
.ca-a .caa-card--sand .caa-cardh{color:var(--ink)}
.ca-a .caa-card--sand .caa-cardp{color:#5D5535}
.ca-a .caa-card--sand .caa-cardgo{color:#7A6E42}

/* ═══ 9 · DESTINATIONS ══════════════════════════════════ */
.ca-a .caa-dest{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(0,1fr);gap:0}
.ca-a .caa-lead{grid-column:span 3;grid-row:span 2;position:relative;display:block;min-height:clamp(400px,38vw,560px);overflow:hidden}
.ca-a .caa-lead img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ca-a .caa-leadbody{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(28px,3vw,46px)}
.ca-a .caa-badge{
  align-self:flex-start;background:var(--yellow);color:var(--ink);font-family:var(--font-ui);
  font-size:.64rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  padding:8px 14px;line-height:1;margin-bottom:auto;
}
.ca-a .caa-leadbody h3{font-size:clamp(1.9rem,3.2vw,2.7rem);color:#fff;letter-spacing:-.045em}
.ca-a .caa-leadbody p{font-size:.98rem;line-height:1.6;color:#DCD9EE;margin-top:12px;max-width:36ch}
.ca-a .caa-leadgo{font-family:var(--font-ui);font-size:.68rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--yellow);margin-top:20px}
.ca-a .caa-dtile{position:relative;display:block;min-height:clamp(190px,19vw,280px);overflow:hidden}
.ca-a .caa-dtile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ca-a .caa-dtilebody{position:relative;z-index:2;height:100%;display:flex;align-items:flex-end;padding:clamp(18px,1.8vw,26px)}
.ca-a .caa-dtilebody h4{font-size:clamp(1.02rem,1.35vw,1.2rem);color:#fff;letter-spacing:-.03em}
.ca-a .caa-dnote{margin-top:clamp(26px,3vw,40px);display:flex;flex-wrap:wrap;gap:14px;align-items:center}

/* ═══ 10 · AFTER THE OFFER ══════════════════════════════ */
.ca-a .caa-after{background:var(--paper-2)}
.ca-a .caa-aftergrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(34px,5vw,80px)}
.ca-a .caa-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line-2)}
.ca-a .caa-chip{background:var(--paper);padding:clamp(18px,1.9vw,26px);display:flex;flex-direction:column;gap:9px;min-height:118px}
.ca-a .caa-chipn{font-family:var(--font-ui);font-size:.62rem;font-weight:800;letter-spacing:.2em;color:var(--gold);line-height:1}
.ca-a .caa-chip span:last-child{font-size:.95rem;font-weight:700;color:var(--ink);line-height:1.32;letter-spacing:-.022em}
.ca-a .caa-family{margin-top:clamp(28px,3.4vw,46px);border-top:2px solid var(--line-2);padding-top:clamp(22px,2.6vw,34px);max-width:62ch}

/* ═══ 11 · QUESTIONS ════════════════════════════════════ */
.ca-a .caa-q{background:var(--yellow)}
.ca-a .caa-qlist{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:clamp(28px,3.4vw,46px);border-top:2px solid rgba(18,15,100,.28)}
.ca-a .caa-qi{padding:clamp(20px,2.2vw,30px) clamp(20px,2.4vw,38px) clamp(20px,2.2vw,30px) 0;border-bottom:2px solid rgba(18,15,100,.28);display:flex;gap:18px;align-items:baseline}
.ca-a .caa-qi:nth-child(even){padding-left:clamp(20px,2.4vw,38px);border-left:2px solid rgba(18,15,100,.28)}
.ca-a .caa-qn{font-family:var(--font-display);font-size:1.02rem;font-weight:800;color:#8A7300;flex:none;letter-spacing:.08em}
.ca-a .caa-qt{font-size:clamp(1.02rem,1.4vw,1.22rem);font-weight:700;color:var(--ink);line-height:1.32;letter-spacing:-.028em}
.ca-a .caa-q .caa-h2{color:var(--ink)}
.ca-a .caa-q .caa-kick{color:#8A7300}
.ca-a .caa-q .caa-kick::before{background:#8A7300}
.ca-a .caa-q .caa-body{color:#4B3F00}

/* ═══ 12 · CLOSE ════════════════════════════════════════ */
.ca-a .caa-close{background:var(--ink-d)}
.ca-a .caa-closegrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(30px,4.4vw,72px);align-items:end}
.ca-a .caa-close .caa-h2{color:var(--paper);margin:22px 0 20px}
.ca-a .caa-close .caa-body{color:#B4AFDA;max-width:48ch}
.ca-a .caa-closebtns{justify-content:flex-start}

/* ── responsive ─────────────────────────────────────────── */
@media(max-width:1080px){
  .ca-a .caa-svc{grid-template-columns:repeat(2,1fr)}
  .ca-a .caa-indexgrid{grid-template-columns:repeat(2,1fr);gap:26px 0}
  .ca-a .caa-ix:nth-child(3){padding-left:0;border-left:0}
  .ca-a .caa-route{grid-template-columns:repeat(2,1fr);gap:34px 0}
  .ca-a .caa-step:nth-child(3){padding-left:0;border-left:0}
}
@media(max-width:900px){
  .ca-a .caa-coverbar{grid-template-columns:1fr;gap:26px}
  .ca-a .caa-plate{margin-top:clamp(-70px,-8vw,-44px);margin-right:clamp(28px,10vw,90px)}
  .ca-a .caa-answer,.ca-a .caa-trustgrid,.ca-a .caa-aftergrid,.ca-a .caa-closegrid{grid-template-columns:1fr;gap:34px}
  .ca-a .caa-mosaic{grid-template-columns:repeat(2,1fr)}
  .ca-a .caa-tile--s2,.ca-a .caa-tile--s3,.ca-a .caa-tile--s4{grid-column:span 1}
  .ca-a .caa-tile--wide{grid-column:span 2}
  .ca-a .caa-dest{grid-template-columns:repeat(2,1fr)}
  .ca-a .caa-lead{grid-column:span 2;grid-row:span 1}
  .ca-a .caa-chips{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .ca-a .caa-svc,.ca-a .caa-mosaic,.ca-a .caa-dest,.ca-a .caa-qlist{grid-template-columns:1fr}
  .ca-a .caa-tile--wide,.ca-a .caa-lead{grid-column:span 1}
  .ca-a .caa-indexgrid,.ca-a .caa-route,.ca-a .caa-chips{grid-template-columns:1fr}
  .ca-a .caa-ix,.ca-a .caa-step{padding-left:0;border-left:0}
  .ca-a .caa-qi:nth-child(even){padding-left:0;border-left:0}
  .ca-a .caa-qi{padding-right:0}
  .ca-a .caa-plate h1{font-size:clamp(2.6rem,12vw,3.4rem)}
}
