/* Noygear studio pages: the home page, Services, Software, the CRM
   comparison, Privacy, Terms and the 404.
   These pages load /business-podcast/assets/site.css first, so the studio
   and the show share one design source: the fixed hairline sidebar, the
   blurred B-roll under every page, Bai Jamjuree over Metropolis labels, 2px
   rules and square corners in the Midnight Tangerine kit. This file adds only
   the pieces the studio content needs that the show has no class for. */

h1 em,h2 em,h3 em{font-style:normal;color:var(--tang);font-weight:inherit}
/* The display face inks about 2px below an 80px line box, so the hero heading gets that room back. */
.hero h1{padding-bottom:.05em;text-wrap:balance}
.copy strong{color:var(--text);font-weight:700}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:3rem}
.sub-head{margin-top:5rem}
.wrap > .sub-head:first-child{margin-top:0}
.box.hi{border-color:var(--tang);background:rgba(240,122,42,.08)}
.box.hi h3{color:var(--tang)}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}
/* The Noygear gear badge replaces the show mark. It keeps its own cream and
   navy, so the footer drops the filter that turns the show mark navy. */
.brand img{width:72px}
.brand span{font-size:.85rem;letter-spacing:.18rem}
.mbar .brand span{font-size:.75rem}
.mbar .brand img{width:32px}
.foot-r .mark{width:120px;height:auto;filter:none}
.foot-r h2{font-size:1.6rem}
.chips span{border:2px solid var(--rule-strong);padding:.4rem .7rem;font:800 .62rem/1 var(--body);letter-spacing:.12rem;text-transform:uppercase;color:var(--muted)}

/* ---------- Home: credentials ---------- */
.cells{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--rule);margin-top:2rem}
.cells > div{padding:1.6rem 2rem 1.6rem 0;border-bottom:2px solid var(--rule)}
.cells b{display:block;font-family:var(--display);font-weight:300;font-size:2rem;line-height:1.3}
.cells span{display:block;margin-top:.4rem;font:800 .66rem/1.6 var(--body);letter-spacing:.12rem;text-transform:uppercase;color:var(--tang)}

.creds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}
.creds b{display:block;font-family:var(--display);font-weight:300;font-size:3rem;line-height:1.25;color:var(--tang)}
.creds span{display:block;margin-top:1rem;font:800 .68rem/1.6 var(--body);letter-spacing:.1rem;text-transform:uppercase;color:var(--muted)}

/* ---------- Home: thesis ---------- */
.pillars{list-style:none;padding:0;margin:0;border-top:2px solid var(--rule)}
.pillars li{padding:1.5rem 0;border-bottom:2px solid var(--rule)}
.pillars .label{margin:0 0 .4rem}
.pillars h3{font-size:1.3rem;margin-bottom:.4rem}
.pillars p:last-child{color:var(--muted);font-size:.9rem;line-height:1.8;margin:0}
.formula{border:2px solid var(--rule-strong);border-left-color:var(--tang);padding:1.5rem 2rem;margin:2rem 0;font-family:var(--display);font-weight:300;font-size:clamp(1.1rem,1.9vw,1.5rem);line-height:1.5;background:rgba(14,42,71,.55);max-width:40rem}

/* ---------- Home: portfolio ---------- */
.venture{display:flex;flex-direction:column}
.venture > p:not(.label){margin-bottom:1.5rem}
.venture h3 small{font:400 .9rem/1 var(--display);color:var(--faint);letter-spacing:.03rem}
.venture .label{margin:.5rem 0 1rem}
.venture .label.sector{margin:auto 0 0;padding-top:1rem;border-top:2px solid var(--rule);color:var(--sky)}

/* ---------- Home: founders ---------- */
/* One founder per row: the photo keeps the podcast host-card size and the bio
   runs beside it, so the long bios stay short. */
.founders{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;margin-top:3rem;max-width:62rem}
.founder{display:grid;grid-template-columns:17.5rem minmax(0,1fr);align-items:start;border:2px solid var(--rule-strong);background:rgba(14,42,71,.45)}
.founder .face{aspect-ratio:4/5;background:linear-gradient(160deg,#16426e,#0a1f36);overflow:hidden}
.founder .face img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15) brightness(.92)}
.founder > div:last-child{padding:1.5rem 2rem}
.founder h3{font-size:1.3rem}
.founder .label{margin:.25rem 0 .9rem}
.founder p{color:var(--muted);font-size:.85rem;line-height:1.8;margin:0 0 1rem}

