/* Hallmark · component-scope: family planning · locked MomsaLike system
 * Reference: Disney public homepage planning hierarchy and motion control.
 * Original brand, photography and page structure retained. */
@import url('/planning-tokens.css');
.planning-skip { position:fixed; top:var(--space-planning-sm); left:var(--space-planning-sm); z-index:100; background:var(--ink); color:var(--paper); padding:var(--space-planning-sm); transform:translateY(-200%); }
.planning-skip:focus { transform:none; }
.home-page .nav-row { padding-inline:clamp(1.1rem,4vw,2.5rem); }
.home-page .hero-v8 { min-height:clamp(620px,82dvh,860px); overflow:clip; }
.home-page .hero-v8 .hero-inner { text-align:left; padding-top:10rem; padding-bottom:var(--space-planning-2xl); }
.home-page .hero-v8 h1 { font-size:clamp(2.4rem,5.4vw,4.2rem); max-width:18ch; margin-inline:0; }
.home-page .hero-v8 .hero-inner>p { margin-left:0; max-width:43ch; }
.home-page .hero-v8 .hero-ask { margin-left:0; }
.home-page .hero-v8 .hero-tries { justify-content:flex-start; }
.home-page .hero-v8 .hero-foot { align-items:flex-start; }
.hero-pause { position:absolute; right:var(--space-planning-lg); bottom:var(--space-planning-lg); border:1px solid var(--paper); border-radius:var(--radius-planning-control); padding:var(--space-planning-xs) var(--space-planning-sm); min-height:44px; background:var(--ink); color:var(--paper); font-size:.8rem; }
.home-page .hero-v8.photos-paused .slide { animation-play-state:paused; }
.planning-wrap { position:relative; z-index:2; margin-top:calc(-1 * var(--space-planning-lg)); scroll-margin-top:7rem; }
.planning-panel { border:1px solid var(--line); border-radius:var(--radius-planning-panel); background:var(--paper); box-shadow:var(--shadow-planning); padding:var(--space-planning-lg); }
.planning-heading { display:flex; align-items:center; justify-content:space-between; gap:var(--space-planning-md); flex-wrap:wrap; margin-bottom:var(--space-planning-lg); }
.planning-heading h2 { font-size:clamp(1.7rem,3vw,2.2rem); }
.planning-heading p { color:var(--text-2); margin-top:var(--space-planning-xs); }
.planning-heading>a { color:var(--ink); text-underline-offset:4px; padding-block:var(--space-planning-sm); }
.family-planner { display:grid; grid-template-columns:1.5fr 1fr 1fr auto; align-items:end; gap:var(--space-planning-sm); }
.family-planner label { display:grid; gap:var(--space-planning-xs); font-weight:600; font-size:.8rem; min-width:0; }
.family-planner input,.family-planner select { width:100%; min-width:0; min-height:52px; border:1px solid var(--text-2); border-radius:var(--radius-planning-control); background:var(--paper); padding:var(--space-planning-sm); font-size:1rem; }
.family-planner button { min-height:52px; border-radius:var(--radius-planning-control); white-space:nowrap; }
.planning-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); margin-top:var(--space-planning-lg); padding-top:var(--space-planning-md); gap:var(--space-planning-sm); }
.planning-shortcuts a { display:block; color:var(--ink); font-weight:600; text-decoration:none; padding:var(--space-planning-xs); border-radius:var(--radius-planning-control); }
.planning-shortcuts a:hover { background:var(--paper-2); }
.planning-shortcuts span { display:block; font-size:.8rem; font-weight:400; color:var(--text-2); margin-top:var(--space-planning-xs); }
.home-page :is(.family-planner,.planning-panel,.hero-foot,.nav) :is(a,button,input,select):focus-visible { outline:3px solid var(--color-planning-focus); outline-offset:4px; }
.home-page .hero-foot :is(a,button):focus-visible,.home-page .nav :is(a,button):focus-visible { outline-color:var(--paper); }
@media(min-width:1000px){.home-page .tile-rail{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-planning-lg)}.home-page .tile-rail .dcard{min-width:0}}
@media(max-width:900px){.family-planner{grid-template-columns:1fr 1fr}.family-planner label:first-child{grid-column:1/-1}.family-planner button{grid-column:1/-1}.home-page .hero-v8 .hero-inner{padding-top:8rem}}
@media(max-width:540px){.planning-panel{padding:var(--space-planning-md)}.planning-heading{gap:var(--space-planning-xs)}.planning-shortcuts{grid-template-columns:1fr}.planning-shortcuts a{display:flex;justify-content:space-between;gap:var(--space-planning-sm);align-items:center;min-height:48px}.planning-shortcuts span{margin:0;max-width:45%;text-align:right}.home-page .hero-v8 .hero-inner{padding-bottom:5.5rem}.home-page .hero-v8 .hero-note{font-size:.7rem}.hero-pause{right:var(--space-planning-md);bottom:var(--space-planning-lg)}.home-page .hero-v8 .hero-credits{max-width:100%;padding-right:7rem}.home-page .hero-v8 .hero-credit{white-space:normal;font-size:.55rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-pause{display:none}.home-page .marq-track{animation:none}}
.home-page .nav-links>a,.planning-nav-more summary { display:inline-flex; align-items:center; min-height:44px; }
.planning-nav-more { position:relative; color:var(--paper); font-size:.9rem; font-weight:600; }
.planning-nav-more summary { cursor:pointer; gap:var(--space-planning-xs); }
.planning-nav-more summary::after { content:'⌄'; }
.planning-nav-more>div { position:absolute; top:100%; right:0; width:260px; max-height:65dvh; overflow:auto; padding:var(--space-planning-md); background:var(--ink); border:1px solid var(--line); border-radius:var(--radius-planning-control); box-shadow:var(--shadow-planning); }
.planning-nav-more>div>a { display:block; padding:var(--space-planning-xs); min-height:44px; }
.planning-nav-more :focus-visible { outline:3px solid var(--paper); outline-offset:2px; }
@media(max-width:760px){.planning-nav-more>div{position:static;width:100%;max-height:none;box-shadow:none}.home-page .nav-links>a{display:flex}}

/* The homepage already opens the assistant from its hero form. Keep the
   duplicate floating launcher from covering the planning controls. */
.home-page .ask-fab { display:none; }
.home-page .hero-v8.photos-paused .hero-credit { animation-play-state:paused; }
