:root{--bg:#f4f1eb;--paper:#fffdfa;--ink:#282b2d;--muted:#6d7275;--line:#d9d5ce;--accent:#425d62;--soft:#e9eeec;--warm:#eee7df;--danger:#805c55}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}header{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:18px;padding:14px max(18px,calc((100% - 1100px)/2));background:rgba(244,241,235,.96);border-bottom:1px solid var(--line)}.brand{font-weight:800;letter-spacing:.16em;text-decoration:none;color:var(--ink)}nav{display:flex;gap:14px;flex:1;overflow:auto}nav a{color:var(--muted);text-decoration:none;white-space:nowrap}.who{font-size:13px;color:var(--accent)}main{max-width:1100px;margin:auto;padding:30px 18px 70px}h1{font-size:clamp(28px,5vw,44px);margin:0 0 24px}h2{font-size:22px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px}.card h2,.card h3{margin-top:0}.muted{color:var(--muted)}.tag{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:4px 9px;font-size:12px;margin:2px}.agreed{background:var(--soft)}.unknown{background:var(--warm)}a.button,button{display:inline-block;border:0;border-radius:12px;padding:11px 15px;background:var(--accent);color:white;text-decoration:none;font-weight:650;cursor:pointer}.secondary{background:#70787a!important}textarea,input,select{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;background:white;font:inherit;margin:5px 0 12px}textarea{min-height:150px;resize:vertical}.compare{display:grid;grid-template-columns:1fr 1fr;gap:14px}.perspective{border-top:4px solid var(--accent)}.answer{white-space:pre-wrap}.meta{font-size:12px;color:var(--muted);margin-bottom:8px}.question{margin:18px 0}.history{font-size:13px}.empty{padding:18px;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}footer{max-width:1100px;margin:auto;padding:0 18px 35px;color:var(--muted);font-size:13px}@media(max-width:720px){.grid,.compare{grid-template-columns:1fr}header{gap:10px}.who{display:none}main{padding-top:22px}.card{padding:16px}}
.framework-teaser{margin:18px 0}.framework-copy{white-space:pre-wrap;font-size:18px;line-height:1.65}.topic-rule{margin:0 0 18px;padding:12px 14px;border-left:4px solid var(--accent);background:var(--soft);border-radius:8px}.history-entry{padding:14px 0;border-top:1px solid var(--line)}.history-entry:first-of-type{border-top:0}
.hero{padding:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);margin-bottom:18px}.hero img{width:100%;height:100%;min-height:430px;object-fit:cover;object-position:center}.hero-copy{padding:32px;align-self:center}.hero-copy h2{font-size:clamp(24px,3.2vw,38px);line-height:1.15;margin:14px 0}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.home-links{margin:18px 0}.home-links a{color:var(--accent);font-weight:700;text-decoration:none}.faq{display:grid;gap:10px;margin:16px 0}.faq details{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:0 18px}.faq summary{font-weight:750;cursor:pointer;padding:16px 0}.faq details p{margin-top:0}.photo-card{display:grid;grid-template-columns:minmax(220px,.7fr) 1.3fr;gap:22px;align-items:center;margin:16px 0}.photo-card img{width:100%;max-height:330px;object-fit:cover;border-radius:12px}.demo-banner{background:var(--warm);border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:16px}.demo-banner strong{letter-spacing:.08em}.demo-banner p{margin-bottom:0}.demo-grid{margin:14px 0}.change-card{margin:14px 0}.change-card hr{border:0;border-top:1px solid var(--line);margin:18px 0}.checkin-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0}.step{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:white;font-weight:800;margin-bottom:10px}.intro-card{margin-bottom:16px}@media(max-width:720px){.hero{grid-template-columns:1fr}.hero img{min-height:0;aspect-ratio:4/3}.hero-copy{padding:20px}.photo-card,.checkin-steps{grid-template-columns:1fr}.photo-card img{max-height:420px}}