/* ---------- Home: mission and criteria ---------- */
.mission{padding:10rem var(--pad-x) 10rem var(--pad-l);background:rgba(10,31,54,.6)}
.mission h2{font-size:3rem;line-height:1.35;max-width:62rem}
.mission p{color:var(--muted);max-width:46rem;margin:2.5rem 0 0}
.crit b{display:block;font-family:var(--display);font-weight:300;font-size:clamp(2rem,2.6vw,2.4rem);line-height:1.2;color:var(--tang);margin-bottom:1rem}

/* ---------- Contact rows ---------- */
.contact-rows{border-top:2px solid var(--rule);margin-top:3rem}
.contact-row{display:grid;grid-template-columns:minmax(0,16rem) minmax(0,1fr) auto;gap:2rem;align-items:center;padding:1.75rem 0;border-bottom:2px solid var(--rule)}
.contact-row h3{font-size:1.5rem}
.contact-row p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.8}

/* ---------- Offer pages (Services, Software, CRM comparison) ----------
   The offer markup keeps its own class names. These rules give it the
   show's layout: section rhythm, labels, stone buttons and boxed panels. */
.offer-page .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.offer-wrap{padding-left:var(--pad-l);padding-right:var(--pad-x)}
.offer-section-heading,.offer-capabilities,.example-grid,.only-grid,.cost-controls,.cost-grid,.compare-table-wrap,.offer-fit p,.compare-sourcelist,.offer-band .offer-split{max-width:84rem}
.offer-section{padding-top:8rem;padding-bottom:8rem;position:relative}
/* Sections run full width so their top rules reach the edge, as .rule does.
   The grids inside carry the 84rem cap instead. */
.offer-section::before,.offer-final::before,.compare-sources::before{content:"";position:absolute;top:0;left:var(--side);right:0;height:2px;background:var(--rule)}
.offer-band.offer-section > .offer-wrap{padding-top:0;padding-bottom:0}
.offer-band{background:rgba(10,31,54,.6)}
.offer-eyebrow{font:800 .75rem/1.6 var(--body);letter-spacing:.125rem;text-transform:uppercase;color:var(--tang);margin:0 0 1.25rem}
.offer-page h2{font-size:2.25rem;line-height:1.35}
.offer-page .foot-r h2{font-size:1.6rem;line-height:1.2}
.offer-page main p{color:var(--muted)}
.offer-page main a{text-underline-offset:.3em}

.offer-hero{min-height:100vh;display:grid;grid-template-columns:minmax(0,56rem) 26rem;gap:4rem;align-items:center;padding-top:8rem;padding-bottom:6rem}
.offer-hero h1{max-width:52rem;margin-bottom:1.5rem}
.offer-lead{font-family:var(--display);font-weight:300;font-size:1.5rem;line-height:1.6;color:var(--muted);max-width:44rem;margin:0}
.offer-intro .offer-eyebrow{margin:0 0 1.5rem}
.offer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem 2rem;margin-top:2.5rem}
.offer-button{display:inline-flex;align-items:center;gap:.75rem;height:3rem;padding:0 1.5rem;border:2px solid var(--paper);background:var(--paper);color:var(--base);font:800 .72rem/1 var(--body);letter-spacing:.125rem;text-transform:uppercase;text-decoration:none;transition:background var(--ease),color var(--ease)}
.offer-button:hover{background:transparent;color:var(--paper)}
.offer-text-link{font:800 .72rem/1.6 var(--body);letter-spacing:.125rem;text-transform:uppercase;color:var(--tang);text-decoration:none}
.offer-text-link:hover{color:var(--text)}
.offer-caption{margin:2rem 0 0;font-size:.8rem;color:var(--faint)}
.offer-page main p.offer-caption{color:var(--faint)}

