/* ==========================================================================
   MisterFare — PAGE FAMILY (Airport Transfers, Student Arrival)
   Loaded AFTER the locked homepage stylesheet (mf-home.css, unmodified), whose
   .r2-hero / .r2-ask / .r2-search / .r2-form / .r1-* rules these pages reuse.
   This file only adds: the page-hero variant, and the below-the-fold
   components the homepage does not have — all in the homepage's tokens.
   ========================================================================== */

/* ---------------- PAGE HERO VARIANT ---------------- */
.r2-hero--page{height:600px}
.r2-hero--page .r2-copy{top:46px;width:660px}
.r2-hero--page .mf-crumbs{color:rgba(255,255,255,.8);margin-bottom:14px;font-size:13px}
.r2-hero--page .mf-crumbs a,.r2-hero--page .mf-crumbs span{color:rgba(255,255,255,.88)}
.r2-hero--page .r2-copy h1{font-size:48px;margin-bottom:14px}
.r2-hero--page .r2-copy p{font-size:17px;margin-bottom:20px;max-width:540px}
.r2-hero--page .r2-chips{flex-wrap:wrap;max-width:620px;gap:8px}
.r2-hero--page .r2-chips li{padding:9px 12px}
.r2-hero--page::before{background:linear-gradient(90deg,rgba(16,24,54,.92) 0%,rgba(16,24,54,.80) 36%,rgba(16,24,54,.42) 62%,rgba(16,24,54,.32) 100%),
  linear-gradient(0deg,rgba(16,24,54,.60) 0%,rgba(16,24,54,0) 40%)}
