/* ROILadder v5 inner pages only: the restyle of the v4 page markup plus inner-page chrome. Loads after chrome.css. Never loaded on the homepage. */
html{scroll-padding-top:92px}
@media(max-width:900px){html{scroll-padding-top:0}}
footer h4{color:#fff}
/* the form-field restyle must not touch sliders or the calculator result button (calculator page) */
input[type=range]{padding:0;border:0;min-height:0;width:100%}
main a.result-cta,main .cta-band a{text-decoration:none!important;color:var(--navy)!important}
@media(max-width:820px){
  /* phone spacing: tighter sections, no stacked margins at section edges */
  section{padding:2.25rem 0}
  .hero.page{padding:2.5rem 0 2.25rem}
  .prose>h2:first-child,.wrap>h2:first-child{margin-top:0}
  .prose>:last-child,.wrap>:last-child{margin-bottom:0}
  .pull,.num{margin:1.75rem 0}.ask{margin:1.5rem 0}.note-box{margin:1.4rem 0}
  .prose>.pull:last-child,.prose>.ask:last-child,.prose>.note-box:last-child,.wrap>.ask:last-child,.wrap>.note-box:last-child{margin-bottom:0}
  /* the lead-magnet email box: in a column layout the 240px flex basis became the field's height */
  .mini-form input{flex:0 0 auto!important;height:auto!important}
  .eyebrow+h2{margin-top:0}
  /* decision of 14 September: no breadcrumbs on phones (the BreadcrumbList schema stays) */
  .crumbs{display:none}
  /* footer link lists: taller tap targets on phones */
  footer li{margin:0}footer li a{display:inline-block;padding:.3rem 0}
  footer .legal a{display:inline-block;padding:.3rem .1rem}
}
/* mobile bottom bar (inner pages): call or book, always one thumb away */
.mob-bar{display:none}
@media(max-width:820px){
  .mob-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--navy-deep);border-top:1px solid var(--line-on-dark);box-shadow:0 -6px 20px rgba(0,0,0,.35);padding:.6rem .75rem;gap:.6rem;padding-bottom:calc(.6rem + env(safe-area-inset-bottom))}
  .mob-bar a{flex:1;text-align:center;padding:.85rem .5rem;border-radius:8px;font-weight:700;font-size:.92rem;border:1.5px solid rgba(255,255,255,.4);color:#fff;min-height:48px;display:flex;align-items:center;justify-content:center;text-decoration:none}
  .mob-bar a.primary{background:var(--gold);border-color:var(--gold);color:var(--navy)}
  body.has-mob-bar footer{padding-bottom:6rem}
  body.has-mob-bar .pill{bottom:5.2rem}
}