.offer-map{border:2px solid var(--rule-strong);padding:2rem;background:rgba(14,42,71,.55)}
.map-header{padding-bottom:1.25rem;border-bottom:2px solid var(--rule-strong);margin-bottom:.5rem}
.map-header h2{font-size:1.5rem;line-height:1.4}
.map-flow{list-style:none;padding:0;margin:0}
.map-flow li{display:grid;grid-template-columns:2.75rem minmax(0,1fr);gap:1rem;padding:1.1rem 0;border-bottom:2px solid var(--rule)}
.map-number,.tool-index{font-family:var(--display);font-weight:300;font-size:1.6rem;line-height:1;color:var(--tang)}
.map-flow strong{display:block;font:700 .95rem/1.5 var(--body);color:var(--text)}
.map-flow p{margin:.3rem 0 0;font-size:.85rem;line-height:1.7}
.map-footer{margin:1.25rem 0 0;font-size:.8rem;line-height:1.7}

.workspace-journey{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin:1.25rem 0 .75rem}
.workspace-journey b{border:2px solid var(--rule-strong);padding:.5rem .6rem;font:800 .62rem/1 var(--body);letter-spacing:.1rem;text-transform:uppercase}
/* Each arrow travels with the step after it, so a wrap never leaves an arrow hanging at a line end. */
.workspace-journey .journey-step{display:inline-flex;align-items:center;gap:.45rem}
.workspace-journey span[aria-hidden]{color:var(--tang)}
.workspace-tools{margin:0}
.workspace-tools > div{display:grid;grid-template-columns:2.75rem minmax(0,1fr);column-gap:1rem;padding:1.1rem 0;border-bottom:2px solid var(--rule)}
.workspace-tools dt:not(.tool-index){font:700 .95rem/1.5 var(--body);color:var(--text)}
.workspace-tools .tool-index{grid-row:span 2}
.workspace-tools dd{margin:.3rem 0 0;color:var(--muted);font-size:.85rem;line-height:1.7}

.offer-fit{padding-top:6rem;padding-bottom:6rem;position:relative}
.offer-fit::before{content:"";position:absolute;top:0;left:var(--side);right:0;height:2px;background:var(--rule)}
.offer-page main .offer-fit p:last-child{font-family:var(--display);font-weight:300;font-size:1.75rem;line-height:1.6;color:var(--text);max-width:62rem;margin:0}

.offer-section-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:3rem;align-items:end;margin-bottom:3rem}
.offer-section-heading > p{margin:0;max-width:36rem}

.offer-capabilities,.example-grid{display:grid;gap:2rem}
.offer-capabilities{grid-template-columns:repeat(3,minmax(0,1fr))}
.example-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.offer-capability,.example-grid article{border:2px solid var(--rule-strong);padding:2rem;background:rgba(14,42,71,.45)}
.offer-index{display:block;font:800 .7rem/1.6 var(--body);letter-spacing:.125rem;text-transform:uppercase;color:var(--tang);margin-bottom:1.25rem}
.offer-capability h3,.example-grid h3{font-size:1.3rem;margin-bottom:.75rem}
.offer-capability p,.example-grid p{font-size:.9rem;line-height:1.8}
.offer-capability ul{list-style:none;padding:0;margin:1.5rem 0 0;border-top:2px solid var(--rule)}
.offer-capability li{padding:.7rem 0;border-bottom:2px solid var(--rule);font:700 .82rem/1.5 var(--body)}
.offer-capability li::before{content:"\203A";color:var(--tang);margin-right:.6rem}

.offer-split{display:grid;grid-template-columns:repeat(2,minmax(0,40rem));gap:4rem;align-items:start}
.offer-band-copy p{max-width:40rem}
.offer-ownership{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin:2rem 0 0}
.offer-ownership > div{border:2px solid var(--rule-strong);padding:1.5rem;background:rgba(14,42,71,.45)}
.offer-ownership dt{font:800 .7rem/1.6 var(--body);letter-spacing:.125rem;text-transform:uppercase;color:var(--sky);margin-bottom:.5rem}
.offer-ownership dd{margin:0;color:var(--muted);font-size:.88rem;line-height:1.7}
.offer-page main .offer-commercial{margin-top:1.5rem;border-left:2px solid var(--tang);padding-left:1.25rem;max-width:34rem}
.offer-commercial strong{color:var(--text)}