.r2-hero--page .r2-ask{top:46px}
.r2-actions{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 18px}
.r2-actions .r2-go{padding:0 22px;text-decoration:none}
.r2-ghost{display:inline-flex;align-items:center;height:50px;padding:0 20px;border-radius:8px;border:1px solid rgba(255,255,255,.4);color:#fff;background:rgba(255,255,255,.08);font:700 15px var(--mf-font);text-decoration:none}
.r2-ghost:hover{background:rgba(255,255,255,.16)}

/* panel title (replaces the homepage's service tabs on these pages) */
.r2-stitle{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid #EEF0F5;margin-bottom:12px;flex-wrap:wrap}
.r2-stitle span{width:34px;height:34px;border-radius:8px;background:var(--r2-fill);color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(207,68,22,.28)}
.r2-stitle strong{font:700 16px var(--mf-font);color:var(--r2-ink)}
.r2-stitle small{margin-inline-start:auto;font-size:12.5px;color:var(--r2-muted)}

/* Student Arrival hero panel: ARRIVAL → COLLECTION → UNIVERSITY */
.r2-hero--sa .r2-search{display:grid;grid-template-columns:1fr auto;column-gap:20px;align-items:center}
.r2-hero--sa .r2-stitle{grid-column:1/-1}
.sa-route{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sa-route li{position:relative;display:flex;flex-direction:column;gap:8px}
.sa-route li:not(:last-child)::after{content:"";position:absolute;left:56px;right:-6px;top:23px;border-top:2px dashed #E9B9A4;z-index:0}
.sa-route li>div{display:flex;flex-direction:column;gap:2px;padding-right:8px}
.sa-node{position:relative;z-index:1;flex:0 0 46px;width:46px;height:46px;border-radius:50%;background:#FEEDE6;color:var(--r2-fill);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 5px #fff}
.sa-node--navy{background:#E7EAF4;color:var(--r2-blue)}
.sa-route em{font:700 11px/1 var(--mf-font);font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--r2-fill)}
.sa-route strong{font:700 14.5px/1.3 var(--mf-font);color:var(--r2-ink)}
.sa-route small{font-size:12.5px;line-height:1.4;color:var(--r2-muted)}
.sa-route-go{text-decoration:none;padding:0 22px;align-self:center}

/* ---------------- CARDS in the homepage language ---------------- */
.r2 .r1-head h2{color:var(--r2-navy)}
.fam-card,.r2 .r1-rcard,.r2 .r1-needcard,.r2 .r1-vcard,.r2 .r1-vinfo,.r2 .r1-ap,.r2 .r1-routes-list a,.r2 .r1-why-card,.r2 .r1-next{
  border:0;border-radius:12px;background:#fff;box-shadow:var(--r2-card-sh)}
.r2 .r1-sec--soft .r1-vinfo,.r2 .r1-next{background:#fff}
.r2 .r1-routes-list a:hover,.r2 .r1-ap:hover{box-shadow:0 12px 28px rgba(20,27,52,.14)}

/* vehicles */
.r1-vehicles{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:17px}
.r1-vcard{display:grid;grid-template-columns:170px 1fr;overflow:hidden}
.r1-vcard-art{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:linear-gradient(160deg,#F3F5FA,#E7EAF4);color:var(--r2-blue)}
.r1-vcard-art .mf-ic{stroke-width:1.3}
.r1-vcard-art span{font:700 10.5px var(--mf-font);letter-spacing:.1em;text-transform:uppercase;color:var(--r2-muted)}
.r1-vcard-body{padding:16px;display:flex;flex-direction:column;gap:8px}
.r1-vcard-body strong{font:700 17px var(--mf-font);color:var(--r2-navy)}
.r1-vcard-cap{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--r2-muted)}
.r1-vcard-cap span{display:inline-flex;align-items:center;gap:5px}
.r1-vcard-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:10px;border-top:1px solid #EEF0F5}
.r1-vcard-price{font:800 20px var(--mf-font);color:var(--r2-navy)}
.r1-vcard-price small{font:600 12px var(--mf-font);color:var(--r2-muted)}
.r1-vinfo{padding:18px;display:flex;flex-direction:column;gap:6px}
.r1-vinfo-ic{width:40px;height:40px;border-radius:10px;background:#E7EAF4;color:var(--r2-blue);display:inline-flex;align-items:center;justify-content:center;margin-bottom:6px}
.r1-vinfo strong{font:700 15px var(--mf-font);color:var(--r2-navy)}
.r1-vinfo p{margin:0;font-size:13.5px;line-height:1.55;color:var(--r2-muted)}

/* route columns */
.r1-rtabs{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.r1-rtabs-h{display:flex;align-items:center;gap:8px;font:700 15px var(--mf-font);color:var(--r2-navy);margin:0 0 10px}
.r1-rtabs-h .mf-ic{color:var(--r2-fill)}

/* airports (photo cards like the homepage service cards) */
.r1-airports{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:17px}
.r1-ap{display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:.15s}
.r1-ap:not(.is-live) .r1-ap-img{filter:saturate(.6)}
.r1-ap-img{position:relative;display:block;height:140px;background:#E7EAF4;overflow:hidden}
.r1-ap-img img,.r1-ap-img .ats-card-panel{width:100%;height:100%;object-fit:cover}
.r1-ap-img em{position:absolute;left:8px;top:8px;font:700 11px/1 var(--mf-font);font-style:normal;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.95);color:var(--r2-muted)}
.r1-ap-img em.is-live{background:#E6F5EC;color:#157A4A}
.r1-ap-body{padding:12px 14px 14px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.r1-ap-body strong{font:700 15px var(--mf-font);color:var(--r2-navy)}
.r1-ap-body small{font:700 11.5px var(--mf-font);color:var(--r2-fill);letter-spacing:.05em}

/* journey steps */
.r1-jsteps{list-style:none;margin:0;padding:22px 24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.r1-jsteps li{position:relative;display:flex;flex-direction:column;gap:4px;padding-right:12px}
.r1-jsteps li:not(:last-child)::after{content:"";position:absolute;top:24px;left:58px;right:0;border-top:2px dashed #E9B9A4}
.r1-jic{width:48px;height:48px;border-radius:50%;background:#FEEDE6;color:var(--r2-fill);display:inline-flex;align-items:center;justify-content:center;margin-bottom:8px;position:relative;z-index:1;box-shadow:0 0 0 5px #fff}
.r1-jsteps li:nth-child(even) .r1-jic{background:#E7EAF4;color:var(--r2-blue)}
.r1-jsteps strong{font:700 15px var(--mf-font);color:var(--r2-navy)}
.r1-jsteps small{font-size:13px;line-height:1.5;color:var(--r2-muted)}

/* reassurance */
.r1-reassure{display:grid;grid-template-columns:1fr 1fr .9fr;gap:17px}
.r1-rcard{padding:22px}
.r1-rcard-ic{width:48px;height:48px;border-radius:12px;background:#E7EAF4;color:var(--r2-blue);display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px}
.r1-rcard h3{font:700 18px/1.25 var(--mf-font);color:var(--r2-navy);margin:0 0 12px}
.r1-rcard ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.r1-rcard li{display:flex;gap:9px;align-items:flex-start;font-size:14.5px;line-height:1.45;color:var(--mf-text)}
.r1-rcard li .mf-ic{color:#157A4A;margin-top:2px}
.r2 .r1-rcard--photo{position:relative;padding:0;overflow:hidden;color:#fff;min-height:280px}
.r1-rcard--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.r1-rcard--photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(16,24,54,.9) 0%,rgba(16,24,54,.2) 65%)}
.r1-rcard--photo div{position:absolute;left:20px;right:20px;bottom:20px;z-index:2;display:flex;flex-direction:column;gap:6px}
.r1-rcard--photo strong{font:700 20px/1.25 var(--mf-serif)}
.r1-rcard--photo small{font-size:13.5px;color:rgba(255,255,255,.88)}
.r1-rcard--photo a{display:inline-flex;align-items:center;gap:6px;color:#FF9A6E;font:700 14px var(--mf-font)}

/* needs + airports */
.r1-needs{display:grid;grid-template-columns:1.1fr 1fr;gap:17px}
.r1-needcard{padding:22px}
.r1-needcard h2{font:700 22px/1.2 var(--mf-serif);color:var(--r2-navy);margin:0 0 14px}
.r1-needgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.r1-needgrid span{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 12px;border-radius:8px;background:#F3F5FA;font:600 14px var(--mf-font);color:var(--r2-blue)}
.r1-needgrid .mf-ic{color:var(--r2-fill)}
.r1-apchips{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.r1-apchips li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border:1px solid #E4E7EF;border-radius:8px}
.r1-apchips strong{font:600 14px var(--mf-font);color:var(--r2-ink)}
.r1-apchips small{font:700 11.5px var(--mf-font);color:var(--r2-muted);background:#F3F5FA;padding:5px 8px;border-radius:999px;white-space:nowrap}
.r1-apchips li.is-live{border-color:#BFE3CC;background:#F4FBF6}
.r1-apchips li.is-live small{background:#E6F5EC;color:#157A4A}
.r1-small{margin:0;font-size:13px;color:var(--r2-muted);line-height:1.5}

/* booking request form (fields/endpoint unchanged) */
.r1-formwrap{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px;align-items:start}
.r2 .r1-form{max-width:none;margin:0;background:#fff;border:0;border-radius:14px;box-shadow:0 18px 48px rgba(20,27,52,.14);padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.r2 .r1-form .field label{font:600 13px var(--mf-font);letter-spacing:0;text-transform:none;color:var(--r2-muted)}
.r2 .r1-form .field input{height:50px;border:1px solid #DCE0EA;border-radius:8px;background:#fff;font-size:14.5px;color:var(--r2-ink)}
.r2 .r1-form .field input:focus{border-color:var(--r2-navy);box-shadow:0 0 0 3px #E7EAF4}
.r2 .r1-form .btn{min-height:50px;border-radius:8px;background:var(--r2-fill);font-size:15.5px;box-shadow:0 8px 18px rgba(207,68,22,.30)}
.r1-next{padding:22px}
.r1-next h3{font:700 17px var(--mf-font);color:var(--r2-navy);margin:0 0 14px}
.r1-next ol{margin:0 0 16px;padding:0 0 0 20px;display:grid;gap:10px;font-size:14px;line-height:1.5;color:var(--mf-text)}
.r1-next li::marker{color:var(--r2-fill);font-weight:800}
.r1-askmini{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:10px;border:1px solid #EEF0F5;background:#fff;box-shadow:0 2px 8px rgba(20,27,52,.08);font:600 14px var(--mf-font);color:var(--r2-blue);cursor:pointer;text-align:start}
.r1-askmini span{flex:1}
.r1-askmini .mf-mister{box-shadow:0 0 0 2px #fff,0 0 0 3px var(--r2-orange)}

/* university chips */
.r1-unichips{display:flex;flex-wrap:wrap;gap:10px}
.r1-unichips a{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 16px;border-radius:8px;background:#fff;box-shadow:var(--r2-card-sh);font:600 14px var(--mf-font);color:var(--r2-navy);text-decoration:none}
.r1-unichips a .mf-ic{color:var(--r2-fill)}
.r1-unichips a:hover{box-shadow:0 12px 28px rgba(20,27,52,.14)}

/* ---------------- RESPONSIVE ---------------- */
@media (max-width:1300px){
  .r2-hero--page .r2-copy{width:calc(100% - 420px)}
  .r2-hero--sa .r2-search{grid-template-columns:1fr}
  .sa-route-go{justify-self:start;margin-top:12px}
}
@media (max-width:1180px){
  .r1-vehicles{grid-template-columns:1fr 1fr}
  .r1-vehicles .r1-vcard{grid-column:1/-1}
  .r1-airports{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1100px){
  .r2-hero--page{height:auto;min-height:680px}
}
@media (max-width:1023px){
  .r2-hero--page{min-height:0}
  .r2-hero--page .r2-copy,.r2-hero--page .r2-ask{top:auto;width:auto}
  .r1-rtabs,.r1-needs,.r1-formwrap{grid-template-columns:1fr}
  .r1-reassure{grid-template-columns:1fr 1fr}
  .r2 .r1-rcard--photo{grid-column:1/-1;min-height:220px}
  .r1-jsteps{grid-template-columns:1fr 1fr}
  .r1-jsteps li::after{display:none}
}
/* Mobile: the primary service action comes right after the headline;
   the (compact) Ask Mister card follows it. */
@media (max-width:767px){
  .r2-hero--page .r2-hero-in{padding:16px 16px 18px;gap:12px}
  .r2-hero--page .mf-crumbs{margin-bottom:8px;font-size:12px}
  .r2-hero--page .r2-copy h1{font-size:31px}
  .r2-hero--page .r2-copy p{font-size:14.5px}
  .r2-hero--page .r2-search{order:2}
  .r2-hero--page .r2-ask{order:3}
  .r2-actions{display:none}
  .r2-stitle small{display:none}
  .r2-hero--page .r2-ask-h div{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
  .sa-route{grid-template-columns:1fr;gap:10px}
  .sa-route li::after{display:none}
  .sa-route li{flex-direction:row;align-items:flex-start;gap:12px}
  .sa-route li>div{padding:0}
  .sa-node{flex-basis:40px;width:40px;height:40px;box-shadow:none}
  .sa-route-go{justify-self:stretch;justify-content:center;margin-top:14px}
  .r1-vehicles{grid-template-columns:1fr}
  .r1-vcard{grid-template-columns:110px 1fr}
  .r1-airports{display:flex;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:2px 16px 10px;gap:12px}
  .r1-airports::-webkit-scrollbar{display:none}
  .r1-ap{flex:0 0 150px}
  .r1-ap-img{height:110px}
  .r1-jsteps{grid-template-columns:1fr;gap:12px;padding:18px}
  .r1-jsteps li{display:grid;grid-template-columns:48px 1fr;column-gap:12px;padding:0}
  .r1-jsteps .r1-jic{grid-row:span 2;margin:0}
  .r1-reassure,.r1-needgrid,.r1-apchips{grid-template-columns:1fr}
  .r2 .r1-form{grid-template-columns:1fr 1fr;padding:16px}
  .r2 .r1-form .field:nth-child(-n+5){grid-column:1/-1}
  /* final CTAs clear the fixed bottom navigation */
  .r2 .r1-final{margin-bottom:12px}
}
@media (max-width:767px){.r2-hero--page .r2-hero-in{padding-top:30px}}

/* ==========================================================================
   ROUND 3 — University Transfer, City-to-City, Chauffeur, Events, Event detail
   New class names only (fam-*), so the locked pages cannot be affected.
   ========================================================================== */
/* hero panel: pickup → university */
.fam-plan{display:grid;grid-template-columns:minmax(0,1.1fr) auto minmax(0,1.2fr) auto;gap:16px;align-items:end}
.fam-plan-ends{display:flex;gap:12px;align-items:center;min-height:50px}
.fam-plan-ends div{display:flex;flex-direction:column;gap:2px}
.fam-plan-ends em{font:700 11px/1 var(--mf-font);font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--r2-fill)}
.fam-plan-ends strong{font:700 14.5px/1.3 var(--mf-font);color:var(--r2-ink)}
.fam-plan-arrow{height:50px;display:inline-flex;align-items:center;color:var(--r2-blue)}
.fam-plan .r2-go{padding:0 26px;text-decoration:none}

/* tiles (service decisions) */
.fam-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.fam-tile{position:relative;display:flex;flex-direction:column;gap:7px;padding:20px;background:#fff;border-radius:12px;box-shadow:var(--r2-card-sh);text-decoration:none;transition:transform .18s,box-shadow .18s;min-width:0}
a.fam-tile:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(20,27,52,.14)}
.fam-tile-ic{width:48px;height:48px;border-radius:12px;background:#FEEDE6;color:var(--r2-fill);display:inline-flex;align-items:center;justify-content:center;margin-bottom:6px}
.fam-tile-ic--navy{background:#E7EAF4;color:var(--r2-blue)}
.fam-tile strong{font:700 16px/1.3 var(--mf-font);color:var(--r2-navy)}
.fam-tile small{font-size:13.5px;line-height:1.5;color:var(--r2-muted)}
.fam-tile em,.fam-tile-link{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:6px;font:700 13.5px var(--mf-font);font-style:normal;color:var(--r2-blue);text-decoration:none}
.fam-tile-foot{margin-top:auto;padding-top:12px;border-top:1px solid #EEF0F5;display:flex;align-items:center;justify-content:space-between;gap:8px}
.fam-tile-foot .fam-tile-link{margin:0;padding:0}
.fam-req{font:600 13px var(--mf-font);color:var(--r2-muted)}
.fam-tile--photo{padding:0;overflow:hidden;min-height:240px;color:#fff}
.fam-tile--photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fam-tile--photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(16,24,54,.92) 0%,rgba(16,24,54,.25) 70%)}
.fam-tile-over{position:absolute;left:18px;right:18px;bottom:18px;z-index:2;display:flex;flex-direction:column;gap:6px}
.fam-tile-over strong{font:700 19px/1.25 var(--mf-serif);color:#fff}
.fam-tile-over small{color:rgba(255,255,255,.88)}
.fam-tile-over em{color:#FF9A6E;margin:0;padding:0}
.fam-chip{align-self:flex-start;background:#fff;color:var(--r2-navy)!important;font:700 11.5px/1 var(--mf-font)!important;padding:6px 10px!important;border-radius:999px}

/* university groups */
.fam-unigroups{display:grid;grid-template-columns:1fr 1.6fr;gap:17px;align-items:start}
.fam-unigroup{padding:20px}
.fam-unigroup h3{display:flex;align-items:center;gap:8px;font:700 16px var(--mf-font);color:var(--r2-navy);margin:0 0 14px}
.fam-unigroup h3 .mf-ic{color:var(--r2-fill)}
.fam-unigroup h3 small{font:700 12px var(--mf-font);color:var(--r2-muted);background:#F3F5FA;border-radius:999px;padding:3px 8px}
.fam-unigroup .r1-unichips a{box-shadow:none;border:1px solid #E4E7EF;min-height:38px;font-size:13.5px}
.fam-unigroup .r1-unichips a:hover{border-color:#CFD5E8;box-shadow:var(--r2-card-sh)}
.fam-needgrid--stack{grid-template-columns:1fr;margin-bottom:18px}
.fam-next-h2{margin-top:6px!important}

/* routes (photo cards) */
.fam-routes{grid-template-columns:repeat(3,minmax(0,1fr))}
.fam-routes .r1-ap-img{height:170px}
.fam-route-body{align-items:center}
.fam-go{color:var(--r2-blue)}

/* chauffeur packages */
.fam-pkgs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.fam-pkg{display:flex;flex-direction:column;gap:10px;padding:22px;background:#fff;border-radius:12px;box-shadow:var(--r2-card-sh);text-decoration:none;transition:.18s}
.fam-pkg:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(20,27,52,.14)}
.fam-pkg-h{font:700 44px/1 var(--mf-serif);color:var(--r2-navy)}
.fam-pkg-h small{font:600 15px var(--mf-font);color:var(--r2-muted);margin-left:6px}
.fam-pkg-p{font:800 18px var(--mf-font);color:var(--r2-navy)}
.fam-pkg-p.is-req{font:600 14px var(--mf-font);color:var(--r2-muted)}
.fam-pkg-cta{margin-top:auto;padding-top:12px;border-top:1px solid #EEF0F5;display:inline-flex;align-items:center;gap:6px;font:700 14px var(--mf-font);color:var(--r2-fill)}
.fam-needcta{margin-top:18px;text-decoration:none}

/* numbered steps inside a card */
.fam-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.fam-steps li{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:start}
.fam-steps li>span{width:40px;height:40px;border-radius:10px;background:#FEEDE6;color:var(--r2-fill);display:inline-flex;align-items:center;justify-content:center}
.fam-steps li:nth-child(even)>span{background:#E7EAF4;color:var(--r2-blue)}
.fam-steps strong{display:block;font:700 15px var(--mf-font);color:var(--r2-navy)}
.fam-steps small{display:block;font-size:13.5px;line-height:1.5;color:var(--r2-muted)}

/* events */
.fam-evgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.fam-evfeature{grid-column:span 2;grid-row:span 2;min-height:420px}
.fam-note{display:flex;align-items:center;gap:6px;margin-top:14px}
.fam-ex-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:17px}
.fam-p{margin:0 0 12px;font-size:15px;line-height:1.65;color:var(--mf-text)}

/* the existing booking-request form (mf_request_form) in the family look */
.r2 .mf-request{background:#fff;border:0;border-radius:14px;box-shadow:0 18px 48px rgba(20,27,52,.14);padding:24px}
.r2 .mf-request .mf-field label{font:600 13px var(--mf-font);color:var(--r2-muted)}
.r2 .mf-request .mf-field input,.r2 .mf-request .mf-field textarea,.r2 .mf-request .mf-field select{border:1px solid #DCE0EA;border-radius:8px;min-height:50px;font-size:14.5px;color:var(--r2-ink)}
.r2 .mf-request .mf-field textarea{min-height:90px}
.r2 .mf-request .mf-btn--primary{border-radius:8px;min-height:50px;background:var(--r2-fill);box-shadow:0 8px 18px rgba(207,68,22,.30)}

@media (max-width:1180px){
  .fam-plan{grid-template-columns:1fr 1fr}
  .fam-plan-arrow{display:none}
  .fam-plan .r2-go{grid-column:1/-1;justify-content:center}
  .fam-tiles,.fam-pkgs,.fam-evgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fam-routes{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1023px){
  .fam-unigroups,.fam-ex-grid{grid-template-columns:1fr}
  .fam-evfeature{grid-column:1/-1;grid-row:auto;min-height:260px}
}
@media (max-width:767px){
  .fam-plan{grid-template-columns:1fr;gap:12px}
  .fam-plan .r2-go{grid-column:auto}
  .fam-tiles,.fam-evgrid{grid-template-columns:1fr;gap:12px}
  .fam-tile{padding:16px}
  .fam-tile--photo{min-height:220px}
  .fam-pkgs{grid-template-columns:1fr 1fr;gap:12px}
  .fam-pkg{padding:16px}
  .fam-pkg-h{font-size:36px}
  .fam-routes{display:flex}
  .fam-routes .r1-ap{flex:0 0 240px}
  .fam-routes .r1-ap-img{height:140px}
  .r2 .mf-request{padding:16px}
  /* page-hero forms on mobile follow the homepage form layout */
  .fam-c2c-form,.fam-ch-form,.fam-ev-form{grid-template-columns:1fr 1fr}
  .fam-c2c-form .r2-f:nth-child(-n+2),.fam-ch-form .r2-f:nth-child(1),.fam-ev-form .r2-f:nth-child(-n+2),.fam-c2c-form .r2-go,.fam-ch-form .r2-go,.fam-ev-form .r2-go{grid-column:1/-1}
}
