/* SHVL's printed-homepage palette, applied within each existing page family.
   Compact action sizing, visibility, status colours and document layouts stay local. */
:root {
  --bg:#f8f6ef; --bg2:#f0eee5; --bg3:#e9e8df; --paper:#fffdf7;
  --t1:#193f46; --t2:#425b5e; --t3:#4f6365; --t4:#899695;
  --ac:#193f46; --ac-hover:#044a54; --ac2:#044a54;
  --ac-soft:rgba(25,63,70,.06); --ac-border:rgba(25,63,70,.35);
  --bd:#d8ddd5; --bdh:#869693; --nav-bg:rgba(251,244,227,.97);
  --field-bg:#fffef9; --field-bd:#81918d; --field-bd-hover:#486563;
  --field-placeholder:#5b6b6d; --btn-p-fg:#fffdf7;
  --surface-soft:rgba(25,63,70,.035); --surface-soft-2:rgba(25,63,70,.045);
  --r:6px; --r-lg:8px;
}
body.shvl-site {
  --text-primary:var(--t1); --text-secondary:var(--t2); --text-tertiary:var(--t2);
  --text-muted:var(--t3); --text:var(--t1); --muted:var(--t2);
  --ink:var(--t1); --line:var(--bd); --surface:var(--paper);
  --accent:var(--ac2); --gold:var(--ac2);
  background:var(--bg); color:var(--t1); font-family:var(--sans,Inter,-apple-system,BlinkMacSystemFont,sans-serif);
}
body.shvl-site::before { content:none; }
.shvl-site p { text-wrap:pretty; }
.shvl-site :is(h1,h2,h3) { text-wrap:balance; }
.shvl-site:not(.home-page) h1 { font-weight:800; letter-spacing:-.035em; }
.shvl-site:not(.home-page) :is(h2,h3) { font-weight:750; letter-spacing:-.025em; }
.shvl-site :is(.site-nav,.cc-nav) { background:var(--nav-bg); border-block-end-color:var(--bd); }
.shvl-site.home-page .site-nav { background:#fbf4e3; border-block-end-color:rgba(25,63,70,.15); }
.shvl-site :is(.site-brand,.brand,.nav-logo-text) { color:var(--t1); }
.shvl-site :is(table,dl) { font-variant-numeric:tabular-nums; }
.shvl-site :is(button,input,select,textarea,summary,a):focus-visible { outline:2px solid var(--ac2); outline-offset:1px; }
.shvl-site :is(input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=url],input[type=search],input[type=tel],textarea,select):not(:disabled):not([readonly]) {
  background-color:var(--field-bg); border-color:var(--field-bd); color:var(--t1); border-radius:var(--r);
}
.shvl-site :is(input,textarea)::placeholder { color:var(--field-placeholder); opacity:1; }
.shvl-site :is(input,textarea)[readonly] { background-color:var(--bg2); }
.shvl-site :is(input,select,textarea):focus-visible { border-color:var(--ac2); }
@media(hover:hover) and (pointer:fine) {
  .shvl-site :is(input,select,textarea):not(:disabled):not([readonly]):hover { border-color:var(--field-bd-hover); }
}
/* Public tools and guides share a readable title column and a quiet summary sheet. */
.shvl-site .seo-shell { max-inline-size:1240px; padding-block:64px 72px; }
.shvl-site .seo-hero { grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr); gap:48px; }
.shvl-site .seo-hero h1 { font-size:clamp(38px,4.4vw,58px); line-height:1.1; max-inline-size:22ch; }
.shvl-site .seo-lede { font-size:17px; line-height:1.7; margin-block-start:24px; max-inline-size:62ch; }
.shvl-site .seo-proof { background:var(--paper); border-color:var(--bd); border-block-start:2px solid var(--ac); border-radius:var(--r-lg); padding:24px; }
.shvl-site .seo-proof-title { font-size:13px; margin-block-end:14px; }
.shvl-site .seo-proof-row { grid-template-columns:94px minmax(0,1fr); gap:16px; padding-block:12px; }
.shvl-site .seo-proof-row :is(span,strong) { font-size:14px; line-height:1.6; }
.shvl-site .seo-proof-row strong { font-weight:600; }
.shvl-site :is(.seo-card,.seo-section) { padding-block-start:26px; }
.shvl-site :is(.seo-card h2,.seo-card h3,.seo-section h2) { font-size:clamp(24px,2.8vw,34px); line-height:1.2; }
.shvl-site :is(.seo-card p,.seo-card li,.seo-section p,.seo-section li) { line-height:1.75; }
.shvl-site .seo-grid { gap:40px; margin-block-start:48px; }
.shvl-site .seo-section { margin-block-start:48px; }
.shvl-site :is(.seo-eyebrow,.site-edition) { font-size:12px; text-transform:none; letter-spacing:0; }
/* Legal and service information read like documents, without nested decoration. */
.shvl-legal main { max-inline-size:1000px; padding-block:64px 72px; }
.shvl-legal main h1 { font-size:clamp(34px,4vw,48px); line-height:1.12; max-inline-size:24ch; }
.shvl-legal main :is(p,li) { font-size:15px; line-height:1.75; }
.shvl-legal main .intro { font-size:18px; max-inline-size:66ch; margin-block:20px 32px; }
.shvl-legal main :is(.panel,.callout,.card) { background:var(--paper); border-color:var(--bd); box-shadow:none; border-radius:var(--r-lg); }
.shvl-legal main :is(.section,.panel) { margin-block-start:32px; }
.shvl-legal main :is(.mini,.eyebrow) { font-size:12px; text-transform:none; letter-spacing:0; }
.shvl-legal main h2 { font-size:23px; line-height:1.3; }
.shvl-legal main a:not([class]) { color:var(--ac2); text-underline-offset:.2em; }
/* Earlier articles remain available, with the current product's visual identity. */
.shvl-article nav {
  position:sticky; inset-block-start:0; padding:16px max(24px,calc((100% - 1120px)/2));
  background:var(--nav-bg); border-block-end:1px solid var(--bd); gap:24px;
}
.shvl-article .nav-logo-text { background:none; -webkit-text-fill-color:currentColor; font-size:28px; letter-spacing:-.035em; }
.shvl-article .nav-links { gap:24px; }
.shvl-article .nav-links a { color:var(--t2); font-size:14px; }
.shvl-article :is(.post-hero,.blog-hero) { max-inline-size:1120px; margin-inline:auto; padding:64px 24px 24px; text-align:start; }
.shvl-article .post-hero { max-inline-size:850px; }
.shvl-article :is(.post-hero h1,.blog-hero h1) { font-size:clamp(34px,4vw,52px); line-height:1.12; margin-block:12px 20px; }
.shvl-article :is(.post-tag,.blog-card-tag) { display:inline; background:none; padding:0; border:0; border-radius:0; color:var(--ac2); font-size:13px; letter-spacing:0; text-transform:none; }
.shvl-article :is(.post-meta,.blog-card-meta) { color:var(--t3); font-size:13px; }
.shvl-article article { max-inline-size:850px; margin-inline:auto; padding:24px 24px 48px; font-size:17px; line-height:1.8; }
.shvl-article article :is(p,li) { color:var(--t2); }
.shvl-article article :is(h2,h3,strong) { color:var(--t1); }
.shvl-article article h2 { font-size:27px; line-height:1.25; margin-block:36px 14px; }
.shvl-article article h3 { font-size:21px; line-height:1.3; }
.shvl-article article blockquote { background:var(--ac-soft); border-inline-start-color:var(--ac); }
.shvl-article :is(.back-link,.post-cta) { max-inline-size:850px; margin-inline:auto; padding-inline:24px; }
.shvl-article .back-link { display:block; padding-block:8px; color:var(--ac2); }
.shvl-article .blog-grid { max-inline-size:1120px; margin-inline:auto; padding:24px 24px 64px; gap:24px; }
.shvl-article .blog-card { background:var(--paper); border-color:var(--bd); border-radius:var(--r-lg); padding:26px; }
.shvl-article .blog-card-title { color:var(--t1); font-size:24px; line-height:1.25; }
.shvl-article .blog-card-excerpt { color:var(--t2); font-size:15px; line-height:1.7; }
.shvl-article .post-cta-box { background:var(--paper); border:1px solid var(--bd); border-radius:var(--r-lg); }
.shvl-article footer { background:var(--bg); border-block-start:1px solid var(--bd); color:var(--t2); }
.shvl-article footer a { color:var(--ac2); }
/* Account and workspaces retain their own practical widths and information density. */
.shvl-application :is(.st-memory-shell,.st-memory-card) { background:var(--paper); border-color:var(--bd); box-shadow:none; }
.shvl-application :is(.st-memory-kicker,.st-memory-step,.st-label) { font-size:12px; letter-spacing:0; text-transform:none; }
.shvl-application :is(.st-section-head h2,.cc-focus-head h2) { line-height:1.25; }
.shvl-application .cc-demo { background:var(--ac-soft); border-color:var(--bdh); border-radius:var(--r-lg); }
.shvl-application :is(.cc-workspace-head,.st-header,.pack-heading) { margin-block-end:24px; }
.shvl-application .st-settings-nav { background:var(--paper); border-color:var(--bd); }
.shvl-application .financial-paper { background:var(--paper); }
.shvl-utility .login-steps { font-size:13px; }
.shvl-utility .oauth-card { background:var(--paper); border-radius:var(--r-lg); }
.shvl-utility .oauth-kicker { font-size:12px; letter-spacing:0; text-transform:none; }
/* Clear, branded recovery pages, including removed routes. */
.shvl-status .nf-wrap { max-inline-size:780px; margin-inline:auto; padding:80px 24px; }
.shvl-status .nf-brand { display:inline-block; margin-block-end:40px; color:var(--t1); text-decoration:none; font-size:28px; font-weight:850; letter-spacing:-.035em; }
.shvl-status .nf-wrap h1 { font-size:clamp(34px,4vw,48px); line-height:1.12; }
.shvl-status .nf-wrap p { color:var(--t2); font-size:17px; opacity:1; }
.shvl-status .nf-links a { color:var(--ac2); border-color:var(--bdh); border-radius:var(--r); }
.shvl-status .nf-links a:first-child { color:var(--btn-p-fg); background:var(--ac); border-color:var(--ac); }
@media(max-width:820px) {
  .shvl-site .seo-shell { padding:36px 20px 56px; }
  .shvl-site .seo-hero { grid-template-columns:minmax(0,1fr); gap:28px; }
  .shvl-site .seo-hero h1 { font-size:38px; line-height:1.12; }
  .shvl-site .seo-lede { font-size:16px; margin-block-start:18px; }
  .shvl-site .seo-proof { padding:20px; }
  .shvl-site .seo-grid { gap:28px; }
  .shvl-site :is(.seo-card h2,.seo-card h3,.seo-section h2) { font-size:27px; }
  .shvl-legal main { padding-block:36px 56px; }
  .shvl-article nav { flex-wrap:wrap; padding:16px 20px; gap:12px 20px; }
  .shvl-article .nav-links { flex-wrap:wrap; gap:12px 20px; }
  .shvl-article .nav-links a { min-block-size:32px; display:inline-flex; align-items:center; }
  .shvl-article :is(.post-hero,.blog-hero) { padding:36px 20px 16px; }
  .shvl-article article { padding:20px 20px 40px; }
  .shvl-article .blog-grid { padding:20px; grid-template-columns:minmax(0,1fr); }
  .shvl-site :is(input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=url],input[type=search],input[type=tel],textarea,select) { font-size:16px; }
}
@media(max-width:380px) { .shvl-site .seo-hero h1 { font-size:34px; } }
@media(prefers-reduced-motion:reduce) { .shvl-site :is(button,a,input,textarea,select) { transition:none; } }
@media(forced-colors:active) { .shvl-site :is(button,input,select,textarea,summary,a):focus-visible { outline-color:Highlight; } }
@media print {
  body.shvl-site { background:white; color:#193f46; }
  .shvl-article nav { display:none; }
  .shvl-application .financial-paper { background:white; border-color:#aaa; }
}

.shvl-legal .information-brand { display:inline-block; margin-block-end:36px; color:var(--t1); text-decoration:none; font-size:28px; font-weight:800; letter-spacing:-.035em; }
.shvl-article .post-meta { justify-content:flex-start; }
.shvl-article .nav-links a.active { color:var(--ac2); text-decoration:underline; text-underline-offset:.3em; }

.shvl-site .tool-fields > label { display:grid; gap:8px; min-inline-size:0; color:var(--t1); font-size:14px; font-weight:600; }
.shvl-site .tool-fields > label input { inline-size:100%; min-inline-size:0; font-weight:400; }

.shvl-article .btn-cta { background:var(--ac); color:var(--btn-p-fg); border:1px solid var(--ac); text-decoration:none; }
.shvl-utility .footer a { color:var(--ac2); }
@media(max-width:820px) {
  .shvl-site .site-nav-right { flex-wrap:wrap; gap:8px; min-inline-size:0; }
  .shvl-site .site-nav-right .site-cta { font-size:13px; padding-inline:12px; }
}
/* The printed landscape keeps its ink-on-paper navigation in either theme. */
.shvl-site.home-page .site-brand { color:#193f46; }

/* Selected scenic direction A: one continuous opening, with clear working surfaces. */
body.shvl-site:not(.home-page):not(.shvl-application) {
  --scene-wash:linear-gradient(90deg,rgba(251,246,232,.97),rgba(251,246,232,.86) 45%,rgba(251,246,232,.16));
  background-color:var(--bg);
  background-image:linear-gradient(to bottom,transparent 270px,var(--bg) 540px),var(--scene-wash),url('../img/printed-lake-20261027.webp');
  background-image:linear-gradient(to bottom,transparent 270px,var(--bg) 540px),var(--scene-wash),image-set(url('../img/printed-lake-20261028.avif') type('image/avif'),url('../img/printed-lake-20261027.webp') type('image/webp'));
  background-repeat:no-repeat; background-size:100% 540px,100% 540px,100% 540px;
  background-position:center top;
}
.shvl-site:not(.home-page):not(.shvl-application) .site-nav,
.shvl-article nav { background:#fbf4e3; }
.shvl-site:not(.home-page):not(.shvl-application) :is(.seo-hero,.pricing-hero) { padding-block-end:44px; }
.shvl-site .pricing-rail { background:var(--paper); }
.shvl-site:not(.home-page):not(.shvl-application) .site-footer {
  background-image:linear-gradient(var(--bg),transparent),url('../img/printed-lake-20261027.webp');
  background-image:linear-gradient(var(--bg),transparent),image-set(url('../img/printed-lake-20261028.avif') type('image/avif'),url('../img/printed-lake-20261027.webp') type('image/webp'));
  background-position:center top,center bottom; background-size:100% 100%,cover;
}
.shvl-application :is(.cc-workspace-head,.st-header,.pack-heading) {
  padding:28px 24px; border:1px solid var(--bd); border-radius:var(--r);
  background:linear-gradient(90deg,#fbf6e8 10%,rgba(251,246,232,.94) 55%,rgba(251,246,232,.2)),url('../img/printed-lake-20261027.webp') right 45%/cover;
  background:linear-gradient(90deg,#fbf6e8 10%,rgba(251,246,232,.94) 55%,rgba(251,246,232,.2)),image-set(url('../img/printed-lake-20261028.avif') type('image/avif'),url('../img/printed-lake-20261027.webp') type('image/webp')) right 45%/cover;
  color:#193f46;
}
.shvl-application .cc-workspace-head :is(.cc-kicker,.cc-workspace-meta) { color:#425b5e; }
.shvl-application .cc-workspace-head :is(.cc-secondary,.cc-more summary) { background:#fffdf7; color:#193f46; border-color:#82958d; }
@media(max-width:820px) {
  body.shvl-site:not(.home-page):not(.shvl-application) { --scene-wash:linear-gradient(90deg,rgba(251,246,232,.97),rgba(251,246,232,.9)); background-size:100% 540px,100% 540px,auto 540px; background-position:center top,center top,62% top; }
  .shvl-application :is(.cc-workspace-head,.st-header,.pack-heading) { padding:22px 18px; }
}
@media print { body.shvl-site:not(.home-page):not(.shvl-application),.shvl-application :is(.cc-workspace-head,.st-header,.pack-heading) { background-image:none; } }
.shvl-application :is(.cc-nav,.site-nav) {
  --t1:#fffdf7; --t2:#d6e1da; --ac2:#fffdf7;
  background:#193f46; color:var(--t1); border-block-end-color:#49676a;
}
.shvl-application :is(.cc-nav,.site-nav) :is(a,.site-brand) {
  color:var(--t1);
}
@media(forced-colors:active) {
  body.shvl-site:not(.home-page):not(.shvl-application),.shvl-application :is(.cc-workspace-head,.st-header,.pack-heading) { background-image:none; }
}
.shvl-application .site-nav-tag { color:#d6e1da; }
.shvl-application .cc-nav .cc-product { color:#d6e1da; }

/* Final page-specific hierarchy: the artwork frames the task, never the data. */
.shvl-marketing .plans-section { padding:48px 28px; }
.shvl-marketing #practice-access { max-inline-size:1240px; margin:32px auto 0; background:transparent; border:0; border-block-start:1px solid var(--bdh); border-radius:0; padding:24px 0; }
.shvl-marketing .plan-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:28px; }
.shvl-marketing .plan-name { font-family:var(--sans); font-size:15px; letter-spacing:0; text-transform:none; font-weight:750; }

.shvl-application .st-settings-content { background:var(--paper); border:1px solid var(--bd); border-radius:var(--r-lg); padding:28px; }
.shvl-application .st-settings-nav { padding:6px; border:1px solid var(--bd); border-radius:var(--r); }
.shvl-application .st-settings-nav a { border-inline-start:2px solid transparent; }
.shvl-application .st-settings-nav a[aria-current="page"] { border-inline-start-color:var(--ac2); }
.shvl-application .st-profile-save { align-items:center; flex-wrap:wrap; gap:12px; margin-block:0 16px; background:var(--paper); }
.shvl-application .st-profile-save .st-settings-pending { margin:0; min-block-size:0; }
.shvl-application .st-optional > summary { list-style:none; color:var(--ac2); font-size:14px; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.shvl-application .st-optional > summary::-webkit-details-marker { display:none; }
.shvl-application .st-header .st-back-link { background:var(--paper); border:1px solid var(--bdh); border-radius:var(--r); padding:6px 10px; color:var(--t1); }
.shvl-application .st-avatar-row { padding-block-end:24px; border-block-end:1px solid var(--bd); }
.shvl-application .st-memory-card:first-child { border-block-start:0; }

.shvl-utility .login-editorial { background:linear-gradient(90deg,rgba(251,246,232,.98),rgba(251,246,232,.88) 55%,rgba(251,246,232,.3)),url('../img/printed-lake-20261027.webp') 65% center/cover; background:linear-gradient(90deg,rgba(251,246,232,.98),rgba(251,246,232,.88) 55%,rgba(251,246,232,.3)),image-set(url('../img/printed-lake-20261028.avif') type('image/avif'),url('../img/printed-lake-20261027.webp') type('image/webp')) 65% center/cover; }
.shvl-utility .login-form-panel { background:var(--paper); }
.shvl-utility .login-editorial .editorial-mid { margin-block:auto; padding-block:72px; }
.shvl-utility .login-editorial :is(h1,p,.tag,.editorial-eyebrow,.brand,.editorial-bottom) { color:#193f46; }
.shvl-utility .login-box { padding-block:24px; }

.shvl-site .health-upload-panel { background:var(--paper); border-color:var(--bdh); border-radius:var(--r-lg); padding:24px; }
.shvl-site .tool-fields { gap:20px; }
.shvl-site .tool-fields input { padding:11px 12px; }
.shvl-site .health-upload-actions { align-items:center; gap:10px; }
.shvl-site .health-status:not(:empty) { margin-block:16px 0; font-size:14px; line-height:1.6; }
.shvl-site .health-summary-grid article { background:var(--paper); border-color:var(--bd); border-radius:var(--r); }
.shvl-site .health-summary-grid strong { font-family:var(--sans); font-size:28px; letter-spacing:-.025em; font-variant-numeric:tabular-nums; }
.shvl-site .health-action-table :is(th,td) { padding:12px; }
.shvl-site .seo-final { margin-block-start:56px; padding-block-start:28px; border-block-start:1px solid var(--bd); }

@media(max-width:1060px) {
  .shvl-marketing .pricing-hero { gap:32px; }
  .shvl-marketing .plan-list { grid-template-columns:1fr; }
}
@media(max-width:820px) {
  .shvl-marketing .pricing-shell { padding:36px 20px 28px; }
  .shvl-marketing .pricing-hero,.shvl-marketing .plans-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
  .shvl-marketing .pricing-copy h1 { font-size:42px; }
  .shvl-marketing .plans-section { padding:32px 20px; }
  .shvl-marketing #practice-access { margin-block-start:8px; }
  .shvl-site .health-upload-panel { padding:20px; }
}
@media(max-width:700px) {
  .shvl-application .st-settings-content { padding:20px; }
  .shvl-application .st-settings-nav { border:0; border-block-end:1px solid var(--bd); border-radius:0; background:transparent; padding:0 0 12px; }
  .shvl-application .st-settings-nav a { border-inline-start:0; border-block-end:2px solid transparent; }
  .shvl-application .st-settings-nav a[aria-current="page"] { border-block-end-color:var(--ac2); }
  .shvl-utility .login-editorial .editorial-mid { padding-block:16px; }
  .shvl-utility .login-form-panel { background:linear-gradient(var(--paper),color-mix(in srgb,var(--paper) 92%,transparent)),url('../img/printed-lake-20261027.webp') 60% top/auto 420px no-repeat; background:linear-gradient(var(--paper),color-mix(in srgb,var(--paper) 92%,transparent)),image-set(url('../img/printed-lake-20261028.avif') type('image/avif'),url('../img/printed-lake-20261027.webp') type('image/webp')) 60% top/auto 420px no-repeat; }
}
@media print {
  .shvl-utility .login-editorial,.shvl-utility .login-form-panel { background-image:none; }
  .shvl-application .st-settings-content { border:0; padding:0; }
}

@media(min-width:1061px) {
  .shvl-marketing .plan-card.featured { display:grid; grid-template-columns:minmax(0,1fr) 310px; column-gap:40px; grid-template-areas:"name name" "intro price" "features allowance" "list actions"; align-items:start; }
  .shvl-marketing .plan-card.featured > .plan-top { grid-area:name; }
  .shvl-marketing .plan-card.featured > .plan-desc { grid-area:intro; max-inline-size:65ch; }
  .shvl-marketing .plan-card.featured > .plan-options { grid-area:price; }
  .shvl-marketing .plan-card.featured > .plan-note { grid-area:allowance; }
  .shvl-marketing .plan-card.featured > .plan-includes-title { grid-area:features; }
  .shvl-marketing .plan-card.featured > .plan-list { grid-area:list; }
  .shvl-marketing .plan-card.featured > .plan-actions { grid-area:actions; padding-block-start:0; }
}
.shvl-application .cc-onboarding {
  max-inline-size:780px; padding:32px; border:1px solid var(--bd); border-radius:var(--r-lg);
  background:linear-gradient(90deg,var(--paper) 55%,transparent),url('../img/printed-lake-20261027.webp') 70% center/cover;
  background:linear-gradient(90deg,var(--paper) 55%,transparent),image-set(url('../img/printed-lake-20261028.avif') type('image/avif'),url('../img/printed-lake-20261027.webp') type('image/webp')) 70% center/cover;
}
.shvl-application .cc-onboarding h2 { max-inline-size:16ch; font-size:clamp(32px,3.6vw,44px); line-height:1.12; }
.shvl-application .cc-onboarding-copy { max-inline-size:46ch; }
.shvl-application .cc-onboarding .cc-form-band { background:var(--paper); padding:20px; border:1px solid var(--bd); border-radius:var(--r); }
@media(max-width:700px) { .shvl-application .cc-onboarding { padding:24px 18px; margin-block-start:16px; }.shvl-application .cc-onboarding .cc-form-band { padding:16px; } }
.shvl-application .cc-ladder-step[data-state="passed"] { opacity:1; }
.shvl-application .cc-ladder-when { font-size:12px; }
.shvl-application .st-btn-danger { color:#a83225; }
.shvl-marketing .faq-section { max-inline-size:1296px; padding:48px 28px 64px; }
.shvl-marketing .faq-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 48px; }
.shvl-marketing #practice-access .plan-desc { max-inline-size:65ch; }
.shvl-marketing #practice-access .plan-summary { max-inline-size:740px; }
.shvl-marketing #practice-access .plan-summary div { display:grid; grid-template-columns:70px minmax(0,1fr); }
.shvl-marketing #practice-access .plan-actions { align-items:flex-start; }
.shvl-marketing .plan-note { font-size:13px; }
@media(max-width:820px) { .shvl-marketing .faq-section { padding:32px 20px 48px; }.shvl-marketing .faq-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:700px) {
  .shvl-application .cc-onboarding {
    background-image:linear-gradient(180deg,var(--paper),color-mix(in srgb,var(--paper) 94%,transparent) 48%,transparent 90%),url('../img/printed-lake-20261027.webp');
    background-image:linear-gradient(180deg,var(--paper),color-mix(in srgb,var(--paper) 94%,transparent) 48%,transparent 90%),image-set(url('../img/printed-lake-20261028.avif') type('image/avif'),url('../img/printed-lake-20261027.webp') type('image/webp'));
  }
}

/* Daily working surfaces stay compact; the scenery remains in the heading. */
.shvl-application .cc-table-wrap { background:var(--paper); border:1px solid var(--bd); border-radius:var(--r); }
.shvl-application .cc-table th { background:var(--bg2); color:var(--t2); }
.shvl-application #client-coordination-dialog { padding:24px; background:var(--paper); border:1px solid var(--bd); border-radius:var(--r-lg); }
.shvl-application #client-coordination-dialog > .cc-dialog-body { padding:0; }
.shvl-application #client-coordination-dialog .cc-dialog-body > h3 { margin-block:28px 12px; }
.shvl-application #client-coordination-dialog .cc-dialog-body > h3:first-of-type { margin-block-start:0; }
.shvl-application #client-coordination-dialog .cc-dialog-body > .cc-fine { max-inline-size:76ch; margin-block:8px 16px; }
.shvl-application #client-coordination-dialog .cc-coordination-meta { font-size:13px; line-height:1.6; }
.shvl-application :is(.cc-record-overview,.cc-extra-tools,.cc-record-extra) > summary { list-style:none; text-decoration:underline; text-underline-offset:3px; }
.shvl-application :is(.cc-record-overview,.cc-extra-tools,.cc-record-extra) > summary::-webkit-details-marker { display:none; }
@media(max-width:820px) {
  .shvl-application #client-coordination-dialog { padding:20px 16px; }
  .shvl-application .cc-record-index { display:flex; flex-wrap:wrap; gap:8px; }
}

/* Follow the reading column instead of pinning the brand to the window edge. */
@media(min-width:1181px) {
  .shvl-site:not(.home-page) .site-nav-top,
  .shvl-application .cc-nav { padding-inline:max(24px,calc((100% - 1240px)/2)); }
}
/* The opening stays continuous with the scene; scrolled content gets a clear header. */
.shvl-site:not(.home-page):not(.shvl-application) .site-nav.site-nav-scene:not(.site-nav-scrolled),
.shvl-article nav.site-nav-scene:not(.site-nav-scrolled) { background:transparent; }
/* Pricing answers the purchase question; the accountant guide explains one use case. */
body.shvl-site.shvl-marketing:is(.shvl-pricing,.shvl-accountants) { background-image:none; }
.shvl-pricing .pricing-intro { max-inline-size:1040px; margin-inline:auto; padding:40px 24px 24px; }
.shvl-pricing .pricing-intro h1 { font-size:40px; line-height:1.15; }
.shvl-pricing .pricing-intro p { max-inline-size:68ch; margin-block-start:12px; color:var(--t2); line-height:1.6; }
.shvl-pricing .plans-section { max-inline-size:1040px; margin-inline:auto; padding:0 24px 32px; }
.shvl-pricing .pricing-plan { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:40px; padding:24px; background:var(--paper); border:1px solid var(--bd); border-radius:var(--r); }
.shvl-pricing .pricing-plan h2 { font-size:22px; line-height:1.3; margin-block-end:16px; }
.shvl-pricing .plan-list { grid-template-columns:minmax(0,1fr); gap:10px; }
.shvl-pricing .pricing-start { display:flex; flex-direction:column; align-items:flex-start; gap:16px; border-inline-start:1px solid var(--bd); padding-inline-start:24px; }
.shvl-pricing .pricing-start h2 { margin:0; }
.shvl-pricing .pricing-start p { margin:0; font-size:14px; line-height:1.6; color:var(--t2); }
.shvl-pricing .pricing-start .plan-note { font-size:12px; }
.shvl-pricing .plan-preview-link { padding:0; text-transform:none; letter-spacing:0; }
.shvl-pricing .faq-section { max-inline-size:1040px; padding:24px; margin-inline:auto; }
.shvl-pricing .faq-section h2 { font-size:26px; }
.shvl-pricing #practice-access { margin-block-start:24px; padding-block:24px 0; }
.shvl-accountants .accountants-guide { max-inline-size:1040px; margin-inline:auto; padding:40px 24px; }
.shvl-accountants .accountants-intro { max-inline-size:70ch; }
.shvl-accountants .accountants-intro h1 { font-size:36px; line-height:1.2; }
.shvl-accountants .accountants-intro p { font-size:17px; color:var(--t2); line-height:1.65; margin-block:16px 20px; }
.shvl-accountants .accountants-guide > section { margin-block-start:32px; padding-block-start:24px; border-block-start:1px solid var(--bd); }
.shvl-accountants .accountants-guide h2 { font-size:24px; line-height:1.3; margin-block-end:12px; }
.shvl-accountants .accountants-guide section > p { max-inline-size:74ch; line-height:1.7; color:var(--t2); margin-block-end:12px; }
.shvl-accountants .accountants-example { margin-block-start:20px; background:var(--paper); border:1px solid var(--bd); border-radius:var(--r); padding:20px; }
.shvl-accountants .accountants-example-label { font-size:12px; color:var(--t2); margin-block-end:12px; }
.shvl-accountants .accountants-example dl > div { display:grid; grid-template-columns:1fr 150px 1.3fr; gap:20px; align-items:baseline; padding-block:14px; border-block-start:1px solid var(--bd); }
.shvl-accountants .accountants-example dt { font-weight:650; }
.shvl-accountants .accountants-example dd { margin:0; color:var(--t2); font-size:14px; line-height:1.6; }
.shvl-accountants .accountants-price-link { display:inline-block; margin-inline-start:16px; color:var(--ac2); }
.shvl-accountants .accountants-tools { margin-block-start:28px; color:var(--t2); font-size:14px; line-height:1.7; }
.shvl-accountants .workflow-feedback { max-inline-size:1040px; padding:24px; margin-inline:auto; }
.shvl-accountants .workflow-feedback h2 { font-size:24px; }
/* Settings is a working form: flat sections, compact fields and plain navigation. */
.shvl-settings .st-wrap { max-inline-size:1088px; padding:32px 24px; }
.shvl-settings.shvl-application .st-header { background:none; border:0; border-radius:0; padding:0; margin-block-end:24px; }
.shvl-settings.shvl-application .st-header h1 { font-size:28px; }
.shvl-settings.shvl-application .st-header .st-back-link { background:none; border:0; padding:0; border-radius:0; }
.shvl-settings .st-settings-layout { grid-template-columns:160px minmax(0,1fr); gap:32px; }
.shvl-settings .st-settings-content { background:none; border:0; border-radius:0; padding:0; }
.shvl-settings.shvl-application .st-settings-nav { border:0; background:none; border-radius:0; padding:0; gap:2px; align-items:start; }
.shvl-settings.shvl-application .st-settings-nav a { display:flex; align-items:center; box-sizing:border-box; inline-size:fit-content; max-inline-size:100%; min-block-size:44px; padding:7px 10px; border:0; border-inline-start:2px solid transparent; border-radius:0; font:400 13px/1.35 var(--sans); color:var(--t2); text-decoration:none; cursor:pointer; }
.shvl-settings.shvl-application .st-settings-nav a[aria-current="page"] { background:none; color:var(--t1); font-weight:600; border-inline-start-color:var(--ac2); }

.shvl-settings .st-avatar { inline-size:48px; block-size:48px; border-width:1px; border-radius:var(--r); font-size:22px; flex-shrink:0; }
.shvl-settings .st-avatar-row { gap:16px; padding-block-end:16px; margin-block-end:20px; border-block-end:1px solid var(--bd); }
.shvl-settings .st-plan-line { display:none; }
.shvl-settings .st-section { margin-block-end:24px; padding-block-end:24px; }
.shvl-settings .st-section-head { margin-block-end:12px; }
.shvl-settings .st-section-head h2 { font-size:20px; }
.shvl-settings .st-field { margin-block-end:16px; }
.shvl-settings .st-field :is(input,select,textarea) { padding:7px 10px; border-radius:var(--r); }
.shvl-settings .st-profile-save { background:var(--bg); margin-block-end:12px; padding-block:4px; }
.shvl-settings .st-optional { margin-block-start:16px; }
.shvl-settings .st-optional > summary { padding-block:8px; min-block-size:44px; }
.shvl-settings :is(button,.st-btn) { border-radius:var(--r) !important; }
@media(max-width:700px) {
  .shvl-pricing .pricing-intro, .shvl-accountants .accountants-guide { padding:28px 20px; }
  .shvl-pricing .pricing-intro h1 { font-size:34px; }
  .shvl-pricing .plans-section { padding:0 20px 24px; }
  .shvl-pricing .pricing-plan { grid-template-columns:minmax(0,1fr); gap:24px; padding:20px; }
  .shvl-pricing .pricing-start { grid-row:1; border-inline-start:0; border-block-end:1px solid var(--bd); padding:0 0 20px; }
  .shvl-accountants .accountants-intro h1 { font-size:30px; }
  .shvl-accountants .accountants-example dl > div { grid-template-columns:minmax(0,1fr); gap:4px; }
  .shvl-settings .st-wrap { padding:24px 20px; }
  .shvl-settings .st-settings-layout { grid-template-columns:minmax(0,1fr); gap:20px; }
  .shvl-settings.shvl-application .st-settings-nav { align-items:flex-start; }
  .shvl-settings.shvl-application .st-settings-nav a, .shvl-settings .st-optional > summary { min-block-size:44px; }
  .shvl-settings .st-field :is(input,select,textarea) { min-block-size:44px; font-size:16px; }
}

@media(min-width:821px) and (pointer:fine) {
  .shvl-settings.shvl-application .st-settings-nav a, .shvl-settings.shvl-application .st-optional > summary { min-block-size:34px; }
  .shvl-settings .st-field :is(input,select) { min-height:34px !important; font-size:14px !important; line-height:1.35; }
}
.shvl-settings #profile > .st-section { margin-block-end:16px; padding-block-end:0; }

/* Failed form submissions stay beside the affected task, never in a detached toast. */
.shvl-settings .st-form-error { margin:0; color:var(--danger); font-size:13px; line-height:1.5; }
.shvl-settings .st-form-error:not(:empty) { margin-block:8px 12px; }
.shvl-settings .st-form-error-target { outline:1px solid var(--danger); outline-offset:4px; border-radius:var(--r); }
.shvl-settings :is(input,select,textarea).st-form-error-target { border-color:var(--danger); outline-width:2px; outline-offset:2px; }
@media(forced-colors:active) { .shvl-settings .st-form-error-target { outline-color:Highlight; } }

.shvl-settings .st-btn-row.st-form-error-target { inline-size:fit-content; max-inline-size:100%; }
.shvl-settings.shvl-site .st-field :is(input,select,textarea)[aria-invalid="true"] { border-color:var(--danger); }

.shvl-settings.shvl-application .st-settings-nav a.st-form-error-link { color:var(--danger); font-weight:600; }


.shvl-settings .st-header .st-back-link { font-size:13px; line-height:1.4; text-underline-offset:3px; }
@media(max-width:700px) {
  .shvl-settings.shvl-application .st-settings-nav { align-items:start; gap:0; }
}

/* Selected and optional Settings items keep the same pointer feedback. */
@media(hover:hover) and (pointer:fine) {
  .shvl-settings.shvl-application .st-settings-nav a:hover {
    background:var(--bg2); color:var(--t1);
  }
}
@media(max-width:700px) {
  .shvl-settings.shvl-application .st-settings-nav a { border-inline-start:0; border-block-end:2px solid transparent; }
  .shvl-settings.shvl-application .st-settings-nav a[aria-current="page"] { border-block-end-color:var(--ac2); }
}
@media(hover:hover) and (pointer:fine) {
  .shvl-application .cc-workspace-tab:hover,
  .shvl-application .cc-record-index button:hover { background:var(--bg2); color:var(--t1); border-color:var(--ac2); }
}

/* Optional tools use label-sized feedback, not a full-row selection slab. */
.shvl-application :is(.cc-extra-tools,.cc-record-extra,.cc-record-overview) > summary,
.shvl-settings.shvl-application .st-optional > summary {
  display:flex; align-items:center; box-sizing:border-box; inline-size:fit-content; max-inline-size:100%;
  min-block-size:44px; padding:8px 10px; cursor:pointer; border-radius:0;
}
@media(hover:hover) and (pointer:fine) {
  .shvl-application :is(.cc-extra-tools,.cc-record-extra,.cc-record-overview) > summary:hover,
  .shvl-settings.shvl-application .st-optional > summary:hover { background:var(--bg2); color:var(--t1); }
}

/* Four peer Settings tabs; secondary controls live inside Advanced. */
.shvl-settings.shvl-application .st-settings-nav { gap:6px; }
.shvl-settings #advanced > h2 { font-size:20px; margin-block-end:24px; }
.shvl-settings #advanced .st-section-head h3, .shvl-settings #tools-title { font-size:17px; margin-block-end:12px; }
.shvl-settings .st-settings-content .st-hint + .st-btn-row { margin-block-start:16px; }
.shvl-settings #advanced :is(#tools,#api-keys) { scroll-margin-top:104px; }

.shvl-settings #billing h2 { margin-block-end:12px; }
.shvl-settings #billing .st-hint { max-inline-size:62ch; }

/* Content links retain the same ink before and after visiting. */
.shvl-site main a[href]:not([class]), .shvl-site main a[href]:not([class]):visited {
  color:var(--ac2); text-decoration:underline; text-underline-offset:3px;
}
@media(hover:hover) and (pointer:fine) {
  .shvl-site main a[href]:not([class]):hover { color:var(--t1); }
}
.shvl-marketing #practice-access .btn-s + p { margin-block-start:12px; }
.shvl-site .seo-section p + h3 { margin-block-start:24px; }
.shvl-site .seo-section h3 + p { margin-block-start:8px; }
@media(max-width:820px), (pointer:coarse) {
  .shvl-site .v3-footer-col a { display:flex; align-items:center; min-block-size:44px; margin-block-end:0; }
}