.offer-process{list-style:none;padding:0;margin:0;border-top:2px solid var(--rule)}
.offer-process li{display:grid;grid-template-columns:4rem minmax(0,1fr);gap:1rem;padding:1.75rem 0;border-bottom:2px solid var(--rule)}
.offer-process .offer-index{font:300 2.5rem/1 var(--display);letter-spacing:0;margin:0}
.offer-process h3{font-size:1.25rem;margin-bottom:.5rem}
.offer-process p{margin:0;font-size:.9rem;line-height:1.8}

.offer-faq{border-top:2px solid var(--rule)}
.offer-faq details{border-bottom:2px solid var(--rule);padding:1.2rem 0}
.offer-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;font-family:var(--display);font-weight:400;font-size:1.2rem}
.offer-faq summary::-webkit-details-marker{display:none}
.offer-faq summary::after{content:"+";color:var(--tang);font-size:1.4rem;line-height:1;transition:transform var(--ease)}
.offer-faq details[open] summary::after{transform:rotate(45deg)}
.offer-faq p{margin:1rem 0 0;max-width:46rem}
.offer-faq a{font-weight:700;text-decoration:underline dotted 1px}

.offer-final{padding-top:8rem;padding-bottom:8rem;position:relative}
.offer-final h2{max-width:46rem}
.offer-final > p{max-width:40rem;margin-top:1rem}
.offer-alternative{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem;margin-top:4rem;padding-top:1.5rem;border-top:2px solid var(--rule);max-width:46rem}
.offer-page main .offer-alternative p{margin:0}

/* ---------- CRM comparison ---------- */
.compare-offer .src{font:800 .6rem/1 var(--body);letter-spacing:.1rem;text-transform:uppercase;color:var(--sky);white-space:nowrap}
.cost-controls{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:2.5rem;align-items:center;border:2px solid var(--rule-strong);padding:2rem;background:rgba(14,42,71,.55)}
.cost-sliders{display:grid;gap:1.5rem}
.cost-seats{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem 1rem;align-items:baseline}
.cost-label{font:800 .7rem/1.6 var(--body);letter-spacing:.125rem;text-transform:uppercase;color:var(--muted)}
.cost-seats output{font:300 2rem/1 var(--display);color:var(--tang)}
.cost-seats input{grid-column:1/-1;width:100%;min-height:44px;accent-color:var(--tang)}
.cost-hipaa{display:flex;gap:.9rem;align-items:flex-start;font:700 .9rem/1.6 var(--body);cursor:pointer}
.cost-hipaa input{width:1.25rem;height:1.25rem;margin-top:.2rem;flex:none;accent-color:var(--tang)}
.cost-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:2px solid var(--rule-strong);border-top:0}
.cost-card{padding:1.75rem 1.5rem;background:rgba(10,31,54,.6)}
.cost-card + .cost-card{border-left:2px solid var(--rule)}
.cost-card h3{font-size:1.3rem;margin-bottom:1rem}
.cost-grid .cost-card h3{min-height:2.8em}
.cost-figure{font:300 1.45rem/1.3 var(--display);color:var(--text);margin-bottom:.9rem;font-variant-numeric:tabular-nums}
.offer-page main .cost-plan,.offer-page main .cost-note{font-size:.8rem;line-height:1.7;margin:0}
.cost-plan + .cost-note{margin-top:.7rem!important;padding-top:.7rem;border-top:2px solid var(--rule)}
.cost-card.is-noygear{background:var(--tang);color:var(--base)}
.cost-card.is-noygear h3,.cost-card.is-noygear .cost-figure{color:var(--base)}
.offer-page main .cost-card.is-noygear p{color:rgba(10,31,54,.85)}
.cost-card.is-noygear .cost-note{border-top-color:rgba(10,31,54,.25)}
.cost-card.is-unavailable .cost-figure{color:var(--faint)}
.offer-page main .cost-footnote{margin-top:1.25rem;font-size:.78rem;line-height:1.8;color:var(--faint);max-width:56rem}

