/* =========================================================
   Home page: calmer hero, commitments row, services grid,
   compliance band, "who we work with" grid.
   ========================================================= */

/* ---------- hero ---------- */
.hero2{position:relative;overflow:hidden;border-bottom:1px solid var(--line-dark)}
.hero2-in{padding-top:104px}
.hero2-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:88px;align-items:center}
.hero2-h{margin:30px 0 0;font-size:60px;line-height:1.02;font-weight:700;font-stretch:112%;letter-spacing:-.035em;text-wrap:balance}
.hero2-lead{margin-top:30px;max-width:540px;color:var(--muted-dark)}
.hero2-note{display:flex;align-items:center;gap:14px;margin:44px 0 0;font-family:var(--f-mono);font-size:12.5px;letter-spacing:.04em;line-height:1.6;color:var(--muted-dark-2)}
.hero2-note span{flex:none;width:24px;height:1px;background:var(--orange)}
.hero2-art{padding:0 18px 18px 0}
.hero2-cap{margin:30px 0 0;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;text-align:right;color:var(--muted-dark-2)}
.hero2-proof{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:104px 0 0;padding:0;border-top:1px solid var(--line-dark)}
.hero2-proof li{display:flex;flex-direction:column;gap:6px;padding:34px 32px 44px 0}
.hero2-proof li+li{padding-left:32px;border-left:1px solid var(--line-dark)}
.hero2-proof .hp-n{margin-bottom:10px;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;color:var(--orange)}
.hero2-proof b{font-size:17px;font-weight:600}
.hero2-proof span:last-child{font-size:14.5px;line-height:1.55;color:var(--muted-dark-2)}

/* ---------- section heads ---------- */
#h-prob,#h-fr{font-size:44px;line-height:1.06}

/* ---------- services ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:72px}
.svc-card{min-height:360px;padding:36px 36px 30px}
.svc-top{display:flex;justify-content:space-between;align-items:flex-start}
.svc-top .mono{color:var(--muted-light)}
.svc-t{display:block;margin-top:auto;padding-top:40px;font-size:24px}
.svc-x{display:block;margin-top:12px;max-width:340px}
.svc-band{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr) auto;gap:48px;align-items:center;margin-top:24px;padding:40px 44px;text-decoration:none;transition:background .3s}
.svc-band:hover{background:#1E1F21;color:var(--paper)}
.svc-band-t{display:block;margin-top:16px}
.svc-band-list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 32px;margin:0;padding:0;font-size:15.5px;line-height:1.45;color:var(--muted-dark)}
.svc-band-list li{display:flex;gap:12px}
.svc-band-list li::before{content:"";flex:none;width:8px;height:8px;margin-top:7px;background:var(--orange)}
.svc-band .go{border-color:rgba(244,242,236,.3)}
.svc-band:hover .go{background:var(--orange);border-color:var(--orange);color:var(--ink)}

/* ---------- French first (now on paper; orange stays an accent) ---------- */
.fr-first .card-ink{padding:40px}

/* ---------- who we work with ---------- */
.who-grid{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 40px;margin:72px 0 0;padding:0}
.who-grid li{padding-top:24px;border-top:2px solid var(--ink)}
.who-grid .mono{color:var(--muted-light)}
.who-grid h3{margin-top:14px}
.who-grid p{margin-top:10px;max-width:340px}

/* ---------- responsive ---------- */
@media (max-width:1180px) and (min-width:1001px){
.hero2-h{font-size:50px}
.hero2-g{gap:56px}
.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1000px){
.hero2-in{padding-top:48px}
.hero2-g{grid-template-columns:minmax(0,1fr);gap:48px}
.hero2-h{font-size:40px;-webkit-hyphens:manual;hyphens:manual}
#h-prob,#h-fr{font-size:30px}
.hero2-art{padding:0 12px 12px 0}
.hero2-art .phero-art::after{right:-12px;bottom:-12px}
.hero2-cap{display:none}
.hero2-proof{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:64px}
.hero2-proof li,.hero2-proof li+li{padding:24px 16px 28px 0;border-left:0}
.hero2-proof li:nth-child(even){padding-left:16px;border-left:1px solid var(--line-dark)}
.hero2-proof li:nth-child(n+3){border-top:1px solid var(--line-dark)}
.svc-grid{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:48px}
.svc-card{min-height:0;padding:28px 24px 24px}
.svc-band{grid-template-columns:minmax(0,1fr);gap:24px;padding:32px 24px}
.svc-band-list{grid-template-columns:minmax(0,1fr)}
.svc-band .go{display:none}
.fr-first .card-ink{padding:28px 22px}
.who-grid{grid-template-columns:minmax(0,1fr);gap:36px;margin-top:48px}
}
@media (min-width:600px) and (max-width:1000px){
.svc-grid,.who-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:420px){.hero2-h{font-size:34px}}

/* The fixed-price ticket: its words are wider than a phone, so let them wrap and shrink there (the size is inline in the content). */
@media (max-width:560px){.price{white-space:normal;font-size:clamp(40px,12vw,64px)!important}}
