/* Compliant Park design system.
   Ported verbatim from the preview build's globals.css so the cPanel
   edition renders identically. Tailwind import removed: every rule
   here is a semantic class, no utility classes are referenced. */

:root{--paper:#e9ebe3;--paper-lift:#f4f4ee;--ink:#1e2a22;--ink-soft:#5c695e;--rule:#c9cdbf;--rule-fine:#d9dcd2;--oxblood:#7c3245;--moss:#a8b5a3;--gold:#b7955d;--gold-ink:#806539}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,"Times New Roman",serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit}.shell{width:min(1180px,calc(100% - 64px));margin:auto}.narrow{max-width:760px}.eyebrow{margin:0;font:600 11px/1.4 Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase;color:var(--ink-soft)}.pale{color:#a8b3aa}.fine-print{font:400 12px/1.55 Arial,sans-serif;color:var(--ink-soft)}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);background:var(--ink);color:var(--paper-lift);padding:13px 21px;font:600 13px Arial,sans-serif;text-decoration:none;cursor:pointer;transition:.18s}.button:hover{background:var(--oxblood);border-color:var(--oxblood)}.button.light{background:var(--paper-lift);color:var(--ink);border-color:var(--paper-lift)}.button.light:hover{background:#fff;border-color:#fff}.button.small{padding:11px 16px}.text-link{font:600 13px Arial,sans-serif;text-decoration:none;border-bottom:1px solid var(--oxblood);padding-bottom:4px}.text-link span{margin-left:5px}.wordmark{font-size:21px;font-weight:bold;text-decoration:none;letter-spacing:-.02em}.wordmark i{font-weight:normal;color:var(--oxblood)}
.site-header{border-bottom:1px solid var(--rule-fine)}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between}.header-inner nav{display:flex;gap:28px}.header-inner nav a,.nav-cta{font:500 13px Arial,sans-serif;text-decoration:none;color:var(--ink-soft)}.nav-cta{color:var(--ink);border-bottom:1px solid var(--oxblood);padding-bottom:4px}.hero{padding:96px 0 82px}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:center;margin-top:20px}.hero h1{font-size:clamp(50px,6vw,78px);line-height:.98;letter-spacing:-.045em;font-weight:normal;margin:0 0 28px;max-width:11ch}.lede{font-size:20px;color:var(--ink-soft);max-width:57ch;margin:0}.actions{display:flex;align-items:center;gap:24px;margin-top:34px}.hero .fine-print{margin-top:13px}.window-card{background:var(--paper-lift);border:1px solid var(--rule);padding:28px 30px;box-shadow:14px 14px 0 rgba(30,42,34,.055)}.window-card-top,.card-label{display:flex;justify-content:space-between;gap:20px;font:500 11px Arial,sans-serif;color:var(--ink-soft);padding-bottom:20px;border-bottom:1px solid var(--rule-fine)}.window-kicker{font:600 11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.13em;margin:28px 0 8px;color:var(--oxblood)}.window-date{font-size:36px;line-height:1.1;margin:0}.timeline{height:42px;position:relative;margin-top:25px;border-bottom:1px solid var(--ink)}.timeline:before,.timeline:after{content:"";position:absolute;bottom:-4px;width:1px;height:8px;background:var(--ink)}.timeline:before{left:0}.timeline:after{right:0}.today-dot{position:absolute;left:20%;bottom:-5px;width:9px;height:9px;border-radius:50%;background:var(--ink);z-index:2}.window-band{position:absolute;left:36%;right:9%;bottom:0;height:23px;background:linear-gradient(90deg,transparent,rgba(124,50,69,.35) 20%,rgba(124,50,69,.4) 75%,transparent);filter:blur(2px)}.months{display:flex;justify-content:space-between;font:500 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-top:10px}.window-note{font-size:18px;margin:24px 0 4px}.window-card .fine-print{margin:0}.section{padding:96px 0}.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-top:14px}.section-intro h2,.ink-section h2,.lookup-cta h2{font-size:clamp(34px,4vw,52px);line-height:1.04;letter-spacing:-.035em;font-weight:normal;margin:0}.section-intro p{color:var(--ink-soft);margin:0}.three-up{display:grid;grid-template-columns:repeat(3,1fr);margin-top:52px;border:1px solid var(--rule-fine);background:var(--rule-fine);gap:1px}.three-up article{background:var(--paper-lift);padding:34px}.index{font:600 11px Arial,sans-serif;color:var(--oxblood)}.three-up h3{font-size:24px;margin:24px 0 8px}.three-up p{margin:0;color:var(--ink-soft);font-size:16px}.ink-section{background:var(--ink);color:var(--paper-lift);padding:90px 0}.moment-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px}.moment-grid>div>p:not(.eyebrow){color:#bdc6bd;max-width:48ch;margin:18px 0 30px}.moment-grid h2{margin-top:14px}.moment-list>div{border-top:1px solid #445047;padding:18px 0;display:grid;grid-template-columns:90px 1fr;gap:20px}.moment-list span{font:600 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#9ba69d}.moment-list p{margin:0;color:#d8ddd6;font-size:16px}.after-section .section-intro{align-items:start}.appeal-preview{margin-top:52px;padding:38px;border:1px solid var(--rule);display:grid;grid-template-columns:1fr 1.2fr;gap:70px;background:var(--paper-lift)}.appeal-number{display:flex;align-items:center;gap:22px}.appeal-number strong{font-size:74px;font-weight:normal;color:var(--oxblood);line-height:1}.appeal-number span{max-width:15ch}.appeal-preview>div>p{color:var(--ink-soft);margin:0 0 14px}.lookup-cta{text-align:center;padding:95px 0;background:var(--paper-lift);border-top:1px solid var(--rule-fine)}.lookup-cta h2{margin:14px auto;max-width:16ch}.lookup-cta p:not(.eyebrow){color:var(--ink-soft);margin:0 auto 28px}.site-footer{border-top:1px solid var(--rule);padding:40px 0 60px}.footer-grid{display:grid;grid-template-columns:1fr 2fr 1fr;gap:40px;align-items:start}.footer-grid p{font:400 12px/1.6 Arial,sans-serif;color:var(--ink-soft);margin:0}.footer-right{text-align:right}
.lookup-page{min-height:72vh;padding:92px 0}.lookup-page h1{font-size:55px;line-height:1.03;letter-spacing:-.04em;font-weight:normal;margin:14px 0 20px}.search-panel{background:var(--paper-lift);border:1px solid var(--rule);padding:30px;margin-top:42px}.search-panel label{display:block;font:600 12px Arial,sans-serif;margin-bottom:10px}.search-row{display:flex;gap:8px}.search-row input{flex:1;min-width:0;background:white;border:1px solid var(--ink);padding:14px 16px;font:400 15px Arial,sans-serif;color:var(--ink)}.search-panel .fine-print{margin:12px 0 0}.lookup-details{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:38px 0}.lookup-details span{font:600 11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft)}.lookup-details p{font-size:15px;color:var(--ink-soft)}
.product-layout{min-height:100vh;display:grid;grid-template-columns:245px 1fr;background:#f0f1eb}.product-sidebar{position:sticky;top:0;height:100vh;padding:27px 24px;border-right:1px solid var(--rule);display:flex;flex-direction:column;background:var(--paper)}.location-chip{display:flex;align-items:center;gap:10px;padding:18px 0;margin:24px 0 8px;border-top:1px solid var(--rule-fine);border-bottom:1px solid var(--rule-fine)}.location-chip>span{width:32px;height:32px;display:grid;place-items:center;background:var(--ink);color:var(--paper);font:600 10px Arial,sans-serif;border-radius:50%}.location-chip div{display:flex;flex-direction:column}.location-chip strong{font:600 12px Arial,sans-serif}.location-chip small{font:400 10px Arial,sans-serif;color:var(--ink-soft)}.product-sidebar nav{display:flex;flex-direction:column}.nav-group{margin:14px 0 3px;padding:0 12px;font:700 10px Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);opacity:.75}
.product-sidebar nav>.nav-group:first-child{margin-top:4px}
.product-sidebar nav a{padding:11px 12px;text-decoration:none;font:500 13px Arial,sans-serif;color:var(--ink-soft);border-left:2px solid transparent}.product-sidebar nav a.active{color:var(--ink);background:var(--paper-lift);border-left-color:var(--oxblood)}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:10px}.sidebar-bottom a,.sidebar-bottom small{font:400 11px/1.5 Arial,sans-serif;color:var(--ink-soft);text-decoration:none}.sidebar-bottom small{margin-top:12px}.product-main{padding:48px 56px 80px;max-width:1300px;width:100%;margin:auto}.product-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:34px}.product-title-row h1,.walk-header h1,.arrival-card h1{font-size:46px;line-height:1.05;font-weight:normal;letter-spacing:-.035em;margin:10px 0 10px}.product-lede{margin:0;color:var(--ink-soft);max-width:62ch}.inspector-button{background:var(--oxblood);color:white;text-decoration:none;padding:15px 20px;display:flex;flex-direction:column;min-width:225px}.inspector-button span{font:600 13px Arial,sans-serif}.inspector-button small{font:400 10px Arial,sans-serif;opacity:.75;margin-top:4px}.dashboard-grid{display:grid;grid-template-columns:1.5fr .75fr;gap:18px}.product-card{background:var(--paper-lift);border:1px solid var(--rule-fine);padding:26px}.window-main h2{font-size:34px;font-weight:normal;margin:25px 0 0}.window-main>p{margin:3px 0;color:var(--ink-soft)}.timeline.large{height:50px}.card-note{font:400 11px/1.5 Arial,sans-serif!important;color:var(--ink-soft)!important;border-top:1px solid var(--rule-fine);padding-top:14px;margin:20px 0 0!important}.grade-row{display:flex;align-items:center;gap:18px;margin:26px 0}.grade-letter{display:grid;place-items:center;width:70px;height:70px;border:6px solid #2458a6;color:#2458a6;background:white;font:bold 42px/1 Arial,sans-serif}.grade-row strong{font-size:22px}.grade-row p{font-size:14px;color:var(--ink-soft);margin:3px 0}.points-bar{height:12px;background:#d9dcd3;position:relative;margin-top:26px}.points-bar span{display:block;width:73%;height:100%;background:var(--oxblood)}.points-axis{display:flex;justify-content:space-between;font:400 9px Arial,sans-serif;color:var(--ink-soft);margin:7px 0 24px}.repeat-card{margin-top:18px}.repeat-header{display:flex;justify-content:space-between;align-items:end;gap:30px}.repeat-header h2,.quiet-card h2,.walk-finished h2{font-size:27px;font-weight:normal;line-height:1.2;margin:9px 0 0}.violation-list{margin-top:24px}.violation-row{display:grid;grid-template-columns:6px 1fr 100px 65px;gap:16px;align-items:center;border-top:1px solid var(--rule-fine);padding:15px 0}.risk-mark{height:32px;background:var(--oxblood)}.risk-mark.mid{background:var(--gold)}.risk-mark.low{background:var(--moss)}.violation-row div{display:flex;flex-direction:column}.violation-row strong{font-size:15px}.violation-row small,.violation-row>span{font:400 11px Arial,sans-serif;color:var(--ink-soft)}.violation-row b{font:600 12px Arial,sans-serif;text-align:right}.quiet-card{display:grid;grid-template-columns:1.2fr 1fr auto;gap:35px;align-items:center;padding:26px;margin-top:18px;border:1px solid var(--rule);background:transparent}.quiet-card p{font-size:14px;color:var(--ink-soft)}
.walk-header{display:flex;justify-content:space-between;align-items:end;gap:30px}.language{display:flex;flex-direction:column;gap:7px}.language label{font:600 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}.language select{background:var(--paper-lift);border:1px solid var(--rule);padding:10px 30px 10px 12px}.walk-progress{margin:34px 0 12px;height:3px;background:var(--rule);position:relative}.walk-progress span{display:block;background:var(--oxblood);height:100%;transition:.2s}.walk-progress p{position:absolute;right:0;top:8px;font:400 10px Arial,sans-serif;color:var(--ink-soft)}.walk-list{margin-top:38px}.walk-task{width:100%;display:grid;grid-template-columns:70px 1fr 100px;gap:18px;text-align:left;padding:22px 10px;border:0;border-top:1px solid var(--rule);background:transparent;color:var(--ink);font-family:inherit;cursor:pointer}.walk-task:last-child{border-bottom:1px solid var(--rule)}.walk-task:hover{background:var(--paper-lift)}.walk-task.done{opacity:.58}.task-number,.task-action{font:600 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--oxblood)}.task-copy strong{font-size:20px}.task-copy p{margin:4px 0;color:var(--ink-soft);font-size:15px}.task-copy small{font:400 10px Arial,sans-serif;color:var(--ink-soft)}.task-action{text-align:right;color:var(--ink-soft)}.walk-finished{margin-top:28px;background:var(--ink);color:var(--paper-lift);padding:30px}.walk-finished p:last-child{color:#bbc4bb;margin-bottom:0}
.inspection-top{display:flex;justify-content:space-between;font:500 11px Arial,sans-serif;color:var(--ink-soft);margin-bottom:30px}.inspection-top a{text-decoration:none}.arrival-card{min-height:72vh;background:var(--ink);color:var(--paper-lift);padding:70px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.arrival-card h1{font-size:62px}.arrival-card>p:not(.eyebrow){font-size:19px;color:#c6cec5;max-width:43ch}.arrival-card .button{margin:20px 0 12px}.arrival-card small{font:400 10px Arial,sans-serif;color:#9ca79d}.inspection-status{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--oxblood);padding:13px 16px;margin-bottom:15px}.inspection-status div{display:flex;align-items:center;gap:10px}.inspection-status p,.inspection-status strong{font:600 11px Arial,sans-serif;margin:0}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--oxblood)}.first-five{background:var(--ink);color:var(--paper-lift);padding:35px}.first-five h2,.log-panel h2{font-size:30px;font-weight:normal;margin:8px 0 18px}.first-five ol{display:grid;grid-template-columns:1fr 1fr;gap:14px 40px;padding-left:20px;color:#d8ded7;font-size:14px}.log-panel{background:var(--paper-lift);border:1px solid var(--rule);padding:30px;margin-top:15px}.log-hint{margin:8px 0 0;max-width:62ch}
.log-compose label{display:block;font:600 11px Arial,sans-serif;margin-bottom:8px}.log-compose textarea{width:100%;min-height:92px;padding:14px;border:1px solid var(--rule);background:white;font:400 14px Arial,sans-serif;resize:vertical}.log-compose>div{display:flex;justify-content:space-between;margin-top:8px}.photo-button{border:1px solid var(--rule);background:transparent;padding:10px 15px;font:600 11px Arial,sans-serif}.entries{margin-top:25px}.entries>div{display:grid;grid-template-columns:70px 1fr auto;gap:18px;align-items:start;padding:16px 0;border-top:1px solid var(--rule)}.entries time,.entries button{font:600 10px Arial,sans-serif;color:var(--ink-soft)}.entries p{font-size:14px;margin:0}.entries button{border:0;background:none;text-decoration:underline;cursor:pointer}
.deadline{border-left:2px solid var(--oxblood);padding-left:18px;display:flex;flex-direction:column}.deadline strong{font-size:26px;font-weight:normal}.deadline span{font:400 10px Arial,sans-serif;color:var(--ink-soft)}.appeal-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.choice-note{border-top:1px solid var(--rule);padding-top:15px}.choice-note strong{font:600 11px Arial,sans-serif}.choice-note p{font-size:13px;color:var(--ink-soft);margin:5px 0}.file-stat{display:grid;grid-template-columns:55px 1fr;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--rule-fine)}.file-stat strong{font-size:28px;font-weight:normal}.file-stat span{font-size:13px;color:var(--ink-soft)}.evidence-table{margin-top:18px}.evidence-row{display:grid;grid-template-columns:1.2fr 1.3fr 1fr 70px;gap:18px;padding:15px 0;border-top:1px solid var(--rule-fine);align-items:center;font-size:13px}.evidence-row.head{font:600 9px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-top:22px}.evidence-row b{font:600 10px Arial,sans-serif;color:var(--oxblood)}.legal-note{border-left:2px solid var(--oxblood);padding:4px 0 4px 18px;margin-top:24px;max-width:85ch}.legal-note strong{font-size:16px}.legal-note p{font-size:13px;color:var(--ink-soft);margin:4px 0}
@media(max-width:900px){.shell{width:min(100% - 36px,1180px)}.hero-grid,.section-intro,.moment-grid,.appeal-preview{grid-template-columns:1fr}.hero-grid{gap:50px}.three-up{grid-template-columns:1fr}.header-inner nav{display:none}.product-layout{display:block}.product-sidebar{position:static;width:100%;height:auto;display:flex;flex-direction:row;align-items:center;gap:20px;padding:16px 20px;overflow:auto}.location-chip,.sidebar-bottom{display:none}.product-sidebar nav{flex-direction:row;margin-left:auto}.product-sidebar nav a{white-space:nowrap;border-left:0;border-bottom:2px solid transparent}.product-sidebar nav a.active{border-bottom-color:var(--oxblood)}.product-main{padding:35px 24px}.dashboard-grid,.appeal-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-right{text-align:left}}
@media(max-width:620px){body{font-size:16px}.shell{width:calc(100% - 32px)}.header-inner{height:65px}.nav-cta{font-size:11px}.hero{padding:62px 0}.hero h1{font-size:49px}.actions{align-items:flex-start;flex-direction:column}.section{padding:70px 0}.window-card{padding:22px}.moment-grid{gap:45px}.appeal-preview{gap:30px;padding:26px}.appeal-number strong{font-size:60px}.product-sidebar nav a{font-size:11px;padding:9px}.product-sidebar .wordmark{font-size:17px}.product-main{padding:28px 16px}.product-title-row,.walk-header{align-items:flex-start;flex-direction:column}.inspector-button{width:100%}.quiet-card{grid-template-columns:1fr}.walk-task{grid-template-columns:46px 1fr}.task-action{display:none}.first-five ol{grid-template-columns:1fr}.arrival-card{padding:40px 28px}.arrival-card h1{font-size:45px}.evidence-row{grid-template-columns:1fr 1fr}.evidence-row.head span:nth-child(3),.evidence-row.head span:nth-child(4){display:none}.search-row{flex-direction:column}.lookup-details{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* expanded restaurant platform */
.restaurant-strip{display:grid;grid-template-columns:1fr 1.25fr .8fr;gap:12px;margin-top:-20px}.restaurant-photo{height:240px;margin:0;position:relative;overflow:hidden;background:var(--ink)}.restaurant-photo.tall{height:310px;margin-top:-35px}.restaurant-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(.96);transition:transform .5s ease}.restaurant-photo:hover img{transform:scale(1.025)}.restaurant-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(18,27,20,.72))}.restaurant-photo figcaption{position:absolute;z-index:2;left:18px;bottom:14px;color:white;font:600 10px Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase}.coverage-section{padding:96px 0;background:var(--paper-lift);border-block:1px solid var(--rule-fine)}.coverage-section .section-intro{align-items:start}.coverage-section .section-intro h2{margin-top:13px}.coverage-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:48px;border:1px solid var(--rule);background:var(--rule);gap:1px}.coverage-grid a{background:var(--paper);padding:32px;text-decoration:none;transition:.18s}.coverage-grid a:hover{background:#fff}.coverage-grid span{font:600 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:var(--oxblood)}.coverage-grid h3{font-size:25px;margin:20px 0 8px}.coverage-grid p{font-size:15px;color:var(--ink-soft);margin:0 0 24px}.coverage-grid b{font:600 11px Arial,sans-serif}.cta-secondary{display:block;width:max-content;margin:22px auto 0}.header-actions{display:flex;align-items:stretch;gap:10px}.button.secondary{background:transparent;color:var(--ink)}.button.secondary:hover{background:var(--ink);color:var(--paper)}
.portfolio-band{display:grid;grid-template-columns:1.8fr repeat(3,.65fr) auto;align-items:center;gap:20px;background:var(--ink);color:var(--paper-lift);padding:18px 22px;margin-bottom:18px}.portfolio-band>div{display:flex;align-items:center;gap:12px}.portfolio-band>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start;gap:1px;border-left:1px solid #425047;padding-left:18px}.portfolio-grade{width:42px;height:42px;display:grid;place-items:center;background:white;color:#2458a6;border:4px solid #2458a6;font:bold 25px Arial,sans-serif}.portfolio-band p{display:flex;flex-direction:column;margin:0}.portfolio-band p strong{font-size:16px}.portfolio-band p small,.portfolio-band div>span{font:400 10px Arial,sans-serif;color:#aeb8af}.portfolio-band div>strong{font-size:20px}.portfolio-band>a{font:600 11px Arial,sans-serif;color:var(--paper-lift);text-decoration:none;border-bottom:1px solid #849087;padding-bottom:3px}.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.area-card{background:var(--paper-lift);border:1px solid var(--rule-fine);padding:19px;text-decoration:none;min-height:190px;display:flex;flex-direction:column;transition:.18s}.area-card:hover{transform:translateY(-2px);border-color:var(--rule)}.area-top{display:flex;justify-content:space-between;align-items:center}.area-abbr{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:white;font:600 11px Arial,sans-serif}.area-abbr.attention{background:var(--oxblood)}.area-top b{font:600 9px Arial,sans-serif;padding:5px 7px;background:#e0e5dc;color:var(--ink-soft)}.area-top b.attention{background:#eadde0;color:var(--oxblood)}.area-card h2{font-size:20px;margin:22px 0 4px}.area-card p{font-size:12px;color:var(--ink-soft);margin:0}.area-open{font:600 10px Arial,sans-serif;margin-top:auto;color:var(--ink-soft)}.overview-columns{display:grid;grid-template-columns:1.55fr .65fr;gap:18px}.task-card .repeat-header h2,.activity-card h2{font-size:24px}.task-table{margin-top:18px}.task-row{display:grid;grid-template-columns:58px 55px 1fr 55px 75px;gap:10px;align-items:center;padding:12px 0;border-top:1px solid var(--rule-fine);text-decoration:none}.task-row time,.task-row span,.task-row small{font:400 10px Arial,sans-serif;color:var(--ink-soft)}.task-row strong{font-size:13px}.task-area{color:var(--oxblood)!important}.activity-card>div{border-top:1px solid var(--rule-fine);padding:13px 0}.activity-card>div span{font:600 9px Arial,sans-serif;color:var(--ink-soft)}.activity-card>div p{font-size:12px;margin:4px 0}.activity-card .text-link{display:inline-block;margin-top:12px}.risk-panel{display:grid;grid-template-columns:1fr auto auto;gap:35px;align-items:center;margin-top:18px;border-left:3px solid var(--oxblood)}.risk-panel h2{font-size:25px;margin:8px 0 4px}.risk-panel p:not(.eyebrow){font-size:13px;color:var(--ink-soft);margin:0}.risk-metric{display:flex;flex-direction:column;align-items:flex-end}.risk-metric strong{font-size:39px;font-weight:normal;color:var(--oxblood)}.risk-metric span{font:400 9px Arial,sans-serif;color:var(--ink-soft)}
.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.summary-card{background:var(--paper-lift);border:1px solid var(--rule-fine);padding:18px;min-height:120px;display:flex;flex-direction:column}.summary-card>span{font:600 9px Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft)}.summary-card strong{font-size:22px;font-weight:normal;margin-top:16px}.summary-card p{font:400 10px Arial,sans-serif;color:var(--ink-soft);margin:2px 0 0}.compliance-table{padding:0 24px}.compliance-head,.compliance-row{display:grid;grid-template-columns:1.7fr .65fr .65fr .75fr;gap:18px;align-items:center}.compliance-head{padding:16px 0 11px;font:600 9px Arial,sans-serif;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-soft)}.compliance-row{padding:17px 0;border-top:1px solid var(--rule-fine)}.compliance-row>div{display:flex;flex-direction:column}.compliance-row strong{font-size:14px}.compliance-row small,.compliance-row>span{font:400 10px Arial,sans-serif;color:var(--ink-soft)}.compliance-row b{font:600 9px Arial,sans-serif;color:var(--ink);width:max-content;background:#e0e5dc;padding:5px 7px}.compliance-row b.attention{background:#eadde0;color:var(--oxblood)}.page-note{border-left:2px solid var(--rule);padding-left:18px;margin-top:22px;max-width:74ch}.page-note strong{font-size:14px}.page-note p{font-size:12px;color:var(--ink-soft);margin:4px 0}.task-filters{display:flex;gap:8px;margin:25px 0}.task-filters button{border:1px solid var(--rule);background:transparent;padding:8px 11px;font:500 10px Arial,sans-serif;color:var(--ink-soft)}.task-filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.task-board{background:var(--paper-lift);border:1px solid var(--rule-fine)}.task-board>button{width:100%;display:grid;grid-template-columns:42px 65px 70px 1fr 70px;gap:14px;align-items:center;padding:17px 20px;border:0;border-bottom:1px solid var(--rule-fine);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.task-board>button:hover{background:white}.task-board>button.complete{opacity:.5}.task-board>button.complete strong{text-decoration:line-through}.task-check{width:28px;height:28px;border:1px solid var(--rule);display:grid;place-items:center;font:600 8px Arial,sans-serif}.task-board time,.task-board b,.task-board>button>span:last-child{font:500 10px Arial,sans-serif;color:var(--ink-soft)}.task-board strong{font-size:14px}.pricing-page{padding:90px 0;min-height:75vh}.pricing-page>h1{font-size:55px;line-height:1.05;font-weight:normal;letter-spacing:-.04em;margin:14px 0}.pricing-page>.lede{max-width:58ch}.pricing-card{display:grid;grid-template-columns:1fr 1.25fr auto;gap:55px;align-items:center;background:var(--paper-lift);border:1px solid var(--rule);padding:40px;margin-top:42px}.pricing-card>div{display:flex;flex-direction:column}.pricing-card>div>span{font:600 11px Arial,sans-serif;color:var(--oxblood)}.pricing-card>div strong{font-size:42px;font-weight:normal}.pricing-card>div small{font:400 11px Arial,sans-serif;color:var(--ink-soft)}.pricing-card>div p{font-size:12px;color:var(--ink-soft)}.pricing-card ul{list-style:none;padding:0;margin:0;columns:2;column-gap:30px}.pricing-card li{break-inside:avoid;font-size:13px;padding:7px 0;border-bottom:1px solid var(--rule-fine)}.pricing-note{text-align:center;font-size:13px;color:var(--ink-soft);margin-top:25px}
@media(max-width:1050px){.area-grid{grid-template-columns:1fr 1fr}.portfolio-band{grid-template-columns:1.4fr repeat(3,.6fr)}.portfolio-band>a{grid-column:1/-1;width:max-content}.overview-columns{grid-template-columns:1fr}.pricing-card{grid-template-columns:1fr}.pricing-card ul{columns:1}}
@media(max-width:900px){.restaurant-strip{grid-template-columns:1fr 1fr}.restaurant-photo.tall{height:240px;margin:0}.restaurant-photo:last-child{grid-column:1/-1}.summary-grid{grid-template-columns:1fr 1fr}.product-sidebar nav{min-width:max-content}.coverage-grid{grid-template-columns:1fr}.portfolio-band{grid-template-columns:1fr 1fr}.portfolio-band>div:not(:first-child){border-left:0;padding-left:0}.portfolio-band>a{grid-column:1/-1}.header-actions{width:100%}.header-actions .inspector-button{flex:1}}
@media(max-width:620px){.restaurant-strip{grid-template-columns:1fr}.restaurant-photo:last-child{grid-column:auto}.restaurant-photo{height:210px}.area-grid,.summary-grid{grid-template-columns:1fr}.product-sidebar{align-items:flex-start}.product-sidebar nav{overflow:auto}.portfolio-band{grid-template-columns:1fr 1fr}.portfolio-band>div:first-child{grid-column:1/-1}.task-row{grid-template-columns:55px 1fr 45px}.task-row .task-area,.task-row small{display:none}.risk-panel{grid-template-columns:1fr}.risk-metric{align-items:flex-start}.compliance-head{display:none}.compliance-row{grid-template-columns:1fr 1fr}.compliance-row>div{grid-column:1/-1}.task-board>button{grid-template-columns:35px 55px 1fr}.task-board b,.task-board>button>span:last-child{display:none}.pricing-page{padding:60px 0}.pricing-page>h1{font-size:43px}.pricing-card{padding:26px;gap:25px}}
.marketing-hero{display:grid;grid-template-columns:1fr .9fr;gap:80px;align-items:center;padding:85px 0 95px}.marketing-hero h1,.coverage-hero h1{font-size:clamp(48px,6vw,74px);line-height:1;letter-spacing:-.045em;font-weight:normal;margin:14px 0 24px}.marketing-hero figure{margin:0;height:520px;position:relative}.marketing-hero figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.72)}.marketing-hero figcaption{position:absolute;left:18px;bottom:16px;background:var(--paper-lift);padding:8px 10px;font:600 9px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}.platform-steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;border:1px solid var(--rule);background:var(--rule);gap:1px}.platform-steps article{background:var(--paper-lift);padding:32px}.platform-steps span{font:600 10px Arial,sans-serif;color:var(--oxblood)}.platform-steps h2{font-size:25px;line-height:1.15;margin:30px 0 12px}.platform-steps p{font-size:15px;color:var(--ink-soft);margin:0}.platform-detail{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.platform-detail h2{margin-top:14px}.platform-detail>div>p:not(.eyebrow){color:#bdc6bd}.platform-quote{border-block:1px solid #48544b;padding:32px 0}.platform-quote p{font-size:27px!important;line-height:1.35;color:var(--paper-lift)!important;margin:0 0 18px!important}.platform-quote span{font:600 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#9aa69c}.feature-list{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px}.feature-list div{display:flex;flex-direction:column;gap:8px;padding:0 28px;border-left:1px solid var(--rule)}.feature-list div:first-child{padding-left:0;border-left:0}.feature-list strong{font-size:34px;font-weight:normal;color:var(--oxblood)}.feature-list span{font-size:14px;color:var(--ink-soft)}.coverage-hero{background:var(--ink);color:var(--paper-lift);padding:90px 0}.coverage-hero p:last-child{font-size:20px;color:#b9c2ba}.coverage-page-grid{display:grid;grid-template-columns:repeat(2,1fr);margin-block:80px;border:1px solid var(--rule);background:var(--rule);gap:1px}.coverage-page-grid a{background:var(--paper-lift);padding:34px;text-decoration:none;min-height:250px;display:flex;flex-direction:column}.coverage-page-grid a:hover{background:white}.coverage-page-grid span{font:600 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:var(--oxblood)}.coverage-page-grid h2{font-size:27px;margin:28px 0 10px}.coverage-page-grid p{font-size:15px;color:var(--ink-soft);margin:0 0 25px}.coverage-page-grid b{font:600 10px Arial,sans-serif;margin-top:auto}.coverage-photo-band{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper-lift)}.coverage-photo-band img{width:100%;height:100%;min-height:420px;object-fit:cover;filter:saturate(.65)}.coverage-photo-band>div{padding:70px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.coverage-photo-band h2{font-size:38px;line-height:1.08;font-weight:normal;margin:15px 0}.coverage-photo-band p:not(.eyebrow){color:#bbc4bb}.coverage-photo-band .button{margin-top:14px}
@media(max-width:900px){.marketing-hero,.platform-detail,.coverage-photo-band{grid-template-columns:1fr}.platform-steps{grid-template-columns:1fr}.marketing-hero{gap:45px}.marketing-hero figure{height:400px}.feature-list{grid-template-columns:1fr}.feature-list div{padding:20px 0;border-left:0;border-top:1px solid var(--rule)}.coverage-photo-band>div{padding:50px 32px}}
@media(max-width:620px){.coverage-page-grid{grid-template-columns:1fr;margin-block:45px}.marketing-hero{padding:55px 0}.marketing-hero h1,.coverage-hero h1{font-size:46px}.coverage-photo-band>div{padding:40px 24px}}
.live-search button:disabled{opacity:.7;cursor:wait}.search-message{font:500 12px Arial,sans-serif;color:var(--oxblood)}.search-results{margin-top:28px;border:1px solid var(--rule);background:var(--paper-lift)}.search-results-head{display:flex;justify-content:space-between;padding:17px 20px}.search-results-head span{font:400 10px Arial,sans-serif;color:var(--ink-soft)}.restaurant-result{display:grid;grid-template-columns:45px 1fr auto;gap:17px;align-items:center;padding:18px 20px;border-top:1px solid var(--rule-fine);text-decoration:none}.restaurant-result:hover{background:white}.result-grade{width:38px;height:38px;display:grid;place-items:center;border:3px solid #2458a6;color:#2458a6;background:white;font:bold 22px Arial,sans-serif}.restaurant-result>div:nth-child(2){display:flex;flex-direction:column}.restaurant-result strong{font-size:16px}.restaurant-result p{font-size:12px;color:var(--ink-soft);margin:2px 0}.restaurant-result small{font:400 9px Arial,sans-serif;color:var(--ink-soft)}.result-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.result-meta span,.result-meta b{font:500 9px Arial,sans-serif;color:var(--ink-soft)}.result-meta b{color:var(--oxblood)}.no-match{margin-top:28px;border-left:3px solid var(--oxblood);background:var(--paper-lift);padding:28px}.no-match h2{font-size:26px;margin:9px 0}.no-match>p:not(.eyebrow){font-size:14px;color:var(--ink-soft)}.no-match>div{display:flex;gap:10px;margin-top:20px}.no-match button,.no-match a{border:1px solid var(--ink);background:transparent;padding:10px 13px;color:var(--ink);font:600 10px Arial,sans-serif;text-decoration:none;cursor:pointer}.source-banner{display:flex;align-items:center;gap:15px;background:var(--ink);color:var(--paper);padding:14px 18px;margin-bottom:18px}.source-banner>span{font:600 9px Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#aab5ab}.source-banner p{display:flex;flex-direction:column;margin:0}.source-banner strong{font:600 11px Arial,sans-serif}.source-banner small{font:400 9px Arial,sans-serif;color:#aab5ab}.live-profile-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.live-profile-grid h2{font-size:26px;margin:9px 0 20px}.history-list>div{display:grid;grid-template-columns:95px 1fr 80px 70px;gap:12px;align-items:center;border-top:1px solid var(--rule-fine);padding:13px 0}.history-list time,.history-list span,.history-list small{font:400 10px Arial,sans-serif;color:var(--ink-soft)}.history-list b{font:600 10px Arial,sans-serif}.repeat-live{border-top:1px solid var(--rule-fine);padding:13px 0}.repeat-live strong{font:600 10px Arial,sans-serif;color:var(--oxblood)}.repeat-live p,.empty-record{font-size:12px;color:var(--ink-soft);margin:4px 0 0}.live-profile-grid aside .button{margin-top:20px}
@media(max-width:900px){.live-profile-grid{grid-template-columns:1fr}}
@media(max-width:620px){.restaurant-result{grid-template-columns:38px 1fr}.result-meta{grid-column:2;align-items:flex-start}.no-match>div{flex-direction:column}.history-list>div{grid-template-columns:80px 1fr}.history-list b,.history-list small{grid-column:2}}
.result-actions{display:flex;gap:7px;align-items:center}.result-actions a,.result-actions button{border:1px solid var(--rule);background:transparent;color:var(--ink);padding:8px 10px;text-decoration:none;font:600 9px Arial,sans-serif;cursor:pointer}.result-actions button{background:var(--oxblood);border-color:var(--oxblood);color:white}.result-actions button:disabled{opacity:.65;cursor:wait}.new-restaurant-form{background:var(--paper-lift);border:1px solid var(--rule);padding:28px;margin:30px 0}.new-restaurant-form>div{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.new-restaurant-form label{display:flex;flex-direction:column;gap:7px;font:600 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}.new-restaurant-form input,.new-restaurant-form select{border:1px solid var(--rule);background:white;padding:12px;color:var(--ink);font:400 13px Arial,sans-serif;text-transform:none;letter-spacing:0}.new-restaurant-form>.button{margin-top:4px}.profile-rating{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;background:var(--paper-lift);border:1px solid var(--rule);padding:20px 24px;margin-bottom:18px}.giant-grade{width:82px;height:82px;display:grid;place-items:center;background:white;border:7px solid #2458a6;color:#2458a6;font:bold 54px/1 Arial,sans-serif;text-transform:uppercase}.giant-grade.good{border-color:#2458a6;color:#2458a6}.giant-grade.attention{border-color:#9b6927;color:#9b6927}.giant-grade.critical{border-color:var(--oxblood);color:var(--oxblood)}.profile-rating h2{font-size:29px;margin:4px 0}.profile-rating p:not(.eyebrow){font-size:12px;color:var(--ink-soft);margin:0;max-width:65ch}.profile-calendar-preview{display:grid;grid-template-columns:1.6fr repeat(3,1fr);align-items:center;background:#e6e1d6;border:1px solid var(--rule);margin-bottom:18px}.profile-calendar-preview>div{padding:18px;border-right:1px solid var(--rule)}.profile-calendar-preview>div:last-child{border-right:0}.profile-calendar-preview h2{font-size:19px;margin:5px 0}.profile-calendar-preview time,.profile-calendar-preview span{display:block;font:600 9px Arial,sans-serif}.profile-calendar-preview span{font-weight:400;margin-top:4px;color:var(--ink-soft)}.rating-lockup p{gap:1px}.rating-lockup p small{text-transform:uppercase;letter-spacing:.09em}.rating-lockup p em{font:400 10px Arial,sans-serif;color:#aeb8af}.portfolio-grade{min-width:52px;width:auto;padding:0 8px;height:52px;font-size:29px}.rating-lockup.attention .portfolio-grade{border-color:#b98c46;color:#8e6525}.rating-lockup.critical .portfolio-grade{border-color:#b66766;color:#9f4e4d}.record-overview{display:grid;grid-template-columns:1.2fr 2fr auto;align-items:center;gap:24px;border:1px solid var(--rule);background:var(--paper-lift);padding:20px 22px;margin-bottom:18px}.record-overview h2{font-size:22px;margin:5px 0}.record-overview dl{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0}.record-overview dt{font:600 8px Arial,sans-serif;text-transform:uppercase;color:var(--ink-soft)}.record-overview dd{font:500 11px Arial,sans-serif;margin:4px 0;text-transform:capitalize}.calendar-agenda{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.calendar-agenda>a{display:grid;grid-template-columns:44px 1fr;gap:12px;border:1px solid var(--rule-fine);padding:10px;text-decoration:none}.calendar-agenda time{display:flex;flex-direction:column;align-items:center;border-right:1px solid var(--rule-fine)}.calendar-agenda time b{font-size:23px}.calendar-agenda time span{font:600 8px Arial,sans-serif;color:var(--oxblood)}.calendar-agenda p{display:flex;flex-direction:column;margin:0;gap:2px}.calendar-agenda small,.calendar-agenda em{font:500 8px Arial,sans-serif;color:var(--ink-soft)}.calendar-agenda strong{font-size:11px}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin:24px 0 12px}.calendar-toolbar>div{display:flex;align-items:center;gap:14px}.calendar-toolbar a{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--rule);text-decoration:none}.calendar-legend span{font:600 9px Arial,sans-serif}.calendar-legend span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:5px}.calendar-legend .health:before,.month-calendar .health{background:#dce6dc}.calendar-legend .fire:before,.month-calendar .fire{background:#eadde0}.calendar-legend .license:before,.month-calendar .license{background:#e8dfcc}.month-calendar{background:var(--paper-lift);border:1px solid var(--rule)}.month-calendar header,.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.month-calendar header span{padding:10px 12px;border-right:1px solid var(--rule-fine);font:600 8px Arial,sans-serif;text-transform:uppercase;color:var(--ink-soft)}.month-grid>div{min-height:112px;padding:10px;border-top:1px solid var(--rule-fine);border-right:1px solid var(--rule-fine)}.month-grid>div>b{font:500 10px Arial,sans-serif;color:var(--ink-soft)}.month-grid>div>a{display:flex;flex-direction:column;margin-top:19px;padding:8px;color:var(--ink);text-decoration:none;font:600 10px Arial,sans-serif}.month-grid>div>a small{font:400 8px Arial,sans-serif;margin-top:3px;color:var(--ink-soft)}.calendar-bottom{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.calendar-bottom>div{background:var(--paper-lift);border:1px solid var(--rule-fine);padding:18px;display:flex;flex-direction:column}.calendar-bottom strong{font-size:17px}.calendar-bottom span{font:400 10px Arial,sans-serif;color:var(--ink-soft);margin-top:3px}.record-identity{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;background:var(--ink);color:white;padding:22px;margin-bottom:18px}.record-identity>div:nth-child(2){display:flex;flex-direction:column}.record-identity span{font:600 9px Arial,sans-serif;text-transform:uppercase;color:#aeb8af}.record-identity strong{font-size:22px;margin:4px 0}.record-identity p{font:400 10px Arial,sans-serif;color:#aeb8af;margin:0}.record-identity>a{font:600 10px Arial,sans-serif;color:white;text-decoration:none}.records-table{padding-top:0;padding-bottom:0}
@media(max-width:1050px){.record-overview{grid-template-columns:1fr}.record-overview dl{grid-template-columns:repeat(2,1fr)}.profile-calendar-preview{grid-template-columns:1fr 1fr}.portfolio-band{grid-template-columns:1fr 1fr}.portfolio-band>a{justify-self:start}.month-grid>div{min-height:90px}}
@media(max-width:700px){.new-restaurant-form>div,.calendar-agenda,.calendar-bottom{grid-template-columns:1fr}.profile-rating,.record-identity{grid-template-columns:auto 1fr}.profile-rating>a,.record-identity>a{grid-column:1/-1}.profile-calendar-preview{grid-template-columns:1fr}.calendar-legend{display:none!important}.month-grid>div{min-height:72px;padding:6px}.month-grid>div>a{font-size:8px;padding:5px;margin-top:8px}.portfolio-band{grid-template-columns:1fr}.portfolio-band>div:not(:first-child){border-left:0;padding-left:0}.record-overview dl{grid-template-columns:1fr 1fr}.result-actions{flex-direction:column;align-items:stretch}}
.authority-section{display:grid;grid-template-columns:auto 1.5fr .7fr;gap:30px;align-items:center;padding-top:55px;padding-bottom:55px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.authority-mark{width:104px;height:128px;display:grid;place-items:end start;background:var(--ink);color:var(--paper);padding:13px;font-size:40px;letter-spacing:-.06em}.authority-section h2{font-size:36px;margin:7px 0}.authority-section p:not(.eyebrow){font-size:13px;color:var(--ink-soft);max-width:66ch}.authority-meta{display:flex;flex-direction:column;border-left:1px solid var(--rule);padding-left:24px}.authority-meta strong{font-size:17px}.authority-meta span{font:400 10px Arial,sans-serif;color:var(--ink-soft);margin:4px 0 20px}.authority-meta a{font:600 10px Arial,sans-serif;color:var(--ink);text-decoration:none}.authority-page{display:grid;grid-template-columns:.55fr 1.45fr;gap:70px;align-items:start;padding-top:90px;padding-bottom:90px;max-width:1050px}.authority-page h1{font-size:58px;line-height:1.02;font-weight:normal;letter-spacing:-.04em;margin:12px 0 22px}.authority-page>div>p:not(.eyebrow):not(.lede){font-size:14px;color:var(--ink-soft);line-height:1.7;max-width:70ch}.authority-portrait{aspect-ratio:4/5;background:var(--ink);color:white;padding:25px;display:flex;flex-direction:column;justify-content:space-between}.authority-portrait>span{font-size:90px;letter-spacing:-.08em}.authority-portrait small{font:500 10px/1.5 Arial,sans-serif;color:#b4beb5;text-transform:uppercase;letter-spacing:.08em}.authority-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:30px 0}.authority-principles>div{background:var(--paper-lift);border:1px solid var(--rule-fine);padding:17px;display:flex;flex-direction:column}.authority-principles strong{font-size:14px}.authority-principles span{font:400 10px/1.5 Arial,sans-serif;color:var(--ink-soft);margin-top:7px}.authority-quote{padding-top:70px;padding-bottom:70px;max-width:900px}.authority-quote p{font-size:38px;line-height:1.15;margin:0}.authority-quote span{display:block;margin-top:20px;font:600 9px Arial,sans-serif;color:#aeb8af;text-transform:uppercase;letter-spacing:.1em}
@media(max-width:800px){.authority-section,.authority-page{grid-template-columns:1fr}.authority-mark{width:80px;height:96px}.authority-meta{border-left:0;padding-left:0}.authority-principles{grid-template-columns:1fr}.authority-page h1{font-size:44px}.authority-portrait{max-width:300px}.authority-quote p{font-size:28px}}
.restaurant-switcher{margin:14px 0 18px;padding-bottom:16px;border-bottom:1px solid #344239}.restaurant-switcher label,.language-switcher>span{display:block;font:600 8px Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#89958c;margin-bottom:7px}.restaurant-switcher form{display:block}.restaurant-switcher select{min-width:0;width:100%;background:#26352d;border:1px solid #46544b;color:white;padding:9px 8px;font:500 10px Arial,sans-serif}.restaurant-switcher>a{display:inline-block;margin-top:8px;color:#b9c2bb;text-decoration:none;font:500 9px Arial,sans-serif}.language-switcher{margin-top:auto;padding:16px 0 12px;border-top:1px solid #344239}.language-switcher>div{display:grid;grid-template-columns:1fr 1fr;gap:5px}.language-switcher button{border:1px solid #536159;background:transparent;color:#b9c2bb;padding:7px 5px;font:600 9px Arial,sans-serif;cursor:pointer}.language-switcher button.active{background:var(--paper);border-color:var(--paper);color:var(--ink)}.active-record-banner{display:flex;align-items:center;gap:10px;background:#e4dfd3;border-bottom:1px solid var(--rule);margin:-34px -36px 28px;padding:10px 36px}.active-record-banner>span{font:600 8px Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft)}.active-record-banner>strong{font-size:12px}.active-record-banner>small{font:400 9px Arial,sans-serif;color:var(--ink-soft)}.product-sidebar nav{margin-bottom:12px}.product-sidebar .sidebar-bottom{margin-top:0}
@media(max-width:700px){.active-record-banner{margin:-24px -18px 22px;padding:9px 18px;flex-wrap:wrap}.active-record-banner small{width:100%;padding-left:52px}.restaurant-switcher{margin-top:10px}}
.profile-preview-gate{position:relative;min-height:390px;margin-top:4px;overflow:hidden;border:1px solid var(--rule-fine);background:var(--paper-lift)}.profile-gated-content{filter:blur(6px);opacity:.42;pointer-events:none;user-select:none;max-height:440px;overflow:hidden;padding:14px;transform:scale(1.01)}.profile-preview-gate:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(240,241,235,.05),rgba(240,241,235,.92) 88%);pointer-events:none}.profile-gate-card{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100% - 36px));background:var(--paper);border:1px solid var(--rule);box-shadow:0 18px 55px rgba(27,38,32,.18);padding:28px;text-align:center}.profile-gate-card h2{font-size:29px;line-height:1.1;margin:8px 0}.profile-gate-card>p:not(.eyebrow){font-size:13px;line-height:1.55;color:var(--ink-soft);margin:0 auto 20px;max-width:52ch}.profile-gate-card>div{display:flex;align-items:center;justify-content:center;gap:16px}.profile-gate-card small{display:block;font:400 9px Arial,sans-serif;color:var(--ink-soft);margin-top:16px}.profile-gate-card button:disabled{opacity:.65}.product-layout[data-language="es"] .language-switcher button.active{letter-spacing:.01em}
@media(max-width:620px){.profile-gate-card{padding:22px}.profile-gate-card h2{font-size:24px}.profile-gate-card>div{flex-direction:column;gap:10px}}
.demo-exit-link{color:#fff!important;font-weight:700!important}
.data-provenance{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:white;margin-bottom:18px}.data-provenance>div{padding:17px 20px;display:flex;flex-direction:column;border-right:1px solid #415047}.data-provenance>div:last-child{border-right:0}.data-provenance span{font:600 8px Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#aeb8af}.data-provenance strong{font-size:14px;margin:5px 0 2px}.data-provenance small{font:400 9px Arial,sans-serif;color:#aeb8af}.official-sources{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:20px;border-left:2px solid var(--rule);padding-left:18px}.official-sources .eyebrow{width:100%;margin:0}.official-sources a,.official-sources span{font:500 10px Arial,sans-serif;color:var(--ink-soft);text-decoration:none}.official-sources span{display:block;width:100%}.empty-public-state{background:var(--paper-lift);border:1px solid var(--rule);padding:30px;margin-bottom:18px}.empty-public-state h2{font-size:28px;margin:8px 0}.empty-public-state>p:not(.eyebrow){font-size:13px;color:var(--ink-soft)}.operator-record-panel{background:var(--paper-lift);border:1px solid var(--rule);padding:24px;margin-top:18px}.operator-record-head{display:flex;justify-content:space-between;align-items:flex-start;gap:25px}.operator-record-head h2{font-size:25px;margin:7px 0}.operator-record-head p:not(.eyebrow){font-size:12px;color:var(--ink-soft);margin:0}.record-entry-form{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:22px 0;padding:20px;background:var(--paper);border:1px solid var(--rule-fine)}.record-entry-form label{display:flex;flex-direction:column;gap:6px;font:600 9px Arial,sans-serif;text-transform:uppercase;color:var(--ink-soft)}.record-entry-form input,.record-entry-form textarea{border:1px solid var(--rule);background:white;padding:10px;font:400 12px Arial,sans-serif;color:var(--ink);text-transform:none}.record-entry-form textarea{min-height:75px;resize:vertical}.record-entry-form .wide{grid-column:1/-1}.record-entry-form>.button{justify-self:start}.operator-record-list>div{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:14px;padding:13px 0;border-top:1px solid var(--rule-fine)}.operator-record-list strong{font-size:13px}.operator-record-list span,.operator-record-list small,.operator-record-list>p{font:400 10px Arial,sans-serif;color:var(--ink-soft)}
@media(max-width:700px){.data-provenance,.record-entry-form{grid-template-columns:1fr}.data-provenance>div{border-right:0;border-bottom:1px solid #415047}.operator-record-head{flex-direction:column}.operator-record-list>div{grid-template-columns:1fr}}
.operator-record-list>div{grid-template-columns:1.2fr .8fr 1fr auto;align-items:center}.operator-record-list>div>div:first-child{display:flex;flex-direction:column}.operator-record-list em{font:500 8px Arial,sans-serif;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;margin-top:3px}.operator-record-actions{display:flex;gap:6px}.operator-record-actions button,.record-cancel{border:1px solid var(--rule);background:transparent;padding:7px 9px;font:600 9px Arial,sans-serif;color:var(--ink);cursor:pointer}.operator-record-actions .delete{color:var(--oxblood)}.record-form-actions{display:flex;align-items:center;gap:10px}.record-error{font:600 10px Arial,sans-serif;color:var(--oxblood)}.requirement-status{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.record-needed-button{border:0;border-bottom:1px solid var(--oxblood);background:transparent;padding:0 0 2px;color:var(--oxblood);font:600 9px Arial,sans-serif;cursor:pointer}.record-needed-button:hover{color:var(--ink);border-color:var(--ink)}
.about-hero{padding-top:95px;padding-bottom:75px;max-width:1000px}.about-hero h1{font-size:clamp(48px,6vw,76px);font-weight:normal;line-height:1;letter-spacing:-.045em;margin:14px 0 25px;max-width:12ch}.about-hero .lede{max-width:60ch}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border:1px solid var(--rule);margin-bottom:90px}.about-grid article{background:var(--paper-lift);padding:38px}.about-grid h2,.about-practices h2,.about-expert h2{font-size:32px;line-height:1.12;font-weight:normal;margin:12px 0}.about-grid article>p:last-child,.about-expert p{font-size:14px;color:var(--ink-soft)}.about-practices{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.about-practice-list article{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:18px 0;border-top:1px solid #455148}.about-practice-list span{font:600 9px Arial,sans-serif;color:#aeb8af}.about-practice-list strong{font-size:17px}.about-practice-list p{font-size:13px;color:#bdc6bd;margin:5px 0 0}.about-expert{display:grid;grid-template-columns:1fr auto;gap:70px;align-items:end;padding-top:75px;padding-bottom:85px}.about-expert>div{max-width:720px}.about-expert .text-link{white-space:nowrap;margin-bottom:8px}
@media(max-width:800px){.about-grid,.about-practices,.about-expert{grid-template-columns:1fr}.about-hero{padding-top:65px}.about-grid{margin-bottom:60px}.about-practices{gap:35px}.about-expert{gap:25px}}
@media(max-width:700px){.operator-record-list>div{grid-template-columns:1fr}.operator-record-actions{margin-top:4px}}
.calendar-navigation{gap:20px}.calendar-stepper{display:flex;align-items:flex-end!important;gap:7px!important;flex-wrap:wrap}.calendar-stepper button{height:34px;min-width:34px;border:1px solid var(--rule);background:var(--paper-lift);color:var(--ink);padding:0 10px;font:600 9px Arial,sans-serif;cursor:pointer}.calendar-stepper button:hover{background:white;border-color:var(--ink)}.calendar-stepper label{display:flex;flex-direction:column;gap:3px}.calendar-stepper label>span{font:600 7px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}.calendar-stepper select,.calendar-stepper input{height:34px;border:1px solid var(--rule);background:var(--paper-lift);color:var(--ink);padding:0 9px;font:600 10px Arial,sans-serif}.calendar-stepper select{text-transform:capitalize}.calendar-stepper input{width:76px}.month-grid .outside-month{background:#eceee7}.month-calendar{overflow:hidden}
@media(max-width:700px){.calendar-navigation{align-items:flex-start}.calendar-stepper{width:100%}.calendar-stepper label:first-of-type{flex:1}.calendar-stepper select{width:100%}.calendar-stepper button{padding:0 8px}.month-calendar{overflow-x:auto}.month-calendar header,.month-grid{min-width:680px}}
.task-summary .summary-card strong{font-size:16px;line-height:1.25}.public-task-board{background:var(--paper-lift);border:1px solid var(--rule);margin-top:18px}.public-task-board header,.public-task-board article{display:grid;grid-template-columns:145px 95px 1fr 1.4fr;gap:18px;align-items:center;padding:14px 18px}.public-task-board header{font:600 8px Arial,sans-serif;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-soft)}.public-task-board article{border-top:1px solid var(--rule-fine)}.public-task-board time{font:600 10px Arial,sans-serif;color:var(--ink-soft)}.public-task-board article>b{width:max-content;padding:5px 7px;font:600 8px Arial,sans-serif;text-transform:uppercase;letter-spacing:.04em;background:#e2e5dd}.public-task-board article>b.estimated{background:#e8dfcc;color:#735c31}.public-task-board article>b.preparation{background:#eadde0;color:var(--oxblood)}.public-task-board article>strong{font-size:14px}.public-task-board article>p{font:400 10px/1.5 Arial,sans-serif;color:var(--ink-soft);margin:0}.schedule-method{border-left:2px solid var(--rule);padding-left:20px;margin-top:24px;max-width:920px}.schedule-method h2{font-size:19px;line-height:1.35;margin:8px 0}.schedule-method>p:not(.eyebrow){font-size:11px;color:var(--ink-soft)}.schedule-method>div{display:flex;gap:22px;margin-top:15px}
@media(max-width:760px){.public-task-board header{display:none}.public-task-board article{grid-template-columns:1fr auto}.public-task-board article>strong,.public-task-board article>p{grid-column:1/-1}.schedule-method>div{flex-direction:column;gap:12px}}
.pricing-shell{max-width:1220px}.pricing-shell>.lede{max-width:68ch}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:48px}.pricing-grid article{position:relative;display:flex;flex-direction:column;background:var(--paper-lift);border:1px solid var(--rule);padding:30px;min-height:560px}.pricing-grid article.featured{border:2px solid var(--ink);padding:29px}.plan-flag{position:absolute;right:18px;top:17px;font:600 8px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--oxblood)}.pricing-grid h2{font-size:45px;font-weight:normal;margin:18px 0 0}.pricing-grid h2 small{font:500 10px Arial,sans-serif;color:var(--ink-soft);margin-left:5px}.plan-equivalent{font:600 10px Arial,sans-serif;color:var(--oxblood);margin:0 0 20px}.plan-description{font-size:13px;color:var(--ink-soft);min-height:82px}.pricing-grid ul{list-style:none;padding:0;margin:15px 0 28px}.pricing-grid li{font-size:12px;padding:9px 0;border-top:1px solid var(--rule-fine)}.pricing-grid .button{margin-top:auto}.plan-light{background:transparent;color:var(--ink)}.pricing-rationale{display:grid;grid-template-columns:.4fr 1fr;gap:25px 60px;border-top:1px solid var(--rule);margin-top:70px;padding:55px 0 20px}.pricing-rationale h2{font-size:29px;font-weight:normal;margin:0}.pricing-rationale>p:last-child{grid-column:2;font-size:13px;color:var(--ink-soft);margin:0}
.settings-layout{display:grid;grid-template-columns:180px 1fr;gap:28px}.settings-index{position:sticky;top:25px;align-self:start;display:flex;flex-direction:column;border-left:1px solid var(--rule)}.settings-index span{padding:8px 12px;font:500 10px Arial,sans-serif;color:var(--ink-soft)}.settings-content{display:flex;flex-direction:column;gap:14px}.settings-message{background:#e1e6dc;border-left:3px solid var(--ink);padding:10px 14px;font:600 10px Arial,sans-serif}.settings-card{display:grid;grid-template-columns:.75fr 1.25fr;gap:45px;background:var(--paper-lift);border:1px solid var(--rule);padding:26px;scroll-margin-top:20px}.settings-card h2{font-size:25px;margin:7px 0}.settings-card>div:first-child>p:not(.eyebrow){font-size:12px;color:var(--ink-soft)}.settings-card form:not(.invite-form){display:grid;grid-template-columns:1fr 1fr;gap:13px}.settings-card form label{display:flex;flex-direction:column;gap:5px;font:600 9px Arial,sans-serif;color:var(--ink-soft)}.settings-card input,.settings-card select{border:1px solid var(--rule);background:white;color:var(--ink);padding:10px;font:400 11px Arial,sans-serif}.settings-card input:disabled{background:#eaebe6;color:var(--ink-soft)}.settings-card label small{font:400 8px Arial,sans-serif}.settings-card form>.button{justify-self:start}.settings-plan-actions,.security-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.settings-plan-actions>span{font-size:13px}.settings-plan-actions>small{font:400 9px Arial,sans-serif;color:var(--ink-soft)}.plan-switcher{display:flex;gap:6px;flex-wrap:wrap}.plan-switcher button{border:1px solid var(--rule);background:transparent;color:var(--ink);padding:8px 10px;font:600 9px Arial,sans-serif;cursor:pointer}.plan-switcher button.active{background:var(--ink);border-color:var(--ink);color:white}.member-list article{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--rule-fine)}.member-list article>div{display:flex;flex-direction:column}.member-list strong{font-size:12px}.member-list span,.member-list b{font:500 9px Arial,sans-serif;color:var(--ink-soft)}.member-list button{border:0;background:transparent;color:var(--oxblood);font:600 8px Arial,sans-serif;cursor:pointer}.invite-form{display:grid;grid-template-columns:1fr 100px auto;gap:7px;margin-top:15px}.seat-note{font:500 9px Arial,sans-serif;color:var(--oxblood)}.notification-list label{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0;border-top:1px solid var(--rule-fine)}.notification-list label>span{display:flex;flex-direction:column}.notification-list strong{font-size:12px}.notification-list small{font:400 9px Arial,sans-serif;color:var(--ink-soft);margin-top:3px}.notification-list input{width:17px;height:17px;accent-color:var(--ink)}
.portfolio-table{background:var(--paper-lift);border:1px solid var(--rule);overflow-x:auto}.portfolio-table header,.portfolio-row{display:grid;grid-template-columns:1.35fr 85px 110px 1fr 90px 55px;gap:18px;align-items:center;min-width:880px;padding:14px 18px}.portfolio-table header{font:600 8px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}.portfolio-row{min-height:76px;border-top:1px solid var(--rule-fine);color:var(--ink);text-decoration:none;transition:.15s}.portfolio-row:hover,.portfolio-row:focus-visible{background:white;outline:none;box-shadow:inset 3px 0 var(--oxblood)}.portfolio-row>div{display:flex;flex-direction:column}.portfolio-row>div:first-child strong{font-size:14px}.portfolio-table small,.portfolio-table time{font:400 9px Arial,sans-serif;color:var(--ink-soft)}.portfolio-row>div:nth-child(4)>strong{font-size:11px}.portfolio-open{font:600 9px Arial,sans-serif;border-bottom:1px solid var(--oxblood);width:max-content}.portfolio-result b{display:grid;place-items:center;width:36px;height:36px;border:3px solid #2458a6;background:white;color:#2458a6;font:bold 19px Arial,sans-serif}.portfolio-result.attention b{border-color:#9b6927;color:#9b6927}.portfolio-result.critical b{border-color:var(--oxblood);color:var(--oxblood)}.product-sidebar .sidebar-bottom>a.active{color:var(--ink);font-weight:700}
@media(max-width:900px){.pricing-grid{grid-template-columns:1fr}.pricing-grid article{min-height:0}.plan-description{min-height:0}.settings-layout{grid-template-columns:1fr}.settings-index{position:static;flex-direction:row;overflow:auto;border-left:0;border-bottom:1px solid var(--rule)}.settings-card{grid-template-columns:1fr}.pricing-rationale{grid-template-columns:1fr}.pricing-rationale>p:last-child{grid-column:1}}
@media(max-width:620px){.settings-card form:not(.invite-form),.invite-form{grid-template-columns:1fr}.settings-card{padding:20px}.pricing-grid article{padding:24px}.pricing-grid article.featured{padding:23px}}
.settings-layout{display:block}.settings-content{max-width:980px}.account-chip{text-decoration:none}.account-chip>img,.account-logo-preview img{width:42px;height:42px;border-radius:50%;object-fit:cover;background:white;border:1px solid var(--rule)}.account-chip>img{flex:0 0 auto}.account-chip>span{width:42px;height:42px}.account-chip small{text-transform:capitalize}.account-logo-preview{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:white;overflow:hidden;margin:16px 0}.account-logo-preview img{width:100%;height:100%;border:0}.account-logo-preview>span{font-size:28px}.logo-upload{display:inline-flex!important;width:max-content;border:1px solid var(--ink);padding:8px 10px;color:var(--ink)!important;cursor:pointer}.logo-upload input{position:absolute;opacity:0;pointer-events:none}.remove-logo{border:0;background:transparent;color:var(--oxblood);padding:7px 0;font:600 8px Arial,sans-serif;cursor:pointer}.member-actions{display:flex!important;flex-direction:row!important;gap:8px}.member-actions button:first-child{color:var(--ink)}
@media(max-width:760px){.portfolio-table{overflow:visible;background:transparent;border:0}.portfolio-table header{display:none}.portfolio-row{min-width:0;grid-template-columns:1fr auto;gap:14px;margin-bottom:10px;padding:18px;min-height:0;background:var(--paper-lift);border:1px solid var(--rule);box-shadow:none}.portfolio-row>div:first-child{grid-column:1/-1}.portfolio-row>time{grid-column:1}.portfolio-row>div:nth-child(4){grid-column:1/-1;padding-top:10px;border-top:1px solid var(--rule-fine)}.portfolio-row>div:nth-child(5){grid-column:1}.portfolio-open{grid-column:1/-1;display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;background:var(--ink);border:0;color:white}.settings-card{grid-template-columns:1fr}.account-identity-card>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:center}.account-identity-card .eyebrow,.account-identity-card>div:first-child>p,.account-identity-card .logo-upload,.account-identity-card .remove-logo{grid-column:1/-1}.account-logo-preview{grid-row:2/4;margin:10px 0}.account-identity-card h2{grid-column:2}.member-list article{grid-template-columns:1fr auto}.member-list .member-actions{grid-column:1/-1;justify-content:flex-end}.header-inner{height:auto;min-height:76px;flex-wrap:wrap;padding:16px 0}.header-inner nav{order:3;width:100%;overflow-x:auto;padding-top:10px}.header-inner nav a{white-space:nowrap}.nav-cta{margin-left:auto}}

/* Member sign-in. The preview delegated auth to ChatGPT sign-in and so had
   no login screen; these follow the same tokens and type scale. */
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--paper)}
.auth-card{width:min(430px,100%);background:var(--paper-lift);border:1px solid var(--rule);padding:40px;display:grid;gap:15px}
.auth-card .wordmark{margin-bottom:6px}
.auth-card h1{font-size:36px;font-weight:normal;line-height:1.06;letter-spacing:-.035em;margin:6px 0 10px}
.auth-card label{display:flex;flex-direction:column;gap:6px;font:600 9px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}
.auth-card input{border:1px solid var(--rule);background:#fff;padding:11px;font:400 14px Arial,sans-serif;color:var(--ink)}
.auth-card .button{margin-top:6px}
.auth-card .text-link{justify-self:start;margin-top:4px}
.auth-card.register-card{width:min(560px,calc(100% - 40px));padding:44px 48px;gap:20px}
.register-heading{border-bottom:1px solid var(--rule-fine);padding-bottom:22px}.register-heading h1{margin:8px 0 10px}.register-heading>p:last-child{margin:0;max-width:46ch;font:400 13px/1.55 Arial,sans-serif;color:var(--ink-soft)}
.register-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px 14px}.register-fields label{margin:0}.register-fields label:nth-child(3),.register-fields label:nth-child(4){grid-column:1/-1}.register-card input{min-height:48px}.register-card label small{display:block;margin-top:5px;font:400 10px/1.45 Arial,sans-serif;text-transform:none;letter-spacing:0;color:var(--ink-soft)}
.register-language{border:0;border-top:1px solid var(--rule-fine);border-bottom:1px solid var(--rule-fine);padding:20px 0;margin:2px 0}.register-language legend{float:left;width:100%;padding:0 0 10px;font:700 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}.register-language-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;clear:both}.register-language-options label{position:relative;margin:0}.register-language-options input{position:absolute;opacity:0;pointer-events:none}.register-language-options span{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--rule);background:#fff;font:700 12px Arial,sans-serif;text-transform:none;letter-spacing:.02em;color:var(--ink-soft);cursor:pointer}.register-language-options input:checked+span{border-color:var(--ink);background:var(--ink);color:white}.register-language-options input:focus-visible+span{outline:3px solid rgba(124,50,69,.24);outline-offset:2px}.register-language>small{display:block;margin-top:10px;font:400 11px/1.5 Arial,sans-serif;color:var(--ink-soft)}
.register-card>.button{min-height:52px;margin:0}.register-card>.fine-print{margin:-5px 0 2px;text-align:center;font-size:12px}.register-card>.text-link{justify-self:center}
@media(max-width:620px){.register-screen{padding:0}.auth-card.register-card{width:100%;min-height:100vh;margin:0;padding:28px 22px;border-left:0;border-right:0}.register-fields{grid-template-columns:1fr}.register-fields label{grid-column:1/-1}.register-heading h1{font-size:31px}.register-language-options span{min-height:48px}}
.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:28px 0 0}

/* Homepage photo strip: three equal panels.
   Overrides the preview's staggered 1fr/1.25fr/.8fr layout and its
   taller first figure, at every breakpoint. */
.restaurant-strip{grid-template-columns:repeat(3,1fr);margin-top:0}
.restaurant-photo,.restaurant-photo.tall{height:260px;margin:0}
@media(max-width:900px){
  .restaurant-strip{grid-template-columns:repeat(3,1fr)}
  .restaurant-photo,.restaurant-photo.tall{height:200px}
  .restaurant-photo:last-child{grid-column:auto}
}
@media(max-width:620px){
  .restaurant-strip{grid-template-columns:1fr}
  .restaurant-photo,.restaurant-photo.tall{height:210px}
}

/* Location profile: stacked sections; only the history/repeats pair is a grid. */
.location-profile{padding-top:34px;padding-bottom:70px}
.location-profile>*+*{margin-top:18px}
.location-profile .product-title-row{margin-bottom:0}

/* ============================================================
   Operations dashboard — tiles, fines, category bar, rail.
   Same information architecture as the reference property tool,
   rendered in the Compliant Park palette.
   ============================================================ */
.ops-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.ops-tabs a{padding:9px 15px;border:1px solid var(--rule);border-radius:999px;background:var(--paper-lift);color:var(--ink-soft);text-decoration:none;font:600 10px Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;transition:.15s}
.ops-tabs a:hover{border-color:var(--ink);color:var(--ink)}
.ops-tabs a.active{background:var(--oxblood);border-color:var(--oxblood);color:#fff}

.ops-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.ops-main{display:grid;gap:18px;min-width:0}
.ops-rail{display:grid;gap:14px;position:sticky;top:18px}

.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.metric-tile{background:var(--paper-lift);border:1px solid var(--rule-fine);border-left:3px solid var(--rule);padding:14px 16px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;transition:.15s}
.metric-tile:hover{border-color:var(--rule);border-left-color:var(--ink);background:#fff}
.metric-tile b{font:normal 34px/1 Georgia,serif}
.metric-tile span{font:600 8px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-top:8px}
.metric-tile small{font:400 10px Arial,sans-serif;color:var(--ink-soft);margin-top:2px}
.metric-tile.hot{border-left-color:var(--oxblood)}
.metric-tile.hot b{color:var(--oxblood)}

.fines-card{background:var(--ink);color:var(--paper-lift);padding:24px}
.fines-card .eyebrow{color:#9fb0a3}
.fines-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:10px 0 18px}
.fines-head strong{display:block;font:normal 40px/1 Georgia,serif}
.fines-head span{font:400 10px Arial,sans-serif;color:#9fb0a3}
.donut{width:78px;height:78px;flex:none;border-radius:50%;display:grid;place-content:center;text-align:center;
  background:conic-gradient(var(--moss) calc(var(--pct)*1%), rgba(255,255,255,.14) 0)}
.donut em{display:block;font:normal 17px Georgia,serif;font-style:normal;color:#fff}
.donut span{font:600 7px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#cfd8d0}
.fines-split{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0;padding-top:16px;border-top:1px solid rgba(255,255,255,.16)}
.fines-split dt{font:600 8px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#9fb0a3}
.fines-split dd{margin:5px 0 0;font:500 15px Arial,sans-serif;color:#fff}
.fines-card .fine-print{color:#9fb0a3;margin:14px 0 0}

.cat-bar{display:flex;height:10px;margin:16px 0 14px;background:var(--rule-fine);overflow:hidden}
.cat-bar i{display:block;height:100%}
.cat-legend{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 22px}
.cat-legend li{display:flex;align-items:center;gap:9px;font:400 12px Arial,sans-serif;color:var(--ink-soft);border-bottom:1px solid var(--rule-fine);padding-bottom:7px}
.cat-legend i{width:9px;height:9px;flex:none}
.cat-legend span{flex:1}
.cat-legend b{color:var(--ink);font-weight:700}
.seg-health{background:#2458a6}.seg-fire{background:var(--oxblood)}.seg-license{background:var(--gold)}
.seg-document{background:var(--moss)}.seg-task{background:#5c695e}.seg-other{background:var(--rule)}

.rail-card{background:var(--paper-lift);border:1px solid var(--rule-fine);padding:16px}
.rail-title{font-size:19px;font-weight:normal;margin:0 0 12px}
.rail-cal-head{font:600 10px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px}
.rail-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.rail-cal i{font-style:normal;display:grid;place-items:center;height:28px;font:400 11px Arial,sans-serif;color:var(--ink)}
.rail-cal .dow{font:600 8px Arial,sans-serif;color:var(--ink-soft);height:20px}
.rail-cal .pad{visibility:hidden}
.rail-cal .day{border:1px solid transparent}
.rail-cal .today{background:var(--gold);color:var(--ink);font-weight:700}
.rail-cal .marked{border-color:var(--rule);font-weight:700}
.rail-cal .marked.health{box-shadow:inset 0 -3px 0 #2458a6}
.rail-cal .marked.fire{box-shadow:inset 0 -3px 0 var(--oxblood)}
.rail-cal .marked.license{box-shadow:inset 0 -3px 0 var(--gold)}
.rail-cal .marked.document,.rail-cal .marked.task,.rail-cal .marked.other{box-shadow:inset 0 -3px 0 var(--moss)}

.rail-item{border-top:1px solid var(--rule-fine);padding:12px 0}
.rail-item:first-of-type{border-top:0}
.rail-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rail-item-head strong{font:600 11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.04em}
.rail-item em{font-style:normal;font:600 8px Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:999px;white-space:nowrap}
.rail-item em.new{background:#dce6dc;color:#2f6b46}
.rail-item em.chg{background:#dbe4f2;color:#2458a6}
.rail-item p{margin:7px 0 0;font:400 12px Arial,sans-serif}
.rail-item small{display:block;font:400 10px Arial,sans-serif;color:var(--ink-soft);margin-top:3px}
.rail-item time{display:block;font:400 9px Arial,sans-serif;color:var(--ink-soft);margin-top:6px}

@media(max-width:1050px){
  .ops-layout{grid-template-columns:1fr}
  .ops-rail{position:static;grid-template-columns:1fr 1fr;display:grid}
}
@media(max-width:760px){
  .metric-grid{grid-template-columns:repeat(2,1fr)}
  .ops-rail{grid-template-columns:1fr}
  .fines-split{grid-template-columns:1fr 1fr}
  .cat-legend{grid-template-columns:1fr}
}
.category-card .repeat-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.result-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.result-actions form{margin:0}

/* Grade badge in the dark band.
   `.portfolio-band div>span` (0,1,1) was overriding `.portfolio-grade`
   (0,1,0), so the letter inherited the small grey stat-label style.
   Restated at higher specificity, using the same palette as .giant-grade
   so every grade on the site reads the same. */
.portfolio-band .portfolio-grade{
  font:bold 29px/1 Arial,sans-serif;
  color:#2458a6;
  background:#fff;
  border:4px solid #2458a6;
  min-width:52px;height:52px;padding:0 8px;
  display:grid;place-items:center;text-transform:uppercase;
}
.portfolio-band .rating-lockup.good     .portfolio-grade{border-color:#2458a6;color:#2458a6}
.portfolio-band .rating-lockup.attention .portfolio-grade{border-color:#9b6927;color:#9b6927}
.portfolio-band .rating-lockup.critical  .portfolio-grade{border-color:var(--oxblood);color:var(--oxblood)}
.portfolio-band .rating-lockup.not_rated .portfolio-grade{border-color:#8d968c;color:#5c695e}

/* Same unification for the search-result badge. */
.result-grade.good{border-color:#2458a6;color:#2458a6}
.result-grade.attention{border-color:#9b6927;color:#9b6927}
.result-grade.critical{border-color:var(--oxblood);color:var(--oxblood)}
.giant-grade.not_rated{border-color:#8d968c;color:#5c695e}
.result-actions .added{background:#dce6dc;border-color:#b6c9b8;color:#2f6b46;font-weight:700}
.result-actions .added:hover{background:#cfe0d0}
.button.added{background:#dce6dc;border-color:#b6c9b8;color:#2f6b46}
.button.added:hover{background:#cfe0d0;border-color:#9dbaa2;color:#26593b}

/* ---- Accessibility ----------------------------------------------------
   Keyboard and screen-reader support: a skip link, a visible focus ring
   that meets contrast, and a class for text that should be announced but
   not shown (status is never conveyed by colour alone). */
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:var(--paper-lift);padding:12px 18px;font:600 12px Arial,sans-serif;text-decoration:none}
.skip-link:focus{left:8px;top:8px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
:focus-visible{outline:3px solid var(--oxblood);outline-offset:2px}
.product-sidebar nav a:focus-visible,.sidebar-bottom a:focus-visible{outline-offset:-3px}
main:focus{outline:none}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---- Estimated exposure ----------------------------------------------
   A range, never a single figure, and visually distinct from recorded
   amounts so an estimate is never mistaken for a bill. */
.exposure-panel{border-left:3px solid var(--gold)}
.exposure-head{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;flex-wrap:wrap}
.exposure-head h2{font-size:38px;font-weight:normal;margin:8px 0 6px;letter-spacing:-.02em}
.exposure-head>div:first-child{flex:1;min-width:260px}
.exposure-head p:not(.eyebrow){font-size:14px;color:var(--ink-soft);margin:0;max-width:60ch}
.exposure-actual{display:flex;flex-direction:column;align-items:flex-end;border-left:1px solid var(--rule);padding-left:20px}
.exposure-actual span{font:600 9px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.exposure-actual strong{font-size:24px;font-weight:normal;margin-top:5px}
.exposure-actual small{font:400 10px Arial,sans-serif;color:var(--ink-soft)}
.exposure-panel .fine-print{margin:16px 0 0;max-width:78ch}
.exposure-actions{display:flex;align-items:center;gap:16px;margin-top:18px;flex-wrap:wrap}
.first-pass .feature-list strong{color:var(--ink)}
@media(max-width:760px){.exposure-actual{border-left:0;padding-left:0;align-items:flex-start;margin-top:14px}.exposure-head h2{font-size:30px}}

/* ---- Dashboard header: identity, verdict, KPIs -----------------------
   Replaces the tall stack of title row + dark band + record card. The
   whole thing fits above the fold so the state is readable in seconds. */
.dash-head{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:16px}
.dash-id{display:flex;align-items:center;gap:18px;min-width:0}
.dash-id .portfolio-grade{flex:none;width:64px;min-width:64px;height:64px;font:bold 34px/1 Arial,sans-serif;
  display:grid;place-items:center;background:#fff;border:4px solid #2458a6;color:#2458a6;text-transform:uppercase}
.dash-id .portfolio-grade.good{border-color:#2458a6;color:#2458a6}
.dash-id .portfolio-grade.attention{border-color:#9b6927;color:#9b6927}
.dash-id .portfolio-grade.critical{border-color:var(--oxblood);color:var(--oxblood)}
.dash-id .portfolio-grade.not_rated{border-color:#8d968c;color:#5c695e}
.dash-id h1{font-size:38px;line-height:1.02;font-weight:normal;letter-spacing:-.03em;margin:4px 0 3px}
.dash-sub{margin:0;font:400 12px Arial,sans-serif;color:var(--ink-soft)}

.dash-verdict{margin:0 0 18px;font-size:19px;color:var(--ink);border-left:3px solid var(--moss);padding-left:14px}
.dash-verdict.needs{border-left-color:var(--oxblood)}
.dash-verdict span{color:var(--ink-soft)}

.kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px}
.kpi{background:var(--paper-lift);border:1px solid var(--rule-fine);border-top:3px solid var(--rule);
  padding:14px 15px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;min-width:0;transition:.15s}
.kpi:hover{background:#fff;border-top-color:var(--ink)}
.kpi span{font:600 8px Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-soft)}
.kpi b{font:normal 30px/1.05 Georgia,serif;margin:9px 0 4px;overflow-wrap:anywhere}
.kpi small{font:400 10px Arial,sans-serif;color:var(--ink-soft)}
.kpi.hot{border-top-color:var(--oxblood)}
.kpi.hot b{color:var(--oxblood)}

.exposure-note{background:var(--paper-lift);border:1px solid var(--rule-fine);padding:0 16px;margin-bottom:18px}
.exposure-note summary{cursor:pointer;padding:13px 0;font:600 11px Arial,sans-serif;letter-spacing:.04em;color:var(--ink-soft)}
.exposure-note summary:hover{color:var(--ink)}
.exposure-note[open] summary{border-bottom:1px solid var(--rule-fine)}
.exposure-note p{font-size:13px;color:var(--ink-soft);max-width:80ch;margin:14px 0}
.exposure-note>*:last-child{margin-bottom:16px;display:inline-block}

@media(max-width:1050px){.kpi-row{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){
  .kpi-row{grid-template-columns:repeat(2,1fr)}
  .dash-id h1{font-size:29px}
  .dash-id .portfolio-grade{width:52px;min-width:52px;height:52px;font-size:27px}
  .dash-verdict{font-size:16px}
}
.wordmark{display:inline-flex;align-items:center;gap:9px}
.public-brand{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex:none}
.language-switch{display:inline-grid!important;grid-template-columns:1fr 1fr;gap:0!important;align-items:center;width:auto!important;margin-top:3px;padding:2px!important;border:1px solid var(--rule);border-radius:999px;background:var(--paper-lift);overflow:visible!important}
.header-inner .language-switch a{display:grid!important;place-items:center;min-width:35px!important;min-height:22px!important;padding:0 7px!important;border:0!important;border-radius:999px;text-decoration:none!important;white-space:nowrap;font:700 9px/1 Arial,sans-serif!important;letter-spacing:.08em;color:var(--ink-soft)!important}
.header-inner .language-switch a[aria-current="true"]{background:var(--ink);color:var(--paper-lift)!important}
.language-switch span{display:none}
@media(max-width:900px){.header-inner .public-brand .language-switch{display:inline-grid!important;position:static;order:initial;width:auto;padding:2px;background:var(--paper-lift);grid-template-columns:1fr 1fr;overflow:visible}}
.wordmark-mark{width:30px;height:auto;display:block}
.product-sidebar .wordmark-mark{width:26px}
@media(max-width:620px){.wordmark-mark{width:24px}}

/* ---- Help centre ---- */
.help-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:56px;padding-bottom:80px;align-items:start}
.help-nav{position:sticky;top:24px;display:flex;flex-direction:column;gap:9px}
.help-nav a{font:500 13px Arial,sans-serif;color:var(--ink-soft);text-decoration:none;padding:3px 0}
.help-nav a:hover{color:var(--ink)}
.help-nav .fine-print{margin-top:18px;border-top:1px solid var(--rule-fine);padding-top:14px}
.help-topic{margin-bottom:44px;scroll-margin-top:24px}
.help-topic h2{font-size:29px;font-weight:normal;letter-spacing:-.02em;margin:0 0 14px}
.help-item{border-top:1px solid var(--rule-fine)}
.help-item:last-child{border-bottom:1px solid var(--rule-fine)}
.help-item summary{cursor:pointer;padding:16px 0;font-size:17px;list-style:none}
.help-item summary::-webkit-details-marker{display:none}
.help-item summary:before{content:"+";display:inline-block;width:22px;color:var(--oxblood);font:600 16px Arial,sans-serif}
.help-item[open] summary:before{content:"–"}
.help-item p{margin:0 0 18px 22px;font-size:15px;color:var(--ink-soft);max-width:72ch}
@media(max-width:900px){.help-layout{grid-template-columns:1fr;gap:26px}.help-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:14px}}

/* ======================================================================
   Mobile
   The preview turned the sidebar into a horizontally scrolling strip,
   which pushes the page sideways on a phone. Instead: a real disclosure
   menu, stacked cards, and nothing that can overflow the viewport.
   ====================================================================== */

/* Nothing may exceed the viewport width. */
html,body{max-width:100%;overflow-x:hidden}
.product-layout,.product-main,.ops-main,.admin-main{min-width:0}
.product-main>*{min-width:0}
table{max-width:100%}

/* Sidebar nav is normal flow on desktop; the toggle only exists on mobile. */
.nav-toggle-input{position:absolute;opacity:0;pointer-events:none}
.nav-toggle-label{display:none}
.help-body{min-width:0}

@media(max-width:980px){
  .product-layout{display:block}
  .product-sidebar{position:static;width:auto;height:auto;display:block;padding:14px 18px;
    border-right:0;border-bottom:1px solid var(--rule);overflow:visible}
  .product-sidebar .wordmark{font-size:19px}

  /* Collapsible menu on mobile, no JavaScript. */
  .nav-toggle-label{display:flex;align-items:center;justify-content:space-between;
    cursor:pointer;margin-top:12px;padding:11px 13px;
    border:1px solid var(--rule);background:var(--paper-lift);
    font:600 11px Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--ink)}
  .nav-toggle-label:after{content:"▾";font-size:13px;color:var(--ink-soft)}
  .nav-toggle-input:checked~.nav-toggle-label:after{content:"▴"}
  .nav-collapse{display:none}
  .nav-toggle-input:checked~.nav-collapse{display:block}
  .nav-toggle-input:focus-visible~.nav-toggle-label{outline:3px solid var(--oxblood);outline-offset:2px}

  .product-sidebar nav{flex-direction:column;margin:10px 0 0;min-width:0}
  .product-sidebar nav a{border-left:2px solid transparent;border-bottom:0;white-space:normal;padding:12px 13px}
  .product-sidebar nav a.active{border-left-color:var(--oxblood);border-bottom-color:transparent}
  .location-chip,.sidebar-bottom{display:flex}
  .sidebar-bottom{flex-direction:column;margin-top:14px}
  .restaurant-switcher{margin:12px 0}
  .restaurant-switcher select{width:100%}
  .language-switcher{margin-top:14px}

  .product-main{padding:22px 18px 60px;max-width:100%}
  .active-record-banner{margin:-22px -18px 20px;padding:11px 18px;flex-wrap:wrap}

  /* Everything becomes a stacked card. */
  .dash-head{flex-direction:column;gap:16px}
  .header-actions{width:100%;display:flex;gap:10px;flex-wrap:wrap}
  .header-actions>*{flex:1;min-width:150px}
  .kpi-row{grid-template-columns:repeat(2,1fr)}
  .area-grid,.summary-grid,.overview-columns,.admin-columns,
  .live-profile-grid,.record-overview,.calendar-agenda,.settings-layout{grid-template-columns:1fr;display:grid}
  .record-overview dl{grid-template-columns:repeat(2,1fr)}
  .portfolio-band{grid-template-columns:1fr;gap:14px}
  .portfolio-band>div:not(:first-child){border-left:0;padding-left:0}

  /* Wide tables scroll inside their own card, never the page. */
  .compliance-table,.table-wrap,.portfolio-table,.month-calendar{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .compliance-head,.compliance-row{min-width:560px}
  .portfolio-table header,.portfolio-row{min-width:640px}
}

@media(max-width:560px){
  .kpi-row{grid-template-columns:1fr}
  .dash-id{gap:13px}
  .dash-id h1{font-size:25px}
  .exposure-head h2{font-size:26px}
  .walk-task{grid-template-columns:1fr;gap:10px}
  .record-overview dl{grid-template-columns:1fr}
}

/* ======================================================================
   Public header navigation
   The ported stylesheet hid the nav entirely below 900px with nothing in
   its place. Below that width it becomes a proper disclosure menu:
   keyboard operable, labelled, 44px touch targets, no JavaScript.
   ====================================================================== */
.sitenav-input{position:absolute;opacity:0;width:0;height:0}
.sitenav-label{display:none}
.header-inner nav a[aria-current="page"]{color:var(--ink);border-bottom:1px solid var(--oxblood);padding-bottom:3px}
.nav-cta-inline{display:none}

@media(max-width:900px){
  .header-inner{flex-wrap:wrap;position:relative}

  /* Hamburger, 44x44 so it is a comfortable touch target. */
  .sitenav-label{display:flex;flex-direction:column;justify-content:center;gap:5px;
    width:44px;height:44px;padding:10px;margin-left:auto;cursor:pointer;box-sizing:border-box}
  .sitenav-label span{display:block;height:2px;background:var(--ink);transition:.2s}
  .sitenav-input:checked~.sitenav-label span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .sitenav-input:checked~.sitenav-label span:nth-child(2){opacity:0}
  .sitenav-input:checked~.sitenav-label span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .sitenav-input:focus-visible~.sitenav-label{outline:3px solid var(--oxblood);outline-offset:2px}

  /* The menu itself: full-width panel, generous rows, never side-scrolling. */
  .header-inner nav{display:none;order:3;width:100%;flex-direction:column;gap:0;
    overflow:visible;padding:6px 0 12px;border-top:1px solid var(--rule-fine);margin-top:10px}
  .sitenav-input:checked~nav{display:flex}
  .header-inner nav a{padding:14px 2px;min-height:44px;display:flex;align-items:center;
    font-size:15px;color:var(--ink);border-bottom:1px solid var(--rule-fine);white-space:normal}
  .header-inner nav a[aria-current="page"]{border-bottom-color:var(--rule-fine);color:var(--oxblood);font-weight:700}

  /* The CTA moves inside the menu; the header keeps one clean line. */
  .header-inner>.nav-cta{display:none}
  .nav-cta-inline{display:flex;margin-top:12px;border:0;
    background:var(--ink);color:var(--paper-lift);justify-content:center;
    padding:14px;font:600 13px Arial,sans-serif}
  .nav-cta-inline[aria-current]{color:var(--paper-lift)}
}

/* ---- Legal documents & footer links ---- */
.legal-hero{padding-bottom:30px}
.legal-switch{margin-top:14px}
.legal-switch .text-link{margin-right:6px}
.legal-doc{padding-bottom:80px;max-width:900px}
.legal-section{border-top:1px solid var(--rule-fine);padding:26px 0}
.legal-section h2{display:flex;gap:14px;align-items:baseline;font-size:25px;font-weight:normal;margin:0 0 12px}
.legal-section h2 span{font:600 11px Arial,sans-serif;color:var(--oxblood);letter-spacing:.08em}
.legal-section p{font-size:15px;line-height:1.65;color:var(--ink-soft);max-width:74ch;margin:0 0 13px}
.legal-section strong{color:var(--ink)}
.legal-section ul{margin:0 0 13px 18px;color:var(--ink-soft);font-size:15px}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0}
.footer-links a{font:500 12px Arial,sans-serif;color:var(--ink-soft);text-decoration:none}
.footer-links a:hover{color:var(--ink)}

/* ---- Onboarding -------------------------------------------------------
   One decision per screen, visible progress, and an escape hatch. The goal
   is the shortest path to seeing your own record. */
.onboard{width:min(760px,calc(100% - 40px));margin:0 auto;padding:38px 0 90px}
.onboard .wordmark{margin-bottom:34px;display:inline-flex}
.onboard h1{font-size:40px;font-weight:normal;letter-spacing:-.03em;line-height:1.05;margin:0 0 12px}
.onboard .lede{margin:0 0 26px}


.onboard-steps li{display:flex;align-items:center;gap:9px;font:600 10px Arial,sans-serif;
  letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft)}
.onboard-steps span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;
  border:1px solid var(--rule);font:600 11px Arial,sans-serif}



.onboard .live-search{margin-bottom:26px}
.onboard .search-results{display:grid;gap:10px}
.onboard-record{display:flex;align-items:center;gap:28px;flex-wrap:wrap;
  background:var(--paper-lift);border:1px solid var(--rule-fine);padding:24px;margin:8px 0 24px}






@media(max-width:620px){
  .onboard h1{font-size:29px}
  
  
  
}

/* ============================================================
   Plan entitlements — locked sections, the free overview and
   the membership pages. Locked sections stay in the navigation
   and explain themselves; hiding them only makes people guess.
   ============================================================ */
.product-sidebar nav a.nav-locked{color:var(--ink-soft)}
.nav-lock{margin-left:7px;font-size:10px;color:var(--gold-ink);vertical-align:1px}

.paywall{background:var(--paper-lift);border:1px solid var(--rule);padding:34px;max-width:720px}
.paywall h1,.paywall h2{margin:8px 0 12px;font-size:31px;line-height:1.18;letter-spacing:-.01em}
.paywall h2{font-size:26px}
.paywall-lede{margin:0 0 14px;color:var(--ink-soft)}
.paywall-note{margin:0 0 22px;font:400 14px/1.6 Arial,sans-serif;color:var(--ink-soft);border-left:2px solid var(--rule);padding-left:14px}
.paywall-list{margin:0 0 24px;padding:0;list-style:none}
.paywall-list li{position:relative;padding:8px 0 8px 22px;border-bottom:1px solid var(--rule-fine);font:400 14px/1.5 Arial,sans-serif}
.paywall-list li:last-child{border-bottom:0}
.paywall-list li::before{content:"";position:absolute;left:2px;top:15px;width:7px;height:7px;background:var(--gold)}
.paywall-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.paywall-inline{margin-top:26px;max-width:none}

.free-head{display:flex;gap:22px;align-items:flex-start;margin-bottom:26px}
.free-head h1{margin:6px 0 6px;font-size:38px;line-height:1.1;letter-spacing:-.015em}
.free-head .dash-sub{margin:0;color:var(--ink-soft);font:400 14px/1.5 Arial,sans-serif}
.free-record{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}
.free-record>div{background:var(--paper-lift);padding:18px 20px}
.free-record span{display:block;font:600 10px/1.4 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.free-record strong{display:block;margin:8px 0 4px;font-size:31px;line-height:1;letter-spacing:-.02em}
.free-record p{margin:0;font:400 12px/1.5 Arial,sans-serif;color:var(--ink-soft)}

/* ---------------------------------------------------- binder */
.binder-tab{background:var(--paper-lift);border:1px solid var(--rule);margin-bottom:14px}
.binder-tab>summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;cursor:pointer;list-style:none}
.binder-tab>summary::-webkit-details-marker{display:none}
.binder-tab-name{font-size:20px;letter-spacing:-.01em}
.binder-tab-meta{font:600 11px/1.4 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.binder-body{padding:0 20px 20px;border-top:1px solid var(--rule-fine)}
.binder-files{list-style:none;margin:16px 0 0;padding:0}
.binder-file{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:12px 0 12px 14px;border-bottom:1px solid var(--rule-fine);border-left:3px solid var(--moss)}
.binder-file.expiring{border-left-color:var(--gold)}
.binder-file.expired{border-left-color:var(--oxblood)}
.binder-file.none{border-left-color:var(--rule)}
.binder-file a{font:600 14px Arial,sans-serif;text-decoration:none;border-bottom:1px solid var(--rule)}
.binder-file small{display:block;font:400 12px/1.5 Arial,sans-serif;color:var(--ink-soft)}
.binder-expiry{font:400 12px/1.5 Arial,sans-serif;color:var(--ink-soft)}
.binder-file.expired .binder-expiry{color:var(--oxblood);font-weight:700}
.binder-expected{margin-top:18px;border-top:1px solid var(--rule-fine);padding-top:14px}
.binder-expected ul{list-style:none;margin:10px 0 0;padding:0}
.binder-expected li{padding:6px 0;font:400 13px/1.5 Arial,sans-serif}
.binder-expected li strong{display:block}
.binder-expected li span{color:var(--ink-soft);font-size:12px}
.binder-upload{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end;margin-top:18px;border-top:1px solid var(--rule-fine);padding-top:16px}
.binder-upload label{display:block;font:600 11px/1.6 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.binder-upload input{display:block;width:100%;margin-top:5px;padding:9px 10px;border:1px solid var(--rule);background:#fff;font:400 14px Arial,sans-serif;color:var(--ink)}
.binder-upload button{align-self:end}

/* ------------------------------------- onboarding & membership */
.onboard{max-width:720px}
.onboard h1{margin:8px 0 10px;font-size:38px;line-height:1.1;letter-spacing:-.015em}
.onboard-steps{counter-reset:s;list-style:none;display:block;margin:26px 0 0;padding:0}
.onboard-steps li{counter-increment:s;position:relative;padding:20px 0 20px 54px;border-top:1px solid var(--rule)}
.onboard-steps li::before{content:counter(s);position:absolute;left:0;top:20px;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--ink);font:700 13px Arial,sans-serif}
.onboard-steps strong{display:block;font-size:20px;font-weight:400;letter-spacing:-.01em}
.onboard-steps span{display:block;margin:4px 0 12px;font:400 14px/1.55 Arial,sans-serif;color:var(--ink-soft)}

.subscribe-page{max-width:640px;background:var(--paper-lift);border:1px solid var(--rule);padding:34px}
.subscribe-page h1{margin:8px 0 14px;font-size:36px;line-height:1.1;letter-spacing:-.015em}
.subscribe-price{margin:0 0 6px;display:flex;align-items:baseline;gap:9px}
.subscribe-price strong{font-size:44px;line-height:1;letter-spacing:-.03em}
.subscribe-price span{font:600 12px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.subscribe-list{margin:22px 0 26px;padding:0;list-style:none;border-top:1px solid var(--rule-fine)}
.subscribe-list li{position:relative;padding:10px 0 10px 22px;border-bottom:1px solid var(--rule-fine);font:400 14px/1.5 Arial,sans-serif}
.subscribe-list li::before{content:"";position:absolute;left:2px;top:17px;width:7px;height:7px;background:var(--gold)}
.subscribe-actions{margin:0 0 14px}
.subscribe-note{margin:0;font:400 14px/1.6 Arial,sans-serif;color:var(--ink-soft)}
.subscribe-fineprint{margin:0;font:400 12px/1.6 Arial,sans-serif;color:var(--ink-soft)}

@media(max-width:760px){
  .free-record{grid-template-columns:1fr}
  .free-head{flex-direction:column;gap:14px}
  .free-head h1{font-size:30px}
  .paywall,.subscribe-page{padding:22px}
  .paywall h1,.subscribe-page h1,.onboard h1{font-size:27px}
  .binder-file{flex-direction:column;align-items:flex-start;gap:6px}
  .binder-upload{grid-template-columns:1fr}
}

/* ------------------------------------------- closing an account */
.button.danger{background:var(--oxblood);border-color:var(--oxblood)}
.button.danger:hover{background:#5f2434;border-color:#5f2434}
.settings-card.danger-zone{border-left:3px solid var(--oxblood)}
.close-page{max-width:640px}
.close-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);margin:22px 0}
.close-summary>div{background:var(--paper-lift);padding:14px 16px}
.close-summary span{display:block;font:600 10px/1.4 Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-soft)}
.close-summary strong{display:block;margin-top:5px;font-size:19px;font-weight:400;letter-spacing:-.01em}
.close-alt{margin:0 0 22px;padding:14px 16px;border-left:2px solid var(--gold);background:#fff;font:400 14px/1.6 Arial,sans-serif}
.close-alt strong{font-weight:700}
.close-reasons{border:1px solid var(--rule);padding:16px 18px;margin:0 0 18px}
.close-reasons legend{padding:0 8px;font:600 11px/1.4 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.close-reasons label{display:flex;gap:10px;align-items:flex-start;padding:7px 0;font:400 14px/1.5 Arial,sans-serif;cursor:pointer;min-height:36px}
.close-reasons input{margin-top:4px;width:16px;height:16px;flex:none}
.close-field{display:block;margin:0 0 16px;font:600 11px/1.6 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.close-field small{font:400 11px/1.5 Arial,sans-serif;letter-spacing:0;text-transform:none}
.close-field strong{color:var(--oxblood)}
.close-field input,.close-field textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid var(--rule);background:#fff;font:400 15px Arial,sans-serif;color:var(--ink)}
.close-field textarea{font-family:Georgia,serif;resize:vertical}
.close-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:22px}
.close-form{margin-top:4px}
.site-notice{background:var(--ink);color:var(--paper-lift);padding:16px 0;font:400 15px/1.6 Arial,sans-serif}
.site-notice strong{font-weight:700}
.billing-warn{display:block;border-left:2px solid var(--oxblood);padding:8px 0 8px 12px;color:var(--ink)}

/* ============================================================
   Notes — tips, rule changes and seasonal patterns.
   ============================================================ */
.notes-index{padding:70px 0 90px}
.notes-head{max-width:760px;margin-bottom:38px}
.notes-head h1{margin:10px 0 14px;font-size:46px;line-height:1.06;letter-spacing:-.02em}
.notes-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px;border-bottom:1px solid var(--rule);padding-bottom:18px}
.notes-filter a{display:inline-flex;align-items:center;min-height:38px;padding:0 15px;border:1px solid var(--rule);text-decoration:none;font:600 12px Arial,sans-serif;letter-spacing:.04em;color:var(--ink-soft);background:var(--paper-lift)}
.notes-filter a:hover{border-color:var(--ink);color:var(--ink)}
.notes-filter a.active{background:var(--ink);border-color:var(--ink);color:var(--paper-lift)}

.notes-list{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule)}
.note-card{background:var(--paper-lift);display:grid;grid-template-columns:280px 1fr;gap:26px;padding:26px}
.note-card>div{min-width:0}
.note-card h2{margin:8px 0 10px;font-size:26px;line-height:1.18;letter-spacing:-.01em;font-weight:normal}
.note-card h2 a{text-decoration:none;border-bottom:1px solid transparent}
.note-card h2 a:hover{border-bottom-color:var(--oxblood)}
.note-card p{margin:0;color:var(--ink-soft);font:400 15px/1.6 Arial,sans-serif}
.note-meta{margin-top:10px !important;font-size:12px !important;letter-spacing:.06em;text-transform:uppercase}
.note-thumb{display:block;overflow:hidden;background:var(--rule)}
.note-thumb img{width:100%;height:100%;min-height:170px;object-fit:cover;filter:saturate(.65);display:block}
.note-lead{grid-template-columns:1fr}
.note-lead .note-thumb img{min-height:320px}
.note-lead h2{font-size:36px}

.note-single{max-width:760px;padding:60px 0 80px}
.note-single header h1{margin:12px 0 16px;font-size:44px;line-height:1.06;letter-spacing:-.02em}
.note-single header .lede{color:var(--ink-soft);font-size:20px;line-height:1.5}
.note-single .eyebrow a{color:inherit;text-decoration:none;border-bottom:1px solid var(--rule)}
.note-hero{margin:32px 0;height:360px}
.note-hero img{width:100%;height:100%;object-fit:cover;filter:saturate(.65)}
.note-body{font-size:18px;line-height:1.68}
.note-body h2{margin:38px 0 12px;font-size:29px;line-height:1.18;letter-spacing:-.01em;font-weight:normal}
.note-body h3{margin:28px 0 10px;font-size:22px;line-height:1.25;font-weight:normal}
.note-body h4{margin:22px 0 8px;font:700 13px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.note-body p{margin:0 0 18px}
.note-body ul,.note-body ol{margin:0 0 20px;padding-left:22px}
.note-body li{margin-bottom:9px}
.note-body blockquote{margin:24px 0;padding:14px 20px;border-left:3px solid var(--gold);background:var(--paper-lift);font-style:italic}
.note-body hr{border:0;border-top:1px solid var(--rule);margin:34px 0}
.note-body a{color:var(--oxblood)}
.note-body strong{font-weight:700}

.note-foot{margin-top:46px;border-top:1px solid var(--rule);padding-top:24px}
.note-cta{margin-top:26px;background:var(--ink);color:var(--paper-lift);padding:34px;display:flex;flex-wrap:wrap;gap:22px;align-items:center;justify-content:space-between}
.note-cta h2{margin:8px 0 0;font-size:26px;line-height:1.2;font-weight:normal;max-width:420px}
.note-cta .eyebrow{color:var(--moss)}
.note-more{margin-top:52px;border-top:1px solid var(--rule);padding-top:24px}
.note-more>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:14px}
.note-more a{background:var(--paper-lift);padding:18px 20px;text-decoration:none;display:block}
.note-more a:hover{background:#fff}
.note-more span{display:block;font:600 10px Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-soft)}
.note-more strong{display:block;margin-top:7px;font-weight:normal;font-size:17px;line-height:1.3}

@media(max-width:860px){
  .notes-index{padding:44px 0 60px}
  .notes-head h1{font-size:32px}
  .note-card{grid-template-columns:1fr;gap:16px;padding:20px}
  .note-lead .note-thumb img,.note-thumb img{min-height:190px}
  .note-lead h2,.note-card h2{font-size:24px}
  .note-single{padding:36px 0 56px}
  .note-single header h1{font-size:31px}
  .note-single header .lede{font-size:17px}
  .note-hero{height:220px;margin:24px 0}
  .note-body{font-size:17px}
  .note-body h2{font-size:24px}
  .note-cta{padding:24px;flex-direction:column;align-items:flex-start}
}

/* ============================================================
   Contact — the only route to a person. No address or number is
   published anywhere on the site, so this has to be easy to find.
   ============================================================ */
.site-header-actions{display:flex;align-items:center;gap:16px}
/* `.header-inner nav a` is (0,2,1), so a bare `.nav-contact` loses the colour
   and font fight inside the nav. Both placements are qualified to (0,2,2) —
   which also means the desktop/mobile swap has to be explicit here, since a
   qualified rule outranks the generic `.nav-cta-inline{display:none}`. */
.site-header-actions a.nav-contact{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 18px;border:1px solid var(--ink);background:transparent;color:var(--ink);font:600 13px Arial,sans-serif;text-decoration:none;white-space:nowrap;transition:.18s}
.site-header-actions a.nav-contact:hover{background:var(--ink);color:var(--paper-lift)}
.header-inner nav a.nav-contact{display:none}   /* menu copy is mobile-only */

.contact-page{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start;padding:70px 0 90px}
.contact-intro h1{margin:10px 0 14px;font-size:44px;line-height:1.06;letter-spacing:-.02em}
.contact-points{list-style:none;margin:28px 0 0;padding:0}
.contact-points li{padding:14px 0;border-top:1px solid var(--rule);font:400 15px/1.6 Arial,sans-serif;color:var(--ink-soft)}
.contact-points strong{color:var(--ink)}

.contact-form-wrap{background:var(--paper-lift);border:1px solid var(--rule);padding:32px}
.contact-form label{display:block;margin-bottom:16px;font:600 11px/1.6 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.contact-form label small{font:400 11px Arial,sans-serif;letter-spacing:0;text-transform:none}
.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid var(--rule);background:#fff;font:400 15px Arial,sans-serif;color:var(--ink)}
.contact-form textarea{font-family:Georgia,serif;font-size:16px;line-height:1.55;resize:vertical}
.contact-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-soft) 50%),linear-gradient(135deg,var(--ink-soft) 50%,transparent 50%);background-position:calc(100% - 19px) 20px,calc(100% - 14px) 20px;background-size:5px 5px;background-repeat:no-repeat}
.contact-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-form .fine-print{margin:14px 0 0}
.contact-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-errors{border-left:3px solid var(--oxblood);background:#fff;padding:12px 16px;margin-bottom:20px}
.contact-errors p{margin:0 0 6px;font:400 14px/1.5 Arial,sans-serif}
.contact-errors p:last-child{margin:0}
.contact-sent h2{margin:8px 0 12px;font-size:29px;line-height:1.18;letter-spacing:-.01em}
.contact-sent p{margin:0 0 20px;color:var(--ink-soft)}

@media(max-width:900px){
  /* The whole right-hand group folds into the menu, so it must go. The old
     rule targeted `.header-inner>.nav-cta`, which this wrapper broke.
     Named site-header-actions because .header-actions is already the portal
     dashboard's button group — reusing it hid those buttons on mobile. */
  .site-header-actions{display:none}
  /* The menu sits on paper, not ink: outline it in ink and keep the text dark. */
  .header-inner nav a.nav-contact{display:flex;justify-content:center;align-items:center;
    min-height:46px;margin-top:10px;padding:14px;border:1px solid var(--ink);
    border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);
    font:600 13px Arial,sans-serif}
  .contact-page{grid-template-columns:1fr;gap:34px;padding:44px 0 60px}
  .contact-intro h1{font-size:32px}
  .contact-form-wrap{padding:22px}
  .contact-row{grid-template-columns:1fr;gap:0}
}

/* ---- Sign-in side pages: forgot / reset ---- */
.auth-card{width:min(430px,calc(100% - 40px));margin:70px auto;background:var(--paper-lift);border:1px solid var(--rule);padding:32px}
.auth-card h1{margin:8px 0 12px;font-size:27px;line-height:1.2;letter-spacing:-.01em}
.auth-card p{margin:0 0 18px;color:var(--ink-soft);font:400 15px/1.6 Arial,sans-serif}
.auth-card label{display:block;margin-bottom:15px;font:600 11px/1.6 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.auth-card input{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid var(--rule);background:#fff;font:400 15px Arial,sans-serif;color:var(--ink)}
.auth-card .button{width:100%;margin-bottom:14px}
.auth-error{border-left:3px solid var(--oxblood);background:#fff;padding:11px 14px;margin-bottom:18px;font:400 14px/1.5 Arial,sans-serif}

/* ---- OATH response and filing-support workflow ---- */
.filing-boundary{border-left:3px solid var(--gold);background:#eee9dc;padding:18px 22px;margin:0 0 18px}.filing-boundary strong{font:700 13px Arial,sans-serif}.filing-boundary p{margin:5px 0 0;font:400 13px/1.6 Arial,sans-serif;color:var(--ink-soft)}.filing-boundary p b{color:var(--ink)}.filing-boundary ul{margin:8px 0 0;padding-left:18px;font:400 13px/1.6 Arial,sans-serif;color:var(--ink-soft)}.filing-boundary ul li{margin:2px 0}
.filing-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.filing-builder{padding:30px}.filing-actions{display:flex;flex-direction:column;gap:14px;position:sticky;top:24px}.filing-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.filing-section-head h2,.filing-step h3,.filing-actions h2{font-weight:normal;line-height:1.2;margin:7px 0}.filing-section-head h2{font-size:28px}.filing-step h3,.filing-actions h2{font-size:21px}
.filing-status{display:inline-flex;padding:7px 9px;background:#e3e6dd;font:700 8px Arial,sans-serif;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}.filing-status.status-review_requested{background:#eee1c9;color:#6c5125}.filing-status.status-submitted{background:#dce6dc;color:#28442f}
.filing-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:25px}.filing-builder label,.filing-actions label{display:flex;flex-direction:column;gap:6px;font:600 9px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}.filing-builder input,.filing-builder textarea,.filing-actions input{width:100%;border:1px solid var(--rule);background:#fff;color:var(--ink);padding:11px;font:400 13px/1.5 Arial,sans-serif}.filing-builder textarea{resize:vertical;font-family:Georgia,serif;font-size:15px}.filing-step{border-top:1px solid var(--rule-fine);margin-top:28px;padding-top:24px}.filing-step>p:not(.eyebrow){font:400 12px/1.6 Arial,sans-serif;color:var(--ink-soft);max-width:76ch}
.evidence-picker{border:1px solid var(--rule);margin:17px 0 22px}.evidence-picker>label{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px;border-top:1px solid var(--rule-fine);text-transform:none;letter-spacing:0}.evidence-picker>label:first-child{border-top:0}.evidence-picker input{width:17px;height:17px;padding:0;accent-color:var(--ink)}.evidence-picker span{display:flex;flex-direction:column}.evidence-picker strong{font:600 12px Georgia,serif;color:var(--ink)}.evidence-picker small{font:400 9px Arial,sans-serif;color:var(--ink-soft)}.evidence-picker a{font:600 9px Arial,sans-serif;color:var(--oxblood)}.evidence-picker .evidence-unsupported{opacity:.5;background:#ecece7}
.filing-checklist{list-style:none;padding:0;margin:18px 0 0}.filing-checklist li{position:relative;padding:10px 0 10px 24px;border-top:1px solid var(--rule-fine);font:500 11px Arial,sans-serif;color:var(--ink-soft)}.filing-checklist li:before{content:"";position:absolute;left:0;top:12px;width:10px;height:10px;border:1px solid var(--rule)}.filing-checklist li.done{color:var(--ink)}.filing-checklist li.done:before{background:var(--ink);box-shadow:inset 0 0 0 2px var(--paper-lift)}.official-filing-card .button{width:100%;margin:15px 0}.official-filing-card p,.filing-actions form>p,.review-waiting p,.submitted-card p{font:400 11px/1.6 Arial,sans-serif;color:var(--ink-soft)}.filing-actions form{display:grid;gap:12px}.filing-actions label.check{display:grid;grid-template-columns:auto 1fr;align-items:start;text-transform:none;letter-spacing:0;line-height:1.5}.filing-actions label.check input{width:16px;height:16px;padding:0}.review-waiting{border-color:var(--gold)}.submitted-card{border-color:var(--moss)}
.case-list{margin-top:18px}.case-list>.filing-section-head{padding-bottom:16px}.case-list>a{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:14px 0;border-top:1px solid var(--rule-fine);text-decoration:none}.case-list>a>span{display:flex;flex-direction:column}.case-list>a strong{font-size:14px}.case-list>a small,.case-list>a b{font:500 9px Arial,sans-serif;color:var(--ink-soft)}.case-list>a:hover strong{text-decoration:underline;text-decoration-color:var(--oxblood)}
@media(max-width:1000px){.filing-layout{grid-template-columns:1fr}.filing-actions{position:static;display:grid;grid-template-columns:repeat(2,1fr)}.official-filing-card{grid-column:1/-1}}
@media(max-width:620px){.filing-builder{padding:20px}.filing-fields,.filing-actions{grid-template-columns:1fr}.official-filing-card{grid-column:auto}.filing-section-head{flex-direction:column}.case-list>a{align-items:flex-start;flex-direction:column}.evidence-picker>label{grid-template-columns:auto 1fr}.evidence-picker a{grid-column:2}}
.seat-invite{margin-top:18px;border-top:1px solid var(--rule-fine);padding-top:16px;display:grid;gap:12px}
.seat-invite label{display:block;font:600 11px/1.6 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.seat-invite input,.seat-invite select{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid var(--rule);background:#fff;font:400 15px Arial,sans-serif;color:var(--ink)}
.seat-invite small{font:400 12px/1.5 Arial,sans-serif;color:var(--ink-soft)}
.member-actions form{display:inline}
.member-actions .text-link{background:none;border:0;cursor:pointer;font:600 12px Arial,sans-serif;border-bottom:1px solid var(--rule);padding:0 0 2px;margin-right:10px}
.export-links{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.export-links small{flex-basis:100%;font:400 12px/1.5 Arial,sans-serif;color:var(--ink-soft);margin-top:4px}

/* ============================================================
   First-run tour. Purely additive — if tour.js never loads, none
   of this appears and the portal behaves exactly as before.
   ============================================================ */
body.tour-open{overflow:hidden}
.tour-overlay{position:fixed;inset:0;background:rgba(30,42,34,.62);z-index:900}
.tour-lit{position:relative;z-index:901;box-shadow:0 0 0 4px var(--paper-lift),0 0 0 7px var(--gold);border-radius:2px}
.tour-box{position:absolute;z-index:902;width:min(380px,calc(100vw - 28px));background:var(--paper-lift);border:1px solid var(--ink);padding:22px 24px;box-shadow:0 18px 44px rgba(0,0,0,.28)}
.tour-box.tour-centred{top:50%;left:50%;transform:translate(-50%,-50%)}
.tour-count{margin:0 0 6px;font:600 10px Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.tour-box h2{margin:0 0 9px;font-size:22px;line-height:1.22;letter-spacing:-.01em}
.tour-body{margin:0 0 18px;font:400 15px/1.6 Arial,sans-serif;color:var(--ink-soft)}
.tour-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.tour-actions button{cursor:pointer;font:600 13px Arial,sans-serif;min-height:40px;padding:0 16px;border:1px solid var(--ink);background:transparent;color:var(--ink)}
.tour-actions .tour-next{background:var(--ink);color:var(--paper-lift)}
.tour-actions .tour-next:hover{background:var(--oxblood);border-color:var(--oxblood)}
.tour-actions .tour-skip{border:0;padding:0 4px;margin-left:auto;color:var(--ink-soft);text-decoration:underline;min-height:auto}
.tour-restart{background:none;border:0;padding:0;cursor:pointer;font:600 12px Arial,sans-serif;color:var(--ink-soft);border-bottom:1px solid var(--rule)}
@media(max-width:760px){.tour-box{padding:18px}.tour-box h2{font-size:19px}.tour-actions .tour-skip{margin-left:0;flex-basis:100%}}
.radio-line{display:flex;gap:11px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--rule-fine);font:400 14px/1.55 Arial,sans-serif;cursor:pointer}
.radio-line:last-of-type{border-bottom:0}
.radio-line input{margin-top:3px;width:16px;height:16px;flex:none}
.radio-line strong{font-weight:700}
.tour-mount{display:none}

/* ---- Procedures: what to do when it goes wrong ---- */
.procedures{margin-top:40px;border-top:2px solid var(--ink);padding-top:26px}
.procedures-head{max-width:640px;margin-bottom:20px}
.procedures-head h2{margin:8px 0 10px;font-size:28px;line-height:1.18;letter-spacing:-.01em}
.procedures-head p{margin:0;color:var(--ink-soft);font:400 15px/1.6 Arial,sans-serif}
.procedure{background:var(--paper-lift);border:1px solid var(--rule);margin-bottom:10px}
.procedure>summary{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline;justify-content:space-between;padding:15px 20px;cursor:pointer;list-style:none}
.procedure>summary::-webkit-details-marker{display:none}
.procedure-name{font-size:19px;letter-spacing:-.01em}
.procedure-window{font:600 11px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--oxblood)}
.procedure-body{padding:0 20px 20px;border-top:1px solid var(--rule-fine)}
.procedure-summary{margin:14px 0 12px;font:400 15px/1.6 Arial,sans-serif}
.procedure-body ol{margin:0 0 16px;padding-left:20px}
.procedure-body ol li{margin-bottom:8px;font:400 15px/1.6 Arial,sans-serif}
.procedure-ready{border-top:1px solid var(--rule-fine);padding-top:12px}
.procedure-ready ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:7px}
.procedure-ready li{border:1px solid var(--rule);padding:5px 10px;font:400 12px Arial,sans-serif;background:#fff}

@media print{
  .product-sidebar,.active-record-banner,.binder-upload,.tour-restart{display:none !important}
  .product-main{padding:0}
  .procedure{break-inside:avoid}
  .procedure>summary{padding:8px 0}
  .procedure-body{padding:0 0 12px;display:block !important}
  .procedures details{border:0;border-bottom:1px solid #ccc}
}
.binder-public{margin-top:18px;border-top:1px solid var(--rule-fine);padding-top:14px}
.binder-public-list{list-style:none;margin:10px 0;padding:0}
.binder-public-list li{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:baseline;padding:9px 0 9px 12px;border-bottom:1px solid var(--rule-fine);border-left:3px solid var(--moss)}
.binder-public-list li.expiring{border-left-color:var(--gold)}
.binder-public-list li.expired{border-left-color:var(--oxblood)}
.binder-public-list li.none{border-left-color:var(--rule)}
.binder-public-list strong{font:600 14px Arial,sans-serif}
.binder-public-list small{display:block;font:400 12px/1.5 Arial,sans-serif;color:var(--ink-soft)}
.binder-public-list span{font:400 12px Arial,sans-serif;color:var(--ink-soft);white-space:nowrap}

/* ---- Help inside the portal ---- */
.help-portal{display:grid;grid-template-columns:1.5fr 1fr;gap:32px;align-items:start;margin-top:22px}
.help-group{margin-bottom:26px}
.help-group h2{margin:0 0 12px;font-size:22px;letter-spacing:-.01em}
.help-item{background:var(--paper-lift);border:1px solid var(--rule);margin-bottom:8px}
.help-item>summary{padding:13px 16px;cursor:pointer;font:400 16px/1.4 Georgia,serif;list-style:none}
.help-item>summary::-webkit-details-marker{display:none}
.help-item>div{padding:0 16px 14px;border-top:1px solid var(--rule-fine)}
.help-item p{margin:12px 0 0;font:400 15px/1.65 Arial,sans-serif;color:var(--ink-soft)}
.help-item a{color:var(--oxblood)}
.help-ticket{background:var(--paper-lift);border:1px solid var(--rule);padding:22px;position:sticky;top:20px}
.help-ticket h2{margin:6px 0 8px;font-size:22px;letter-spacing:-.01em}
.help-ticket>p{margin:0 0 16px;font:400 14px/1.6 Arial,sans-serif;color:var(--ink-soft)}
.help-ticket label{display:block;margin-bottom:14px;font:600 11px/1.6 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.help-ticket select,.help-ticket textarea{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid var(--rule);background:#fff;font:400 15px Arial,sans-serif;color:var(--ink)}
.help-ticket textarea{font-family:Georgia,serif;line-height:1.55;resize:vertical}
.help-links{margin-top:20px;display:grid;gap:10px;justify-items:start}
@media(max-width:900px){.help-portal{grid-template-columns:1fr;gap:24px}.help-ticket{position:static}}
.help-portal-main{min-width:0}
.help-portal-side{min-width:0}

/* ---- Inspection readiness: calm gamification, built for a phone walk ---- */
.readiness-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:22px;align-items:center;margin:22px 0;padding:22px 24px;background:var(--paper-lift);border:1px solid var(--rule);border-left:5px solid var(--gold);color:var(--ink);text-decoration:none}
.readiness-card:hover{border-color:var(--ink)}
.readiness-card.complete{border-left-color:var(--moss)}
.readiness-card.compact{margin:18px 0 24px;padding:18px 20px}
.readiness-score{display:flex;align-items:baseline;min-width:104px}
.readiness-score strong{font:400 48px/1 Georgia,serif;letter-spacing:-.05em}
.readiness-score span{font:600 12px Arial,sans-serif;color:var(--ink-soft);margin-left:4px}
.readiness-copy h2{margin:4px 0 6px;font-size:21px;line-height:1.25}
.readiness-copy>p:not(.eyebrow){margin:0 0 12px;font:400 14px/1.55 Arial,sans-serif;color:var(--ink-soft)}
.readiness-meter{height:8px;background:var(--rule-fine);overflow:hidden}
.readiness-meter span{display:block;height:100%;background:var(--gold);transition:width .25s ease}
.complete .readiness-meter span,.prep-hero.complete .readiness-meter span{background:var(--moss)}
.readiness-open{font:700 12px Arial,sans-serif;white-space:nowrap}
.prep-title{margin-bottom:22px}
.prep-hero{display:grid;grid-template-columns:180px minmax(0,1fr);gap:32px;align-items:center;padding:30px;background:var(--ink);color:var(--paper-lift)}
.prep-score{display:flex;flex-wrap:wrap;align-items:baseline;border-right:1px solid rgba(255,255,255,.25)}
.prep-score strong{font:400 76px/1 Georgia,serif;letter-spacing:-.06em}
.prep-score span{font:600 14px Arial,sans-serif;margin-left:5px;color:#d9dcd2}
.prep-score small{flex-basis:100%;margin-top:5px;font:600 10px Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#d9dcd2}
.prep-hero-copy h2{margin:5px 0 9px;font-size:28px;line-height:1.2;color:var(--paper-lift)}
.prep-hero-copy>p:not(.eyebrow){margin:0 0 14px;font:400 15px/1.55 Arial,sans-serif;color:#d9dcd2}
.prep-hero-copy>.readiness-meter{background:rgba(255,255,255,.18);margin-bottom:8px}
.prep-hero-copy>small{font:600 11px Arial,sans-serif;color:#d9dcd2}
.prep-reminder-note{display:grid;grid-template-columns:1fr 1.4fr;gap:28px;align-items:start;padding:22px 0;margin:20px 0 34px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.prep-reminder-note h2{margin:5px 0 0;font-size:22px}
.prep-reminder-note>p{margin:0;font:400 14px/1.65 Arial,sans-serif;color:var(--ink-soft)}
.prep-group{margin:0 0 30px}
.prep-group>header{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:10px}
.prep-group>header h2{margin:4px 0 0;font-size:21px}
.prep-group>header>span{font:700 10px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.prep-task-list{border-top:1px solid var(--rule)}
.prep-task{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:18px;align-items:center;padding:17px 16px;border:1px solid var(--rule);border-top:0;background:var(--paper-lift);scroll-margin-top:18px}
.prep-task.resolved{background:#eef1e9}
.prep-task-points{align-self:start;text-align:center;padding-top:2px}
.prep-task-points strong{display:block;font:400 24px/1 Georgia,serif}
.prep-task-points span{font:700 9px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.prep-task-copy h3{margin:0 0 4px;font-size:18px;line-height:1.25}
.prep-task-copy p{margin:0;font:400 14px/1.55 Arial,sans-serif;color:var(--ink-soft)}
.prep-task-copy small{display:block;margin-top:6px;font:600 12px/1.4 Arial,sans-serif;color:var(--ink-soft)}
.prep-task-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.prep-task-actions form{margin:0}
.prep-task-actions .button{min-height:48px}
.prep-check{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--moss);color:#fff;font:700 18px Arial,sans-serif}
.prep-reopen{min-height:44px;padding:0 8px;border:0;background:none;color:var(--ink-soft);text-decoration:underline;cursor:pointer;font:600 12px Arial,sans-serif}
.data-boundary{margin:34px 0 20px;padding:18px 20px;border-left:4px solid var(--rule);background:var(--paper-lift)}
.data-boundary strong{font:600 18px Georgia,serif}
.data-boundary p{margin:7px 0 0;font:400 14px/1.6 Arial,sans-serif;color:var(--ink-soft)}
.inspection-capture{display:grid!important;grid-template-columns:minmax(180px,1fr) auto auto;gap:12px;align-items:center!important;margin-top:12px!important}
.photo-picker{display:flex!important;flex-direction:column;justify-content:center;min-height:54px;margin:0!important;padding:10px 14px;border:1px solid var(--rule);background:#fff;cursor:pointer;font:700 12px Arial,sans-serif!important}
.photo-picker input{margin-top:7px;max-width:100%;font:400 11px Arial,sans-serif}.photo-picker small{margin-top:4px;color:var(--ink-soft);font-weight:400}.correction-check{margin:0!important;min-height:48px;display:flex!important;align-items:center;gap:7px}.visit-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:22px 0}.visit-photo-grid a{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--ink);color:#fff}.visit-photo-grid img{width:100%;height:100%;object-fit:cover}.visit-photo-grid span{position:absolute;left:0;bottom:0;padding:5px 8px;background:rgba(30,42,34,.8);font:600 10px Arial,sans-serif}.past-visit-list,.binder-inspections{margin:24px 0;padding:24px;background:var(--paper-lift);border:1px solid var(--rule)}.past-visit-list>a{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-top:1px solid var(--rule-fine);color:var(--ink);text-decoration:none;font:400 13px Arial,sans-serif}.inspection-packet{border-top:1px solid var(--rule);background:#fff}.inspection-packet>summary{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px;cursor:pointer;list-style:none}.inspection-packet>summary::-webkit-details-marker{display:none}.inspection-packet>summary div{display:flex;flex-direction:column}.inspection-packet>summary small,.inspection-packet>summary span{font:400 11px Arial,sans-serif;color:var(--ink-soft)}.inspection-packet-body{padding:0 16px 18px;border-top:1px solid var(--rule-fine)}
@media(max-width:760px){
  .readiness-card{grid-template-columns:82px minmax(0,1fr);gap:14px;padding:18px 16px;margin:18px 0}
  .readiness-score{min-width:0}.readiness-score strong{font-size:38px}.readiness-open{grid-column:1/-1;display:flex;align-items:center;min-height:48px;border-top:1px solid var(--rule-fine);padding-top:10px}
  .prep-hero{grid-template-columns:1fr;gap:18px;padding:22px 18px}.prep-score{border-right:0;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:16px}.prep-score strong{font-size:62px}
  .prep-reminder-note{grid-template-columns:1fr;gap:10px;margin-bottom:28px}
  .prep-group>header{align-items:start}.prep-task{grid-template-columns:42px minmax(0,1fr);gap:12px;padding:16px 12px}.prep-task-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.prep-task-actions form,.prep-task-actions button{width:100%}.prep-task-actions .prep-check{width:48px}.prep-task-actions .prep-reopen{min-height:48px}
  .inspection-capture{grid-template-columns:1fr!important}.inspection-capture .button{width:100%;min-height:52px}.photo-picker{min-height:62px}.visit-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.past-visit-list,.binder-inspections{padding:16px}.past-visit-list>a,.inspection-packet>summary{align-items:flex-start;flex-direction:column;gap:5px}.entries>div{grid-template-columns:58px 1fr}.entries>div>span{grid-column:2}
}
@media(max-width:420px){.prep-task-actions{grid-template-columns:1fr}.readiness-card{grid-template-columns:1fr}.readiness-open{grid-column:1}.prep-score strong{font-size:56px}}
.entries .entry{display:grid;grid-template-columns:64px 1fr;gap:6px 14px;padding:14px 0;border-bottom:1px solid var(--rule-fine)}
.entries .entry time{font:600 11px Arial,sans-serif;letter-spacing:.06em;color:var(--ink-soft);padding-top:3px}
.entries .entry p{margin:0;grid-column:2;font:400 15px/1.6 Arial,sans-serif}
.entries .entry .fine-print{grid-column:2;margin:0}
.entry-photos{grid-column:2;display:flex;flex-wrap:wrap;gap:8px;margin:4px 0}
.entry-photos img{width:96px;height:96px;object-fit:cover;border:1px solid var(--rule);display:block}
@media(max-width:600px){.entries .entry{grid-template-columns:1fr}.entries .entry p,.entries .entry .fine-print,.entry-photos{grid-column:1}}
.account-logo-preview img{width:100%;height:100%;object-fit:contain;padding:8px;background:#fff}
.logo-form{margin-top:14px;display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.logo-form small{flex-basis:100%;font:400 12px/1.5 Arial,sans-serif;color:var(--ink-soft)}
.account-chip span.has-logo{background:#fff;padding:3px;overflow:hidden}
.account-chip span.has-logo img{width:100%;height:100%;object-fit:contain;display:block}

/* ---- Readiness: our estimate, deliberately not styled like the grade ---- */
.readiness{margin:22px 0;border:1px solid var(--rule);border-left:4px solid var(--moss);background:var(--paper-lift);padding:22px 24px}
.readiness-b{border-left-color:var(--gold)}
.readiness-c{border-left-color:var(--oxblood)}
.readiness-head{display:flex;gap:20px;align-items:flex-start}
.readiness-mark{flex:none;width:60px;height:60px;display:grid;place-items:center;border:2px dashed var(--rule);background:#fff}
.readiness-mark span{font:400 30px Georgia,serif;line-height:1}
.readiness-b .readiness-mark span{color:var(--gold-ink)}
.readiness-c .readiness-mark span{color:var(--oxblood)}
.readiness-head h2{margin:6px 0 6px;font-size:21px;line-height:1.3;font-weight:normal;letter-spacing:-.01em}
.readiness-sub{margin:0;font:400 13px Arial,sans-serif;color:var(--ink-soft)}
.readiness-work{margin-top:16px;border-top:1px solid var(--rule-fine);padding-top:12px}
.readiness-work>summary{cursor:pointer;font:600 12px Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);list-style:none}
.readiness-work>summary::-webkit-details-marker{display:none}
.readiness-factors{list-style:none;margin:14px 0 12px;padding:0}
.readiness-factors li{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:start;padding:10px 0;border-bottom:1px solid var(--rule-fine)}
.rf-points{font:700 16px Georgia,serif;text-align:right;color:var(--ink-soft)}
.rf-points.bad{color:var(--oxblood)}
.rf-points.good{color:#4f6b52}
.readiness-factors strong{display:block;font:600 14px Arial,sans-serif}
.readiness-factors small{display:block;margin-top:3px;font:400 13px/1.5 Arial,sans-serif;color:var(--ink-soft)}
@media(max-width:700px){
  .readiness{padding:18px}
  .readiness-head{flex-direction:column;gap:12px}
  .readiness-factors li{grid-template-columns:44px 1fr;gap:8px}
  .readiness-factors li a{grid-column:2}
}
.prep-groups{display:grid;gap:16px}
.coverage-list{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule)}
.coverage-list article{background:var(--paper-lift);display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;padding:13px 15px;border-left:3px solid transparent}
.coverage-list article.is-covered{border-left-color:var(--moss)}
.coverage-list strong{display:block;font:600 15px Arial,sans-serif}
.coverage-list span{display:block;font:400 12px Arial,sans-serif;color:var(--ink-soft)}
.coverage-list form{margin:0}
.coverage-list .text-link{background:none;border:0;border-bottom:1px solid var(--rule);cursor:pointer;font:600 12px Arial,sans-serif;padding:0 0 2px}
.readiness-sub .drift{display:inline-block;padding:1px 7px;margin:0 2px;font:600 11px Arial,sans-serif;border:1px solid var(--rule)}
.readiness-sub .drift.up{color:var(--oxblood);border-color:var(--oxblood)}
.readiness-sub .drift.down{color:#4f6b52;border-color:#4f6b52}
.readiness-edge{margin:8px 0 0;font:600 13px Arial,sans-serif;color:var(--ink)}
.coverage-buy{margin-top:14px;border-top:1px solid var(--rule-fine);padding-top:12px}
.coverage-buy form{margin-top:10px}
.record-state{display:inline-block;margin-left:9px;padding:1px 8px;font:600 10px Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;border:1px solid var(--rule)}
.record-state.is-full{color:#4f6b52;border-color:#4f6b52}
.record-state.is-public{color:var(--ink-soft)}

/* ============================================================
   Mobile corrections
   ============================================================ */

/* iOS zooms the whole page when a focused field is under 16px, then leaves
   you scrolled sideways. Seventeen rules across this stylesheet were doing
   it. Desktop keeps its tighter sizes; touch does not. */
@media (max-width: 900px) {
  /* :not([hidden]) is carried on every one of these purely to lift the
     selector to (0,1,1), so it ties the component rules that set 13px and
     14px and then wins on source order. A bare `textarea` is (0,0,1) and
     would lose to `.log-compose textarea`. */
  input:not([hidden]), textarea:not([hidden]), select:not([hidden]) {
    font-size: 16px;
    line-height: 1.4;
  }
  /* A 16px field needs the room to match, or the text crowds its own box. */
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
  textarea, select { min-height: 44px; padding-top: 10px; padding-bottom: 10px; }
  textarea { min-height: 96px; }
}

/* Anything tappable clears the 44px Apple/WCAG target on touch. */
@media (max-width: 900px) {
  .button, .button.small, .text-link, .nav-cta, .nav-contact,
  .inbox-filter a, .notes-filter a, .binder-tab > summary,
  .procedure > summary, .help-item > summary {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  .binder-tab > summary, .procedure > summary, .help-item > summary { display: flex; }
}

/* .violation-row budgets 171px to fixed columns before the description gets
   any. On a 375px screen that leaves it about 160px, which wraps to shreds. */
@media (max-width: 640px) {
  .violation-row { grid-template-columns: 6px 1fr; row-gap: 6px }
  .violation-row > :nth-child(3), .violation-row > :nth-child(4) { grid-column: 2; justify-self: start }
}

/* Long unbroken strings — licence numbers, URLs, emails — must not be able
   to push the page sideways. */
.note-body, .procedure-body, .help-item > div, .entries .entry p,
.binder-public-list, .readiness-factors { overflow-wrap: anywhere }


/* ------------------------------------------------------------------
   Legibility floor.

   The stylesheet had 139 rules setting text below 11px, about half of
   them uppercase labels with tracking (an editorial convention that
   survives at small sizes) and half plain sentence-case text (which does
   not). Rather than restyle each component, this sets a floor:

     - below 9px is raised at every viewport; 7-8px is not readable text
       at any screen size
     - below the mobile floor (10px tracked / 11px plain) is raised on
       touch viewports, where the user reads at arm's length

   Only font-size is set, so `font:` shorthands keep their weight, family
   and line-height. Specificity matches each original rule, so these win
   on source order alone -- media queries add no specificity.
   ------------------------------------------------------------------ */

  .active-record-banner>span { font-size: 10px; }   /* was 8px */
  .calendar-agenda small,.calendar-agenda em { font-size: 11px; }   /* was 8px */
  .calendar-agenda time span { font-size: 11px; }   /* was 8px */
  .calendar-stepper label>span { font-size: 10px; }   /* was 7px */
  .data-provenance span { font-size: 10px; }   /* was 8px */
  .donut span { font-size: 10px; }   /* was 7px */
  .filing-status { font-size: 10px; }   /* was 8px */
  .fines-split dt { font-size: 10px; }   /* was 8px */
  .kpi span { font-size: 10px; }   /* was 8px */
  .member-list button { font-size: 11px; }   /* was 8px */
  .metric-tile span { font-size: 10px; }   /* was 8px */
  .month-calendar header span { font-size: 10px; }   /* was 8px */
  .month-grid>div>a { font-size: 11px; }   /* was 8px */
  .month-grid>div>a small { font-size: 11px; }   /* was 8px */
  .operator-record-list em { font-size: 10px; }   /* was 8px */
  .plan-flag { font-size: 10px; }   /* was 8px */
  .portfolio-table header { font-size: 10px; }   /* was 8px */
  .public-task-board article>b { font-size: 10px; }   /* was 8px */
  .public-task-board header { font-size: 10px; }   /* was 8px */
  .rail-cal .dow { font-size: 11px; }   /* was 8px */
  .rail-item em { font-size: 10px; }   /* was 8px */
  .record-overview dt { font-size: 10px; }   /* was 8px */
  .remove-logo { font-size: 11px; }   /* was 8px */
  .restaurant-switcher label,.language-switcher>span { font-size: 10px; }   /* was 8px */
  .settings-card label small { font-size: 11px; }   /* was 8px */
  .task-check { font-size: 11px; }   /* was 8px */

@media (max-width: 900px) {
  .about-practice-list span { font-size: 11px; }   /* was 9px */
  .active-record-banner>small { font-size: 11px; }   /* was 9px */
  .active-record-banner>span { font-size: 10px; }   /* was 8px */
  .activity-card>div span { font-size: 11px; }   /* was 9px */
  .area-open { font-size: 11px; }   /* was 10px */
  .area-top b { font-size: 11px; }   /* was 9px */
  .arrival-card small { font-size: 11px; }   /* was 10px */
  .auth-card label { font-size: 10px; }   /* was 9px */
  .authority-meta a { font-size: 11px; }   /* was 10px */
  .authority-meta span { font-size: 11px; }   /* was 10px */
  .authority-principles span { font-size: 11px; }   /* was 10px */
  .authority-quote span { font-size: 10px; }   /* was 9px */
  .calendar-agenda small,.calendar-agenda em { font-size: 11px; }   /* was 8px */
  .calendar-agenda time span { font-size: 11px; }   /* was 8px */
  .calendar-bottom span { font-size: 11px; }   /* was 10px */
  .calendar-legend span { font-size: 11px; }   /* was 9px */
  .calendar-stepper button { font-size: 11px; }   /* was 9px */
  .calendar-stepper label>span { font-size: 10px; }   /* was 7px */
  .calendar-stepper select,.calendar-stepper input { font-size: 11px; }   /* was 10px */
  .case-list>a small,.case-list>a b { font-size: 11px; }   /* was 9px */
  .compliance-head { font-size: 10px; }   /* was 9px */
  .compliance-row b { font-size: 11px; }   /* was 9px */
  .compliance-row small,.compliance-row>span { font-size: 11px; }   /* was 10px */
  .coverage-page-grid b { font-size: 11px; }   /* was 10px */
  .data-provenance small { font-size: 11px; }   /* was 9px */
  .data-provenance span { font-size: 10px; }   /* was 8px */
  .deadline span { font-size: 11px; }   /* was 10px */
  .donut span { font-size: 10px; }   /* was 7px */
  .entries time,.entries button { font-size: 11px; }   /* was 10px */
  .evidence-picker a { font-size: 11px; }   /* was 9px */
  .evidence-picker small { font-size: 11px; }   /* was 9px */
  .evidence-row b { font-size: 11px; }   /* was 10px */
  .evidence-row.head { font-size: 10px; }   /* was 9px */
  .exposure-actual small { font-size: 11px; }   /* was 10px */
  .exposure-actual span { font-size: 10px; }   /* was 9px */
  .filing-builder label,.filing-actions label { font-size: 10px; }   /* was 9px */
  .filing-status { font-size: 10px; }   /* was 8px */
  .fines-head span { font-size: 11px; }   /* was 10px */
  .fines-split dt { font-size: 10px; }   /* was 8px */
  .history-list b { font-size: 11px; }   /* was 10px */
  .history-list time,.history-list span,.history-list small { font-size: 11px; }   /* was 10px */
  .inspector-button small { font-size: 11px; }   /* was 10px */
  .kpi small { font-size: 11px; }   /* was 10px */
  .kpi span { font-size: 10px; }   /* was 8px */
  .language-switcher button { font-size: 11px; }   /* was 9px */
  .location-chip small { font-size: 11px; }   /* was 10px */
  .location-chip>span { font-size: 11px; }   /* was 10px */
  .marketing-hero figcaption { font-size: 10px; }   /* was 9px */
  .member-list button { font-size: 11px; }   /* was 8px */
  .member-list span,.member-list b { font-size: 11px; }   /* was 9px */
  .metric-tile small { font-size: 11px; }   /* was 10px */
  .metric-tile span { font-size: 10px; }   /* was 8px */
  .month-calendar header span { font-size: 10px; }   /* was 8px */
  .month-grid>div>a { font-size: 11px; }   /* was 8px */
  .month-grid>div>a small { font-size: 11px; }   /* was 8px */
  .month-grid>div>b { font-size: 11px; }   /* was 10px */
  .nav-lock { font-size: 11px; }   /* was 10px */
  .no-match button,.no-match a { font-size: 11px; }   /* was 10px */
  .notification-list small { font-size: 11px; }   /* was 9px */
  .official-sources a,.official-sources span { font-size: 11px; }   /* was 10px */
  .operator-record-actions button,.record-cancel { font-size: 11px; }   /* was 9px */
  .operator-record-list em { font-size: 10px; }   /* was 8px */
  .operator-record-list span,.operator-record-list small,.operator-record-list>p { font-size: 11px; }   /* was 10px */
  .plan-equivalent { font-size: 11px; }   /* was 10px */
  .plan-flag { font-size: 10px; }   /* was 8px */
  .plan-switcher button { font-size: 11px; }   /* was 9px */
  .platform-steps span { font-size: 11px; }   /* was 10px */
  .points-axis { font-size: 11px; }   /* was 9px */
  .portfolio-band p small,.portfolio-band div>span { font-size: 11px; }   /* was 10px */
  .portfolio-open { font-size: 11px; }   /* was 9px */
  .portfolio-table header { font-size: 10px; }   /* was 8px */
  .portfolio-table small,.portfolio-table time { font-size: 11px; }   /* was 9px */
  .prep-task-points span { font-size: 10px; }   /* was 9px */
  .pricing-grid h2 small { font-size: 11px; }   /* was 10px */
  .profile-calendar-preview time,.profile-calendar-preview span { font-size: 11px; }   /* was 9px */
  .profile-gate-card small { font-size: 11px; }   /* was 9px */
  .public-task-board article>b { font-size: 10px; }   /* was 8px */
  .public-task-board article>p { font-size: 11px; }   /* was 10px */
  .public-task-board header { font-size: 10px; }   /* was 8px */
  .public-task-board time { font-size: 11px; }   /* was 10px */
  .rail-cal .dow { font-size: 11px; }   /* was 8px */
  .rail-item em { font-size: 10px; }   /* was 8px */
  .rail-item small { font-size: 11px; }   /* was 10px */
  .rail-item time { font-size: 11px; }   /* was 9px */
  .rating-lockup p em { font-size: 11px; }   /* was 10px */
  .record-entry-form label { font-size: 10px; }   /* was 9px */
  .record-error { font-size: 11px; }   /* was 10px */
  .record-identity p { font-size: 11px; }   /* was 10px */
  .record-identity span { font-size: 10px; }   /* was 9px */
  .record-identity>a { font-size: 11px; }   /* was 10px */
  .record-needed-button { font-size: 11px; }   /* was 9px */
  .record-overview dt { font-size: 10px; }   /* was 8px */
  .remove-logo { font-size: 11px; }   /* was 8px */
  .repeat-live strong { font-size: 11px; }   /* was 10px */
  .restaurant-result small { font-size: 11px; }   /* was 9px */
  .restaurant-switcher label,.language-switcher>span { font-size: 10px; }   /* was 8px */
  .restaurant-switcher select { font-size: 11px; }   /* was 10px */
  .restaurant-switcher>a { font-size: 11px; }   /* was 9px */
  .result-actions a,.result-actions button { font-size: 11px; }   /* was 9px */
  .result-meta span,.result-meta b { font-size: 11px; }   /* was 9px */
  .risk-metric span { font-size: 11px; }   /* was 9px */
  .search-results-head span { font-size: 11px; }   /* was 10px */
  .seat-note { font-size: 11px; }   /* was 9px */
  .settings-card form label { font-size: 11px; }   /* was 9px */
  .settings-card label small { font-size: 11px; }   /* was 8px */
  .settings-index span { font-size: 11px; }   /* was 10px */
  .settings-message { font-size: 11px; }   /* was 10px */
  .settings-plan-actions>small { font-size: 11px; }   /* was 9px */
  .source-banner small { font-size: 11px; }   /* was 9px */
  .source-banner>span { font-size: 10px; }   /* was 9px */
  .summary-card p { font-size: 11px; }   /* was 10px */
  .summary-card>span { font-size: 10px; }   /* was 9px */
  .task-board time,.task-board b,.task-board>button>span:last-child { font-size: 11px; }   /* was 10px */
  .task-check { font-size: 11px; }   /* was 8px */
  .task-copy small { font-size: 11px; }   /* was 10px */
  .task-filters button { font-size: 11px; }   /* was 10px */
  .task-row time,.task-row span,.task-row small { font-size: 11px; }   /* was 10px */
  .visit-photo-grid span { font-size: 11px; }   /* was 10px */
  .walk-progress p { font-size: 11px; }   /* was 10px */
}

/* ------------------------------------------------------------------
   Inspection page, mid-visit.

   The arrival card is a 72vh hero with a 62px headline, which is right
   when the page is a call to action and wrong the moment the inspector is
   actually in the room. Once a visit is running it collapses to a status
   strip, the briefing folds to one line, and the finishing action moves
   below the log -- you end a visit after writing the notes, not above them.
   ------------------------------------------------------------------ */

.arrival-card.live {
  min-height: 0;
  padding: 22px 30px;
  display: block;
}
.arrival-card.live h1 { font-size: 25px; margin: 2px 0 6px; letter-spacing: -.02em }
.arrival-card.live > p:not(.eyebrow) { font-size: 15px; max-width: none; margin: 0 }
.arrival-card.live > p strong { color: var(--paper-lift) }

.first-five.folded {
  background: var(--ink);
  color: var(--paper-lift);
  padding: 0;
  margin-top: 15px;
  border: 0;
}
.first-five.folded > summary {
  padding: 13px 30px;
  cursor: pointer;
  font: 600 11px Arial, sans-serif;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #c6cec5;
  list-style: none;
}
.first-five.folded > summary::-webkit-details-marker { display: none }
.first-five.folded > summary::after { content: " +"; color: #8d998e }
.first-five.folded[open] > summary::after { content: " –" }
.first-five.folded > summary:hover { color: var(--paper-lift) }
.first-five.folded > ol { margin: 0; padding: 0 30px 22px 50px }

.visit-finish {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  background: var(--paper-lift);
  border: 1px solid var(--rule);
  border-top: 0;
  padding: 22px 30px;
}
.visit-finish h2 { margin: 0 0 4px; font-size: 19px; font-weight: normal }
.visit-finish .fine-print { margin: 0; max-width: 58ch }
.visit-finish form { flex: none }

@media (max-width: 640px) {
  .arrival-card.live { padding: 18px 22px }
  .first-five.folded > summary { padding: 12px 22px }
  .first-five.folded > ol { padding: 0 22px 18px 42px }
  .visit-finish { padding: 18px 22px }
  .visit-finish form, .visit-finish .button { width: 100% }
}

/* Images whose intrinsic size the server cannot know (CMS heroes, member
   uploads) still need a reserved box, or the page reflows when they load.
   The ratio is fixed by the design, so it can be declared here. */
.note-single header img, .note-thumb img, .notes-list img { aspect-ratio: 1200 / 627; width: 100%; height: auto; object-fit: cover }
.account-logo img { max-height: 64px; width: auto }

/* Per-seat permissions */
.seat-perms{margin-top:9px;border:1px solid var(--rule);background:var(--paper-lift)}
.seat-perms > summary{padding:8px 12px;cursor:pointer;font:600 12px Arial,sans-serif;color:var(--ink-soft)}
.seat-perms > summary:hover{color:var(--ink)}
.seat-perms form{padding:0 12px 14px;display:grid;gap:12px}
.seat-role{display:block;font:600 11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}
.seat-role select{display:block;width:100%;margin-top:5px;padding:8px;border:1px solid var(--rule);background:#fff;font:400 13px Arial,sans-serif;text-transform:none;letter-spacing:0;color:var(--ink)}
.seat-role small,.seat-locs small{display:block;margin-top:6px;font:400 11px/1.5 Arial,sans-serif;text-transform:none;letter-spacing:0;color:var(--ink-soft)}
.seat-locs{border:1px solid var(--rule);padding:11px 13px;margin:0}
.seat-locs legend{font:600 11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);padding:0 5px}
.seat-locs label{display:block;font:400 13px Arial,sans-serif;padding:3px 0}

/* --------------------------------------------------------------------
   Cindy. The launcher and panel are built by cindy.js, so none of this
   paints unless that file loads. On a phone the panel takes the full
   width and sits above the fold of the keyboard.
   -------------------------------------------------------------------- */
#cp-cindy{position:fixed;right:16px;bottom:16px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.cindy-vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.cindy-launch{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border:0;border-radius:999px;
  background:#1e2a22;color:#fff;font:600 15px/1 Arial,sans-serif;cursor:pointer;
  box-shadow:0 6px 20px rgba(30,42,34,.28)}
.cindy-launch:hover{background:#2c3d31}
.cindy-launch:focus-visible{outline:3px solid #7ea88c;outline-offset:2px}

/* The UA's [hidden] rule is display:none, but any author display wins
   over it — so .cindy-panel{display:flex} kept the panel open no matter
   what the script set. Restate it. */
.cindy-panel[hidden]{display:none}
.cindy-panel{width:min(370px,calc(100vw - 32px));max-height:min(560px,calc(100vh - 120px));
  display:flex;flex-direction:column;background:#fff;border:1px solid #d9dcd2;border-radius:12px;
  box-shadow:0 14px 44px rgba(30,42,34,.22);overflow:hidden}
.cindy-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:14px 16px;background:#1e2a22;color:#fff}
.cindy-head strong{display:block;font-size:15px}
.cindy-sub{display:block;font-size:12px;color:#c3d2c8;margin-top:2px}
.cindy-x{border:0;background:none;color:#c3d2c8;font-size:24px;line-height:1;cursor:pointer;padding:0 2px}
.cindy-x:hover{color:#fff}

.cindy-log{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:14px;
  font:15px/1.55 Arial,sans-serif;color:#1e2a22;overscroll-behavior:contain}
.cindy-msg p{margin:0 0 8px}
.cindy-msg p:last-child{margin-bottom:0}
.cindy-you{align-self:flex-end;max-width:85%;background:#eef2ec;border-radius:12px 12px 2px 12px;padding:9px 13px}
.cindy-bot{align-self:flex-start;max-width:92%}

.cindy-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.cindy-links a{padding:7px 13px;border:1px solid #1e2a22;border-radius:999px;
  font:600 13px Arial,sans-serif;color:#1e2a22;text-decoration:none}
.cindy-links a:hover{background:#1e2a22;color:#fff}

.cindy-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;align-items:center}
.cindy-chips-label{font:600 12px Arial,sans-serif;color:#5c695e}
.cindy-chips button{border:1px solid #d9dcd2;background:#fff;border-radius:999px;padding:6px 12px;
  font:13px Arial,sans-serif;color:#2c3d31;cursor:pointer;text-align:left}
.cindy-chips button:hover{border-color:#1e2a22;background:#f6f8f5}

.cindy-form{display:flex;gap:8px;padding:12px;border-top:1px solid #e6e9e1;background:#fbfcfa}
.cindy-form input{flex:1;min-width:0;padding:11px 12px;border:1px solid #d9dcd2;border-radius:8px;
  font:15px Arial,sans-serif;color:#1e2a22}
.cindy-form input:focus{outline:2px solid #7ea88c;outline-offset:0;border-color:#7ea88c}
.cindy-form button{padding:11px 18px;border:0;border-radius:8px;background:#1e2a22;color:#fff;
  font:600 14px Arial,sans-serif;cursor:pointer}
.cindy-form button:hover{background:#2c3d31}

@media (max-width:640px){
  #cp-cindy{right:12px;left:12px;bottom:12px;align-items:stretch}
  .cindy-panel{width:auto;max-height:calc(100vh - 96px)}
  .cindy-launch{align-self:flex-end}
  #cp-cindy.is-open .cindy-launch{display:none}
}
@media print{ #cp-cindy{display:none} }
@media (prefers-reduced-motion:no-preference){
  .cindy-panel{animation:cindy-in .16s ease-out}
  @keyframes cindy-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
}

/* --------------------------------------------------------------------
   Header, the awkward band between the hamburger and full desktop.

   Signed out the bar reads Platform / What it covers / About / Pricing /
   Notes / Help / Log in / Get started / Contact and fits to about 930px.
   Signed in it swaps in three longer labels — All locations, Account,
   Open dashboard — and needs roughly 1,100px. The collapse point was
   900px for both, so a signed-in member between 900 and 1,100 got labels
   wrapping onto three lines and the account link sliding under the
   dashboard button.

   So: keep every label on one line above the hamburger breakpoint, and
   for the signed-in header only, collapse to the menu at 1,100px. A
   visitor who is signed out keeps the full bar down to 900px, which is
   where the marketing pages actually get read.
   -------------------------------------------------------------------- */
@media(min-width:901px){
  .header-inner nav a,
  .site-header-actions a{white-space:nowrap}
  .header-inner nav{flex-wrap:nowrap}
}

@media(min-width:901px) and (max-width:1100px){
  .site-header.is-member .header-inner{flex-wrap:wrap;position:relative}

  .site-header.is-member .sitenav-label{display:flex;flex-direction:column;justify-content:center;
    gap:5px;width:44px;height:44px;padding:10px;margin-left:auto;cursor:pointer;box-sizing:border-box}
  .site-header.is-member .sitenav-label span{display:block;height:2px;background:var(--ink);transition:.2s}
  .site-header.is-member .sitenav-input:checked~.sitenav-label span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .site-header.is-member .sitenav-input:checked~.sitenav-label span:nth-child(2){opacity:0}
  .site-header.is-member .sitenav-input:checked~.sitenav-label span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .site-header.is-member .sitenav-input:focus-visible~.sitenav-label{outline:3px solid var(--oxblood);outline-offset:2px}

  .site-header.is-member .header-inner nav{display:none;order:3;width:100%;flex-direction:column;
    gap:0;overflow:visible;padding:6px 0 12px;border-top:1px solid var(--rule-fine);margin-top:10px}
  .site-header.is-member .sitenav-input:checked~nav{display:flex}
  .site-header.is-member .header-inner nav a{padding:14px 2px;min-height:44px;display:flex;
    align-items:center;font-size:15px;color:var(--ink);border-bottom:1px solid var(--rule-fine);
    white-space:normal}
  .site-header.is-member .header-inner nav a[aria-current="page"]{border-bottom-color:var(--rule-fine);
    color:var(--oxblood);font-weight:700}

  .site-header.is-member .site-header-actions{display:none}
  .site-header.is-member .nav-cta-inline{display:flex;margin-top:12px;border:0;
    background:var(--ink);color:var(--paper-lift);justify-content:center;
    padding:14px;font:600 13px Arial,sans-serif}
  .site-header.is-member .nav-cta-inline[aria-current]{color:var(--paper-lift)}
  .site-header.is-member .header-inner nav a.nav-contact{display:flex;justify-content:center;
    align-items:center;min-height:46px;margin-top:10px;padding:14px;border:1px solid var(--ink);
    border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);
    font:600 13px Arial,sans-serif}
}

/* --------------------------------------------------------------------
   The collapsed menu opens as a third flex row, but .header-inner is a
   fixed 76px tall. So the menu overflowed its own header and rendered
   on top of the hero with nothing painted behind it — every link sat on
   top of the headline and neither was readable. That was true at every
   width below 900px, not only in the signed-in band.

   Let the header grow to fit what it is holding, and paint the menu so
   it stays legible even if something else ever overlaps it.
   -------------------------------------------------------------------- */
@media(max-width:1100px){
  .header-inner{height:auto;min-height:76px}
  .sitenav-input:checked~nav{background:var(--paper);position:relative;z-index:5;
    padding-bottom:18px}
}

/* `.header-inner nav a` is (0,2,1) and sets colour, so the bare
   `.nav-cta-inline{color:...}` rule lost the cascade: the menu's primary
   button painted dark text on its own dark fill and read as an empty
   black bar. `.nav-contact` already carried a comment about needing the
   same qualification — this is the sibling case that was missed. */
@media(max-width:1100px){
  .header-inner nav a.nav-cta-inline,
  .header-inner nav a.nav-cta-inline[aria-current="page"]{
    color:var(--paper-lift);background:var(--ink);border-bottom-color:var(--ink)}
}
.cindy-msg strong{font-weight:700}

/* Help centre: contents list and the block at the foot of the page. */
.help-toc{list-style:none;margin:8px 0 26px;padding:0;counter-reset:toc}
.help-toc li{counter-increment:toc;margin:0 0 2px}
.help-toc a{display:block;padding:7px 0 7px 26px;position:relative;font:15px/1.4 Georgia,serif;
  color:var(--ink-soft);text-decoration:none;border-bottom:1px solid transparent}
.help-toc a:before{content:counter(toc,decimal-leading-zero);position:absolute;left:0;top:9px;
  font:600 10px Arial,sans-serif;color:var(--oxblood);letter-spacing:.06em}
.help-toc a:hover{color:var(--ink)}
.help-topic{scroll-margin-top:24px}
.help-item{scroll-margin-top:24px}
.help-item:target>summary{color:var(--oxblood)}

.help-still-stuck{margin-top:54px;padding:32px;background:var(--paper-lift);border:1px solid var(--rule)}
.help-still-stuck h2{margin:0 0 12px;font-size:26px;letter-spacing:-.02em;font-weight:normal}
.help-still-stuck p{margin:0 0 16px;color:var(--ink-soft)}
.help-stuck-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:0}
@media(max-width:900px){
  .help-toc{margin-bottom:18px}
  .help-still-stuck{padding:24px}
}
.cindy-msg p{white-space:normal}
.cindy-msg br+strong{display:inline}

/* The help sidebar collapses to a full-width block below 900px. The
   existing rule turned it into a wrapping flex row, which was fine when
   it held two links and shredded it once it carried a 24-item contents
   list. Two columns keeps it short enough to scroll past. */
@media(max-width:900px){
  .help-nav{display:block}
  .help-toc{columns:2;column-gap:26px;margin:8px 0 24px}
  .help-toc li{break-inside:avoid;-webkit-column-break-inside:avoid}
  .help-nav .eyebrow{margin-top:0}
}
@media(max-width:560px){
  .help-toc{columns:1}
}

/* A note card is a two-column grid, 280px of thumbnail then the text.
   With no hero image the thumbnail element is never rendered, so the
   text became the first child and got laid out in the 280px column —
   a narrow ribbon of words with the rest of the card empty beside it.
   No image, one column. */
.note-card-plain{grid-template-columns:1fr}

/* Product screens are used as editorial evidence, not as a screenshot gallery. */
.marketing-hero .platform-hero-screen{height:auto;background:var(--paper-lift);border:1px solid var(--rule);box-shadow:14px 14px 0 rgba(30,42,34,.055);overflow:hidden}
.marketing-hero .platform-hero-screen img{display:block;width:100%;height:auto;object-fit:contain;filter:none}
.platform-readiness-screen{margin:0;border:1px solid #526056;background:#111b15;overflow:hidden}
.platform-readiness-screen img{display:block;width:100%;height:auto}
.platform-readiness-screen figcaption{padding:12px 15px;color:#aeb8af;font:600 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.09em}
.help-topic-screen{margin:18px 0 25px;border:1px solid var(--rule);background:var(--paper-lift);overflow:hidden}
.help-topic-screen img{display:block;width:100%;height:auto}
.help-topic-screen figcaption{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border-top:1px solid var(--rule-fine);font:400 12px/1.45 Arial,sans-serif;color:var(--ink-soft)}
.help-topic-screen figcaption strong{font:600 13px Arial,sans-serif;color:var(--ink)}