/* v6 responsive layout */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0;overflow-x:hidden}
header{flex-wrap:wrap}
nav{min-width:0;-webkit-overflow-scrolling:touch}
main{width:100%}
.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
.hero-photo{min-width:0;min-height:360px;background:url("home-wedding.jpeg") center center/cover no-repeat}
.hero-copy{min-width:0}
.hero-copy h2{overflow-wrap:anywhere}
@media (max-width:900px){
 header{padding:12px 16px;gap:12px}
 nav{order:3;flex-basis:100%;gap:16px;padding:2px 0 4px}
 main{padding:24px 16px 60px}
 h1{font-size:clamp(30px,5vw,40px)}
 .hero{grid-template-columns:1fr}
 .hero-photo{min-height:0;aspect-ratio:16/9;background-size:contain;background-color:#171717}
 .hero-copy{padding:22px}
 .hero-copy h2{font-size:clamp(24px,4vw,32px)}
}
@media (max-width:600px){
 body{font-size:16px}
 header{position:static}
 nav{gap:12px}
 main{padding:20px 14px 50px}
 h1{font-size:32px;margin-bottom:18px}
 .hero-photo{aspect-ratio:4/3}
 .hero-copy{padding:18px}
 .hero-copy h2{font-size:25px}
 .card{border-radius:14px}
}
/* consolidated base polish */
main{padding-top:18px}h1{margin-bottom:18px}.help-card{margin-top:16px}.help-card>summary{cursor:pointer;font-size:20px}.inline-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.import-preview{border:1px solid var(--line);background:var(--soft);border-radius:14px;padding:16px;margin:14px 0}.import-preview h3{margin:4px 0 10px}@media(max-width:900px){main{padding-top:16px}}@media(max-width:600px){main{padding-top:14px}}

/* Final retained Home refinements */
main{padding-top:0!important}
main>h1{margin:2px 0 8px!important;line-height:1.05}
.hero-photo{background-position:center 62%!important}

/* Final Check-ins refinement: compact the three numbered cards */
.checkin-steps .card,
.checkin-steps .step,
.steps .card,
.steps .step{
    padding-top:12px!important;
    padding-bottom:12px!important;
    min-height:0!important;
}
.checkin-steps,
.steps{
    gap:10px!important;
}
@media(max-width:900px){
    .checkin-steps .card,
    .checkin-steps .step,
    .steps .card,
    .steps .step{
        padding-top:10px!important;
        padding-bottom:10px!important;
        min-height:0!important;
    }
}


/* HOME: one-screen iPad landscape layout. */
@media (orientation:landscape) and (min-width:900px) and (max-width:1400px) {
  html, body.home-page {
    height:100dvh !important;
    max-height:100dvh !important;
    overflow:hidden !important;
  }

  body.home-page {
    display:flex !important;
    flex-direction:column !important;
  }

  body.home-page header { flex:0 0 auto !important; }

  body.home-page main {
    flex:1 1 auto !important;
    min-height:0 !important;
    overflow:hidden !important;
    padding-top:2px !important;
    padding-bottom:2px !important;
  }

  body.home-page h1 {
    font-size:28px !important;
    line-height:1 !important;
    margin:2px 0 5px !important;
  }

  body.home-page .hero {
    height:300px !important;
    min-height:300px !important;
    max-height:300px !important;
    margin-bottom:7px !important;
    overflow:hidden !important;
  }

  body.home-page .hero-photo {
    height:300px !important;
    min-height:300px !important;
    overflow:hidden !important;
  }

  body.home-page .hero-photo img {
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center 88% !important;
  }

  body.home-page .hero-copy {
    height:300px !important;
    min-height:300px !important;
    box-sizing:border-box !important;
    padding:10px 18px !important;
    overflow:hidden !important;
  }

  body.home-page .hero-copy .tag {
    font-size:10px !important;
    padding:3px 7px !important;
    margin-bottom:3px !important;
  }

  body.home-page .hero-copy h2 {
    font-size:23px !important;
    line-height:1.05 !important;
    margin:4px 0 6px !important;
  }

  body.home-page .hero-copy p {
    font-size:11px !important;
    line-height:1.18 !important;
    margin:4px 0 !important;
  }

  body.home-page .hero-actions {
    margin-top:5px !important;
    gap:6px !important;
  }

  body.home-page .hero-actions .button {
    font-size:10.5px !important;
    padding:6px 9px !important;
  }

  body.home-page .home-grid {
    gap:7px !important;
    margin-top:0 !important;
    margin-bottom:5px !important;
  }

  body.home-page .home-grid .card {
    padding:9px 14px !important;
  }

  body.home-page .home-grid h3 {
    font-size:16px !important;
    margin:0 0 4px !important;
  }

  body.home-page .home-grid p {
    font-size:11px !important;
    line-height:1.18 !important;
    margin:3px 0 !important;
  }

  body.home-page .home-grid a {
    font-size:11px !important;
  }

  body.home-page .empty-state {
    padding:7px 12px !important;
    margin:0 0 4px !important;
    font-size:10.5px !important;
    line-height:1.15 !important;
  }

  body.home-page footer {
    font-size:9px !important;
    padding:2px 0 !important;
    margin-top:0 !important;
  }
}
