/* Shared OffRamp website identity. Loaded after page-specific layouts. */
:root{--site-width:1200px;--site-edge:24px;--site-gap:32px;--site-section:64px;--site-title:1.375rem;--site-body:1.0625rem;--site-control:.9375rem;--site-action:56px;--site-serif:Fraunces,Fraunces-fallback,Georgia,serif;--site-sans:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',sans-serif}
body{font-family:var(--site-sans);font-size:var(--site-body);line-height:1.6;font-variant-numeric:tabular-nums}
.wrap{width:100%;max-width:var(--site-width);margin-inline:auto;padding-inline:var(--site-edge)}
h1,h2,h3{font-family:var(--site-serif);font-weight:560;font-variation-settings:'SOFT' 0,'WONK' 0;letter-spacing:-.025em}
h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.16}
.brand{display:inline-flex;align-items:center;gap:8px;font-family:var(--site-serif);font-size:var(--site-title);line-height:1.2;white-space:nowrap;min-height:48px;flex-shrink:0}
.brand .mark{width:32px;height:32px;flex:0 0 32px;border-radius:8px;overflow:hidden;background:transparent}
.brand .mark img{display:block;width:32px;height:32px;object-fit:cover}
.nav-inner{min-height:80px;height:auto;display:flex;align-items:center;gap:24px;padding-block:8px}
.nav-links{display:flex;align-items:center;gap:24px;margin-inline:auto}
.nav-links>a{font-size:var(--site-control);min-height:48px;display:flex;align-items:center}
.nav-actions{display:flex;gap:8px;align-items:center;margin-left:auto}
.nav-actions .button,.button,.nav-cta,.appstore{min-height:var(--site-action);height:auto;box-sizing:border-box;padding:8px 16px;border-radius:12px;font-size:var(--site-control);line-height:1.3;display:inline-flex;align-items:center;justify-content:center;gap:16px}
.theme-toggle{width:var(--site-action);height:var(--site-action);flex-shrink:0;border:0;background:transparent}
.appstore .lines{text-align:left;line-height:1.2}
.appstore .lines small{font-size:.8125rem;line-height:1.2}
.appstore .lines strong{font-size:var(--site-body);line-height:1.2}
footer.site{padding-block:48px 32px}
footer.site .foot-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:start}
footer.site .foot-brand p{font-size:var(--site-control);line-height:1.6;margin-top:0;max-width:36ch}
footer.site .foot-links{display:flex;gap:16px 24px;flex-wrap:wrap;justify-content:flex-end;padding:0}
footer.site .disclaimer{margin-top:32px;padding-top:24px;line-height:1.7;font-size:.8125rem}
.section{padding-block:var(--site-section)}
.section-head{margin-bottom:32px;gap:24px}
.journal-card h3,.plan h3,.daily-card h3,.card h3{font-size:var(--site-title);line-height:1.3}
.article-refresh .prose{font-size:var(--site-body);line-height:1.75}
.article-refresh .prose>p:first-of-type::first-letter{float:none;font:inherit;padding:0;color:inherit}
@media(max-width:900px){.nav-links{display:none}.nav-inner{gap:16px}.nav-actions{margin-left:auto}}
@media(max-width:800px){:root{--site-section:48px}footer.site .foot-grid{grid-template-columns:1fr}footer.site .foot-links{justify-content:flex-start}.nav-inner{min-height:72px}}
@media(max-width:360px){.brand{font-size:1.0625rem}.nav-actions{gap:0}.nav-actions .button{padding-inline:8px}.nav-actions .button .icon{display:none}}
/* Keep Journal discoverable when the full navigation collapses. */
@media(min-width:561px) and (max-width:900px){
 .nav-links{display:flex;margin-inline:auto 0;gap:0}
 .nav-links>a{display:none}
 .nav-links>a[href='/blog/']{display:flex}
 .nav-actions{margin-left:0}
}
@media(max-width:560px){
 .nav-inner{flex-wrap:wrap;row-gap:0}
 .nav-links{display:flex;order:3;flex-basis:100%;margin:0;gap:24px}
 .nav-links>a{display:none;min-height:44px}
 .nav-links>a[href='/blog/']{display:flex}
}