/* ===================== v5: inner-page vocabulary ===================== */
body{background:var(--off-white)}
h1,h2,h3{color:var(--navy);line-height:1.15;letter-spacing:-.02em}
h1{font-size:clamp(2.2rem,4.6vw,3.3rem);font-weight:800}
h2{font-size:clamp(1.7rem,3.2vw,2.3rem);font-weight:800;margin-bottom:.9rem}
h3{font-size:1.2rem;font-weight:700;margin-bottom:.5rem}
p{color:var(--text-light)}
ul{list-style:none}
main a:not(.btn):not(.card):not(.local-list a):not(.svc-links a):not(.lnk):not(.dg-name):not(.dg-more):not(.cb-tel):not(.lit a):not(.tier a):not(.chip):not(.tab){color:var(--gold-text);font-weight:600;text-decoration:underline;text-underline-offset:.15em}
main a:not(.btn):hover{color:var(--navy)}
section{padding:4.5rem 0}
section.alt{background:#fff;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}
section.alt+section.alt{border-top:0}
section.dark{background:linear-gradient(135deg,#001f3f 0%,#0a3d66 60%,#00152b 100%);color:#fff}
section.dark h1,section.dark h2,section.dark h3{color:#fff}
section.dark p,section.dark li{color:var(--dim-on-dark)}
section.dark .eyebrow{color:var(--gold)}
section.dark a:not(.btn){color:var(--gold)}
.sub{font-size:1.08rem;max-width:64ch;margin-bottom:2.2rem}
.eyebrow{margin-bottom:.9rem}
/* page hero */
.hero.page{position:relative;background:var(--navy-deep);color:#fff;overflow:hidden;padding:4.5rem 0 4rem}
.hero.page::before{content:'';position:absolute;inset:0;background:radial-gradient(900px circle at 50% -10%,rgba(10,61,102,.9),transparent 60%),radial-gradient(700px circle at 85% 90%,rgba(212,160,23,.14),transparent 55%);pointer-events:none}
.hero.page::after{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1px);background-size:28px 28px;opacity:.35;pointer-events:none}
.hero.page>.wrap{position:relative;z-index:1}
.hero.page h1{color:#fff;max-width:24ch;text-wrap:balance;margin-bottom:1.1rem}
.hero.page p.lead{color:var(--dim-on-dark);font-size:1.15rem;max-width:64ch;margin-bottom:1.6rem}
.hero.page .btns{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem}
.hero.page .eyebrow{color:var(--gold)}
.crumbs{font-size:.8rem;color:var(--dim-on-dark)!important;padding:0 0 1.1rem!important}
.crumbs a{color:var(--dim-on-dark)!important;text-decoration:none!important;font-weight:500!important}
.crumbs a:hover{color:#fff!important}
.crumbs span{margin:0 .45rem;color:rgba(255,255,255,.35)}
/* buttons in legacy markup */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem}
main .btn:not(.btn-ghost):not(.btn-navy):not(.ghost),.mob-bar a.primary{background:var(--gold);color:var(--navy)}
main .btn:not(.ghost):hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(212,160,23,.35)}
.btn.ghost{border:1.5px solid var(--navy);color:var(--navy);background:transparent}
.btn.ghost:hover{background:var(--navy);color:#fff}
.hero .btn.ghost,section.dark .btn.ghost{border-color:rgba(255,255,255,.4);color:#fff}
.hero .btn.ghost:hover,section.dark .btn.ghost:hover{background:#fff;color:var(--navy)}
/* cards */
.grid{display:grid;gap:1.2rem}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:#fff;border:1px solid var(--border-light);border-radius:14px;padding:1.8rem;transition:transform .2s,box-shadow .2s,border-color .2s;display:block;color:var(--text-dark)}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,31,63,.09);border-color:rgba(212,160,23,.6)}
.card p{font-size:.95rem}
.card .more{display:inline-block;margin-top:1rem;font-weight:700;color:var(--gold-text);font-size:.9rem}
.card-title{font-size:1.2rem;font-weight:700;margin:0 0 .5rem;color:var(--navy);line-height:1.2}
section.dark .card{background:rgba(255,255,255,.04);border-color:var(--line-on-dark);color:#fff}
section.dark .card .card-title,section.dark .card h3{color:#fff}
section.dark .card .more{color:var(--gold)}
@media(min-width:861px){.grid.g3>.card:last-child:nth-child(3n+1){grid-column:1/-1;display:grid;grid-template-columns:1fr 2fr;gap:1.5rem;align-items:center}.grid.g3>.card:last-child:nth-child(3n+1) .more{grid-column:2}}
.fact{background:var(--off-white);border-left:3px solid var(--gold);border-radius:0 10px 10px 0;padding:1.1rem 1.3rem}
section.alt .fact{background:var(--off-white)}
.fact strong{display:block;color:var(--navy);margin-bottom:.3rem}
.fact span{font-size:.95rem;color:var(--text-light);line-height:1.6}
/* prose */
.prose{max-width:760px}
.wrap.prose{max-width:1200px}.wrap.prose>*{max-width:760px}
.prose p{margin-bottom:1.1rem;font-size:1.03rem}
.prose h2{font-size:1.6rem;margin-top:2.25rem}
.prose ul{list-style:disc;padding-left:1.4rem;margin-bottom:1.1rem;color:var(--text-light)}
.prose ol{list-style:decimal;padding-left:1.4rem;margin-bottom:1.1rem;color:var(--text-light)}
.prose li{margin-bottom:.5rem}
.prose table{width:100%;max-width:560px;border-collapse:collapse;margin:0 0 1.1rem;font-size:.95rem}
.prose th,.prose td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--border-light)}
.prose th{font-weight:700;color:var(--navy);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.prose td:last-child,.prose th:last-child{text-align:right}
.related{margin:2rem 0 0;font-size:.95rem;line-height:1.6}
h1[tabindex="-1"]:focus,h2[tabindex="-1"]:focus,.notice:focus{outline:none;box-shadow:none}
/* timeline */
.timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem}
.tl{background:var(--off-white);border:1px solid var(--border-light);border-radius:12px;padding:1.3rem}
section.alt .tl{background:var(--off-white)}
.tl .wk{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-text);margin-bottom:.4rem}
/* faq (details) */
.faq{border-top:1px solid var(--border-light);max-width:860px}
.faq details{border-bottom:1px solid var(--border-light);padding:0}
.faq summary{font-weight:700;color:var(--navy);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 0;font-size:1.05rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'';flex:0 0 28px;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--navy);background:
  linear-gradient(var(--navy),var(--navy)) center/12px 2px no-repeat,linear-gradient(var(--navy),var(--navy)) center/2px 12px no-repeat;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg);background:linear-gradient(var(--gold),var(--gold)) center/12px 2px no-repeat,linear-gradient(var(--gold),var(--gold)) center/2px 12px no-repeat,var(--navy)}
.faq details p{margin:0 0 1.2rem;font-size:.98rem;max-width:66ch}
section.dark .faq summary{color:#fff}
/* pricing */
.price{background:#fff;border:1px solid var(--border-light);border-radius:14px;padding:1.8rem;position:relative}
.price.feat{border-color:var(--gold);box-shadow:0 20px 50px rgba(0,31,63,.08)}
.price .flag{position:absolute;top:-.7rem;left:1.4rem;background:var(--gold);color:var(--navy);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .6rem;border-radius:999px}
.price .amt{font-size:1.6rem;font-weight:800;color:var(--navy);letter-spacing:-.02em;margin:.3rem 0 .1rem}
.price .when{font-size:.8rem;color:var(--gold-text);font-weight:600;margin-bottom:.8rem}
.price p{font-size:.92rem}
/* legacy cta banner -> concept banner */
.cta{position:relative;display:grid;grid-template-columns:1.4fr auto;gap:2rem;align-items:center;padding:2.2rem 2.4rem;border-radius:18px;color:#fff;background:linear-gradient(120deg,#001f3f 0%,#0a3d66 60%,#00152b 100%);overflow:hidden;border-left:6px solid var(--gold);box-shadow:0 24px 60px rgba(0,31,63,.18);text-align:left}
.cta::before{content:'';position:absolute;inset:0;background:radial-gradient(520px circle at 90% 10%,rgba(212,160,23,.25),transparent 60%);pointer-events:none}
.cta>*{position:relative;z-index:1}
.cta h2{color:#fff;font-size:clamp(1.4rem,2.6vw,1.9rem);margin:0 0 .4rem}
.cta p{color:var(--dim-on-dark);margin:0;font-size:.98rem;max-width:56ch}
.cta .btn{justify-self:end;white-space:nowrap}
.cta .eyebrow{color:var(--gold)}
section .cta{margin:0}
/* forms */
form{background:#fff;border:1px solid var(--border-light);border-radius:16px;padding:1.8rem;max-width:720px;box-shadow:0 20px 50px rgba(0,31,63,.08)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
label{display:block;font-size:.82rem;font-weight:600;color:var(--navy);margin:.8rem 0 .3rem}
input,select,textarea{width:100%;padding:.7rem .85rem;border:1px solid var(--border-light);border-radius:8px;font:inherit;font-size:1rem;min-height:48px;color:var(--text-dark);background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);border-color:var(--gold)}
input[type=checkbox]{width:24px;height:24px;min-height:0}
select{padding-right:2.5rem;text-overflow:ellipsis}
textarea{min-height:110px}
.fnote{font-size:.78rem;margin-top:.9rem;line-height:1.45}
.fhint{font-size:.8rem;color:var(--text-light);margin:.35rem 0 0}
form .btn{width:100%;justify-content:center;margin-top:1rem!important}
.alt-contact{margin-top:1.4rem;display:flex;gap:.6rem 1rem;flex-wrap:wrap;align-items:center}
.alt-contact a{font-weight:700;color:var(--gold-text)}
/* contact section on inner pages: navy block, white form */
section#contact{background:linear-gradient(135deg,#001f3f 0%,#0a3d66 60%,#00152b 100%);color:#fff;border:0}
section#contact .eyebrow{color:var(--gold)}
section#contact h2{color:#fff}
section#contact .sub,section#contact>.wrap>p{color:var(--dim-on-dark)}
section#contact .related,section#contact .related a{color:var(--dim-on-dark)}
section#contact .related a{color:var(--gold)}
section#contact form{color:var(--text-dark)}
section#contact form p{color:var(--text-light)}
section#contact .alt-contact span{color:var(--text-light)!important}
/* chips */
.local-list,.svc-links{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}
.local-list a,.svc-links a{background:#fff;border:1px solid var(--border-light);border-radius:999px;padding:.5rem 1rem;font-size:.88rem;font-weight:600;color:var(--navy);text-decoration:none;transition:border-color .2s,transform .2s}
.local-list a:hover,.svc-links a:hover{border-color:var(--gold);color:var(--gold-text);transform:translateY(-2px)}
section.dark .local-list a,section.dark .svc-links a{background:rgba(255,255,255,.06);border-color:var(--line-on-dark);color:#fff}
/* legal / long-form */
.legal .prose p,.legal .prose li{color:var(--text-light)}
.legal .prose h2{font-size:1.45rem;margin-top:2.2rem}
.note-box{border:1px solid var(--border-light);border-left:4px solid var(--gold);background:#fff;padding:1.2rem 1.4rem;border-radius:0 10px 10px 0;margin:1.8rem 0}
.note-box p{margin-bottom:.6rem}.note-box p:last-child{margin-bottom:0}
code,pre{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.92rem}
code{background:#fff;border:1px solid var(--border-light);padding:.12rem .4rem;border-radius:3px;color:var(--navy)}
pre{background:var(--navy);color:#fff;padding:1rem 1.2rem;border-radius:8px;overflow-x:auto;margin-bottom:1.1rem}
pre code{background:none;border:0;color:#fff;padding:0}
.field{margin-bottom:1.25rem}
.legal form{max-width:640px}
.legal button{min-height:48px;font:inherit;font-weight:700;background:var(--navy);color:#fff;border:2px solid var(--navy);border-radius:8px;padding:.8rem 1.6rem;cursor:pointer}
.legal button:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}
/* the other 98 percent */
.dots{display:grid;grid-template-columns:repeat(10,1fr);gap:.45rem;max-width:340px;margin:0 auto}
.dots i{display:block;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.22)}
.dots i.on{background:var(--gold)}
.ladder{margin:1.25rem 0 1.5rem;display:grid;gap:.6rem}
.rung{display:flex;gap:1rem;align-items:center;background:#fff;border:1px solid var(--border-light);border-left:4px solid var(--gold);border-radius:0 10px 10px 0;padding:.9rem 1.1rem}
.rung-n{flex:0 0 2rem;height:2rem;border-radius:50%;background:var(--navy);color:var(--gold);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:.9rem}
.rung strong{display:block;color:var(--navy);margin-bottom:.15rem}
.rung span{font-size:.95rem;color:var(--text-light);line-height:1.55}
.rung span.rung-n{color:var(--gold);font-size:.9rem}
/* email capture on tool pages */
.mini-form{display:flex;gap:.6rem;flex-wrap:wrap;align-items:stretch;margin-top:1rem;max-width:520px}
.mini-form input{flex:1 1 240px;min-height:48px}
.mini-form button{min-height:48px;white-space:nowrap}
.mini-note{font-size:.82rem;color:var(--text-light);margin-top:.6rem}
.verify{font-size:.9rem;color:var(--text-light);border-left:3px solid var(--gold);padding:.5rem 0 .5rem 1rem;margin-top:1.5rem}
.ty-steps{list-style:decimal;padding-left:1.4rem;margin:1rem 0 1.75rem;max-width:760px}
.ty-steps li{margin-bottom:.85rem;color:var(--text-light);line-height:1.6}
.ty-steps strong{color:var(--navy)}
.notice{background:#e9f5ec;border:1px solid #9fd1ad;border-left:5px solid #2e7d4f;color:#17422a;padding:1rem 1.2rem;border-radius:8px;margin:1.5rem auto;max-width:1200px;font-size:1rem}
.notice[hidden]{display:none}
/* rhythm devices */
.pull{max-width:720px;margin:3.5rem 0;padding-top:1.25rem;border-top:4px solid var(--gold)}
.pull p{font-size:clamp(1.45rem,3.1vw,2.05rem);font-weight:800;line-height:1.25;letter-spacing:-.02em;color:var(--navy);margin:0}
section.dark .pull p{color:#fff}
.ask{max-width:760px;margin:3rem 0;padding:1.6rem 1.8rem;background:#fff;border:1px solid var(--border-light);border-left:4px solid var(--gold);border-radius:0 12px 12px 0}
section.alt .ask{background:var(--off-white)}
.ask .eyebrow{display:block;margin-bottom:.5rem}
.ask h3{font-size:1.3rem;font-weight:800;margin:0 0 .6rem;color:var(--navy)}
.ask p{font-size:1.02rem;color:var(--text-dark);margin:0}
.ask p+p{margin-top:.6rem}
.ask ul{list-style:disc;padding-left:1.3rem;margin:0;color:var(--text-dark)}
.ask li{margin-bottom:.4rem}
.num{max-width:760px;margin:3.5rem 0}
.num strong{display:block;font-size:clamp(3rem,7vw,4.5rem);font-weight:800;line-height:1;color:var(--navy);letter-spacing:-.03em}
.num span{display:block;margin-top:.6rem;font-size:1.05rem;color:var(--text-dark)}
.num small{display:block;margin-top:.5rem;font-size:.85rem;color:var(--text-light)}
/* summary above the footer (every page) */
.sv-foot{background:var(--off-white);border-top:1px solid var(--border-light);padding:1.6rem 0 1.8rem}
.sv-foot p{font-size:.86rem;color:var(--text-light);max-width:none;line-height:1.5}
.sv-foot strong{color:var(--navy);font-weight:700}
@media(max-width:820px){
  .wrap{padding:0 1.15rem}
  section{padding:3rem 0}
  .hero.page{padding:3rem 0 2.75rem}
  .hero.page h1{font-size:2rem}
  .hero.page p.lead{font-size:1.02rem}
  .hero.page .btns{flex-direction:column}
  .hero.page .btn{width:100%}
  .sub{font-size:1rem;margin-bottom:1.5rem}
  .grid{gap:.85rem}
  .card{padding:1.25rem}
  .cta{grid-template-columns:1fr;padding:1.6rem 1.15rem}
  .cta .btn{justify-self:stretch}
  form{padding:1.2rem}
  .f2{grid-template-columns:1fr}
  input,select,textarea{font-size:16px}
  .timeline{grid-template-columns:1fr}
  .price{padding:1.3rem}
  .pull,.num{margin:2.5rem 0}.ask{padding:1.15rem 1.2rem}
  .mini-form{flex-direction:column}.mini-form button{width:100%}
  .local-list a,.svc-links a{padding:.6rem 1rem}
}