.compare-swipe{display:none}
.compare-table-wrap{position:relative;overflow-x:auto;scrollbar-color:var(--tang) var(--rule);scrollbar-width:thin;border:2px solid var(--rule-strong);background:rgba(10,31,54,.75)}
.compare-table-wrap:focus-visible{outline:2px solid var(--tang);outline-offset:3px}
.compare-table{width:100%;border-collapse:collapse;font:500 .85rem/1.6 var(--body);letter-spacing:.03rem}
.compare-table th,.compare-table td{padding:1rem;text-align:left;vertical-align:top;border-bottom:2px solid var(--rule);color:var(--muted)}
.compare-table thead th{position:sticky;top:0;background:var(--navy);color:var(--text);font:800 .7rem/1.5 var(--body);letter-spacing:.12rem;text-transform:uppercase}
.compare-table thead th.is-noygear{background:var(--tang);color:var(--base)}
.compare-table tbody th[scope="row"]{position:sticky;left:0;z-index:1;background:#0c2440;color:var(--text);font-weight:500}
.compare-table thead th:first-child{position:sticky;left:0;z-index:2}
.compare-table td.is-noygear{background:rgba(240,122,42,.12);color:var(--text)}
.compare-marks{min-width:760px;table-layout:fixed}
.compare-marks thead th:first-child{width:17rem}
.compare-marks .row-name{display:block;font:700 .88rem/1.5 var(--body);color:var(--text)}
.compare-marks .row-why{display:block;margin-top:.25rem;color:var(--faint);font-size:.78rem;line-height:1.5}
.compare-marks thead th:not(:first-child),.compare-marks tfoot td{text-align:center}
.compare-marks .col-plan{display:block;margin-top:.2rem;font:500 .7rem/1.3 var(--body);letter-spacing:.04rem;text-transform:none;opacity:.75}
.compare-marks td.mark{text-align:center;vertical-align:middle;font-size:1.1rem;line-height:1;cursor:help}
.compare-marks td.mark.yes span[aria-hidden]{display:inline-grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--sky);color:var(--base);font-size:.9rem;font-weight:800}
.compare-marks td.mark.yes.is-noygear span[aria-hidden]{background:var(--tang)}
.compare-marks td.mark.no span[aria-hidden]{color:var(--faint)}
.compare-marks tfoot th,.compare-marks tfoot td{padding-block:1.1rem;background:var(--navy);color:var(--text);font:800 .78rem/1.4 var(--body);letter-spacing:.1rem;text-transform:uppercase;border-bottom:0}
.compare-marks tfoot td.is-noygear{background:var(--tang);color:var(--base)}
.compare-marks tfoot th[scope="row"]{position:sticky;left:0}
.compare-sourcelist{margin-top:1.5rem;font-size:.8rem;line-height:1.7;color:var(--muted)}
.compare-sourcelist summary{cursor:pointer;font:800 .72rem/1.6 var(--body);letter-spacing:.125rem;text-transform:uppercase;color:var(--tang);padding:.75rem 0}
.compare-sourcelist > ul{list-style:none;padding:0;margin:.75rem 0 0;columns:2;column-gap:3rem}
.compare-sourcelist li{break-inside:avoid;padding:.3rem 0}
.compare-sourcelist > ul > li > span{display:block;color:var(--text);font-weight:700;padding-top:.6rem;border-top:2px solid var(--rule)}
.compare-sourcelist li ul{list-style:none;padding:0;margin:.3rem 0 .6rem}
.compare-sourcelist b{color:var(--text)}
.compare-sourcelist a{color:var(--sky)}
.only-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.only-card{border:2px solid var(--rule-strong);padding:2rem;background:rgba(14,42,71,.45)}
.only-card h3{font-size:1.35rem;margin-bottom:.6rem}
.offer-page main .only-card > p{font-size:.9rem;line-height:1.8;margin:0}
.only-theirs{list-style:none;padding:0;margin:1.5rem 0 0;font-size:.8rem;line-height:1.7;color:var(--muted)}
.only-theirs li{padding:.6rem 0;border-top:2px solid var(--rule)}
.only-theirs a{color:var(--sky);font-weight:700}
.offer-page main .compare-sources{position:relative;padding-top:3rem;padding-bottom:4rem;font-size:.78rem;line-height:1.8;color:var(--faint)}

