/* First mobile step: shared chrome and reading/touch foundations, not scene redesign. */
#nf-mobile-header,#nf-mobile-backdrop,.nf-desktop-recommendation,.nf-mobile-added-tool{display:none}
@media(min-width:761px){#nf-mobile-header,#nf-mobile-backdrop,.nf-desktop-recommendation,.topbar .nf-mobile-added-tool{display:none!important}}
@media(max-width:760px){
  /* Suppress the unused legacy background before runtime shell classes mount. */
  body.warm-signal > .warm-landscape{display:none!important;background-image:none!important}
  html.nf-mobile-shell{--nf-mobile-bottom:calc(70px + env(safe-area-inset-bottom));scrollbar-gutter:auto;scroll-padding-top:90px;color-scheme:light}
  html.nf-mobile-shell body{min-width:0;margin:0;padding-bottom:var(--nf-mobile-bottom);background:#e9edf0;color:#142e4b;font-size:16px;line-height:1.6;isolation:isolate}
  html.nf-mobile-shell #nf-mobile-header{display:flex}
  html.nf-mobile-shell.nf-mobile-workspace body{background:transparent}
  html.nf-mobile-shell.nf-mobile-workspace #nf-mobile-backdrop{display:none}
  html.nf-mobile-shell #nf-mobile-backdrop{display:block;position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;height:100lvh;background:#dce6ee}
  html.nf-mobile-shell #nf-mobile-backdrop img{display:block;width:100%;height:100%;object-fit:cover;object-position:60% 50%;max-width:none}
  html.nf-mobile-shell #nf-mobile-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(247,247,239,.25),rgba(244,246,241,.07) 45%,rgba(235,241,243,.13));pointer-events:none}
  html.nf-mobile-shell:not(.nf-mobile-workspace) body :is(.warm-landscape,.landscape,.payment-backdrop,#site-scene-backdrop){display:none}
  html.nf-mobile-shell body :is(.legal-top,.nf-information-header,body>.site-header){display:none}
  html.nf-mobile-shell body .topbar.wrap.nf-mobile-app-header{
    display:flex;position:sticky;top:0;left:auto;right:auto;z-index:50;transform:none;width:100%;max-width:none;height:auto;min-height:78px;
    margin:0;padding:calc(12px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));
    align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;
    border:0;border-bottom:1px solid rgba(35,66,88,.11);background:rgba(247,247,240,.96);box-shadow:0 4px 15px -12px rgba(20,46,75,.25);
    filter:none;backdrop-filter:none;-webkit-backdrop-filter:none;perspective:none;contain:none;will-change:auto
  }
  html.nf-mobile-shell body .topbar .brand{display:block;font:400 27px/1.08 Georgia,'Palatino Linotype',serif;letter-spacing:-1px;color:#142e4b;text-decoration:none;white-space:nowrap}
  html.nf-mobile-shell body .topbar .brand small{display:block;margin-top:5px;font:600 8px/1.4 Arial,Helvetica,sans-serif;letter-spacing:2px}
  html.nf-mobile-shell body .topbar .header-tools{display:flex;align-items:center;gap:7px;margin:0}
  html.nf-mobile-shell body .topbar .icon-button{display:grid;place-items:center;box-sizing:border-box;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:10px;border:1px solid transparent;border-radius:50%;background:transparent;color:#142e4b;text-decoration:none;cursor:pointer}
  html.nf-mobile-shell body .topbar .header-tools [data-warm="search"]{display:none}
  html.nf-mobile-shell body .topbar .icon-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
  html.nf-mobile-shell body .topbar .me{display:grid;place-items:center;box-sizing:border-box;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:0;border:1px solid #5f798e;border-radius:50%;background:#142e4b;color:#fffdf7;font:16px/1 Georgia,serif;text-decoration:none}
  html.nf-mobile-shell body .topbar .me.nf-mobile-me-active{box-shadow:0 0 0 3px #e5c6a4}
  html.nf-mobile-shell body .topbar .mainnav{
    display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:2px;position:fixed;inset:auto 0 0;left:0;top:auto;z-index:55;
    width:100%;height:var(--nf-mobile-bottom);box-sizing:border-box;transform:none;margin:0;padding:8px max(9px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(9px,env(safe-area-inset-left));
    background:rgba(249,249,242,.98);border:0;border-top:1px solid rgba(64,85,106,.19);box-shadow:0 -8px 24px -18px rgba(20,46,75,.45)
  }
  html.nf-mobile-shell body .topbar .mainnav a{
    display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;box-sizing:border-box;margin:0;padding:8px 2px;border:1px solid transparent;border-radius:9px;
    color:#536879;background:transparent;text-decoration:none;text-align:center;font:500 12px/1.35 Arial,Helvetica,sans-serif;letter-spacing:0;white-space:nowrap
  }
  html.nf-mobile-shell body .topbar .mainnav a:is(.active,[aria-current="page"]){background:#eee3d3;border-color:#d7b691;color:#65452f}
  html.nf-mobile-shell body .topbar .mainnav a::after{display:none!important;content:none!important}
  html.nf-mobile-shell body .topbar :is(a,button):focus-visible{outline:2px solid #a76c43;outline-offset:2px}
  html.nf-mobile-shell.nf-mobile-keyboard-open body .topbar .mainnav{visibility:hidden;pointer-events:none}
  html.nf-mobile-shell .nf-desktop-recommendation{
    display:flex;align-items:center;gap:8px;position:relative;z-index:1;width:calc(100% - 32px);max-width:600px;box-sizing:border-box;
    margin:14px auto 12px;padding:9px 11px;border:1px solid rgba(133,101,70,.2);border-radius:8px;background:rgba(255,253,247,.9);color:#596b78;
    font:400 12px/1.55 Arial,Helvetica,sans-serif;letter-spacing:0;text-align:left;overflow-wrap:normal
  }
  html.nf-mobile-shell .nf-desktop-recommendation-icon{display:flex;flex:0 0 16px;color:#927052}
  html.nf-mobile-shell .nf-desktop-recommendation-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round}
  html.nf-mobile-shell :is(.legal-wrap,.nf-information-wrap,.payment-main)> .nf-desktop-recommendation{width:100%;margin-left:0;margin-right:0}
  html.nf-mobile-shell body :is(#app.wrap,.legal-wrap,.nf-information-wrap,.payment-main,body>main.wrap){width:calc(100% - 32px);max-width:600px;min-width:0;box-sizing:border-box;margin-inline:auto}
  html.nf-mobile-shell body main#app.wrap:not(.scene-story){padding-top:0;padding-bottom:20px}
  html.nf-mobile-shell body :is(.legal-wrap,.nf-information-wrap){padding-top:0;padding-bottom:0}
  html.nf-mobile-shell .legal-hero{padding-top:28px}
  html.nf-mobile-shell .nf-information-hero{padding-top:28px}
  html.nf-mobile-shell body :is(input,select,textarea){font-size:16px}
  html.nf-mobile-shell body :is(button,input:not([type="checkbox"]):not([type="radio"]),select,summary,.warm-button,.explore,.payment-button,.guide-button,.collection-tabs a,.ocean-tabs a){min-height:44px;box-sizing:border-box}
  html.nf-mobile-shell :is(.pagehead .sub,.collection-lead,.legal-content p,.legal-content li,.nf-information-content p,.nf-information-content li){font-size:16px;line-height:1.65}
  html.nf-mobile-shell body footer.nf-site-footer{
    display:block;position:relative;inset:auto;left:auto;right:auto;top:auto;bottom:auto;z-index:1;width:calc(100% - 32px);max-width:600px;box-sizing:border-box;
    margin:26px auto 0;padding:12px 0 18px;border:0;border-top:1px solid rgba(64,85,106,.17);background:transparent
  }
  html.nf-mobile-shell body footer.nf-site-footer nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 4px;margin:0;padding:0;border:0;border-radius:0;background:rgba(249,249,242,.91);backdrop-filter:none;box-shadow:none}
  html.nf-mobile-shell body footer.nf-site-footer nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;box-sizing:border-box;padding:9px 5px;color:#536879;font:400 11px/1.4 Arial,Helvetica,sans-serif;text-decoration:none;white-space:nowrap}
  html.nf-mobile-shell body :is(.legal-wrap,.nf-information-wrap)>footer.nf-site-footer{width:100%}
  html.nf-mobile-shell body:has(.nf-site-footer) :is(.legal-wrap,.nf-information-wrap){padding-bottom:0}
  html.nf-mobile-shell body:has(.nf-site-footer)>.wrap{padding-bottom:20px}
  html.nf-mobile-shell body:has(.nf-site-footer) .access-scroll-window>.access-page{padding-bottom:24px}
  html.nf-mobile-shell body .access-scroll-window{position:static;inset:auto;overflow:visible;height:auto}
  html.nf-mobile-shell body.payment-result-page .payment-main{padding-top:12px}
  html.nf-mobile-shell body.payment-result-page .payment-skip{z-index:60}
  html.nf-mobile-shell .skip-link{z-index:60}
}
@media(max-width:360px){
  html.nf-mobile-shell body .topbar .brand{font-size:25px}
  html.nf-mobile-shell body .topbar .brand small{font-size:7px;letter-spacing:1.7px}
  html.nf-mobile-shell body .topbar .mainnav a{font-size:11px}
}

/* Public reading surfaces only. Desktop and paid guide/workspace layouts stay native. */
@media(max-width:760px){
  html.nf-mobile-shell body .topbar.wrap.nf-mobile-app-header,
  html.nf-mobile-shell body .topbar .mainnav{background:#fffdf8!important;backdrop-filter:none;-webkit-backdrop-filter:none}
  html.nf-mobile-shell body.nf-information .nf-information-wrap>main{
    margin:18px 0 0;padding:24px 20px;background:#fffdf8;border:1px solid #d2d7d4;border-radius:16px;
    box-shadow:0 12px 30px -24px rgba(20,46,75,.3);min-width:0;overflow-wrap:anywhere
  }
  html.nf-mobile-shell body.nf-information .nf-information-hero{padding:0 0 24px}
  html.nf-mobile-shell body.nf-information .nf-information-content{padding-top:0}
  html.nf-mobile-shell body.nf-information .nf-opportunity-comparison tbody tr{background:#fffdf8;border:1px solid #d1dce0}
  html.nf-mobile-shell body.nf-information .nf-opportunity-comparison tbody :is(th,td){background:transparent}
  html.nf-mobile-shell body.nf-information .nf-opportunity-comparison tbody tr:nth-child(even) td{background:transparent}
  html.nf-mobile-shell body.nf-information .nf-information-content :is(h2,p,li){min-width:0}
  html.nf-mobile-shell body:has(main>article>.hero) main{width:calc(100% - 32px);margin:18px auto 32px;min-width:0}
  html.nf-mobile-shell body:has(main>article>.hero) main>article{background:#fffdf8}
  html.nf-mobile-shell body:has(main>article>.hero) .hero{grid-template-columns:minmax(0,1fr);min-height:0}
  html.nf-mobile-shell body:has(main>article>.hero) .hero-copy{padding:28px 20px;min-width:0}
  html.nf-mobile-shell body:has(main>article>.hero) .hero h1{font-size:clamp(32px,8.5vw,40px);overflow-wrap:anywhere}
  html.nf-mobile-shell body:has(main>article>.hero) .hero figure{order:0;min-width:0;min-height:0;max-height:none;border-left:0}
  html.nf-mobile-shell body:has(main>article>.hero) .hero .nf-workbook-figure{display:block;margin:0 20px 24px;background:#fffdf8;overflow:visible}
  html.nf-mobile-shell body:has(main>article>.hero) .hero .nf-workbook-figure:after{display:none}
  html.nf-mobile-shell body:has(main>article>.hero) .hero .nf-workbook-figure img{height:auto;max-height:none;aspect-ratio:2/1}
  html.nf-mobile-shell body:has(main>article>.hero) .hero .nf-workbook-figure figcaption{position:static;border:0;border-radius:0;background:#fffdf8;padding:0;margin-top:8px;text-transform:none;letter-spacing:0}
  html.nf-mobile-shell body:has(main>article>.hero) .nf-share-actions{gap:8px}
}
