/* Shared mobile shell, loaded after page styles. Single contact bar, no floating controls. */
:root{--mobile-header:72px;--mobile-bar:74px;--reading-ink:#243849;--reading-muted:#536575}
html{scroll-padding-top:calc(var(--mobile-header) + 18px);scroll-padding-bottom:calc(var(--mobile-bar) + 18px);-webkit-text-size-adjust:100%}
[id]{scroll-margin-top:calc(var(--mobile-header) + 16px)}
a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button,input,select,textarea{font-family:inherit}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #937340;outline-offset:4px}
.brand-copy{display:none}
.mobile-nav:not(.open){visibility:hidden;pointer-events:none}
.mobile-nav.open{visibility:visible;pointer-events:auto}
.nav-scrim:not(.show){visibility:hidden}
.nav-scrim.show{visibility:visible}
.mnav-head{min-height:72px}
.mnav-title{font-size:17px;font-weight:700;color:#142c3d;margin-inline:auto 15px}
.mobile-nav .mnav-close{width:44px;height:44px;flex-shrink:0}
.mobile-nav .mnav-group-label{font-size:13px;font-weight:600;color:#80623c;padding:20px 22px 5px}
.mobile-nav .mnav-links a{padding:13px 22px;min-height:51px;line-height:1.5}
.mobile-nav .mnav-foot{padding:15px 20px;background:#f1f5f7}
.mobile-nav .mnav-foot .btn{min-height:48px;padding:10px;font-size:15px;border-radius:7px;box-shadow:none}
.mobile-nav .mnav-foot .btn-gold{background:#b79b6d;color:#142c3d}
.mobile-nav .mnav-foot .btn-wa{background:#19665b;color:#fff}
.mobile-nav .mnav-foot .mn-phone{font-size:13px;line-height:1.6;margin-top:8px}
.mobile-nav .mnav-foot .social-row{margin-top:10px}
.mobile-nav .mnav-foot .social-row a{width:44px;height:44px;min-height:44px}
.a11y-panel{max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}
.a11y-panel button{min-height:44px}
.a11y-close{font-weight:700}
.a11y-btn svg{width:22px;height:22px}
body.nav-lock .callbar,body.a11y-open .callbar,body.keyboard-open .callbar{visibility:hidden;pointer-events:none}
/* Preserve the user's reading position when a modal locks the document on iOS. */
body.nav-lock,body.a11y-open{overflow:hidden}
body.nav-lock{position:fixed;inset-inline:0;top:var(--locked-top,0)}
.mobile-nav{max-height:100dvh;overscroll-behavior:contain}
.mnav-links{min-height:64px}
.tbl-scroll{max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain}
.site-footer{container-type:inline-size}
@container(max-width:250px){.hdr .brand-copy{display:none}.hdr .logo img{width:40px}.ftr>div:nth-child(2){grid-template-columns:1fr}}
@media(max-width:1150px){
 html{scroll-behavior:auto}
 main[id],main [id]{scroll-margin-top:16px}
 .site-header{background:#fff;border-bottom:1px solid #e3e8ec;z-index:80;padding-top:env(safe-area-inset-top)}
 .hdr{min-height:72px;height:auto;padding-block:9px;gap:10px;container-type:inline-size}
 .hdr .logo{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:0;flex-shrink:1}
 .hdr .logo img{width:47px;height:auto;max-height:38px;object-fit:contain;flex-shrink:0}
 .brand-copy{display:flex;flex-direction:column;line-height:1.5;color:#142c3d;white-space:normal}
 .brand-copy strong{font-size:16px;font-weight:700}.brand-copy span{font-size:11px;color:#5b6670}
 .hdr-actions{gap:3px!important;flex-shrink:0}
 .hdr-actions .hdr-icon{display:none!important}
 .hdr-actions .a11y-btn{position:static;inset:auto;width:44px;height:44px;min-width:44px;box-shadow:none;border:1px solid #dfe6eb;border-radius:8px;background:#fff;color:#425d6e;font-size:20px;flex-shrink:0}
 .hdr-actions .a11y-btn:hover{background:#f1f5f7}
 .hdr-actions .menu-btn{width:44px;height:44px;border:1px solid #dfe6eb;border-radius:8px;background:#f1f5f7}
 .hdr-actions .menu-btn::before{width:18px;height:12px;border-width:1.7px;border-color:#142c3d}
 .hdr-actions .menu-btn::after{width:18px;height:1.7px;background:#142c3d}
 .mobile-nav,.mobile-nav.open{width:min(100vw - 20px,410px);background:#fff;border-radius:0 14px 14px 0;z-index:140;transition:transform .22s ease;box-shadow:12px 0 48px #142c3d30;overflow-y:auto}
 .nav-scrim{z-index:130;background:rgba(13,32,46,.5)}
 .mnav-head{height:auto;min-height:72px;padding:12px 20px;gap:12px}.mnav-head img{height:30px}
 .mnav-links{flex:1 1 auto}.mnav-foot{flex-shrink:0}
 .a11y-panel{top:calc(var(--mobile-header) + env(safe-area-inset-top) + 8px);bottom:auto;inset-inline:12px;width:auto;max-width:380px;margin-inline:auto;z-index:150;box-shadow:0 12px 48px #142c3d40;border-radius:10px;padding:18px}
 .callbar{display:flex;position:fixed;inset-inline:0;bottom:0;min-height:74px;height:auto;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;backdrop-filter:none;border-top:1px solid #dbe3e9;box-shadow:0 -4px 18px #142c3d0c;z-index:90}
 .callbar a{height:auto;min-height:52px;flex:1 1 0;min-width:0;margin:0;padding:7px 3px;border:0;border-radius:7px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;line-height:1.5;font-weight:600;white-space:normal;text-align:center;color:#243849;background:#f1f5f7;box-shadow:none;text-decoration:none;letter-spacing:0}
 .callbar a::before{content:"";display:block;width:20px;height:20px;flex-shrink:0;background:#476477;mask-position:center;mask-size:contain;mask-repeat:no-repeat}
 .callbar a.tb-tel{background:#142c3d;color:#fff}.callbar a.tb-tel::before{background:#dbc69f;mask-image:var(--m-tel)}
 .callbar a.tb-wa{background:#edf5f3;color:#20584f}.callbar a.tb-wa::before{background:#226456}
 .callbar a.tb-cal::before{background:#80623c;mask-image:var(--m-cal)}
 .callbar a:hover,.callbar a:active{transform:none;filter:none;box-shadow:none}
 body{padding-bottom:calc(var(--mobile-bar) + env(safe-area-inset-bottom))}
 html{scroll-padding-bottom:calc(var(--mobile-bar) + env(safe-area-inset-bottom) + 18px)}
 .ftr a{min-height:44px;display:flex;align-items:center}.ftr-bottom a{display:inline-flex!important;align-items:center;min-height:44px}
}
@media(max-width:760px){
 body{font-size:17px;line-height:1.8;background:#f1f5f7}
 div.wrap{padding-inline:22px}
 .btn{min-height:50px;height:auto;line-height:1.5;white-space:normal;box-shadow:none;border-radius:8px}
 .btn-gold{box-shadow:none}.btn-gold:hover{box-shadow:none;transform:none}
 section.pad{padding-block:42px}
 .page-hero{background:#142c3d;padding-block:30px}
 .page-hero h1{font-size:30px;font-weight:700;line-height:1.38;letter-spacing:-.025em;text-wrap:balance;overflow-wrap:break-word}
 .page-hero h1 .gold{color:#d0b68c}
 .page-hero .kicker{border:0;border-radius:0;background:none;padding:0;font-size:13px;color:#d0b68c;white-space:normal}
 .page-hero .meta{font-size:14px;line-height:1.7;color:#c5d3de;gap:8px}
 .page-hero .hero-lead{font-size:17px;line-height:1.8}
 .article-layout{min-width:0;gap:0;padding-block:0 28px}
 .article-body{min-width:0;margin-inline:-22px;padding:28px 22px;background:#fff;border:0;border-radius:0;box-shadow:none;overflow-wrap:anywhere}
 .article-body>p,.article-body li{font-size:17px;line-height:1.9;color:#293c4b}
 .article-body .lead{font-size:18px;line-height:1.85}
 .article-body h2{font-size:23px;font-weight:700;line-height:1.5;margin-block:32px 15px;border-inline-start-width:2px}
 .article-body h3{font-size:20px;line-height:1.55;margin-block:25px 12px}
 .article-body a{overflow-wrap:anywhere}
 .article-body .article-cta{padding:24px 18px;background:#142c3d}
 .article-body .article-cta h3{font-size:21px;line-height:1.5}
 .article-body .article-cta p{font-size:16px;line-height:1.8}
 .article-body .tbl-scroll{max-width:100%;margin-inline:0;overscroll-behavior-inline:contain}
 .tbl-scroll{width:100%;max-width:100%;min-width:0;overflow-x:auto!important;overscroll-behavior-inline:contain;border:1px solid #dbe3e9;border-radius:8px;margin-block:20px}
 .tbl-scroll table{display:table!important;width:100%;margin:0;border:0;white-space:normal}
 .tbl-scroll:not(.tbl-fit) table{min-width:560px}
 .tbl-scroll.tbl-fit table{table-layout:fixed;min-width:100%;width:100%}
 .tbl-scroll.tbl-fit :is(th,td){min-width:0;white-space:normal!important;overflow-wrap:anywhere;font-size:14px;line-height:1.7;padding:10px 8px!important}
 .article-body table.tbl{font-size:15px;line-height:1.7}
 .article-body .tbl-fit table.tbl{table-layout:auto;min-width:100%}
 .article-body .tbl-fit :is(th,td){white-space:normal;overflow-wrap:anywhere}
 .callout,.warnbox{padding:19px 17px;font-size:16px;line-height:1.85}
 .sidebar{min-width:0}.sidebar p,.sidebar .toc a{font-size:16px;line-height:1.8}.sidebar .toc a{padding-block:11px;min-height:44px}
 .sec-title{font-size:28px;line-height:1.4;font-weight:700}.sec-sub{font-size:17px;line-height:1.85}
 .card{border-color:#dce3e8;box-shadow:none;border-radius:10px}.card h3{font-size:20px;line-height:1.5;font-weight:700}.card p{font-size:16px;line-height:1.8}.card .card-pad{padding:22px}.card .more{min-height:44px;display:inline-flex;align-items:center}
 input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{font-size:16px!important;max-width:100%;min-height:48px;scroll-margin-block:110px;line-height:1.6}
 textarea{resize:vertical}input[type=checkbox],input[type=radio]{flex-shrink:0}
 label{line-height:1.65}.calc-card,.calc-result,.bd-wrap{min-width:0;max-width:100%}
 .calc-card{padding:22px 18px;margin-inline:0;border-radius:10px;box-shadow:none}.calc-card :is(h2,h3){line-height:1.5}.calc-card :is(button,.btn){min-height:48px;height:auto;white-space:normal}
 div.wrap.bd-wrap{padding-inline:22px!important}
 .calc-card :is(.calc-fields,.form-grid){min-width:0}
 .bd-lead,.bd-note,.bd-who-grid p{line-height:1.85;font-size:17px}.bd-h2{line-height:1.5}
 .ftr{gap:26px;padding-block:34px}.ftr p{font-size:15px;line-height:1.8;overflow-wrap:anywhere}.ftr a{font-size:15px;line-height:1.6}
 .ftr>div:nth-child(2) a{font-size:15px;min-height:48px;padding-block:10px}.ftr h3,.ftr h4{font-size:17px;letter-spacing:0;color:#d1b98f}
 .ftr-bottom{font-size:14px;line-height:1.8;color:#c2ccd3}.ftr-bottom span{max-width:100%}
 .site-footer{background:#142c3d}.site-footer .logo-box img{max-width:100%;height:auto;max-height:62px;object-fit:contain;object-position:right}
}
@media(max-width:350px){div.wrap{padding-inline:18px}.article-body{margin-inline:-18px;padding-inline:18px}.brand-copy strong{font-size:14px}.brand-copy span{font-size:10px}.hdr .logo{gap:7px}.hdr .logo img{width:36px}.hdr-actions{gap:2px!important}.hdr{gap:6px}.callbar{padding-inline:10px}.page-hero h1{font-size:27px}}
@media(max-width:1150px) and (max-height:500px){.mobile-nav .mnav-foot{display:none}.mobile-nav .mnav-head{min-height:58px}.a11y-panel{top:12px;max-height:calc(100dvh - 24px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mobile-nav,.nav-scrim{transition:none}}
@media print{.callbar,.hdr-actions,.a11y-panel,.mobile-nav,.nav-scrim{display:none!important}body{padding-bottom:0}.site-header{position:static}}