/* ---------- Legal pages ---------- */
.legal-hero{min-height:62vh;display:flex;flex-direction:column;justify-content:flex-end;padding:10rem var(--pad-x) 5rem var(--pad-l)}
.legal-hero .back{align-self:flex-start;margin-bottom:auto;font:800 .7rem/1.6 var(--body);letter-spacing:.125rem;text-transform:uppercase;color:var(--faint);text-decoration:none}
.legal-hero .back:hover{color:var(--tang)}
.legal-hero h1{margin:0 0 1.5rem}
.kicker{font:800 .75rem/1.6 var(--body);letter-spacing:.125rem;text-transform:uppercase;color:var(--tang);margin:2rem 0 1.25rem}
.legal-hero .lead{font-family:var(--display);font-weight:300;font-size:1.4rem;line-height:1.6;color:var(--muted);max-width:50rem;margin:0}
.legal-hero p.kicker{color:var(--sky);margin-bottom:0}
.legal-layout{display:grid;grid-template-columns:16rem minmax(0,48rem);gap:5rem;padding:5rem var(--pad-x) 8rem var(--pad-l);position:relative}
.legal-layout::before{content:"";position:absolute;top:0;left:var(--side);right:0;height:2px;background:var(--rule)}
.legal-toc{position:sticky;top:2rem;align-self:start;max-height:calc(100vh - 4rem);overflow:auto}
.toc-label{font:800 .7rem/1.6 var(--body);letter-spacing:.125rem;text-transform:uppercase;color:var(--sky);margin-bottom:1rem}
.legal-toc ol{list-style:none;counter-reset:toc;padding:0;margin:0;border-top:2px solid var(--rule)}
.legal-toc li{counter-increment:toc;border-bottom:2px solid var(--rule)}
.legal-toc a{display:grid;grid-template-columns:1.75rem minmax(0,1fr);padding:.55rem 0;font:700 .76rem/1.5 var(--body);color:var(--muted);text-decoration:none}
.legal-toc a::before{content:counter(toc);color:var(--tang)}
.legal-toc a:hover{color:var(--text)}
.legal-content{max-width:48rem;color:var(--muted)}
.legal-section{padding:0 0 3.5rem;scroll-margin-top:2rem}
.legal-section h2{color:var(--text);font-size:1.9rem;margin:0 0 1.5rem;display:flex;gap:1rem;align-items:baseline}
.legal-section h3{color:var(--text);font-size:1.3rem;margin:2.25rem 0 1rem;display:flex;gap:.8rem;align-items:baseline}
.s-num{font:800 .78rem/1 var(--body);letter-spacing:.1rem;color:var(--tang);flex:none}
.legal-section ul,.legal-section ol{padding-left:1.2rem}
.legal-section li::marker{color:var(--tang)}
.legal-section li{margin:.5rem 0}
.legal-section strong{color:var(--text)}
.legal-section a{color:var(--text);font-weight:700;text-decoration:underline dotted 1px;text-underline-offset:.3em}
.legal-table-wrap{overflow-x:auto;scrollbar-color:var(--tang) var(--rule);scrollbar-width:thin;margin:1.5rem 0 2rem;border:2px solid var(--rule-strong)}
.legal-table{width:100%;border-collapse:collapse;font-size:.85rem;line-height:1.6}
.legal-table th{background:var(--navy);color:var(--text);text-align:left;padding:.9rem 1rem;font:800 .68rem/1.5 var(--body);letter-spacing:.12rem;text-transform:uppercase}
.legal-table td{padding:.9rem 1rem;border-top:2px solid var(--rule);vertical-align:top}
.legal-table tbody tr:nth-child(even) td{background:rgba(14,42,71,.45)}
.legal-clause{border:2px solid var(--rule-strong);border-left-color:var(--tang);padding:1.5rem 1.75rem;margin:1.5rem 0;background:rgba(14,42,71,.55);color:var(--text);font-size:.9rem;line-height:1.85}
.legal-crosslink{display:flex;flex-wrap:wrap;gap:1rem 2.5rem;margin-top:2.5rem;padding-top:1.5rem;border-top:2px solid var(--rule)}
.legal-section .legal-crosslink a{font:800 .72rem/1.6 var(--body);letter-spacing:.125rem;text-transform:uppercase;color:var(--tang);text-decoration:none}

