/* Mosaic cinematic offering — built on Mosaic's own flagship brand system.
   Tokens and signature patterns (arched visual frame, brand rule, serif display,
   path cards, price cards) follow the flagship brand.css so this page reads as
   family. Instance of the Sub-Brand Standard "cinematic offering" skeleton. */

:root{
  --ink:#193e38; --muted:#61716a; --paper:#faf7ef; --line:#d8d8c9;
  --lime:#e7eadb; --gold:#b89350; --green:#20564e; --sage:#82a99b; --clay:#ad684e;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);
  font:17px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:600;line-height:1.12;margin:0}
h2{font-size:clamp(32px,3.6vw,46px);letter-spacing:-1px;margin:14px 0 22px}
h3{font-size:25px}
em{font-family:Georgia,serif;font-style:italic;color:#936c35}
a{color:var(--green)}
main,footer,.site-header{max-width:1180px;margin:0 auto;padding-left:28px;padding-right:28px}
section{padding:64px 0}
.eyebrow,.offerings article span{color:#8b6935;letter-spacing:2.1px;font-size:11px;
  font-weight:700;text-transform:uppercase;margin:0}

/* header + brand rule (flagship pattern) */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding-top:20px;padding-bottom:20px;flex-wrap:wrap}
.mosaic-brand{display:flex;align-items:center;gap:13px;text-decoration:none;line-height:1;color:var(--ink)}
.mosaic-brand img{width:49px;height:49px;flex-shrink:0}
.mosaic-brand .brand-type{font:750 35px/1 system-ui,sans-serif;letter-spacing:-1.8px}
.mosaic-brand small{display:block;font:650 9px/1.4 system-ui,sans-serif;letter-spacing:2.8px;margin-top:7px;color:var(--muted)}
.site-header nav{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.site-header nav a{text-decoration:none;color:var(--ink);font-size:15px}
.site-header nav a:hover{color:#946e32}
.site-header nav a.nav-cta{background:var(--green);color:#fff;padding:10px 16px;border-radius:8px 20px 8px 8px}
.brand-rule{height:4px;background:linear-gradient(90deg,#20564e 0 28%,#b89350 28% 46%,#82a99b 46% 72%,#ad684e 72% 84%,#d9bc77 84%);
  max-width:1180px;margin:0 auto}

/* hero (flagship split cinematic) */
.hero{display:grid;grid-template-columns:1.06fr 1fr;gap:6%;padding:72px 0 90px;align-items:center}
.hero h1{font-size:clamp(45px,5.5vw,77px);letter-spacing:-3px;margin:16px 0 24px}
.hero .lede{font-size:19px}
.primary{display:inline-block;background:var(--green);color:#fff;text-decoration:none;
  border:1px solid var(--green);padding:16px 23px;border-radius:8px 24px 8px 8px;
  font-weight:650;transition:background .2s,transform .2s;box-shadow:0 4px 14px #193e3808;cursor:pointer;font-size:16px}
.primary:hover{transform:translateY(-1px)}
.quiet-link{margin-left:18px;font-weight:600}
.visual-frame{position:relative;margin:0;aspect-ratio:1/1.12;overflow:hidden;
  border-radius:110px 16px 90px 16px;box-shadow:0 25px 70px #173d3726;
  outline:1px solid #b8935070;outline-offset:8px}
.visual-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%;
  animation:kenburns 26s ease-in-out infinite alternate}
.visual-frame figcaption{position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(transparent,#102e28d9);color:#fff8e6;
  padding:60px 30px 28px;font:italic 23px/1.3 Georgia,serif}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.07)}}

/* story */
.mosaic-story{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:65px 0;
  border-block:1px solid var(--line);align-items:center}
.mosaic-story p{max-width:540px}
.story-image{width:100%;height:380px;object-fit:cover;border-radius:10px 90px 10px 10px;
  box-shadow:0 18px 50px #173d3720}
.mosaic-scripture{padding:24px 0 0;border-top:1px solid #b8935060;margin-top:28px}
.mosaic-scripture blockquote{font:italic 23px/1.6 Georgia,serif;margin:0}
.mosaic-scripture cite{font:11px/1.6 system-ui;letter-spacing:1.5px;display:block;margin-top:10px;color:var(--muted)}

/* offerings */
.mosaic-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:20px 0 8px}
.mosaic-paths article{background:#fff;border:1px solid var(--line);padding:27px;border-radius:8px 35px 8px 8px}
.mosaic-paths article:nth-child(1){border-top:4px solid var(--green)}
.mosaic-paths article:nth-child(2){border-top:4px solid var(--gold)}
.mosaic-paths article:nth-child(3){border-top:4px solid var(--sage)}
.mosaic-paths h3{font-size:26px;margin:10px 0 12px}
.mosaic-paths p{font-size:15px}
.mosaic-paths b{font-size:14px;color:var(--green)}

/* boots */
.boots{display:grid;grid-template-columns:1fr 1.1fr;gap:7%;align-items:center;
  border-top:1px solid var(--line)}
.boots-frame{position:relative;margin:0;overflow:hidden;border-radius:16px 90px 16px 16px;
  box-shadow:0 20px 55px #173d3722;outline:1px solid #b8935060;outline-offset:6px}
.boots-frame img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:1/1.02}
.boots-frame figcaption{position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(transparent,#102e28d9);color:#fff8e6;
  padding:52px 26px 22px;font:italic 21px/1.3 Georgia,serif}
.boots-note{font-style:italic;color:#936c35}

/* packages */
.packages{border-top:1px solid var(--line)}
.packages-intro{max-width:680px}
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:26px 0 8px}
.prices article{background:#fffdf8;border:1px solid var(--line);border-radius:8px 28px 8px 8px;
  box-shadow:0 12px 35px #193e3805;padding:28px;display:flex;flex-direction:column}
.prices article.featured{background:var(--green);color:#fdfbef}
.prices article.featured .who,.prices article.featured .begin-note{color:#d9e4d2}
.prices h3{font-size:27px}
.prices .who{color:var(--muted);font-size:14px;min-height:44px}
.prices .price{font:600 44px/1 Georgia,serif;margin:10px 0 4px}
.prices .price small{font-size:16px}
.chip{display:inline-block;align-self:flex-start;font:700 10px/1 system-ui;letter-spacing:1.8px;
  padding:6px 9px;border-radius:20px;margin:6px 0 14px}
.chip-standing{background:var(--lime);color:var(--green);border:1px solid var(--sage)}
.chip-proposed{background:#f3e8cf;color:#7c5a1e;border:1px solid var(--gold)}
.featured .chip-proposed{background:#2c6a5f;color:#f3e8cf}
.prices ul{margin:0;padding-left:19px;font-size:15px;display:grid;gap:8px}
.prices .begin-note{margin-top:auto;padding-top:18px;font-style:italic;font-size:14px;color:var(--muted)}
.packages-note{max-width:720px}

/* grants */
.grants{border-top:1px solid var(--line)}
.grants-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%}
.grants-grid h3{margin-bottom:10px}
.grants-note{max-width:720px;font-style:italic;color:#936c35;margin-top:26px}

/* the check */
.check{border-top:1px solid var(--line)}
.check-honesty{max-width:700px}
#check-app{background:#fffdf8;border:1px solid var(--line);border-radius:8px 32px 8px 8px;
  box-shadow:0 14px 35px #193e3806;padding:34px;max-width:760px}
.tiles-progress{display:flex;gap:6px;margin-bottom:12px}
.tiles-progress span{width:26px;height:10px;border-radius:3px;background:var(--lime);border:1px solid var(--line)}
.tiles-progress span.done{background:var(--gold);border-color:var(--gold)}
.check-progress-text{font:650 11px/1.5 system-ui;letter-spacing:1.8px;color:var(--muted);margin:0 0 20px}
.check-q{font:600 24px/1.35 Georgia,serif;margin:0 0 6px}
.check-area{font:650 10px/1.5 system-ui;letter-spacing:2px;color:#8b6935;margin:0 0 16px}
.check-options{display:grid;gap:10px;margin:18px 0 6px}
.check-options label{display:flex;gap:12px;align-items:flex-start;background:#fff;
  border:1px solid var(--line);border-radius:8px 20px 8px 8px;padding:14px 16px;cursor:pointer;font-size:16px}
.check-options label:hover{border-color:var(--gold)}
.check-options input{margin-top:5px;accent-color:var(--green);width:18px;height:18px;flex-shrink:0}
.check-nav{display:flex;gap:18px;align-items:center;margin-top:16px}
.quiet-button{background:none;border:1px solid var(--line);color:var(--ink);border-radius:8px 20px 8px 8px;
  padding:11px 16px;font-size:15px;cursor:pointer}
.check-nav-hint{font-size:14px;color:var(--muted);font-style:italic}
.result-areas{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.result-area{background:#fff;border:1px solid var(--line);border-radius:8px 20px 8px 8px;padding:16px}
.result-area h4{margin:0 0 4px;font:600 18px Georgia,serif}
.result-area .word{font:700 11px system-ui;letter-spacing:1.8px;text-transform:uppercase}
.word-steady{color:var(--green)} .word-stretched{color:#946e32} .word-slipping{color:var(--clay)}
.result-area p{font-size:14px;margin:6px 0 0}
.result-focus,.result-fit,.result-step{max-width:640px}
.result-step{background:var(--lime);border-radius:8px 20px 8px 8px;padding:16px 18px}
.result-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.result-next{font-size:15px;color:var(--muted)}

/* closing + footer */
.closing{border-top:1px solid var(--line);text-align:left}
.closing p{max-width:640px}
.closing-contact{font-weight:650}
footer{padding-top:34px;padding-bottom:48px}
.footer-parent{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;flex-wrap:wrap}
.footer-brandline{max-width:640px;margin:0}
.footer-parent-logo{width:190px;height:auto;flex-shrink:0}
.footer-credits,.footer-staged{font-size:13px;color:var(--muted);max-width:760px}
.footer-staged{letter-spacing:1.6px;font-weight:650}

/* front door — one seat, one price (Simplicity Pass) */
.front-door{padding:8px 0 56px}
.door-card{display:grid;grid-template-columns:1fr 1.35fr;gap:7%;align-items:center;
  background:var(--green);color:#fdfbef;border-radius:8px 40px 8px 8px;
  padding:38px 42px;box-shadow:0 20px 55px #173d3726}
.door-card .eyebrow{color:#d9bc77}
.door-amount{font:600 56px/1 Georgia,serif;margin:8px 0 2px}
.door-amount small{font-size:18px}
.door-card .chip-standing{background:var(--lime);color:var(--green)}
.door-name{margin:10px 0 0;max-width:340px}
.door-side p{margin:0 0 14px}
.door-side a{color:#f3e8cf;font-weight:650}
.door-sponsor{border-left:3px solid var(--gold);padding-left:16px}

/* fixed bundle checklist (Simplicity Pass) */
.bundle{border-top:1px solid var(--line)}
.bundle-intro{max-width:680px}
.bundle-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding-top:10px}
.bundle-group h3{font-size:22px;margin:22px 0 10px}
.bundle-group h3:first-child{margin-top:0}
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.checklist li{position:relative;padding-left:30px;font-size:15px}
.checklist li::before{content:"";position:absolute;left:0;top:4px;width:15px;height:15px;
  border:2px solid var(--sage);border-radius:4px 8px 4px 4px;background:var(--lime)}
.bundle-begin{max-width:720px;margin-top:30px;background:#fffdf8;border:1px solid var(--line);
  border-radius:8px 24px 8px 8px;padding:20px 22px}

/* grown packages — two cards (Simplicity Pass) */
.prices.two{grid-template-columns:1fr 1fr;max-width:880px}

/* seasonal rhythm (Simplicity Pass) */
.seasons{border-top:1px solid var(--line)}
.seasons-intro{max-width:680px}
.season-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding-top:14px}
.season-grid article{background:#fff;border:1px solid var(--line);padding:24px;
  border-radius:8px 30px 8px 8px}
.season-grid article:nth-child(1){border-top:4px solid var(--gold)}
.season-grid article:nth-child(2){border-top:4px solid var(--clay)}
.season-grid article:nth-child(3){border-top:4px solid var(--sage)}
.season-grid article:nth-child(4){border-top:4px solid var(--green)}
.season-grid h3{font-size:21px;margin-bottom:4px}
.season-line{font:italic 16px Georgia,serif;color:#936c35;margin:0 0 10px}
.season-grid p{font-size:14px}

/* denominations band (Simplicity Pass) */
.denominations{border-top:1px solid var(--line)}
.denominations p{max-width:720px}

.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.reveal.seen{opacity:1;transform:none}

@media(max-width:850px){
  .hero,.mosaic-story,.boots,.grants-grid{grid-template-columns:1fr;gap:36px}
  .hero{padding:38px 0 50px}
  .hero h1{letter-spacing:-1.8px}
  .visual-frame{max-width:550px;aspect-ratio:1.18;margin:0 8px}
  .mosaic-paths,.prices,.prices.two,.bundle-grid,.season-grid,.door-card{grid-template-columns:1fr}
  .door-card{padding:28px 24px}
  .door-amount{font-size:46px}
  .mosaic-story{padding:42px 0}
  .story-image{height:270px}
  .result-areas{grid-template-columns:1fr}
  section{padding:44px 0}
}
@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
}
@media print{
  .site-header nav,.hero-ctas,.check-nav,.result-actions,.tiles-progress{display:none!important}
  body{background:#fff}
  section{padding:22px 0}
  #check-form{display:none!important}
  #check-result[hidden]{display:block!important}
}
