/* 91APP · responsive editorial system */
:root{--blue:#1453A6;--navy:#102B52;--pale-blue:#EAF3FF;--red:#C62835;--pale-red:#FCECEF;--yellow:#F2C94C;--pale-yellow:#FFF5CE;--canvas:#F7FAFE;--white:#FFFFFF;--ink:#17243A;--body:#29364B;--muted:#566477;--line:#D9E3EF;--focus:#0B66D8;--content:1200px;--reading:760px;--radius:10px}
*,*::before,*::after{box-sizing:border-box}
html{min-width:0;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;min-width:0;background:var(--canvas);color:var(--body);font-family:system-ui,-apple-system,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.8;overflow-wrap:break-word}
a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere}
a:hover{color:var(--navy)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
button{font:inherit;cursor:pointer}
img,picture,figure,svg{max-width:100%}
img{display:block;width:auto;height:auto;max-height:100%;object-fit:contain}
figure{margin:0;min-width:0}
.skip-link{position:absolute;left:12px;top:-60px;z-index:1000;background:#fff;padding:10px 14px;border:2px solid var(--blue);border-radius:6px}
.skip-link:focus{top:10px}
.site-header{position:relative;z-index:20;background:var(--white);border-bottom:1px solid var(--line)}
.header-inner{width:100%;max-width:var(--content);min-width:0;margin-inline:auto;padding:0 clamp(16px,3vw,30px);min-height:76px;display:flex;align-items:center;gap:clamp(12px,2vw,26px)}
.brand{display:flex;align-items:center;gap:11px;min-width:0;flex:0 1 220px;text-decoration:none;color:var(--navy)}
.brand-image{width:auto;height:auto;max-width:min(175px,100%);max-height:36px;object-fit:contain}
.brand-wordmark{font-size:25px;font-weight:850;letter-spacing:-1.2px;line-height:1;color:var(--blue);white-space:nowrap}.brand-wordmark span{color:var(--navy);font-size:.78em;letter-spacing:.04em}
.brand-tagline{font-size:12px;line-height:1.35;color:var(--muted);max-width:82px}
.primary-nav{display:flex;align-items:center;justify-content:center;gap:clamp(8px,1.35vw,20px);min-width:0;flex:1 1 auto}
.primary-nav a,.route-link{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:5px 1px;color:var(--body);font-size:14px;font-weight:650;text-decoration:none;white-space:nowrap}
.primary-nav a[aria-current=page],.route-link[aria-current=page]{color:var(--blue)}
.primary-nav a[aria-current=page]::after,.route-link[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--red)}
.header-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.explore-toggle,.mobile-menu-toggle{min-height:44px;padding:8px 13px;border:1px solid var(--blue);border-radius:7px;background:var(--blue);color:#fff;font-size:14px;font-weight:700}
.explore-toggle span{margin-left:5px;color:var(--yellow)}
.mobile-actions{display:none;align-items:center;gap:8px;margin-left:auto;min-width:0}
.mobile-actions>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:42%;min-width:0;padding:4px;text-align:center;font-size:14px;font-weight:700;line-height:1.35;text-decoration:none;white-space:normal}
.mobile-menu-toggle{padding:7px 10px;white-space:normal}
.topic-panel{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 8px 18px rgba(16,43,82,.06)}
.topic-panel[hidden]{display:none}
.topic-panel-inner{max-width:var(--content);margin:0 auto;padding:24px clamp(16px,3vw,30px) 28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 30px}
.topic-group{min-width:0}.topic-group h2{margin:0 0 10px;color:var(--navy);font-size:16px;line-height:1.4}.topic-group ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}
.topic-group li{min-width:0}.topic-group a{display:flex;flex-direction:column;gap:1px;min-width:0;min-height:54px;padding:7px 9px;border-radius:6px;text-decoration:none;color:var(--body)}
.topic-group a:hover,.topic-group a[aria-current=page]{background:var(--pale-blue);color:var(--blue)}
.topic-group strong{font-size:14px;line-height:1.45}.topic-group span{font-size:12px;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}
.site-main{width:100%;max-width:var(--content);min-width:0;margin-inline:auto;padding:30px clamp(16px,3vw,30px) calc(58px + env(safe-area-inset-bottom) + 28px)}
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 13px;font-size:13px;color:var(--muted)}
.breadcrumb a{color:var(--muted);text-decoration:none}.breadcrumb .crumb-sep{color:#8290a3}
.page-intro{max-width:var(--reading);margin:0 0 28px;min-width:0}
.eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 9px;color:var(--blue);font-size:13px;font-weight:800;letter-spacing:.08em}
.eyebrow::before{content:"";width:19px;height:3px;background:var(--red);border-radius:2px}
h1,h2,h3{color:var(--ink);line-height:1.35;overflow-wrap:anywhere}
h1{font-size:clamp(27px,3vw,38px);letter-spacing:-.035em;margin:0 0 13px;font-weight:820}
h2{font-size:clamp(22px,2.2vw,27px);letter-spacing:-.02em;margin:0 0 14px}
h3{font-size:19px;margin:0 0 9px}
p{margin:0 0 15px;overflow-wrap:anywhere}
.lead{font-size:17px;line-height:1.85;color:#35445a;max-width:var(--reading);margin:0}
.toc{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:18px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:13px}
.toc strong{color:var(--navy);margin-right:3px}.toc a{color:var(--blue);text-decoration:none}
.content-section{min-width:0;margin:42px 0;scroll-margin-top:92px}
.content-section>p,.reading-copy p{max-width:var(--reading)}
.content-section h2{padding-left:13px;border-left:3px solid var(--blue)}
.content-section h3{margin-top:21px}
.section-kicker{color:var(--red);font-size:12px;font-weight:800;letter-spacing:.08em;margin-bottom:7px}
.note-box,.soft-panel,.warning-panel,.blue-panel{min-width:0;padding:17px 19px;border-radius:9px;margin:20px 0;border:1px solid var(--line)}
.note-box{background:#fff}.soft-panel{background:var(--pale-blue);border-color:#cbdcf1}.warning-panel{background:var(--pale-yellow);border-color:#eadb9d;color:#3d3b2e}.blue-panel{background:var(--navy);color:#fff;border-color:var(--navy)}.blue-panel h2,.blue-panel h3{color:#fff}.blue-panel p{color:#edf3fb}
.no-media{grid-template-columns:minmax(0,1fr)!important}.two-col,.asym-grid,.feature-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(18px,3vw,34px);align-items:start;min-width:0}
.asym-grid.wide-left{grid-template-columns:minmax(0,1.45fr) minmax(0,.75fr)}.asym-grid.wide-right{grid-template-columns:minmax(0,.75fr) minmax(0,1.45fr)}
.feature-copy,.feature-media,.two-col>*{min-width:0;max-width:100%}
.media-frame{width:min(100%,420px);max-width:100%;margin:16px auto;padding:12px;background:#fff;border:1px solid var(--line);border-radius:10px;text-align:center}
.media-frame img{display:block;width:auto;height:auto;max-width:100%;max-height:260px;object-fit:contain;margin-inline:auto}
.media-frame.hero-media{width:min(100%,500px);padding:14px}.media-frame.hero-media img{max-height:310px}
.media-frame.tall-media{width:min(100%,250px)}.media-frame.tall-media img{max-height:380px}
.media-frame.small-media{width:min(100%,350px)}.media-frame.small-media img{max-height:200px}
.media-frame.logo-media{width:min(100%,180px)}.media-frame.logo-media img{max-height:56px}
.home-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:center;padding:25px 0 42px;border-bottom:1px solid var(--line)}
.home-hero h1{font-size:clamp(30px,3.6vw,44px);max-width:610px}.home-hero .lead{font-size:17px}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:20px}.text-action{display:inline-flex;align-items:center;min-height:44px;font-weight:750;text-decoration:none}.text-action.primary{padding:8px 14px;background:var(--blue);color:#fff;border-radius:7px}.text-action.secondary{border-bottom:2px solid var(--red);color:var(--blue)}
.home-section{margin:52px 0;min-width:0}.home-section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px}.home-section-head p{max-width:570px;color:var(--muted);margin:0}.home-section-head a{font-size:14px;font-weight:750;white-space:normal}
.entry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.entry-item{min-width:0;padding:18px 17px 18px 0}.entry-item+.entry-item{padding-left:17px;border-left:1px solid var(--line)}.entry-number{display:block;color:var(--red);font-size:12px;font-weight:850;letter-spacing:.1em;margin-bottom:8px}.entry-item h3{font-size:18px}.entry-item p{font-size:14px;color:var(--muted);margin:0 0 8px}.entry-item a{font-size:13px;font-weight:750;text-decoration:none}
.editorial-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px;align-items:center}.editorial-split.reverse{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.article-teaser{min-width:0;padding:20px 0;border-top:1px solid var(--line)}.article-teaser h3{font-size:21px}.article-teaser p{color:var(--muted)}.article-teaser a{font-weight:750;text-decoration:none}
.compact-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;margin-top:18px}.compact-links a{display:block;min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff;text-decoration:none;font-weight:700}.compact-links span{display:block;color:var(--muted);font-size:13px;font-weight:400;margin-top:3px}
.steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.step-item .card-heading{font-size:18px;margin:0 0 9px;padding:0;border:0}.step-item{min-width:0;padding:16px;border:1px solid var(--line);border-radius:9px;background:#fff}.step-item b{display:block;color:var(--red);font-size:13px;margin-bottom:6px}.step-item p{font-size:14px;color:var(--muted);margin:0}
.split-service{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:25px;align-items:center}.service-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-list a{display:block;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:7px;text-decoration:none;font-weight:700}
.reading-path{counter-reset:path;list-style:none;padding:0;margin:18px 0}.reading-path li{counter-increment:path;position:relative;padding:13px 12px 13px 50px;border-bottom:1px solid var(--line);min-width:0}.reading-path li::before{content:counter(path,decimal-leading-zero);position:absolute;left:4px;top:12px;color:var(--red);font-size:13px;font-weight:850}.reading-path strong{display:block;color:var(--navy)}
.timeline{border-left:2px solid #b9cce4;margin:18px 0 18px 9px;padding-left:22px}.timeline-item{position:relative;margin:0 0 21px;min-width:0}.timeline-item::before{content:"";position:absolute;width:10px;height:10px;left:-28px;top:8px;border-radius:50%;background:var(--blue);border:2px solid #fff;box-shadow:0 0 0 1px var(--blue)}
.story-note{margin:14px 0;padding:12px 15px;background:#fff;border-left:3px solid var(--yellow);color:#465267;font-size:14px}
.storyboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.storyboard article{min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.storyboard small{display:block;color:var(--red);font-weight:800;margin-bottom:6px}.storyboard p{font-size:14px;margin:0}
.check-list{padding-left:1.3em;margin:12px 0}.check-list li{padding:3px 0;min-width:0}
.table-wrap{max-width:100%;min-width:0;margin:18px 0;border:1px solid var(--line);border-radius:8px;background:#fff;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;table-layout:fixed}.data-table th,.data-table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}.data-table th{background:var(--pale-blue);color:var(--navy);font-size:14px}.data-table tr:last-child td{border-bottom:0}
.faq-list{display:grid;gap:10px}.faq-item{min-width:0;padding:16px 17px;border:1px solid var(--line);border-radius:8px;background:#fff}.faq-item h2{font-size:18px;margin:0 0 8px;border:0;padding:0}.faq-item p{margin:0;color:#465267}
.related-section{margin:50px 0 12px;padding-top:24px;border-top:1px solid var(--line)}.related-links{display:flex;flex-wrap:wrap;gap:9px}.related-links a{display:inline-flex;align-items:center;min-height:42px;padding:7px 12px;border:1px solid var(--line);border-radius:7px;background:#fff;text-decoration:none;font-weight:650;font-size:14px}
.site-footer{background:#102B52;color:#eaf1fa;padding:38px 0 calc(28px + env(safe-area-inset-bottom))}.footer-inner{width:100%;max-width:var(--content);margin-inline:auto;padding-inline:clamp(16px,3vw,30px);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:28px 42px}.footer-brand{display:inline-block;color:#fff;font-size:24px;font-weight:850;text-decoration:none;letter-spacing:-.04em}.footer-brand-block p{max-width:290px;color:#d5e0ef;font-size:14px;margin-top:12px}.footer-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 30px}.footer-group{min-width:0}.footer-group h2{color:#fff;font-size:15px;margin:0 0 9px}.footer-group ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px}.footer-group a{display:inline-flex;min-height:30px;align-items:center;color:#e3ebf6;text-decoration:none;font-size:13px}.footer-group a:hover,.footer-group a[aria-current=page]{color:#fff;text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:4px}.footer-notes{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2)}.footer-notes p{display:flex;flex-direction:column;gap:3px;margin:0;font-size:13px}.footer-notes strong{color:#fff}.footer-notes span{color:#d5e0ef}.footer-bottom{max-width:var(--content);margin:22px auto 0;padding:15px clamp(16px,3vw,30px) 0;border-top:1px solid rgba(255,255,255,.2);display:flex;justify-content:space-between;gap:12px;color:#c9d6e7;font-size:12px}.footer-bottom a{color:#fff}
.mobile-bottom-nav{display:none}
@media(max-width:1120px){.brand{flex-basis:190px}.brand-tagline{display:none}.primary-nav{gap:12px}.primary-nav a{font-size:13px}.header-inner{gap:16px}.header-actions{gap:8px}.explore-toggle{padding-inline:10px}}
@media(max-width:900px){.nav-optional{display:none}.brand{flex:0 1 160px}.primary-nav{gap:10px}.primary-nav a{font-size:12px}.route-link{font-size:13px}}
@media(max-width:760px){
  html{scroll-padding-top:76px}.header-inner{min-height:64px;gap:8px}.brand{flex:0 1 auto;max-width:42%;gap:0}.brand-image{max-width:130px;max-height:32px}.brand-wordmark{font-size:23px;white-space:normal;overflow-wrap:anywhere}.primary-nav,.header-actions{display:none}.mobile-actions{display:flex;flex-wrap:wrap;gap:4px;flex:1 1 55%;justify-content:flex-end}.mobile-menu-toggle{font-size:13px;max-width:56%;min-width:44px}.topic-panel-inner{grid-template-columns:minmax(0,1fr);gap:17px;padding-top:18px;padding-bottom:20px}.topic-group ul{grid-template-columns:repeat(2,minmax(0,1fr))}.topic-group a{min-height:50px}
  .site-main{padding-top:22px;padding-bottom:calc(76px + env(safe-area-inset-bottom) + 22px)}.page-intro{margin-bottom:22px}.lead{font-size:16px}.toc{gap:7px 10px}.content-section{margin:34px 0}.home-hero,.two-col,.asym-grid,.feature-row,.editorial-split,.editorial-split.reverse,.split-service{grid-template-columns:minmax(0,1fr);gap:16px}.home-hero{padding-top:10px;padding-bottom:30px}.home-hero h1{font-size:clamp(29px,7vw,34px)}.home-hero .hero-media{order:2}.home-section{margin:38px 0}.home-section-head{align-items:start;flex-direction:column;gap:7px}.entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-item{padding:14px 10px 14px 0}.entry-item:nth-child(odd){border-left:0;padding-left:0}.entry-item:nth-child(even){border-left:1px solid var(--line);padding-left:13px}.entry-item:nth-child(n+3){border-top:1px solid var(--line)}.compact-links{grid-template-columns:minmax(0,1fr);gap:8px}.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-list{grid-template-columns:repeat(2,minmax(0,1fr))}.storyboard{grid-template-columns:minmax(0,1fr)}.footer-inner{grid-template-columns:minmax(0,1fr);gap:23px}.footer-brand-block p{max-width:560px}.footer-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.footer-notes{grid-template-columns:minmax(0,1fr);gap:12px}.footer-bottom{flex-wrap:wrap}.mobile-bottom-nav{position:fixed;z-index:30;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:calc(58px + env(safe-area-inset-bottom));padding:4px 12px calc(4px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}.mobile-bottom-nav a{display:flex;align-items:center;justify-content:center;min-width:0;min-height:48px;color:var(--body);font-size:14px;font-weight:750;text-decoration:none}.mobile-bottom-nav a[aria-current=page]{color:var(--blue);border-bottom:2px solid var(--red)}
}
@media(max-width:420px){.topic-group ul{grid-template-columns:minmax(0,1fr)}.steps-grid{grid-template-columns:minmax(0,1fr)}.service-list{grid-template-columns:minmax(0,1fr)}.footer-groups{grid-template-columns:minmax(0,1fr)}.footer-group ul{grid-template-columns:repeat(2,minmax(0,1fr))}.media-frame{padding:9px}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}.data-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.data-table tr{padding:8px 12px;border-bottom:1px solid var(--line)}.data-table tr:last-child{border-bottom:0}.data-table td{padding:5px 0;border:0}.data-table td:first-child{font-weight:800;color:var(--navy)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
