/* IXCHEL TRAVEL — shared visual-system layer (Visual Polish V3).
   Enhancement layer loaded AFTER each page's base styles. Palette/tokens unchanged.
   Adds: accessible single-row header + mobile menu, section rhythm, refined motion,
   jade section, editorial helpers, focus-visible, reduced-motion. No new brand colors. */

:root{
  --wrap-max:1200px;            /* desktop content max width */
  --measure:44rem;             /* ~640-680px reading measure */
  --sect-y:clamp(72px,10vw,128px);
  --radius:16px;
  --ease:cubic-bezier(.2,.6,.2,1);
  --dur:240ms;
  --shadow-soft:0 1px 0 rgba(35,41,42,.03),0 14px 34px -26px rgba(47,90,80,.42);
  --shadow-lift:0 1px 0 rgba(35,41,42,.04),0 22px 48px -28px rgba(47,90,80,.5);
}

/* ---------- global polish ---------- */
:where(a,button,input,select,textarea,summary){transition:color var(--dur) var(--ease),
  background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),
  transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
:where(a,button,[tabindex]):focus-visible{outline:2px solid var(--celadon-deep);outline-offset:2px;border-radius:6px}
img{max-width:100%;height:auto}

/* wider desktop shell for polished layouts (opt-in via .wrap-wide) */
.wrap-wide{max-width:var(--wrap-max);margin:0 auto;padding:0 28px}
.measure{max-width:var(--measure)}

/* section rhythm + background bands */
.section-y{padding-top:var(--sect-y);padding-bottom:var(--sect-y)}
.bg-ivory{background:var(--paper)}
.bg-paper2{background:var(--paper-2)}
.bg-jade{background:var(--celadon-deep);color:#EAF0EC}
.bg-jade h1,.bg-jade h2,.bg-jade h3{color:#fff}
.bg-jade .eyebrow{color:#BFE0D6}
.bg-jade .eyebrow::before{background:#7FB3A6}
.bg-jade a{color:#EAF0EC}
.bg-jade .btn{background:#EAF0EC;color:var(--celadon-deep)}
.bg-jade .btn:hover{background:#fff}
.bg-jade p,.bg-jade .lede{color:#CFE0D9}
.bg-jade .fineprint,.bg-jade .consent{color:#C4D8D0}
.bg-jade .fineprint a,.bg-jade .consent a{color:#fff}
.bg-jade .field{background:#fff;border-color:rgba(255,255,255,.55)}
.bg-jade .consent input{accent-color:#EAF0EC}
.bg-jade .proof-chips span{color:#EAF0EC;border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.08)}

/* editorial helpers */
.hand-underline{background-image:linear-gradient(transparent 62%,rgba(79,126,116,.28) 0);
  background-repeat:no-repeat;padding:0 .04em}
.edit-tag{display:inline-flex;align-items:center;gap:7px;font-family:'Spline Sans',sans-serif;
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--celadon-deep);
  background:rgba(79,126,116,.1);border:1px solid var(--line);border-radius:999px;padding:5px 11px}
.mark-keep,.mark-move,.mark-cut,.mark-swap,.mark-why{font-weight:700;font-size:11px;letter-spacing:.09em;
  border-radius:6px;padding:2px 7px;color:#fff}
.mark-keep{background:var(--celadon-deep)} .mark-move{background:#7a6a3f}
.mark-cut{background:var(--muted)} .mark-swap{background:var(--celadon)} .mark-why{background:#43524b}

/* ---------- accessible single-row header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(232,235,227,.9);
  backdrop-filter:saturate(1.1) blur(8px);-webkit-backdrop-filter:saturate(1.1) blur(8px);
  border-bottom:1px solid var(--line)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;
  max-width:var(--wrap-max);margin:0 auto;padding:12px 28px;min-height:60px}
.nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;
  border:1px solid var(--line);border-radius:10px;background:var(--paper-2);cursor:pointer;color:var(--ink)}
.nav-toggle:hover{border-color:var(--celadon-deep)}
.nav-toggle .bars,.nav-toggle .bars::before,.nav-toggle .bars::after{content:"";display:block;
  width:20px;height:2px;background:currentColor;border-radius:2px;position:relative}
.nav-toggle .bars::before{position:absolute;top:-6px}.nav-toggle .bars::after{position:absolute;top:6px}
.site-nav{display:flex;align-items:center;gap:6px}
.site-nav a{text-decoration:none;color:var(--muted);font-size:14.5px;font-weight:500;
  padding:9px 12px;border-radius:9px;white-space:nowrap;min-height:40px;display:inline-flex;align-items:center}
.site-nav a:hover{color:var(--celadon-deep);background:rgba(47,90,80,.07)}
.site-nav a[aria-current="page"]{color:var(--celadon-deep);font-weight:600}
.site-nav a.nav-cta{color:var(--celadon-deep);border:1.5px solid var(--celadon-deep);font-weight:600}
.site-nav a.nav-cta:hover{background:var(--celadon-deep);color:#fff}
@media(max-width:720px){
  .nav-toggle{display:inline-flex}
  .site-nav{position:absolute;top:100%;right:12px;left:12px;flex-direction:column;align-items:stretch;
    gap:2px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:8px;
    box-shadow:var(--shadow-lift);transform-origin:top;display:none}
  .site-nav[data-open="true"]{display:flex}
  .site-nav a{padding:13px 14px;font-size:16px;min-height:48px}
  .site-nav a.nav-cta{margin-top:4px;justify-content:center}
}

/* ---------- refined interactions ---------- */
.lift{transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.lift:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.zoomable{overflow:hidden}
.zoomable img{transition:transform 320ms var(--ease)}
.zoomable:hover img{transform:scale(1.03)}

/* founder strip photo (Home) */
.founder-photo{margin:0;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.founder-photo img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.founder-photo figcaption{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted);
  padding:12px 14px;background:var(--paper-2);border-top:1px solid var(--line)}
.founder-photo figcaption .seal{width:30px;height:30px;flex:0 0 30px;font-size:10px}

/* differentiated pathway cards (Home) */
.path-visual{height:112px;border-radius:12px;margin-bottom:16px;overflow:hidden;display:flex;
  align-items:center;justify-content:center;background:var(--paper);border:1px solid var(--line);position:relative}
.path-visual img{width:auto;height:88px;border-radius:6px;box-shadow:0 10px 22px -14px rgba(47,90,80,.6)}
.path-visual .stack{position:relative;width:66px;height:88px}
.path-visual .stack img{position:absolute;top:0;left:0;height:88px}
.path-visual .stack img:nth-child(1){transform:rotate(-8deg) translateX(-10px)}
.path-visual .stack img:nth-child(2){transform:rotate(6deg) translateX(10px)}
.path-marks{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;
    scroll-behavior:auto!important}
  .lift:hover,.zoomable:hover img{transform:none}
}