/* ---------- Footer ---------- */
.contact-row .cta{font:800 .75rem/1.6 var(--body);letter-spacing:.125rem;text-transform:uppercase;color:var(--tang);text-decoration:none;white-space:nowrap}
.contact-row .cta:hover{color:var(--text)}
.foot-l .footer-logo{font:800 2.4rem/1.2 var(--body);letter-spacing:.14rem;text-transform:uppercase}
.foot-l .footer-logo a{text-decoration:none}
.foot-l .footer-tag{color:var(--muted);margin-top:1.5rem;max-width:26rem}

/* ---------- Breakpoints, matching site.css ---------- */
@media (max-width:1200px){
  .grid3,.offer-capabilities,.only-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cells{grid-template-columns:repeat(2,minmax(0,1fr))}
  .creds{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:3rem}
  .mission h2{font-size:2.25rem}
  .offer-hero{grid-template-columns:minmax(0,1fr);min-height:auto;padding-top:10rem}
  .offer-map{max-width:32rem}
  .offer-split,.offer-section-heading{grid-template-columns:minmax(0,1fr);gap:2rem}
  .cost-controls{grid-template-columns:minmax(0,1fr)}
  .cost-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cost-card + .cost-card{border-left:0}
  .cost-card{border-top:2px solid var(--rule)}
  .cost-card:not(:nth-child(3n + 1)){border-left:2px solid var(--rule)}
  .legal-layout{grid-template-columns:minmax(0,1fr);gap:3rem}
  .legal-toc{position:static;max-height:none}
  .legal-toc ol{columns:2;column-gap:2rem}
  .legal-toc li{break-inside:avoid}
  .contact-row{grid-template-columns:minmax(0,1fr) auto}
  .contact-row p{grid-column:1/-1;grid-row:2}
}
@media (max-width:900px){
  .grid3,.offer-capabilities,.only-grid,.example-grid,.offer-ownership{grid-template-columns:minmax(0,1fr)}
  .cells{grid-template-columns:minmax(0,1fr)}
  .creds{grid-template-columns:repeat(2,minmax(0,1fr))}
  .creds b{font-size:2.25rem}
  .foot-l .footer-logo{font-size:1.8rem}
  .founders{max-width:22rem}
  .founder{grid-template-columns:minmax(0,1fr)}
  .founder > div:last-child{padding:1.5rem}
  .mission{padding:5rem 1rem}
  .mission h2{font-size:1.6rem}
  .formula{font-size:.9rem;padding:1rem}
  .crit b{font-size:2rem}
  .offer-page h2{font-size:1.5rem}
  .offer-hero{padding-top:7rem;padding-bottom:4rem;gap:3rem}
  .offer-lead{font-size:1.15rem}
  .offer-section,.offer-final{padding-top:4rem;padding-bottom:4rem}
  .offer-fit{padding-top:4rem;padding-bottom:4rem}
  .offer-page main .offer-fit p:last-child{font-size:1.3rem}
  .offer-section::before,.offer-final::before,.offer-fit::before,.compare-sources::before,.legal-layout::before{left:1rem;right:1rem}
  .offer-map,.offer-capability,.example-grid article,.only-card,.cost-controls{padding:1.5rem}
  .cost-grid{grid-template-columns:minmax(0,1fr)}
  .cost-card:not(:nth-child(3n + 1)){border-left:0}
  .cost-grid .cost-card h3{min-height:0}
  .compare-swipe{display:block;font-size:.8rem;color:var(--faint)}
  .compare-marks thead th:first-child{width:9.5rem}
  .compare-marks .row-why{font-size:.72rem}
  body.nav-open .mbar .brand{visibility:hidden}
  .compare-sourcelist > ul{columns:1}
  .legal-hero{min-height:auto;padding:7rem 1rem 3rem}
  .legal-hero .back{margin-bottom:2.5rem}
  .legal-hero .lead{font-size:1.15rem}
  .legal-layout{padding:3rem 1rem 5rem}
  .legal-toc ol{columns:1}
  .legal-section h2{font-size:1.4rem}
  .contact-row{grid-template-columns:minmax(0,1fr);gap:.75rem}
  .contact-row p{grid-row:auto}
}

/* Pages whose original nav had no links keep the logo and drop the burger. */
body:not(:has(.side .menu)) .burger{display:none}
