/* Product pages (Dr. Moss rules 2026-10-21): Georgia, muted royal blue, generous whitespace, body 20px+, one large screenshot per row. */
:root{--blue:#3b5ba5;--blue-deep:#2e4a8c;--blue-tint:#eaeff9;--ink:#1c2531;--muted:#3a4757;--paper:#fbf9f4;--card:#ffffff;--rule:#cdd6e8;--soft:#f3f1ea}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body.pp{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:20px;line-height:1.65;color:var(--ink);background:var(--paper);-webkit-text-size-adjust:100%}
.pp a{color:var(--blue-deep)}
.pp .skip-link{position:absolute;left:-999px;top:8px;background:#fff;color:var(--blue-deep);padding:10px 14px;z-index:50}
.pp .skip-link:focus{left:8px}
.pp-top{background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px clamp(18px,4vw,56px)}
.pp-top .wordmark img{display:block;height:54px;width:auto}
.pp-top nav{display:flex;align-items:center;gap:clamp(14px,3vw,34px);flex-wrap:wrap;justify-content:flex-end}
.pp-top a{color:#fff;text-decoration:none;font-size:20px}
.pp-top a.contact-cta{border:2px solid #fff;padding:9px 18px;border-radius:3px;font-weight:700;font-size:19px;line-height:1.25;text-align:center}
.pp-top a.contact-cta:hover,.pp-top a.contact-cta:focus-visible{background:#fff;color:var(--blue-deep)}
.secnav{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--rule);display:flex;gap:6px clamp(14px,2.6vw,34px);padding:12px clamp(18px,4vw,56px);overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
.secnav a{font-size:20px;text-decoration:none;color:var(--muted);padding:4px 0;border-bottom:3px solid transparent}
.secnav a:hover,.secnav a:focus-visible{color:var(--blue-deep);border-bottom-color:var(--blue)}
.wrap{max-width:1000px;margin:0 auto;padding:0 28px}
.wide{max-width:1240px;margin:0 auto;padding:0 28px}
section.blk{padding:clamp(56px,8vw,96px) 0;border-bottom:1px solid var(--rule)}
.tag{margin:0 0 10px;font-size:20px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);font-weight:700}
.pp h2{margin:0 0 22px;font-size:clamp(32px,4vw,46px);line-height:1.15;color:var(--blue-deep);font-weight:700;letter-spacing:-.01em}
.pp h3{margin:0 0 10px;font-size:clamp(25px,2.6vw,30px);line-height:1.25;color:var(--ink)}
.pp p{margin:0 0 18px}
.lede{font-size:22px;line-height:1.6}
/* hero */
.hero{padding:clamp(40px,6vw,80px) 0 clamp(44px,6vw,76px);border-bottom:1px solid var(--rule)}
.hero-grid{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:clamp(26px,4vw,56px);align-items:start}
.logo-tile{background:var(--blue-deep);border-radius:6px;padding:16px;display:grid;place-items:center;aspect-ratio:1/1}
.logo-tile img{display:block;width:100%;height:100%;object-fit:contain}
.hero h1{margin:0 0 6px;font-size:clamp(44px,6.2vw,76px);line-height:1.04;color:var(--blue-deep);letter-spacing:-.02em}
.hero .label{margin:0 0 14px;font-size:20px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);font-weight:700}
.hero .pain{margin:18px 0 18px;font-size:clamp(22px,2.2vw,27px);line-height:1.5;font-style:italic;color:var(--ink)}
.hero .summary{margin:0;font-size:clamp(21px,2vw,24px);line-height:1.55;color:var(--ink);padding-left:20px;border-left:4px solid var(--blue)}
/* layer 1 */
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:8px}
.three>div{background:var(--card);border:1px solid var(--rule);border-top:5px solid var(--blue);padding:26px 26px 14px}
.three h3{font-size:20px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:12px}
.three p{font-size:20px}
.glance{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px 40px}
.glance li{padding-left:34px;position:relative;font-size:21px}
.glance li:before{content:"\2713";position:absolute;left:0;top:0;color:var(--blue);font-weight:700;font-size:24px}
/* fits */
.steps{list-style:none;margin:10px 0 0;padding:0;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:72px 1fr;gap:20px;padding:22px 0;border-top:1px solid var(--rule)}
.steps li:first-child{border-top:0}
.steps li:before{content:counter(s);font-size:54px;line-height:1;color:var(--blue);font-weight:700;text-align:right}
.steps b{display:block;font-size:24px;line-height:1.3;margin-bottom:4px;color:var(--ink)}
.steps span{display:block}
/* media */
.media-intro{max-width:900px}
figure.shot{margin:44px 0 0}
figure.shot img,figure.shot video{display:block;width:100%;height:auto;border:1px solid var(--rule);background:#fff}
figure.shot.narrow{max-width:min(100%,1000px)}
figure.shot figcaption{margin:14px 0 0;font-size:20px;line-height:1.55;color:var(--muted);max-width:960px}
figure.shot figcaption a{display:inline-block;margin-top:6px;font-size:20px}
.phones{display:flex;flex-wrap:wrap;gap:28px;margin-top:44px;align-items:flex-start}
.phones figure.shot{margin:0;flex:0 1 370px;min-width:min(100%,300px)}
.pending{margin-top:30px;padding:26px 28px;background:var(--soft);border-left:5px solid var(--blue);font-size:21px}
/* layer 2 */
.deep{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:12px 48px;padding:34px 0;border-top:1px solid var(--rule)}

.deep .pain{font-style:italic;color:var(--muted);font-size:21px;line-height:1.45}
.deep .pain small{display:block;font-style:normal;font-size:20px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:6px;font-weight:700}
.deep p{margin-bottom:0}
.edify{margin-top:34px;padding:30px 34px;background:var(--blue-tint);border-left:6px solid var(--blue);font-size:22px;line-height:1.6}
/* layer 3 */
.cols{columns:2 420px;column-gap:56px;margin:0;padding:0;list-style:none}
.cols li{break-inside:avoid;margin:0 0 16px;padding-left:34px;position:relative}
.cols.ok li:before{content:"\2713";position:absolute;left:0;top:0;color:var(--blue);font-weight:700;font-size:23px}
.cols.soon li:before{content:"\25CB";position:absolute;left:2px;top:0;color:var(--muted);font-size:20px}
.soon-box{margin-top:44px;padding:30px 34px;border:2px dashed var(--blue);background:var(--card)}
.soon-box h3{color:var(--blue-deep)}
.clocks{width:100%;border-collapse:collapse;margin-top:26px;font-size:20px}
.clocks th,.clocks td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--rule);vertical-align:top}
.clocks th{font-weight:700;width:48%;color:var(--ink)}
.clocks td{color:var(--blue-deep);font-weight:700}
.clocks-note{font-size:20px;color:var(--muted);margin-top:14px}
.small-note{font-size:20px;color:var(--muted)}
/* founder + contact */
.founder{background:var(--blue);color:#fff;padding:clamp(48px,6vw,72px) 0}
.founder p{margin:0 auto;max-width:900px;font-size:clamp(22px,2.3vw,27px);line-height:1.55;text-align:center}
.founder .tag{color:#d4def5;text-align:center}
.next{display:flex;flex-wrap:wrap;gap:16px 40px;justify-content:space-between;padding:34px 0;font-size:21px}
.next a{font-weight:700}
.contact{padding:clamp(56px,7vw,88px) 0;text-align:center}
.contact h2{margin-bottom:26px}
.cta-big{display:inline-block;background:var(--blue);color:#fff!important;text-decoration:none;padding:18px 32px;border-radius:3px;font-size:22px;font-weight:700}
.cta-big:hover,.cta-big:focus-visible{background:var(--blue-deep)}
.contact .addr{margin:22px 0 0;font-size:20px;color:var(--muted)}
.pp footer{background:var(--soft);padding:26px clamp(18px,4vw,56px);font-size:20px;color:var(--muted);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
a:focus-visible,video:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:1000px){.three{grid-template-columns:1fr}.deep{grid-template-columns:1fr}.glance{grid-template-columns:1fr}}
@media(max-width:760px){
 body.pp{font-size:20px}
 .wrap,.wide{padding:0 20px}
 .pp-top{flex-wrap:wrap;justify-content:center}.pp-top .wordmark img{height:46px}
 .pp-top nav{justify-content:center}
 .hero-grid{grid-template-columns:1fr}.logo-tile{width:150px;margin:0 auto}
 .hero h1{text-align:center}.hero .label{text-align:center}
 .steps li{grid-template-columns:48px 1fr;gap:12px}.steps li:before{font-size:40px}
 .clocks th,.clocks td{display:block;width:100%;padding:6px 0;border:0}.clocks tr{display:block;padding:12px 0;border-bottom:1px solid var(--rule)}
 .edify,.soon-box{padding:22px 20px}
 figure.shot{margin-top:34px}
}

.steps,.deep-list{max-width:1040px}.edify{max-width:1040px}.media-intro,.lede{max-width:940px}
figure.shot.sq{max-width:560px}
