:root{--navy:#142232;--orange:#f47b20;--cream:#f8f6f0;--ink:#172635;--muted:#586777}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.75 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:#9a4410;text-underline-offset:3px}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible{outline:3px solid #f47b20;outline-offset:4px}.wrap{max-width:1140px;margin:auto;padding:0 26px}.site-header{background:var(--navy);color:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff24}.nav{display:flex;min-height:82px;align-items:center;justify-content:space-between;gap:18px}.brand{display:inline-flex;gap:12px;align-items:center;color:#fff;text-decoration:none;font-size:25px;font-weight:850;letter-spacing:-.04em}.brand img{height:50px;width:50px;object-fit:contain;border-radius:12px}.nav-links{display:flex;gap:24px;align-items:center;flex-wrap:wrap;font-size:14px;font-weight:680}.nav-links a{color:#fff;text-decoration:none}.nav-links .cta,.button.primary{background:var(--orange);color:var(--navy);font-weight:800;padding:10px 16px;border-radius:10px}.hero{background:radial-gradient(ellipse at 65% 0%,#32485c,var(--navy) 72%);padding:68px 0 60px;color:#fff}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:1.5px;font-weight:800;color:#ffb779}.hero h1{font-size:clamp(38px,5vw,66px);letter-spacing:-.045em;line-height:1.1;max-width:940px;margin:18px 0}.hero p{max-width:780px;color:#d4dce5;font-size:18px}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.button{display:inline-flex;align-items:center;text-decoration:none;border-radius:10px;padding:12px 19px;font-weight:750}.button.secondary{border:1px solid #ffffff62;color:#fff}.screenshot{margin:34px auto 15px}.screenshot img{display:block;width:100%;height:auto;border-radius:15px;border:1px solid #cfd7df;box-shadow:0 18px 45px #12253a26}.screenshot figcaption{color:#5b6571;font-size:13px;padding-top:8px}.body-content{padding:45px 0 66px}.prose{max-width:900px}.prose h2{font-size:clamp(25px,3.2vw,36px);line-height:1.2;letter-spacing:-.025em;margin:44px 0 14px}.prose p{margin:0 0 18px;color:#475767}.prose li{margin:7px 0;color:#475767}.note{background:#fff5e9;border-left:4px solid var(--orange);padding:16px 20px;margin:30px 0;border-radius:8px;color:#543c2d}.footer-cta{background:var(--navy);color:#fff;padding:42px 30px;border-radius:18px;margin-top:50px}.footer-cta h2{color:#fff;margin:0 0 9px}.footer-cta p{color:#d3dce6}.footer-cta a{color:#ffb779}.site-footer{background:#101b28;color:#ccd5dc;padding:28px 0;font-size:14px}.site-footer a{color:#ffb779}.nav-links a:hover,.brand:hover{color:#ffb779}@media(max-width:780px){.nav{padding:14px 0;align-items:flex-start;flex-direction:column}.nav-links{gap:13px}.hero{padding:46px 0}.hero p{font-size:16px}.body-content{padding-top:27px}.screenshot img{border-radius:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Consistent feature navigation and readable article/sidebar balance. */
.body-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,260px);column-gap:40px;align-items:start}
.feature-content-main{min-width:0}
.feature-content-main .prose{max-width:900px}
.feature-content-main .screenshot{margin:0 0 40px}
.feature-sidebar{min-width:0;align-self:start;position:sticky;top:107px}
.feature-sidebar-box{border:1px solid #dfe3e8;background:#fff;border-radius:16px;padding:24px 20px;box-shadow:0 10px 30px #1422320a}
.feature-sidebar-box h2{font-size:19px;line-height:1.25;letter-spacing:-.02em;margin:0 0 16px;color:#142232}
.feature-sidebar-box ul{list-style:none;padding:0;margin:0;display:grid;gap:5px}
.feature-sidebar-box li{margin:0}
.feature-sidebar-box li a{display:block;color:#354758;text-decoration:none;font-size:14px;line-height:1.4;font-weight:650;padding:12px 13px;border-radius:9px;border:1px solid transparent}
.feature-sidebar-box li a:hover,.feature-sidebar-box li a:focus-visible{background:#f8f6f0;color:#9a4410}
.feature-sidebar-box li a[aria-current="page"]{background:#fff1e5;border-color:#f2c7a6;color:#93400d;font-weight:800}
.feature-sidebar-other{display:grid;gap:12px;border-top:1px solid #e4e7ea;margin-top:17px;padding-top:18px}
.feature-sidebar-other a{font-size:13px;line-height:1.5;font-weight:650;color:#95501e}
@media(max-width:900px){.body-content{grid-template-columns:minmax(0,1fr) 215px;gap:24px}.feature-sidebar-box{padding:20px 15px}}
@media(max-width:700px){.body-content{display:flex;flex-direction:column;gap:22px}.feature-sidebar{position:static;width:100%;order:2}.feature-content-main{width:100%}.feature-sidebar-box ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.feature-sidebar-box li a{padding:11px;font-size:13px}}
@media(max-width:410px){.feature-sidebar-box ul{grid-template-columns:1fr}}

/* Clean feature heroes: only final headline word uses the Caffoot orange. */
.hero .hero-highlight{color:#ff913b}
.hero h1{max-width:1020px}
.hero p{margin-bottom:0}
/* Present genuine screenshot without surrounding browser tabs while preserving source pixels. */
.screenshot-viewport{overflow:hidden;border-radius:15px;background:#f8f6f0;line-height:0;border:1px solid #cfd7df;box-shadow:0 18px 45px #12253a26}
.screenshot-viewport>a{display:block;width:100%;overflow:hidden}
.screenshot-viewport img{display:block;width:100%;height:auto;border:0;border-radius:0;box-shadow:none;clip-path:inset(2.8% 0 0 0);margin-bottom:-2.8%}
.screenshot figcaption{margin-top:9px}
/* Same full-width footer on the homepage and all four dedicated pages. */
.site-footer-v21{background:#142232;color:#d6e0e9;padding:58px 0 26px}
.site-footer-v21-top{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(170px,.8fr) minmax(170px,.8fr);gap:clamp(26px,5vw,90px)}
.site-footer-v21-name{display:flex;align-items:center;gap:14px}
.site-footer-v21-name img{border-radius:12px;object-fit:contain}
.site-footer-v21-name div{display:grid;gap:0}
.site-footer-v21-name strong{font-size:25px;color:#fff;line-height:1.4}
.site-footer-v21-name span{color:#ffb779;font-size:13px;font-weight:750}
.site-footer-v21-brand p{max-width:380px;color:#cad7e2;font-size:14px;line-height:1.8;margin:18px 0 0}
.site-footer-v21-links{display:grid;align-content:start;gap:12px}
.site-footer-v21-links h2{font-size:16px;color:#fff;margin:4px 0 8px}
.site-footer-v21-links a{font-size:14px;color:#cbd5df;text-decoration:none;line-height:1.5}
.site-footer-v21-links a:hover{text-decoration:underline;color:#ffb779}
.site-footer-v21-bottom{border-top:1px solid #405062;margin-top:42px;padding-top:21px;display:flex;justify-content:space-between;gap:14px;align-items:center;font-size:13px;color:#c6d3df}
.site-footer-v21-bottom strong{font-size:13px;color:#ffb779}
.site-footer-v21 a:focus-visible{outline:3px solid #ffb779;outline-offset:4px}
@media(max-width:780px){.site-footer-v21-top{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.site-footer-v21-top{grid-template-columns:1fr}.site-footer-v21-bottom{flex-direction:column;align-items:flex-start}}

/* Display crop: hide browser tabs at top without altering original release captures. */
.screenshot-viewport>a{height:100%}
.screenshot-viewport img{height:100%;width:100%;object-fit:cover;object-position:center bottom;clip-path:none;margin-bottom:0}

/* Mobile refinement: give the header and feature navigation room to breathe.
   Desktop layout stays unchanged. */
@media(max-width:700px){
  .wrap{padding-left:20px;padding-right:20px}
  .nav{align-items:stretch;gap:20px;padding-top:16px;padding-bottom:20px}
  .brand{align-self:flex-start;font-size:24px;max-width:100%}
  .nav-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;row-gap:8px;width:100%;min-width:0}
  .nav-links a{display:flex;min-width:0;align-items:center;padding:10px 12px;border-radius:8px;line-height:1.5}
  .nav-links a:not(.cta):hover{background:#ffffff10}
  .nav-links .cta{grid-column:1/-1;justify-content:center;text-align:center;margin-top:6px;padding:13px 16px}
  .body-content{gap:32px}
  .feature-content-main{min-width:0}
  .feature-sidebar{width:100%;max-width:100%}
  .feature-sidebar-box{padding:24px 20px}
  .feature-sidebar-box h2{margin-bottom:17px}
  .feature-sidebar-box ul{grid-template-columns:1fr;gap:8px}
  .feature-sidebar-box li a{padding:13px 15px;font-size:15px;line-height:1.45}
  .feature-sidebar-other{gap:14px;margin-top:23px;padding-top:21px}
  .feature-sidebar-other a{font-size:14px;line-height:1.6}
}
@media(max-width:380px){
  .wrap{padding-left:16px;padding-right:16px}
  .nav-links{column-gap:8px}
  .nav-links a{padding:9px 8px;font-size:13px}
}

/* Shared site header — same structure and mobile hamburger menu as index.html.
   These rules supersede the earlier feature-only two-column menu styling. */
header:not(.unused-header){position:sticky;top:0;z-index:10;background:#142232f5;color:#fff;border-bottom:1px solid #ffffff20;backdrop-filter:blur(12px)}
header .wrap{max-width:1160px}
header .nav{min-height:83px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:0;padding-bottom:0}
header .brand{display:flex;align-items:center;gap:12px;font-size:25px;font-weight:850;letter-spacing:-1px;color:#fff}
header .brand img{width:51px;height:51px;border-radius:13px}
header .navlinks{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:650}
header .navlinks a{color:#fff;text-decoration:none}
header .navlinks a:hover{color:#ffa65e}
header .navlinks .navcta{display:inline-flex;align-items:center;justify-content:center;background:#f47b20;color:#172331!important;border-radius:11px;padding:11px 17px;font-weight:750}
header .navlinks .navcta:hover{transform:translateY(-2px)}
header .menu{display:none;background:transparent;color:#fff;border:1px solid #ffffff50;border-radius:8px;padding:8px 12px;cursor:pointer;font:inherit}
@media(max-width:760px){
 header .nav{min-height:83px;flex-direction:row;align-items:center;justify-content:space-between;gap:24px;padding-top:0;padding-bottom:0}
 header .brand{align-self:auto;font-size:25px}
 header .menu{display:block;flex:none}
 header .navlinks{display:none;position:absolute;top:82px;left:0;right:0;width:auto;min-width:0;padding:18px 26px 24px;background:#142232;flex-direction:column;align-items:stretch;gap:19px}
 header .navlinks.open{display:flex}
 header .navlinks a{display:block;padding:0;font-size:14px;line-height:normal}
 header .navlinks .navcta{display:inline-flex;align-self:stretch;padding:11px 17px;margin:0;text-align:center;justify-content:center}
}

/* Exact homepage mobile header geometry.
   The feature stylesheet uses a 1.75 body line-height and narrower mobile
   content gutters; the homepage header uses normal button line-height
   and fixed 26px navigation gutters. */
@media(max-width:760px){
  header .wrap.nav{padding-left:26px;padding-right:26px}
  header .menu{font-size:16px;line-height:normal;font-weight:400;letter-spacing:normal;padding:8px 12px}
}
