/* Alex's 1 November recording. Presentation only; original Gemini assets stay intact. */
.wrap, .panel, .calculator-grid > *, .backup-grid > *, .support-grid > *,
.fm-intro > *, .feature-layout > *, #mixed-plan-form {min-width:0}
#main-nav {font-size:1.08rem;font-weight:750;gap:18px}
#main-nav a, .services-toggle {min-height:44px;display:inline-flex;align-items:center}
.services-menu {position:relative;display:flex;align-items:center;gap:2px}
.services-toggle {border:0;background:transparent;color:inherit;padding:8px 12px;font:inherit;cursor:pointer}
.services-links {position:absolute;top:100%;left:0;z-index:20;min-width:260px;padding:12px;background:var(--paper,#fff);border:1px solid var(--line,#d8e2ea);border-radius:8px;box-shadow:0 12px 28px #102d2820}
.services-links a {display:flex;padding:8px 12px}
.services-links[hidden] {display:none}
main h2, main h3 {font-weight:750;text-wrap:balance}
.fm-intro h1, .feature-heading h1, .reading-page h1 {font-weight:750;max-width:18ch;text-wrap:balance}
.section {padding-block:56px}
.fm-refined .fm-intro, .page-intro {padding-top:44px;padding-bottom:44px}
.fm-refined .fm-intro {gap:36px}
.section-head {margin-bottom:26px}
.service-strip.pillar-grid{margin-top:12px}
.recovery-explorer .recovery-panel{padding:30px;gap:32px}
.recovery-controls button{padding:18px}
.pack-explorer .pack-panel{padding:32px;gap:36px}
.home-backup .backup-grid{gap:36px}
.closing{padding-block:0}
.fm-refined .nav-row{padding-block:0;min-height:86px;height:86px;flex-wrap:nowrap}
.service-row .num, .recovery-list > p > span {display:none}
.service-row, .step {grid-template-columns:1fr}
.step:before {content:none}
.service-row {padding-block:22px}
.register {width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.register table {width:100%;border-collapse:collapse}
.register th, .register td {white-space:normal;overflow-wrap:break-word}
.table-scroll-hint {font-size:.9rem;line-height:1.5;margin:0 0 10px;color:var(--muted,#506271)}
.register:focus-visible, .services-toggle:focus-visible, .feature-tip summary:focus-visible {outline:3px solid #028bcd;outline-offset:4px}
#mixed-plan-form input, #mixed-plan-form select {width:100%;min-width:0;max-width:100%;font-size:1rem}
#mixed-plan-result {font-size:1rem;line-height:1.5;padding:24px}
#mixed-plan-result .estimate-total {display:block;font-size:clamp(2rem,4vw,3rem);line-height:1.15;font-weight:750;margin:6px 0 12px;letter-spacing:-.03em}
#mixed-plan-result .estimate-setup {font-size:1.15rem;font-weight:700}
#mixed-plan-result p:last-child {margin-bottom:0}
.feature-tip {margin-block:8px;font-size:.9rem;font-weight:400}
.feature-tip summary {cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-weight:650;min-height:44px;display:list-item;align-content:center}
.feature-tip p {margin:8px 0;max-width:58ch}
.service-strip.pillar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding-block:30px;align-items:stretch}
.pillar-frame{position:relative;padding:22px;border:1px solid #c6deeb;border-radius:12px;background:linear-gradient(135deg,#edf7fc,#fff);transition:transform .2s ease,box-shadow .2s ease}
.pillar-frame:before{content:"";position:absolute;inset:8px;border-top:3px solid #028bcd;border-left:3px solid #028bcd;width:22px;height:22px;pointer-events:none}
.pillar-frame:hover,.pillar-frame:focus-within{transform:translateY(-4px);box-shadow:0 10px 24px #102d2812}
.pillar-frame h2{font-size:1.35rem;line-height:1.25;margin-bottom:12px}
.pillar-frame h2 a{text-decoration:none}
.pillar-frame p{font-size:1rem;font-weight:400;margin-bottom:12px}
.recording-content{max-width:960px;padding-block:40px}
.recording-content h1{font-size:clamp(2.2rem,5vw,3.6rem);max-width:20ch;text-wrap:balance}
.recording-content h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-top:32px}
.recording-content .lead{font-size:1.2rem}
.recording-flow{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-block:28px}
.recording-flow li{border:1px solid #b8d9eb;border-top:4px solid #028bcd;padding:20px;background:#eff8fc;border-radius:8px}
.recording-flow strong{display:block;margin-bottom:8px}
.synthetic-notice{border-left:4px solid #a36a00;background:#fff3cf;padding:18px}
.pack-panel h3{font-weight:750;text-wrap:balance;font-size:clamp(2rem,4vw,3rem)}
.pack-tabs button{font-size:1.2rem;font-weight:750}
.pack-subtitle{display:block;font-size:.62em;line-height:1.25;font-weight:650;letter-spacing:-.02em;margin-top:8px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.footer-controls{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.footer-controls a,.footer-controls button{font:inherit;font-size:1rem;min-height:36px;display:inline-flex;align-items:center}
#cookie-preferences-panel button{margin:8px 8px 8px 0}
@media(max-width:1000px){.service-strip.pillar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.service-strip.pillar-grid,.recording-flow{grid-template-columns:1fr;gap:14px}.pillar-frame{padding:20px}.recording-content{padding-block:28px}}
@media(prefers-reduced-motion:reduce){.pillar-frame{transition:none}.pillar-frame:hover,.pillar-frame:focus-within{transform:none}}
@media(max-width:1100px){
  .nav-row{height:80px;gap:16px}
  .fm-refined .nav-row{height:80px;min-height:80px}
  .brand img{width:172px}
  #menu-toggle{display:block;min-height:44px}
  #main-nav{display:none;position:absolute;top:80px;left:0;right:0;padding:20px;background:var(--paper,#fff);border-bottom:1px solid var(--line,#d8e2ea);align-items:stretch;max-height:calc(100dvh - 80px);overflow-y:auto;gap:8px}
  #main-nav.open{display:flex;flex-direction:column}
  #main-nav>a{padding-block:6px}
  .services-menu{display:flex;flex-wrap:wrap;justify-content:space-between}
  .services-links{position:static;flex-basis:100%;min-width:0;box-shadow:none;margin-block:4px}
}
@media(max-width:720px){
  .wrap{padding-inline:18px}
  .section{padding-block:36px}
  .fm-refined .fm-intro, .page-intro{padding-block:30px;gap:24px}
  .fm-intro h1, .feature-heading h1, .reading-page h1{font-size:clamp(2rem,8vw,2.7rem);line-height:1.12}
  main h2{font-size:clamp(1.65rem,6.5vw,2.15rem);line-height:1.16}
  .section-head{margin-bottom:22px}
  .service-strip.pillar-grid{padding-block:18px;margin-top:0}
  .recovery-explorer .recovery-panel{padding:20px;gap:20px}
  .recovery-controls button{padding:14px 10px}
  .pack-explorer .pack-panel{padding:22px 18px;gap:22px}
  .pack-tabs button{font-size:1.05rem;font-weight:750}
  .home-backup .backup-grid{gap:24px}
  .fm-refined .fm-route-panel{padding:22px}
  .fm-refined .fm-intro .lead{font-size:1.1rem}
  .panel{padding:20px}
  .services-menu{display:flex;flex-wrap:wrap;justify-content:space-between}
  .services-links{position:static;flex-basis:100%;min-width:0;box-shadow:none;margin-block:4px}
  #main-nav{max-height:calc(100dvh - 80px);overflow-y:auto;gap:8px}
  #main-nav>a{padding-block:6px}
  .register table{min-width:660px}
  #comparison .register tbody th, #cms-pricing .register tbody th{position:sticky;left:0;z-index:1;background:var(--paper,#fff);min-width:155px;max-width:190px;box-shadow:1px 0 var(--line,#d8e2ea)}
  #mixed-plan-form .register{overflow:visible}
  #mixed-plan-form .register table{min-width:0;display:block}
  #mixed-plan-form caption{display:block;text-align:left;padding-block:12px;font-weight:700}
  #mixed-plan-form thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  #mixed-plan-rows{display:grid;gap:16px}
  #mixed-plan-rows tr{display:grid;grid-template-columns:minmax(0,1fr);border:1px solid var(--line,#d8e2ea);border-radius:8px;padding:16px;background:#fff}
  #mixed-plan-rows td{display:block;padding:8px 0;border:0;min-width:0}
  #mixed-plan-rows td::before{content:attr(data-column-label);display:block;font-size:.9rem;font-weight:700;margin-bottom:5px}
  #mixed-plan-rows td:last-child::before{content:none}
  #mixed-plan-rows input, #mixed-plan-rows select{min-height:44px;padding:10px}
  #mixed-plan-form>.field{display:block;width:100%}
  #mixed-plan-result{padding:20px}
  .fields-two{grid-template-columns:1fr}
}
