@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
  --ink: #172e2b;
  --ink-2: #29413d;
  --muted: #70807d;
  --cream: #f7f8f3;
  --paper: #ffffff;
  --line: #e5eae6;
  --green: #176d5f;
  --green-dark: #0e4f46;
  --mint: #dff4e8;
  --mint-soft: #eef8f2;
  --coral: #ff7752;
  --yellow: #f9d977;
  --sky: #dceef8;
  --purple: #ebe5ff;
  --shadow: 0 24px 65px rgba(27, 67, 58, .11);
  --shadow-soft: 0 12px 32px rgba(27, 67, 58, .075);
  --r-xl: 32px;
  --r-lg: 24px;
  --r-md: 17px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background:
    radial-gradient(circle at 94% 2%, rgba(249, 217, 119, .22), transparent 27rem),
    radial-gradient(circle at 0% 23%, rgba(192, 235, 218, .26), transparent 24rem),
    var(--cream);
  font-family: 'Manrope', ui-sans-serif, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, select, input { font: inherit; }
button { color: inherit; }
.shell { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.muted { color: var(--muted); }
.tiny { font-size: .72rem; }

/* Header */
.site-header { position: relative; z-index: 20; }
.topbar { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 1.22rem; font-weight: 800; letter-spacing: -.045em; }
.brand-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 13px; color: #fff; background: var(--green); box-shadow: 0 8px 19px rgba(23,109,95,.24); transform: rotate(-3deg); }
.nav { display: flex; align-items: center; gap: 28px; color: #556d68; font-size: .84rem; font-weight: 700; }
.nav > a { position: relative; padding: 28px 0; }
.nav > a:hover, .nav > a.active { color: var(--green); }
.nav > a.active::after { content: ''; position: absolute; left: 0; right: 0; bottom: 19px; height: 2px; border-radius: 5px; background: var(--coral); }
.location-button { border: 1px solid var(--line); background: rgba(255,255,255,.78); padding: 10px 13px; border-radius: 14px; font-size: .8rem; font-weight: 800; cursor: pointer; }
.menu-button { display: none; border: 0; background: transparent; font-size: 1.5rem; padding: 8px; cursor: pointer; }

/* Shared type and buttons */
.eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 999px; color: var(--green-dark); background: var(--mint); font-size: .7rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.eyebrow::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 4px rgba(255,119,82,.14); }
.display { margin: 19px 0 0; max-width: 850px; font-size: clamp(2.75rem, 6vw, 5.65rem); line-height: .98; letter-spacing: -.075em; font-weight: 800; }
.page-title { margin: 18px 0 0; max-width: 770px; font-size: clamp(2.55rem, 5.6vw, 4.85rem); line-height: .98; letter-spacing: -.07em; font-weight: 800; }
.accent-text { position: relative; display: inline-block; color: var(--green); white-space: nowrap; }
.accent-text::after { content: ''; position: absolute; z-index: -1; left: -2%; right: -3%; bottom: 2%; height: 20%; border-radius: 999px; background: var(--yellow); transform: rotate(-1.5deg); }
.lede { max-width: 640px; margin: 23px 0 0; color: var(--muted); font-size: 1.03rem; line-height: 1.7; }
.button-row { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 28px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 18px; border: 1px solid transparent; border-radius: 14px; font-weight: 800; font-size: .83rem; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: #fff; background: var(--green); box-shadow: 0 12px 24px rgba(23,109,95,.2); }
.button-primary:hover { background: var(--green-dark); }
.button-light { border-color: var(--line); background: rgba(255,255,255,.82); }
.button-coral { color: #fff; background: var(--coral); }
.text-link { color: var(--green); font-size: .82rem; font-weight: 800; }

/* Home hero */
.home-hero { position:relative;isolation:isolate;padding: 86px 0 18px; text-align: center;color:#fff; }
.home-hero::before { content:'';position:absolute;z-index:-3;top:0;left:50%;width:100vw;height:600px;transform:translateX(-50%);background-image:url('https://images.unsplash.com/photo-1768858384443-0b9dcdca01aa?auto=format&fit=crop&w=2200&q=88');background-size:cover;background-position:center 48%;border-radius:0 0 44px 44px;box-shadow:0 28px 70px rgba(13,63,55,.15); }
.home-hero::after { content:'';position:absolute;z-index:-2;top:0;left:50%;width:100vw;height:600px;transform:translateX(-50%);border-radius:0 0 44px 44px;background:linear-gradient(180deg,rgba(8,49,43,.74) 0%,rgba(7,52,45,.68) 55%,rgba(7,47,41,.9) 100%); }
.home-hero .display, .home-hero .lede { margin-inline: auto; }
.home-hero .display { text-shadow:0 4px 30px rgba(0,0,0,.2); }
.home-hero .accent-text { color:#fff; }
.home-hero .accent-text::after { background:var(--yellow);opacity:.94; }
.home-hero .lede { color:rgba(255,255,255,.84);text-shadow:0 2px 14px rgba(0,0,0,.2); }
.home-hero .eyebrow { color:#fff;background:rgba(8,57,49,.56);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(10px); }
.home-hero .button-row { justify-content: center; }
.home-hero > .button-row .button-primary { background:var(--coral);box-shadow:0 12px 28px rgba(0,0,0,.22); }
.home-hero > .button-row .button-primary:hover { background:#ef6744; }
.home-hero > .button-row .button-light { color:var(--ink);border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.94);box-shadow:0 12px 28px rgba(0,0,0,.12); }
.hero-photo-credit { position:absolute;right:0;top:558px;color:rgba(255,255,255,.62);font-size:.5rem;font-weight:600; }
.hero-photo-credit a { color:#fff;text-decoration:underline; }
.dashboard-wrap { position: relative; margin-top: 53px; text-align: left; }
.dashboard-wrap::before { content: ''; position: absolute; z-index: -1; inset: 25px 30px -14px; border-radius: 30px; background: var(--mint); transform: rotate(-2.3deg); }
.dashboard { padding: 18px; color:var(--ink);border: 1px solid rgba(225,234,229,.9); border-radius: var(--r-xl); background: rgba(255,255,255,.9); box-shadow: 0 28px 70px rgba(13,55,48,.2); backdrop-filter: blur(16px); }
.dashboard-head { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 7px 7px 17px; }
.dashboard-head h2 { margin: 0; font-size: 1rem; letter-spacing: -.03em; }
.verified { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: .68rem; font-weight: 700; }
.verified::before { content: '✓'; width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--green); font-size: .6rem; }
.stats { display: grid; grid-template-columns: 1.65fr repeat(3, 1fr); gap: 12px; }
.stat { min-height: 182px; padding: 21px; border: 1px solid var(--line); border-radius: var(--r-lg); background: #fff; }
.stat-label { color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .04em; }
.stat-value { margin-top: 16px; font-size: 2.35rem; line-height: 1; font-weight: 800; letter-spacing: -.065em; }
.stat-note { margin-top: 10px; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.countdown { overflow: hidden; position: relative; color: #fff; border: 0; background: linear-gradient(135deg,#0d574c,#188776); }
.countdown::after { content: ''; position: absolute; right: -45px; bottom: -76px; width: 170px; height: 170px; border: 23px solid rgba(255,255,255,.08); border-radius: 50%; }
.countdown .stat-label, .countdown .stat-note { color: rgba(255,255,255,.7); }
.countdown-number { display: flex; align-items: end; gap: 10px; margin-top: 15px; }
.countdown-number strong { font-size: 4.6rem; line-height: .77; letter-spacing: -.08em; }
.countdown-number span { font-size: .8rem; font-weight: 800; line-height: 1.2; }
.countdown-name { margin-top: 16px; color: rgba(255,255,255,.72); font-size: .68rem; }
.countdown-name b { display: block; margin-top: 2px; color: #fff; font-size: .84rem; }
.mini-bars { display: flex; align-items: end; gap: 4px; height: 36px; margin-top: 17px; }
.mini-bars i { flex: 1; height: 35%; border-radius: 5px 5px 2px 2px; background: var(--mint); }
.mini-bars i:nth-child(2) { height: 65%; }.mini-bars i:nth-child(3) { height: 48%; }.mini-bars i:nth-child(4) { height: 89%; background: var(--green); }.mini-bars i:nth-child(5) { height: 58%; }.mini-bars i:nth-child(6) { height: 100%; background: var(--coral); }
.leverage { display: flex; align-items: center; gap: 6px; margin-top: 17px; }
.leverage b { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; color: var(--green-dark); background: var(--mint); font-size: 1.2rem; }
.leverage span { color: #9bacA8; font-weight: 800; }

/* Shared sections/cards */
.section { padding-top: 104px; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin-bottom: 29px; }
.kicker { margin-bottom: 9px; color: var(--coral); font-size: .67rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.section-title { margin: 0; font-size: clamp(1.95rem, 4vw, 3.15rem); line-height: 1.02; letter-spacing: -.06em; }
.section-copy { max-width: 450px; margin: 12px 0 0; color: var(--muted); font-size: .85rem; line-height: 1.6; }
.card { border: 1px solid var(--line); border-radius: var(--r-lg); background: #fff; box-shadow: var(--shadow-soft); }

/* Opportunity cards */
.opportunity-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.opportunity { overflow: hidden; transition: transform .22s ease, box-shadow .22s ease; }
.opportunity:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.opportunity-visual { position: relative; isolation: isolate; min-height: 190px; padding: 19px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; background: var(--mint); }
.opportunity:nth-child(2) .opportunity-visual { background: #fff0d4; }
.opportunity:nth-child(3) .opportunity-visual { background: var(--sky); }
.opportunity-visual::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg,rgba(5,28,25,.04) 25%,rgba(5,28,25,.76) 100%); pointer-events: none; }
.opportunity-image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.opportunity:nth-child(1) .opportunity-image { object-position: center 44%; }
.opportunity:nth-child(2) .opportunity-image { object-position: center 48%; }
.opportunity:nth-child(3) .opportunity-image { object-position: center 52%; }
.opportunity-card-head { position: relative; display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.date-pill { padding: 7px 10px; border-radius: 999px; background: rgba(255,255,255,.9); box-shadow: 0 4px 18px rgba(4,28,24,.12); font-size: .65rem; font-weight: 800; backdrop-filter: blur(8px); }
.save { width: 35px; height: 35px; display: grid; place-items: center; border: 0; border-radius: 50%; background: rgba(255,255,255,.9); box-shadow: 0 4px 18px rgba(4,28,24,.12); cursor: pointer; backdrop-filter: blur(8px); }
.save.saved { color: #fff; background: var(--green); }
.day-strip { position: relative; display: grid; grid-template-columns: repeat(5,1fr); gap: 5px; }
.day { padding: 8px 2px; border-radius: 9px; background: rgba(255,255,255,.9); box-shadow: 0 4px 14px rgba(4,28,24,.1); text-align: center; font-size: .56rem; font-weight: 800; backdrop-filter: blur(6px); }
.day.holiday { color: #fff; background: var(--green); }.day.leave { color: #fff; background: var(--coral); }
.opportunity-body { padding: 20px; }
.opportunity-body h3 { margin: 0; font-size: 1.1rem; letter-spacing: -.035em; }
.opportunity-body p { margin: 6px 0 0; color: var(--muted); font-size: .7rem; }
.opportunity-return { display: flex; align-items: center; gap: 8px; margin-top: 19px; }
.opportunity-return strong { font-size: 1.3rem; letter-spacing: -.04em; }
.tag { margin-left: auto; padding: 7px 9px; border-radius: 9px; color: var(--green-dark); background: var(--mint); font-size: .58rem; font-weight: 800; letter-spacing: .04em; }

/* Planner + share image */
.feature-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 18px; }
.planner { position: relative; overflow: hidden; min-height: 550px; padding: 30px; border-radius: var(--r-xl); color: #fff; background: #103f38; }
.planner::before { content: ''; position: absolute; width: 330px; height: 330px; right: -180px; top: -175px; border-radius: 50%; background: rgba(249,217,119,.15); border: 45px solid rgba(255,255,255,.04); }
.planner h3, .share-panel h3 { margin: 0; font-size: 1.6rem; letter-spacing: -.05em; }
.planner > p { max-width: 500px; color: rgba(255,255,255,.65); font-size: .8rem; line-height: 1.6; }
.planner-controls { position: relative; display: grid; grid-template-columns: 1fr 1fr auto; gap: 8px; margin-top: 27px; }
.control { min-width: 0; padding: 13px; border: 1px solid rgba(255,255,255,.15); border-radius: 13px; outline: none; color: #fff; background: rgba(255,255,255,.08); }
.control option { color: var(--ink); }
.planner-action { border: 0; color: #3e3518; background: var(--yellow); }
.week { position: relative; display: grid; grid-template-columns: repeat(7,1fr); gap: 5px; margin-top: 28px; }
.week-day { padding: 11px 3px; border-radius: 11px; text-align: center; color: rgba(255,255,255,.7); background: rgba(255,255,255,.07); font-size: .56rem; font-weight: 800; }
.week-day b { display: block; margin-top: 7px; color: #fff; font-size: .85rem; }
.week-day.leave { background: var(--coral); }.week-day.holiday { background: #37a78f; }
.planner-legend { position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:9px 17px;margin-top:13px;color:rgba(255,255,255,.72);font-size:.61rem;font-weight:700; }
.planner-legend span { display:flex;align-items:center;gap:6px; }
.planner-swatch { width:10px;height:10px;border-radius:3px;background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1); }
.planner-swatch.leave { background:var(--coral);box-shadow:none; }.planner-swatch.holiday { background:#37a78f;box-shadow:none; }
.planner-result { position:relative;margin-top:18px;padding:20px 21px;border-radius:19px;color:var(--ink);background:linear-gradient(135deg,#fffdf6,#f8e7a4);box-shadow:0 16px 35px rgba(3,25,22,.2); }
.result-kicker { color:#8c6810;font-size:.57rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase; }
.result-equation { display:flex;align-items:baseline;gap:8px;margin-top:7px;white-space:nowrap; }
.result-equation b { font-size:3.05rem;line-height:.95;letter-spacing:-.08em; }
.result-equation span { font-size:.82rem;font-weight:800; }
.result-equation i { margin:0 4px;color:var(--coral);font-size:1.65rem;font-style:normal;font-weight:800; }
.result-meta { display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding-top:11px;border-top:1px solid rgba(34,67,59,.14);color:#526761;font-size:.67rem; }
.result-meta strong { color:var(--green-dark);font-size:.62rem;text-transform:uppercase;letter-spacing:.04em; }.result-meta strong b { color:var(--coral);font-size:.9rem;letter-spacing:-.03em; }
.share-panel { padding: 22px; background:linear-gradient(180deg,#fff,#fbfcf9); }
.share-panel-head { display:flex;align-items:flex-start;justify-content:space-between;gap:14px; }
.share-panel-head p { margin:6px 0 0;color:var(--muted);font-size:.7rem; }
.share-icon-button { flex:0 0 auto;width:45px;height:45px;display:grid;place-items:center;border:0;border-radius:50%;color:#fff;background:var(--coral);box-shadow:0 10px 24px rgba(255,119,82,.28);cursor:pointer;transition:transform .2s,box-shadow .2s; }
.share-icon-button:hover { transform:translateY(-2px) rotate(-5deg);box-shadow:0 14px 28px rgba(255,119,82,.35); }
.share-symbol { display:grid;place-items:center; }
.share-symbol svg { width:21px;height:21px;overflow:visible;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round; }
.share-symbol svg circle { fill:currentColor;stroke:none; }
.share-preview-stage { position:relative;margin-top:17px; }
.share-preview { position: relative; overflow: hidden; min-height: 370px; padding: 20px; border-radius: 22px; display: flex; flex-direction: column; justify-content: space-between; color: #fff; background: #1b6256; isolation: isolate; box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 16px 35px rgba(18,56,49,.17); }
.share-preview img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition:opacity .2s ease; }
.share-preview img.is-changing { opacity:.35; }
.share-bg-nav { position:absolute;z-index:4;top:calc(50% - 32px);width:38px;height:38px;display:grid;place-items:center;border:1px solid #d9e1dd;border-radius:50%;color:var(--green-dark);background:rgba(255,255,255,.96);box-shadow:0 8px 20px rgba(17,54,47,.2);font:700 1.65rem/1 Manrope,Arial,sans-serif;cursor:pointer;transition:transform .18s,background .18s,color .18s; }
.share-bg-nav.previous { left:-18px; }.share-bg-nav.next { right:-18px; }
.share-bg-nav:hover { color:#fff;background:var(--coral);transform:scale(1.07); }
.share-bg-nav:focus-visible { outline:3px solid var(--yellow);outline-offset:2px; }
.share-bg-pagination { min-height:25px;display:flex;align-items:center;justify-content:center;gap:6px;padding-top:9px;color:var(--muted);font-size:.55rem;font-weight:800;letter-spacing:.04em; }
.share-bg-dot { width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#cbd6d2;cursor:pointer;transition:width .18s,background .18s; }
.share-bg-dot.active { width:19px;border-radius:999px;background:var(--coral); }
.share-bg-dot:focus-visible { outline:2px solid var(--green);outline-offset:3px; }
.share-bg-pagination span { margin-left:3px; }
.share-preview::before { content:'';position:absolute;z-index:2;left:0;right:0;top:0;height:5px;background:var(--coral); }
.share-preview::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg,rgba(8,37,32,.12) 0%,rgba(8,37,32,.12) 35%,rgba(8,29,26,.9) 100%); }
.share-card-top { display:flex;align-items:center;justify-content:space-between;gap:10px; }
.share-brand { font-size: .65rem; font-weight: 800; text-shadow: 0 1px 9px rgba(0,0,0,.3); }
.share-location { color:rgba(255,255,255,.72);font-size:.5rem;font-weight:800;letter-spacing:.08em; }
.share-card-bottom { margin-top:auto; }
.share-copy strong { display: block; max-width: 290px; font-size: 2.25rem; line-height: .94; letter-spacing: -.07em; }
.share-copy small { display: block; margin-top: 9px; color: rgba(255,255,255,.8); font-size: .66rem; font-weight: 700; }
.share-badge { align-self: start; margin-top:14px;padding: 7px 10px; border-radius: 999px; color: #fff; background: var(--coral); font-size: .55rem; font-weight: 800;letter-spacing:.04em;box-shadow:0 7px 16px rgba(0,0,0,.15); }
.share-activity-line { display:flex;align-items:center;width:62%;margin-bottom:15px; }
.share-activity-line i { position:relative;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:var(--coral);box-shadow:0 0 0 3px rgba(255,255,255,.15); }
.share-activity-line i:not(:last-child)::after { content:'';position:absolute;left:7px;top:2px;width:34px;height:2px;background:rgba(255,255,255,.72);transform:rotate(-5deg);transform-origin:left; }
.share-activity-line i+ i { margin-left:29px;transform:translateY(-3px) }.share-activity-line i:nth-child(3){transform:translateY(2px)}.share-activity-line i:nth-child(4){transform:translateY(-5px)}
.share-metrics { display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:17px;padding-top:13px;border-top:1px solid rgba(255,255,255,.23); }
.share-metrics span { color:rgba(255,255,255,.58);font-size:.45rem;font-weight:800;letter-spacing:.05em; }
.share-metrics b { display:block;margin-bottom:2px;color:#fff;font-size:.88rem;letter-spacing:-.035em; }
.share-cta { width:100%;display:flex;align-items:center;gap:11px;margin-top:13px;padding:11px;border:1px solid #f0d5cb;border-radius:14px;color:var(--ink);background:#fff6f1;cursor:pointer;text-align:left;transition:transform .2s,background .2s; }
.share-cta:hover { transform:translateY(-2px);background:#fff0e9; }
.share-cta:disabled,.share-icon-button:disabled { opacity:.68;cursor:wait;transform:none; }
.share-cta.is-busy .share-cta-icon { animation:share-pulse .85s ease-in-out infinite alternate; }
.share-cta-icon { flex:0 0 auto;width:36px;height:36px;display:grid;place-items:center;border-radius:11px;color:#fff;background:var(--coral); }
.share-cta-icon svg { width:17px;height:17px; }
.share-cta b,.share-cta small { display:block; }.share-cta b{font-size:.72rem}.share-cta small{margin-top:2px;color:var(--muted);font-size:.57rem}
.photo-credit { margin-top: 8px; color: #869590; font-size: .56rem; }
.photo-credit a { text-decoration: underline; }
@keyframes share-pulse { to { transform:scale(.82);opacity:.65; } }

/* Desktop share chooser */
.share-dialog { width:min(900px,calc(100% - 34px));max-height:calc(100vh - 34px);padding:0;border:0;border-radius:28px;color:var(--ink);background:#f8faf7;box-shadow:0 35px 100px rgba(8,35,30,.35);overflow:auto; }
.share-dialog::backdrop { background:rgba(5,28,25,.68);backdrop-filter:blur(8px); }
.share-dialog[open] { animation:share-dialog-in .22s ease-out; }
.share-dialog-shell { padding:26px; }
.share-dialog-head { display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px; }
.share-dialog-head span { color:var(--coral);font-size:.58rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase; }
.share-dialog-head h2 { margin:6px 0 0;font-size:1.75rem;line-height:1.05;letter-spacing:-.055em; }
.share-dialog-head p { margin:7px 0 0;color:var(--muted);font-size:.68rem; }
.share-dialog-close { flex:0 0 auto;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:#fff;cursor:pointer;font:400 1.45rem/1 Manrope,Arial,sans-serif; }
.share-dialog-close:hover { color:#fff;border-color:var(--coral);background:var(--coral); }
.share-dialog-grid { display:grid;grid-template-columns:minmax(280px,.9fr) minmax(330px,1.1fr);gap:24px;align-items:center; }
.share-dialog-preview-wrap { padding:12px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-soft); }
.share-dialog-preview { display:block;width:100%;max-height:515px;border-radius:15px;object-fit:contain;background:var(--green-dark); }
.share-dialog-preview-wrap>span { display:block;margin-top:9px;color:var(--muted);font-size:.55rem;text-align:center; }
.share-dialog-actions { display:grid;grid-template-columns:1fr 1fr;gap:9px; }
.share-option { min-height:72px;display:flex;align-items:center;gap:11px;padding:11px;border:1px solid var(--line);border-radius:15px;color:var(--ink);background:#fff;cursor:pointer;text-align:left;font:inherit;transition:transform .18s,border-color .18s,box-shadow .18s; }
.share-option:hover { transform:translateY(-2px);border-color:#c9dbd4;box-shadow:0 10px 24px rgba(18,56,49,.09); }
.share-option-icon { flex:0 0 auto;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--green);font-size:.8rem;font-weight:800; }
.share-option b,.share-option small { display:block; }.share-option b{font-size:.7rem}.share-option small{margin-top:3px;color:var(--muted);font-size:.54rem;line-height:1.35}
.share-option-copy { grid-column:1/-1;border-color:#e9d79a;background:linear-gradient(135deg,#fff9df,#fff); }.share-option-copy .share-option-icon{color:#5d4b0d;background:var(--yellow)}
.share-option-whatsapp .share-option-icon{background:#21b45b}.share-option-email .share-option-icon{background:var(--coral)}.share-option-facebook .share-option-icon{background:#1877f2}.share-option-x .share-option-icon{background:#101211}
.share-dialog-secondary { grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:3px; }
.share-dialog-secondary button { padding:11px;border:1px solid var(--line);border-radius:12px;color:var(--green-dark);background:transparent;cursor:pointer;font:800 .62rem Manrope,Arial,sans-serif; }
.share-dialog-secondary button:hover { border-color:var(--green);background:var(--mint-soft); }
.share-dialog-note { grid-column:1/-1;margin:1px 0 0;padding:11px 13px;border-radius:12px;color:var(--muted);background:#eef4f0;font-size:.56rem;line-height:1.55; }
.share-dialog-note b { color:var(--ink); }
@keyframes share-dialog-in { from{opacity:0;transform:translateY(12px) scale(.98)} to{opacity:1;transform:none} }

/* Annual calendar */
.calendar-box { padding: 23px; }
.calendar-top { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-bottom: 20px; }
.calendar-top h3 { margin: 0; font-size: 1.05rem; }
.legend { display: flex; gap: 14px; color: var(--muted); font-size: .61rem; font-weight: 700; }
.legend span::before { content: ''; display: inline-block; width: 8px; height: 8px; margin-right: 6px; border-radius: 50%; background: var(--green); }
.legend span:last-child::before { background: var(--coral); }
.month-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 9px; }
.month-mini { min-height: 108px; padding: 14px; border-radius: 16px; background: #f6f8f5; }
.month-mini h4 { margin: 0; font-size: .65rem; letter-spacing: .03em; }
.month-dots { display: flex; align-items: center; gap: 5px; margin-top: 27px; }
.month-dots i { width: 8px; height: 8px; border-radius: 50%; background: #dbe3df; }
.month-dots i.holiday { width: 12px; height: 12px; background: var(--green); box-shadow: 0 0 0 4px var(--mint); }
.month-dots i.leave { width: 12px; height: 12px; background: var(--coral); box-shadow: 0 0 0 4px #ffe7df; }
.month-mini p { margin: 13px 0 0; color: var(--muted); font-size: .58rem; }

/* Inner pages */
.page-hero { padding: 70px 0 52px; }
.page-hero.center { text-align: center; }.page-hero.center .page-title,.page-hero.center .lede { margin-inline: auto; }
.breadcrumbs { margin-bottom: 22px; color: var(--muted); font-size: .7rem; font-weight: 700; }
.breadcrumbs a:hover { color: var(--green); }
.filter-bar { display: flex; align-items: center; gap: 9px; margin-top: 28px; padding: 9px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.85); box-shadow: var(--shadow-soft); }
.filter-bar select { min-width: 180px; padding: 12px; border: 0; border-right: 1px solid var(--line); color: var(--ink); background: transparent; outline: none; font-weight: 700; }
.filter-bar .button { margin-left: auto; }
.trust-strip { display: grid; grid-template-columns: 1fr auto auto; gap: 24px; align-items: center; margin-top: 29px; padding: 16px 20px; border: 1px solid #d7e9df; border-radius: 17px; background: var(--mint-soft); font-size: .69rem; }
.trust-strip strong { display: block; font-size: .76rem; }
.trust-strip a { color: var(--green); font-weight: 800; }

.content-grid { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 24px; align-items: start; }
.content-card { padding: 28px; }
.content-card h2 { margin: 0 0 8px; font-size: 1.6rem; letter-spacing: -.045em; }
.content-card > p { color: var(--muted); font-size: .8rem; line-height: 1.65; }
.sidebar { position: sticky; top: 20px; display: grid; gap: 14px; }
.sidebar-card { padding: 21px; }
.sidebar-card h3 { margin: 0 0 8px; font-size: .95rem; }
.sidebar-card p { margin: 0; color: var(--muted); font-size: .7rem; line-height: 1.55; }
.sidebar-links { display: grid; gap: 10px; margin-top: 15px; }
.sidebar-links a { display: flex; justify-content: space-between; gap: 10px; padding-top: 10px; border-top: 1px solid var(--line); font-size: .7rem; font-weight: 800; }

/* Holiday table/list */
.holiday-list { margin-top: 23px; border-top: 1px solid var(--line); }
.holiday-row { display: grid; grid-template-columns: 82px 58px minmax(0,1fr) auto; gap: 15px; align-items: center; min-height: 82px; border-bottom: 1px solid var(--line); }
.holiday-date strong { display: block; font-size: 1rem; }.holiday-date span,.holiday-day { color: var(--muted); font-size: .64rem; }
.holiday-info h3 { margin: 0; font-size: .9rem; }.holiday-info p { margin: 4px 0 0; color: var(--muted); font-size: .64rem; }
.scope-pill { padding: 6px 9px; border-radius: 999px; color: var(--green-dark); background: var(--mint); font-size: .56rem; font-weight: 800; }
.scope-pill.state { color: #6a4d09; background: #fff0c9; }
.year-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin: 24px 0; }
.summary-item { padding: 17px; border-radius: 16px; background: #f5f8f5; }
.summary-item strong { display: block; font-size: 1.55rem; letter-spacing: -.05em; }.summary-item span { color: var(--muted); font-size: .62rem; }

/* Long weekends page */
.score-banner { position: relative; overflow: hidden; display: grid; grid-template-columns: 1fr 290px; gap: 28px; min-height: 280px; padding: 31px; border-radius: var(--r-xl); color: #fff; background: #103f38; }
.score-banner::after { content: ''; position: absolute; right: 225px; bottom: -110px; width: 260px; height: 260px; border: 35px solid rgba(255,255,255,.04); border-radius: 50%; }
.score-banner h2 { margin: 0; max-width: 590px; font-size: clamp(2rem,4vw,3.2rem); line-height: 1.02; letter-spacing: -.06em; }
.score-banner p { max-width: 560px; color: rgba(255,255,255,.65); font-size: .8rem; line-height: 1.6; }
.score-stat { align-self: stretch; display: grid; place-items: center; text-align: center; border: 1px solid rgba(255,255,255,.14); border-radius: 22px; background: rgba(255,255,255,.07); }
.score-stat strong { display: block; color: var(--yellow); font-size: 4.6rem; line-height: .85; letter-spacing: -.08em; }.score-stat span { font-size: .72rem; color: rgba(255,255,255,.65); }
.journey-card { display: grid; grid-template-columns: 190px 1fr auto; gap: 20px; align-items: center; padding: 18px; margin-top: 13px; }
.journey-image { width: 190px; height: 145px; border-radius: 18px; object-fit: cover; }
.journey-card h3 { margin: 0; font-size: 1.15rem; }.journey-card p { margin: 6px 0 13px; color: var(--muted); font-size: .7rem; }
.journey-days { display: flex; gap: 4px; }.journey-days span { min-width: 34px; padding: 7px 5px; border-radius: 8px; text-align: center; background: #f2f5f2; font-size: .55rem; font-weight: 800; }.journey-days .leave { color:#fff;background:var(--coral); }.journey-days .holiday { color:#fff;background:var(--green); }
.journey-return { min-width: 108px; text-align: center; }.journey-return strong { display:block;font-size:1.55rem;letter-spacing:-.05em; }.journey-return span { color:var(--muted);font-size:.57rem; }

/* Holiday detail */
.detail-hero { display: grid; grid-template-columns: 1fr .8fr; gap: 36px; align-items: center; padding: 55px 0 64px; }
.detail-photo { position: relative; min-height: 430px; border-radius: var(--r-xl); overflow: hidden; box-shadow: var(--shadow); }
.detail-photo img { width:100%;height:100%;position:absolute;object-fit:cover; }
.detail-photo .photo-credit { position:absolute;left:14px;bottom:11px;padding:6px 8px;border-radius:8px;color:#fff;background:rgba(0,0,0,.45); }
.date-block { display: inline-grid; grid-template-columns: auto 1fr; gap: 13px; align-items:center; margin-top:26px; padding:13px 16px; border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-soft); }
.date-number { width:48px;height:48px;display:grid;place-items:center;border-radius:13px;color:#fff;background:var(--green);font-size:1.35rem;font-weight:800; }.date-meta strong{display:block;font-size:.85rem}.date-meta span{color:var(--muted);font-size:.65rem}
.article { font-size: .86rem; line-height: 1.8; color: #536662; }
.article h2 { margin: 34px 0 10px; color: var(--ink); font-size: 1.65rem; line-height: 1.15; letter-spacing: -.045em; }
.article h3 { margin: 28px 0 8px; color: var(--ink); font-size: 1.05rem; }
.fact-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:23px 0; }.fact {padding:17px;border-radius:15px;background:#f5f8f5}.fact span{display:block;color:var(--muted);font-size:.6rem;text-transform:uppercase;letter-spacing:.06em}.fact strong{display:block;margin-top:6px;color:var(--ink);font-size:.8rem}
.answer-box { margin:25px 0;padding:20px;border-left:4px solid var(--coral);border-radius:0 16px 16px 0;background:#fff3ed;color:var(--ink); }.answer-box strong{display:block;margin-bottom:5px}.answer-box p{margin:0;font-size:.78rem;line-height:1.65}

/* Sources page */
.process { display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:25px }.process-step{padding:18px;border-radius:17px;background:#f5f8f5}.process-step b{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;color:#fff;background:var(--green);font-size:.65rem}.process-step h3{margin:17px 0 6px;font-size:.83rem}.process-step p{margin:0;color:var(--muted);font-size:.64rem;line-height:1.5}
.source-record{display:grid;grid-template-columns:1fr auto;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.source-record:last-child{border:0}.source-record h3{margin:0;font-size:.9rem}.source-record p{margin:5px 0 0;color:var(--muted);font-size:.66rem;line-height:1.55}.source-status{align-self:start;padding:7px 9px;border-radius:9px;color:var(--green-dark);background:var(--mint);font-size:.57rem;font-weight:800}

/* Search, subscriptions, school holidays and observances */
.utility-nav { position:relative;display: inline-flex; align-items: center; gap: 5px; }
.search-link { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.78); font-size: 1rem; }
.location-popover { position:fixed;z-index:100;width:min(440px,calc(100vw - 28px));padding:17px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 28px 80px rgba(19,54,47,.25);text-align:left;animation:location-in .16s ease-out; }
.location-popover-head { display:flex;align-items:start;justify-content:space-between;gap:12px;padding:2px 2px 13px;border-bottom:1px solid var(--line); }
.location-popover-head strong { display:block;font-size:.86rem }.location-popover-head span{display:block;margin-top:3px;color:var(--muted);font-size:.59rem}.location-popover-close{width:30px;height:30px;border:0;border-radius:9px;background:#f2f5f2;cursor:pointer;font-size:1rem}
.location-group { margin-top:14px }.location-group-label{margin-bottom:7px;color:var(--muted);font-size:.55rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.location-option{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:9px 10px;border:1px solid transparent;border-radius:10px;background:#f7f9f6;cursor:pointer;text-align:left;font-size:.64rem;font-weight:700}.location-option:hover{color:var(--green);border-color:#cae0d7;background:var(--mint-soft)}.location-option.selected{color:#fff;background:var(--green)}.location-option.selected::after{content:'✓'}
@keyframes location-in { from{opacity:0;transform:translateY(-5px)} to{opacity:1;transform:translateY(0)} }
.status-chip { display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;color:var(--green-dark);background:var(--mint);font-size:.57rem;font-weight:800;letter-spacing:.03em; }
.status-chip::before { content:'✓';width:15px;height:15px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--green);font-size:.47rem; }
.status-chip.estimated { color:#76540a;background:#fff0c7 }.status-chip.estimated::before { content:'~';background:#d99e1a }
.status-chip.confirmation { color:#73432d;background:#ffe5db }.status-chip.confirmation::before { content:'!';background:var(--coral) }
.action-cluster { display:flex;flex-wrap:wrap;gap:8px;margin-top:18px }.action-button { border:1px solid var(--line);padding:10px 12px;border-radius:12px;background:#fff;font-size:.67rem;font-weight:800;cursor:pointer }.action-button:hover{border-color:#bfd8ce;color:var(--green)}.action-button.done{color:#fff;border-color:var(--green);background:var(--green)}
.notification-card { position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center;padding:28px;border-radius:var(--r-xl);color:#fff;background:linear-gradient(135deg,#0f4f46,#167464) }.notification-card::after{content:'✦';position:absolute;right:190px;top:-52px;color:rgba(255,255,255,.055);font-size:11rem}.notification-card h3{margin:0;font-size:1.5rem;letter-spacing:-.05em}.notification-card p{max-width:620px;margin:8px 0 0;color:rgba(255,255,255,.65);font-size:.75rem;line-height:1.6}.subscribe-form{position:relative;display:flex;gap:7px}.subscribe-form input{width:250px;border:1px solid rgba(255,255,255,.17);padding:13px;border-radius:13px;color:#fff;background:rgba(255,255,255,.09);outline:none}.subscribe-form input::placeholder{color:rgba(255,255,255,.5)}
.family-toggle { display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:.65rem;font-weight:800;cursor:pointer }.family-toggle i{position:relative;width:30px;height:18px;border-radius:999px;background:#dbe3df;transition:.2s}.family-toggle i::after{content:'';position:absolute;left:3px;top:3px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:.2s}.family-toggle.on i{background:var(--green)}.family-toggle.on i::after{transform:translateX(12px)}
.family-match { display:none;margin-top:10px;color:var(--green);font-size:.62rem;font-weight:800 }.family-match.show{display:block}
.school-summary { display:grid;grid-template-columns:1.3fr repeat(3,.7fr);gap:11px;margin-top:30px }.school-summary-main{position:relative;overflow:hidden;min-height:170px;padding:22px;border-radius:var(--r-lg);color:#fff;background:var(--green)}.school-summary-main h2{margin:10px 0 0;font-size:2rem;letter-spacing:-.06em}.school-summary-main p{max-width:350px;color:rgba(255,255,255,.7);font-size:.7rem;line-height:1.5}.school-stat{padding:20px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}.school-stat strong{display:block;margin-top:16px;font-size:2rem;letter-spacing:-.06em}.school-stat span{color:var(--muted);font-size:.62rem}.term-list{display:grid;gap:10px;margin-top:22px}.term-card{display:grid;grid-template-columns:100px 1fr auto;gap:16px;align-items:center;padding:17px;border:1px solid var(--line);border-radius:17px;background:#fff}.term-season{width:100px;height:77px;display:grid;place-items:center;border-radius:14px;background:var(--mint);font-size:1.7rem}.term-info h3{margin:0;font-size:.9rem}.term-info p{margin:4px 0 0;color:var(--muted);font-size:.64rem}.term-length{text-align:right}.term-length strong{display:block;font-size:1.25rem;letter-spacing:-.04em}.term-length span{color:var(--muted);font-size:.56rem}.group-tabs{display:flex;gap:7px;margin-top:24px}.group-tab{padding:10px 13px;border:1px solid var(--line);border-radius:11px;background:#fff;font-size:.66rem;font-weight:800;cursor:pointer}.group-tab.active{color:#fff;border-color:var(--green);background:var(--green)}
.observance-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:14px }.observance-card{padding:21px;transition:transform .2s}.observance-card:hover{transform:translateY(-3px)}.observance-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--mint);font-size:1.25rem}.observance-card:nth-child(2n) .observance-icon{background:#fff0d4}.observance-card:nth-child(3n) .observance-icon{background:var(--sky)}.observance-card h3{margin:18px 0 5px;font-size:.95rem}.observance-card p{margin:0;color:var(--muted);font-size:.65rem;line-height:1.5}.observance-meta{display:flex;justify-content:space-between;gap:10px;margin-top:17px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:.58rem}.not-holiday{color:#8b6411;font-weight:800}
.search-hero { padding:58px 0 28px;text-align:center }.search-box{position:relative;max-width:720px;margin:27px auto 0}.search-box input{width:100%;height:62px;padding:0 126px 0 52px;border:1px solid var(--line);border-radius:19px;outline:none;background:#fff;box-shadow:var(--shadow-soft);font-size:.92rem}.search-box::before{content:'⌕';position:absolute;left:20px;top:15px;color:var(--muted);font-size:1.35rem}.search-box button{position:absolute;right:7px;top:7px;height:48px}.search-results{display:grid;gap:10px;max-width:820px;margin:30px auto 0}.search-result{display:grid;grid-template-columns:46px 1fr auto;gap:14px;align-items:center;padding:16px;text-align:left}.result-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:var(--mint);font-size:1.1rem}.search-result h3{margin:0;font-size:.85rem}.search-result p{margin:4px 0 0;color:var(--muted);font-size:.63rem}.result-type{color:var(--green);font-size:.57rem;font-weight:800}
.quick-links { display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:15px }.quick-links a{padding:7px 10px;border-radius:999px;background:#fff;color:var(--muted);font-size:.61rem;font-weight:700}
.toast { position:fixed;z-index:50;right:20px;bottom:20px;max-width:330px;padding:14px 17px;border-radius:14px;color:#fff;background:var(--ink);box-shadow:var(--shadow);font-size:.68rem;font-weight:700;transform:translateY(110px);opacity:0;transition:.25s }.toast.show{transform:translateY(0);opacity:1}

/* Footer */
footer { margin-top: 100px; padding: 37px 0 45px; border-top: 1px solid var(--line); }
.footer-grid { display:grid;grid-template-columns:1.25fr repeat(3,.7fr);gap:34px }.footer-about p {max-width:330px;color:var(--muted);font-size:.69rem;line-height:1.6}.footer-col h4{margin:0 0 13px;font-size:.72rem}.footer-col a{display:block;margin-top:9px;color:var(--muted);font-size:.67rem}.footer-col a:hover{color:var(--green)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:32px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:.59rem}

@media (max-width: 900px) {
  .nav { display:none;position:absolute;top:66px;left:20px;right:20px;flex-direction:column;align-items:stretch;gap:0;padding:9px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow) }
  .nav.open{display:flex}.nav>a{padding:12px}.nav>a.active::after{display:none}.location-button{margin-top:6px}.menu-button{display:block}
  .stats{grid-template-columns:1.5fr 1fr 1fr}.countdown{grid-row:span 2}.stats .stat:nth-child(4){grid-column:2/4}
  .opportunity-grid{grid-template-columns:1fr 1fr}.opportunity:last-child{display:none}
  .feature-grid{grid-template-columns:1fr}.share-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;min-height:auto}.share-panel>*{grid-column:1}.share-preview-stage{grid-column:2;grid-row:1/span 4;margin:0}.share-preview{min-height:340px}
  .month-grid{grid-template-columns:repeat(3,1fr)}
  .content-grid{grid-template-columns:1fr}.sidebar{position:static;grid-template-columns:1fr 1fr}.score-banner{grid-template-columns:1fr 220px}.detail-hero{grid-template-columns:1fr 1fr}.detail-photo{min-height:390px}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-col:last-child{display:none}
  .school-summary{grid-template-columns:1.3fr repeat(2,.7fr)}.school-stat:last-child{display:none}.observance-grid{grid-template-columns:1fr 1fr}.notification-card{grid-template-columns:1fr}.notification-card::after{right:-30px}.subscribe-form input{width:100%}
}

@media (max-width: 640px) {
  .shell{width:min(calc(100% - 28px),var(--max))}.topbar{min-height:66px}.home-hero{padding-top:54px}.home-hero::before,.home-hero::after{height:665px;border-radius:0 0 30px 30px}.home-hero::before{background-position:60% center}.hero-photo-credit{display:none}.display{font-size:clamp(2.6rem,13.7vw,4rem)}.page-hero{padding:48px 0 38px}.page-title{font-size:clamp(2.45rem,12vw,3.75rem)}.lede{font-size:.9rem;line-height:1.6}.home-hero .button-row,.button-row.stacked-mobile{flex-direction:column}.home-hero .button{width:100%}
  .dashboard-wrap{margin-top:38px}.dashboard-wrap::before{inset:16px 8px -10px}.dashboard{padding:9px;border-radius:24px}.dashboard-head{padding:8px 8px 13px}.verified span{display:none}.stats{grid-template-columns:1fr 1fr}.stat{min-height:138px;padding:16px;border-radius:18px}.countdown{grid-column:1/-1;grid-row:auto;min-height:208px}.countdown-number strong{font-size:5.1rem}.stats .stat:nth-child(4){grid-column:auto}.stat-value{font-size:1.95rem}.leverage b{width:32px;height:32px;font-size:1rem}.mini-bars{height:27px}
  .section{padding-top:78px}.section-head{display:block}.section-head .text-link{display:inline-block;margin-top:15px}.opportunity-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 16px}.opportunity{min-width:88%;scroll-snap-align:start}.opportunity:last-child{display:block}
  .planner{min-height:auto;padding:23px 17px;border-radius:24px}.planner-controls{grid-template-columns:1fr 1fr}.planner-action{grid-column:1/-1}.week{gap:3px}.week-day{padding:9px 2px;font-size:.5rem}.week-day b{font-size:.72rem}.planner-result{flex-direction:column;gap:4px}.share-panel{display:block;padding:17px}.share-preview-stage{margin-top:16px}.share-preview{min-height:430px}.share-bg-nav.previous{left:-13px}.share-bg-nav.next{right:-13px}.share-copy strong{font-size:2.5rem}.share-activity-line{width:75%}
  .share-dialog{width:calc(100% - 20px);max-height:calc(100vh - 20px);border-radius:22px}.share-dialog-shell{padding:18px}.share-dialog-head h2{font-size:1.4rem}.share-dialog-grid{grid-template-columns:1fr;gap:15px}.share-dialog-preview{max-height:410px}.share-dialog-actions{grid-template-columns:1fr}.share-option-copy,.share-dialog-secondary,.share-dialog-note{grid-column:1}.share-dialog-secondary{grid-template-columns:1fr 1fr}
  .calendar-box{padding:15px}.calendar-top{align-items:start}.legend{flex-direction:column;gap:5px}.month-grid{grid-template-columns:1fr 1fr}
  .filter-bar{display:grid;grid-template-columns:1fr 1fr}.filter-bar select{min-width:0;width:100%;border-right:0}.filter-bar .button{grid-column:1/-1;width:100%}.trust-strip{grid-template-columns:1fr;gap:8px}.trust-strip>span{display:none}
  .content-card{padding:20px}.sidebar{grid-template-columns:1fr}.year-summary{grid-template-columns:repeat(3,1fr)}.summary-item{padding:13px}.holiday-row{grid-template-columns:67px 1fr auto;gap:10px;min-height:78px}.holiday-day{display:none}.scope-pill{font-size:.5rem}.holiday-info h3{font-size:.78rem}
  .score-banner{grid-template-columns:1fr;padding:23px}.score-stat{min-height:150px}.journey-card{grid-template-columns:95px 1fr;padding:12px;gap:13px}.journey-image{width:95px;height:130px}.journey-return{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:12px;background:#f5f8f5}.journey-return strong{font-size:1.2rem}.journey-days{overflow:hidden}.journey-days span{min-width:29px}
  .detail-hero{grid-template-columns:1fr;padding-top:40px}.detail-photo{min-height:390px;grid-row:1}.fact-grid{grid-template-columns:1fr}.process{grid-template-columns:1fr 1fr}.source-record{grid-template-columns:1fr}.source-status{justify-self:start}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-about{grid-column:1/-1}.footer-col:last-child{display:block}.footer-bottom{flex-direction:column}
  .school-summary{grid-template-columns:1fr 1fr}.school-summary-main{grid-column:1/-1}.school-stat{padding:15px}.term-card{grid-template-columns:70px 1fr}.term-season{width:70px}.term-length{grid-column:1/-1;display:flex;justify-content:space-between;text-align:left;padding-top:10px;border-top:1px solid var(--line)}.observance-grid{grid-template-columns:1fr}.notification-card{padding:22px}.subscribe-form{flex-direction:column}.search-box input{padding-right:18px}.search-box button{position:static;width:100%;margin-top:8px}.search-box::before{top:15px}.search-result{grid-template-columns:42px 1fr}.result-type{grid-column:2}.utility-nav{width:100%;justify-content:center;margin-top:5px}.location-popover{left:14px!important;right:14px!important;top:76px!important;width:auto;max-height:calc(100vh - 92px);overflow:auto}.location-grid{grid-template-columns:1fr}
}

@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto}*,*::before,*::after{transition:none!important} }
