:root{--ink:#17171c;--violet:#5c4b8f;--deep:#3a2f5d;--paper:#fbfbfc;--muted:#5f5f68;--line:#dedee4;--space:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.65}a{color:var(--violet);text-underline-offset:5px}a:hover{text-decoration-thickness:2px}button,input,textarea,select{font:inherit}button,a,input,textarea,summary{ -webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #8a72c8;outline-offset:5px}p{margin:0 0 1em}h1,h2,h3,h4{margin:0;line-height:1.1;color:inherit}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.04em}h1{font-size:clamp(43px,5.6vw,78px)}h2{font-size:clamp(34px,4vw,54px)}h3{font-size:24px;letter-spacing:-.025em}img{max-width:100%;height:auto}.skip-link{position:absolute;top:-100px;left:20px;z-index:9999;background:#fff;padding:12px}.skip-link:focus{top:12px}.site-header{border-bottom:1px solid var(--line)}.site-footer{background:var(--ink);color:var(--paper)}.elementor-widget-text-editor p:last-child{margin-bottom:0}.elementor-widget-heading h1,.elementor-widget-heading h2{font-weight:400}.elementor-widget-heading h3{font-family:Arial,Helvetica,sans-serif;font-weight:600}.elementor-button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;border-radius:4px!important;padding:15px 23px!important;font-weight:600;line-height:1.3;background:var(--violet);color:#fff;text-decoration:none}.elementor-button:hover{background:var(--deep);color:#fff}.eyebrow{font-size:11px!important;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:var(--violet)}.lead{font-size:19px;line-height:1.6;max-width:620px;color:#50505b}.small{font-size:13px;line-height:1.6;color:var(--muted)}.dark{background:var(--ink);color:var(--paper)}.dark h1,.dark h2,.dark h3,.dark p{color:inherit}.dark a{color:#d1c6ee}.dark .eyebrow{color:#c4b3ed}.dark .elementor-button{color:#fff}.dark .small{color:#c4c4ce}.muted{background:#f1f0f5}.rule{border-top:1px solid var(--line)}.dark .rule{border-color:#45444d}.card{border:1px solid var(--line);background:#fff;border-radius:6px}.chapter-num{font-family:Georgia,serif;font-size:48px;color:var(--violet);line-height:1}.text-link .elementor-button{background:transparent!important;color:var(--violet)!important;padding:10px 0!important;text-decoration:underline}.dark .text-link .elementor-button{color:#d1c6ee!important}.brand-word{font-size:15px;font-weight:700;letter-spacing:.13em;line-height:1.3}.brand-word small{display:block;font-size:9px;letter-spacing:.27em;margin-top:5px;font-weight:400}.brand-link{display:flex;gap:12px;align-items:center;color:var(--ink);text-decoration:none}.brand-link img{width:43px;height:43px}.nav-wrap{display:flex;align-items:center;justify-content:flex-end;gap:28px}.menu{display:flex;align-items:center;gap:25px;list-style:none;padding:0;margin:0}.menu a{font-size:13px;color:inherit;text-decoration:none}.menu a[aria-current=page]{color:var(--violet);text-decoration:underline}.mobile-nav{display:none}.mobile-nav summary{cursor:pointer;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:4px;font-size:13px}.nav-cta{white-space:nowrap;font-size:12px;min-height:44px;padding:12px 16px;background:var(--violet);color:#fff!important;border-radius:4px;text-decoration:none}.hero-mark img{width:100%;max-width:400px!important}.brush{position:relative;padding-bottom:14px}.brush:after{content:'';position:absolute;bottom:0;left:0;width:min(210px,60%);height:8px;background:var(--violet);clip-path:polygon(0 64%,8% 35%,34% 21%,62% 31%,90% 4%,100% 33%,88% 69%,40% 65%,10% 95%);transform-origin:left;animation:brush-in 1.1s ease-out both}.dark .brush:after{background:#b4a0df}@keyframes brush-in{from{transform:scaleX(.05);opacity:.3}to{transform:scaleX(1);opacity:1}}.report{border:1px solid var(--line);background:#fff;border-radius:6px;padding:30px;color:var(--ink);font-size:14px;box-shadow:0 14px 35px #17171c08}.report-top{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:22px}.report h3{font-family:Georgia,serif;font-weight:400;font-size:31px}.pill{display:inline-block;border:1px solid #cfc6e2;color:var(--deep);border-radius:30px;padding:4px 10px;font-size:11px;letter-spacing:.04em;background:#f5f2fa}.report dl{margin:18px 0}.report dl div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:11px 0}.report dd{margin:0;font-weight:600;text-align:right}.finding{border-left:3px solid var(--violet);padding:14px 16px;background:#f5f3f8;margin:20px 0}.finding strong{display:block;margin-bottom:5px}.report summary{cursor:pointer;padding:10px 0}.audit-form{max-width:650px}.audit-form label{display:block;font-size:14px;font-weight:600;margin:18px 0 7px}.audit-form input,.audit-form textarea{width:100%;padding:12px 14px;border:1px solid #a4a4af;border-radius:4px;background:#fff;color:var(--ink);min-height:50px}.audit-form textarea{min-height:130px;resize:vertical}.audit-form button{border:0;margin-top:20px;cursor:pointer;width:100%}.audit-form .honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.notice{padding:18px;background:#f0ecf6;border-left:3px solid var(--violet);margin:0 0 24px}.notice.error{background:#fff0ed;border-color:#a63f29}.notice:focus{outline:2px solid var(--violet)}.reading{max-width:800px;margin:auto;padding:70px 24px}.post-body{font-size:18px}.post-body h2{font-size:35px;margin:48px 0 20px}.post-body h3{margin:32px 0 15px}.post-body ul,.post-body ol{padding-left:25px}.post-meta{font-size:13px;color:var(--muted);margin:18px 0 35px}.posts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.post-card{padding:28px;border:1px solid var(--line);border-radius:5px}.post-card h3{font-family:Georgia,serif;font-weight:400;font-size:30px;margin:15px 0}.post-card a{color:inherit}.post-card p{font-size:15px;color:var(--muted)}.pagination{padding:30px 0}.page-numbers{padding:10px}.breadcrumbs{font-size:12px;color:var(--muted);margin-bottom:25px}.breadcrumbs a{color:inherit}.footer-links{display:flex;flex-wrap:wrap;gap:16px}.footer-links a{color:inherit;font-size:13px}.site-footer .brand-link{color:#fff}.site-footer .small{color:#bfbfc8}.site-footer a{color:#e2d9f6}.site-footer .menu{flex-wrap:wrap}.site-footer .menu a{font-size:13px}.site-footer .brand-word{font-size:18px}.case-table{border-collapse:collapse;width:100%;font-size:14px}.case-table th,.case-table td{padding:14px;text-align:left;border-bottom:1px solid var(--line)}.table-scroll{overflow:auto}.article-cta{margin-top:45px;padding:30px;background:#f0ecf6}.article-cta h2{margin:0 0 18px!important}.elementor-widget{min-width:0}.elementor-widget-image img{vertical-align:middle}.e-con{--container-widget-width:100%}
@media(max-width:1024px){.desktop-nav{display:none}.mobile-nav{display:block}.mobile-nav[open] .menu{position:absolute;right:20px;top:76px;background:var(--paper);border:1px solid var(--line);z-index:999;display:flex;flex-direction:column;align-items:stretch;min-width:230px;padding:20px;gap:4px;box-shadow:0 12px 25px #17171c12}.mobile-nav .menu a{display:block;padding:9px}.nav-wrap{gap:10px}.brand-word{font-size:12px}.posts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){body{font-size:16px}.brand-word{font-size:10px;letter-spacing:.1em}.brand-word small{font-size:7px}.brand-link{gap:7px}.brand-link img{width:32px;height:32px}.nav-cta{font-size:11px;padding:10px}.nav-wrap{gap:8px}.mobile-nav summary{font-size:12px;padding:9px}.hero-mark img{max-width:180px!important}.hero-mark{display:none}.report{padding:22px}.posts-grid{grid-template-columns:1fr}.reading{padding:45px 22px}.report-top{align-items:flex-start}.post-body h2{font-size:30px}.table-scroll{margin:0 -5px}.elementor-button{font-size:14px}.lead{font-size:17px}}
@media(prefers-reduced-motion:reduce),(max-width:767px){html{scroll-behavior:auto}.brush:after{animation:none}*{transition:none!important}}
/* Brand button override: Elementor's fallback button token is neutral gray. */
.solitude-site .elementor-button{background-color:var(--violet);color:#fff}.solitude-site .elementor-button:hover{background-color:var(--deep)}
.solitude-site .elementor-widget-heading h1,.solitude-site .elementor-widget-heading h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}
@media(max-width:767px){.site-header .e-con{min-width:0}.site-header .brand-word{font-size:9px}.site-header .brand-link img{width:28px;height:28px}.site-header .nav-wrap{gap:6px}.site-header .nav-cta{font-size:10px;padding:10px 8px}.site-header .mobile-nav summary{font-size:11px;padding:10px 6px}.hero .e-con:has(>.hero-mark){display:none}.posts-grid:has(>.post-card:only-child){grid-template-columns:1fr}}
.posts-grid:has(>.post-card:only-child){grid-template-columns:minmax(0,720px)}
.solitude-site{--violet:var(--e-global-color-primary,#5c4b8f);--ink:var(--e-global-color-secondary,#17171c);--deep:var(--e-global-color-accent,#3a2f5d)}
.solitude-site .elementor-widget-text-editor a,.audit-form p a,.post-body a,.small a{text-decoration:underline}
@media(max-width:767px){.brand-hero{display:none!important}}
.site-footer .menu a[aria-current=page]{color:#d1c6ee}
.solitude-site .post-body p a,.solitude-site .post-body li a{text-decoration:underline!important}

.solitude-site .posts-grid > p a{text-decoration:underline}

/* ==== Solitude design system v1 — homepage scope (body.home) ====
   Source: ~/.claude/skills/solitude-design (DESIGN.md, tokens.css). Phase 1: system fonts only
   (no web-font requests); Söhne/Geist and Canela/Instrument Serif are an approval gate. */
:root{--obsidian:#17171c;--imperial:#5c4b8f;--violet-dark:#3a2f5d;--porcelain:#fbfbfc;--steel:#8b8b92;--white:#fff;--soft:#f5f5f7;--border:#e5e5e8;--border-dark:#34343c;--muted-dark:#25252c;--graphite:#5f5f68;--violet-tint:#c4b3ed;--font-sans:"Helvetica Neue",Helvetica,Arial,sans-serif;--font-serif:Georgia,"Times New Roman",serif;--font-display:"Arial Black","Kubo Fallback","Helvetica Neue",Arial,sans-serif;--fs-display:clamp(96px,50.4px + 11.69vw,220px);--fs-display-sub:clamp(88px,47.7px + 10.34vw,180px);--fs-h1:clamp(40px,27.7px + 3.15vw,68px);--fs-h2:clamp(32px,23.2px + 2.25vw,52px);--fs-h3:clamp(22px,18.5px + .9vw,30px);--fs-lead:clamp(18px,17.1px + .22vw,20px);--fs-eyebrow:clamp(11px,10.6px + .11vw,12px);--measure:660px}
.home main{font-family:var(--font-sans);font-size:16px;line-height:1.65}
.home.solitude-site main .elementor-widget-heading h1{font:700 var(--fs-h1)/.98 var(--font-sans);letter-spacing:-.035em;max-width:14em}
.home.solitude-site main .elementor-widget-heading h2{font:500 var(--fs-h2)/1.04 var(--font-sans);letter-spacing:-.03em;max-width:17em}
.home.solitude-site main .elementor-widget-heading h3{font:500 var(--fs-h3)/1.15 var(--font-sans);letter-spacing:-.02em}
.home main .accent-serif{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.02em}
.home main .lead{font-size:var(--fs-lead);line-height:1.55;max-width:var(--measure);color:var(--graphite)}
.home main .dark .lead{color:inherit}
.home main .elementor-widget-text-editor p{max-width:var(--measure)}
.home main .eyebrow{font-size:var(--fs-eyebrow)!important;letter-spacing:.12em;font-weight:600;color:var(--imperial)}
.home main .dark .eyebrow{color:var(--violet-tint)}
.home main .small{color:var(--graphite)}
.home main .dark .small{color:var(--steel)}
.home main .muted{background:var(--soft)}
.home main .rule{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.home main .strip p{max-width:none;font-size:15px;color:var(--graphite);margin:0}
.home main :focus-visible{outline:2px solid var(--imperial);outline-offset:3px}
.home main .dark :focus-visible{outline-color:var(--violet-tint)}
/* Buttons: pill, 52px, one violet primary per viewport */
.home main .elementor-button{min-height:52px;border-radius:999px!important;padding:0 28px!important;font:600 15px/1.2 var(--font-sans);transition:background-color .2s ease-out,border-color .2s ease-out}
.home main .btn-secondary .elementor-button{background:transparent!important;color:var(--obsidian)!important;border:1px solid var(--border)}
.home main .btn-secondary .elementor-button:hover{border-color:var(--steel)}
.home main .dark .btn-secondary .elementor-button{color:var(--porcelain)!important;border-color:var(--border-dark)}
.home main .dark .btn-secondary .elementor-button:hover{border-color:var(--steel)}
/* Cards: 16px radius, 1px border, no shadow */
.home main .card{border:1px solid var(--border);border-radius:16px;background:var(--white);box-shadow:none}
.home main .dark .card{background:var(--muted-dark);border-color:var(--border-dark)}
.home main .card h3{margin-bottom:4px}
.home main .card-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin:4px 0 0;font-size:14px;font-weight:600}
.home main .card-links a::after,.home main .more a::after{content:""}
.home main .more{margin:0;font-weight:600;font-size:15px}
/* Proof component: number + claim + discreet linked source (all crawlable text) */
.home main .proof-list{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;max-width:1120px}
.home main .proof{border-top:1px solid var(--border);padding-top:20px}
.home main .dark .proof{border-color:var(--border-dark)}
.home main .proof-num{font:600 clamp(40px,32px + 2vw,56px)/1 var(--font-sans);letter-spacing:-.03em;margin:0 0 12px}
.home main .proof-claim{margin:0 0 12px;max-width:40ch}
.home main .source{font-size:13px;line-height:1.45;color:var(--graphite);margin:0}
.home.solitude-site main .source a{color:inherit;text-decoration-thickness:1px}
.home main .dark .source{color:var(--steel)}
.home main .proof-note{margin:20px 0 0}
.home main .case-placeholder{border:1px dashed var(--steel);border-radius:16px;padding:18px 22px;font:600 13px/1.4 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--obsidian);background:var(--white);max-width:none}
.home main .status-list{list-style:none;margin:0;padding:0}
.home main .status-list li{padding:12px 0;border-bottom:1px solid var(--border);font-size:15px}
.home main .status-list li:last-child{border-bottom:0}
/* Six steps: ordered list, numbers from CSS counters */
.home main .steps{list-style:none;counter-reset:s;padding:0;margin:8px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.home main .steps li{counter-increment:s;border-top:1px solid var(--border);padding-top:20px}
.home main .steps li::before{content:counter(s,decimal-leading-zero);display:block;font:600 13px/1 var(--font-sans);letter-spacing:.12em;color:var(--imperial);margin-bottom:12px}
.home main .steps h3{font:500 22px/1.2 var(--font-sans);letter-spacing:-.02em;margin:0 0 8px}
.home main .steps p{margin:0;color:var(--graphite)}
/* Kubo display words: decorative, aria-hidden, behind content, cropped by the section */
.home main .has-display{position:relative;overflow:clip;isolation:isolate}
.home main .has-display>.e-con-inner,.home main .has-display .display-anchor{position:static}
.home main .display-anchor{height:0;margin-bottom:-20px}
.home main .display-word{position:absolute;top:28px;z-index:-1;pointer-events:none;user-select:none;font:900 var(--fs-display-sub)/.8 var(--font-display);letter-spacing:-.06em;white-space:nowrap;color:var(--obsidian);opacity:.08}
.home main .dark .display-word{color:var(--porcelain);opacity:.1}
.home main .display-word--results{font-size:var(--fs-display);left:-.05em;opacity:.12}
.home main .display-word--found,.home main .display-word--booked{right:-.05em}
.home main .display-word--answered{left:-.05em}
@media(max-width:1024px){.home main .steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.home main .steps{grid-template-columns:1fr}.home main .display-word{top:16px}.home main .elementor-button{font-size:15px;padding:0 22px!important}}
/* Motion: CSS scroll-driven reveal, desktop only, content visible without support */
@supports (animation-timeline:view()){@media (min-width:768px) and (prefers-reduced-motion:no-preference){
.home main .proof,.home main .steps li,.home main .card{animation:se-reveal linear both;animation-timeline:view();animation-range:entry 0% entry 35%}
.home main .display-word{animation:se-word linear both;animation-timeline:view();animation-range:entry 0% cover 30%}}}
@keyframes se-reveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes se-word{from{transform:translateY(24px)}to{transform:none}}
.home main .elementor-button{display:inline-flex!important;align-items:center;justify-content:center}
.home main .elementor-button .elementor-button-content-wrapper{align-items:center}
.home main .system-row>.card{flex:1 1 0;min-width:0;width:auto!important}
@media(max-width:1024px){.home main .system-row>.card{flex:1 1 calc(50% - 12px)}}
@media(max-width:767px){.home main .system-row>.card{flex:1 1 100%}}
/* Kubo words, mobile only (≤767px): readable full words, no offset or transform, section clips overflow.
   Sizes derived from measured Arial Black advance widths (RESULTS. 4.97em, FOUND. 3.9em, ANSWERED. 6.11em,
   BOOKED. 4.67em) so each word fits 390–430px; RESULTS. keeps the largest size and highest opacity. Desktop/tablet unchanged. */
@media(max-width:767px){
.home main .display-word,.home main .display-word--results,.home main .display-word--found,.home main .display-word--answered,.home main .display-word--booked{left:14px;right:auto;transform:none;margin-left:0;line-height:.82}
.home main .display-word--results{font-size:clamp(64px,19vw,88px)}
.home main .display-word--found,.home main .display-word--booked{font-size:clamp(64px,19vw,84px)}
.home main .display-word--answered{font-size:clamp(56px,15.5vw,76px)}
}
/* Hero photo: decorative, right-weighted, faded into Porcelain; typography stays dominant. No JS. */
.home main .hero{position:relative;isolation:isolate;overflow:clip}
.home main .hero .e-con,.home main .hero .e-con-inner,.home main .hero .hero-visual{position:static}
.home main .hero-photo{position:absolute;z-index:-1;top:0;right:0;bottom:0;width:62%;pointer-events:none;
 -webkit-mask-image:linear-gradient(to right,transparent 0,transparent 8%,rgba(0,0,0,.4) 32%,#000 62%),linear-gradient(to bottom,transparent 0,#000 16%,#000 72%,transparent 100%);
 mask-image:linear-gradient(to right,transparent 0,transparent 8%,rgba(0,0,0,.4) 32%,#000 62%),linear-gradient(to bottom,transparent 0,#000 16%,#000 72%,transparent 100%);
 -webkit-mask-composite:source-in;mask-composite:intersect;opacity:.8}
.home main .hero-photo img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:70% 55%}
@media(max-width:767px){
 .home main .hero .brand-hero{order:2;display:flex!important}
 .home main .hero-photo{position:relative;z-index:0;display:block;width:auto;height:128px;margin:20px -20px -64px;opacity:1;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 55%);mask-image:linear-gradient(to bottom,transparent 0,#000 55%);-webkit-mask-composite:source-over;mask-composite:add}
 .home main .hero-photo img{object-position:50% 36%}
}
.home main .display-word::before{content:attr(data-word)}
/* ==== Site-wide header/footer (design system v1, staging). Markup: theme parts/home-header.php, parts/home-footer.php ==== */
.sd-header{position:relative;z-index:50;background:var(--porcelain);border-bottom:1px solid var(--border)}
.sd-header__inner{max-width:1280px;margin:0 auto;padding:0 40px;min-height:72px;display:flex;align-items:center;gap:32px}
.sd-nav{margin-left:auto}
.sd-nav ul{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
.sd-nav a{display:block;padding:10px 0;font:500 14px/1 var(--font-sans);color:var(--obsidian);text-decoration:none;transition:color .2s ease-out}
.sd-nav a:hover{color:var(--imperial)}
.sd-cta{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 20px;border-radius:999px;background:var(--imperial);color:#fff!important;font:600 14px/1 var(--font-sans);text-decoration:none!important;white-space:nowrap;transition:background-color .2s ease-out}
.sd-cta:hover{background:var(--violet-dark)}
.sd-cta--lg{min-height:52px;padding:0 28px;font-size:15px}
.sd-header :focus-visible,.sd-footer :focus-visible{outline:2px solid var(--imperial);outline-offset:3px}
.sd-footer :focus-visible{outline-color:var(--violet-tint)}
.sd-menu{display:none}
@media(max-width:960px){
 .sd-nav,.sd-header__cta{display:none}
 .sd-header__inner{padding:0 20px;min-height:64px}
 .sd-menu{display:block;margin-left:auto}
 .sd-menu summary{list-style:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--border);border-radius:999px;font:600 14px/1 var(--font-sans);color:var(--obsidian);cursor:pointer;background:var(--white)}
 .sd-menu summary::-webkit-details-marker{display:none}
 .sd-icon--close,.sd-menu[open] .sd-icon--open{display:none}
 .sd-menu[open] .sd-icon--close{display:block}
 .sd-menu__panel{position:absolute;left:0;right:0;top:100%;background:var(--porcelain);border-bottom:1px solid var(--border);padding:4px 20px 24px}
 .sd-menu__panel ul{list-style:none;margin:0;padding:0}
 .sd-menu__panel li a{display:block;padding:14px 0;border-bottom:1px solid var(--border);font:500 17px/1.2 var(--font-sans);color:var(--obsidian);text-decoration:none}
 .sd-cta--block{display:flex;width:100%;min-height:48px;margin-top:20px;font-size:15px}
}
.sd-footer{background:var(--obsidian);color:var(--porcelain);border-top:1px solid var(--border-dark);font-family:var(--font-sans)}
.sd-footer__inner{max-width:1280px;margin:0 auto;padding:96px 40px 40px}
.sd-footer__cta{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-bottom:64px;border-bottom:1px solid var(--border-dark)}
.sd-footer__cta h2{margin:0;font:500 clamp(28px,20px + 2vw,44px)/1.08 var(--font-sans);letter-spacing:-.03em;color:var(--porcelain)}
.sd-footer__grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:48px;padding:56px 0}
.sd-footer .brand-link{color:var(--porcelain)}
.sd-footer__motto{margin:28px 0 6px;font:600 12px/1.3 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--violet-tint)}
.sd-footer__quiet{margin:0;font-size:16px;color:var(--porcelain)}
.sd-footer__label{margin:0 0 16px;font:600 12px/1.3 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--steel)}
.sd-footer__nav ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.sd-footer__nav a{display:inline-block;padding:6px 0}
.sd-footer a{color:var(--porcelain);text-decoration:none;font-size:15px}
.sd-footer a:hover{text-decoration:underline;text-underline-offset:5px}
.sd-footer__contact p{margin:0 0 12px}
.sd-footer__meta{color:var(--steel);font-size:14px;line-height:1.6}
.sd-footer__base{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:24px;border-top:1px solid var(--border-dark);font-size:13px;color:var(--steel)}
.sd-footer__base p{margin:0}
.sd-footer__base ul{list-style:none;margin:0;padding:0;display:flex;gap:20px}
.sd-footer__base a{color:var(--steel);font-size:13px}
.sd-footer__base a:hover{color:var(--porcelain)}
@media(max-width:767px){
 .sd-footer__inner{padding:72px 20px 32px}
 .sd-footer__cta{flex-direction:column;align-items:flex-start;gap:24px;padding-bottom:48px}
 .sd-footer__grid{grid-template-columns:1fr;gap:36px;padding:40px 0}
 .sd-footer__base{flex-direction:column;align-items:flex-start;gap:12px}
}
/* Header CTA: restrained ghost/outline so the hero CTA is the only filled violet button above the fold */
.sd-header .sd-cta{background:transparent;color:var(--imperial)!important;border:1px solid var(--imperial)}
.sd-header .sd-cta:hover{background:var(--soft);color:var(--violet-dark)!important;border-color:var(--violet-dark)}
/* Final pre-footer section: light Porcelain so the page ends light → dark into the footer.
   Secondary text uses Graphite (Steel fails 4.5:1 on Porcelain for body text). */
.home main .final-cta{background:var(--porcelain);color:var(--obsidian);border-top:1px solid var(--border)}
.home main .final-cta .lead{color:var(--graphite)}
.home main .final-cta .btn-secondary .elementor-button{color:var(--imperial)!important;border-color:var(--imperial)}
.home main .final-cta .btn-secondary .elementor-button:hover{background:var(--soft)!important;color:var(--violet-dark)!important;border-color:var(--violet-dark)}
/* ==== Typography test (staging): Geist (OFL) variable wght 400–700, subset to Basic Latin + page punctuation (12 KB) +
   Instrument Serif Italic (OFL) subset to the glyphs of "booked customers." (2 KB). Re-subset if accent copy changes.
   Self-hosted, font-display:swap, metric-matched local fallbacks to prevent layout shift. Kubo words keep Arial Black. ==== */
@font-face{font-family:"Geist";src:url(fonts/geist-sub.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0020-007E,U+00A0,U+00A9,U+00B7,U+2013-2014,U+2018-2019,U+201C-201D,U+2022,U+2026,U+2192}
@font-face{font-family:"Instrument Serif";src:url(fonts/instrument-serif-italic-sub.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0020,U+002E,U+0062-0065,U+006B,U+006D,U+006F,U+0072-0075}
@font-face{font-family:"Geist Fallback";src:local("Arial"),local("ArialMT");size-adjust:105.5%;ascent-override:95.26%;descent-override:27.96%;line-gap-override:0%}
@font-face{font-family:"Instrument Serif Fallback";src:local("Georgia Italic"),local("Georgia-Italic");font-style:italic;size-adjust:79.36%;ascent-override:124.75%;descent-override:39.06%;line-gap-override:0%}
:root{--font-sans:"Geist","Geist Fallback",Arial,sans-serif;--font-serif:"Instrument Serif","Instrument Serif Fallback",Georgia,serif}

/* Active nav item */
.sd-nav a[aria-current=page],.sd-menu__panel a[aria-current=page]{color:var(--imperial)}
/* Shared internal pre-footer CTA (cta() helper): light Porcelain, one ghost strategy CTA; footer owns the audit CTA. */
.solitude-site main .prefooter{background:var(--porcelain);color:var(--obsidian);border-top:1px solid var(--border)}
.solitude-site main .prefooter .elementor-widget-text-editor p{color:var(--graphite)}
.solitude-site main .prefooter .elementor-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:52px;padding:0 28px!important;border-radius:999px!important;background:transparent!important;color:var(--imperial)!important;border:1px solid var(--imperial);font:600 15px/1.2 var(--font-sans);text-decoration:none!important;transition:background-color .2s ease-out,border-color .2s ease-out}
.solitude-site main .prefooter .elementor-button:hover{background:var(--soft)!important;color:var(--violet-dark)!important;border-color:var(--violet-dark)}
.solitude-site main .prefooter .eyebrow p{color:var(--imperial)}

/* ==== Internal pages: design system v1 (.solitude-site:not(.home)). Homepage rules above stay .home-scoped and untouched. ==== */
.solitude-site:not(.home) main{font-family:var(--font-sans);font-size:16px;line-height:1.65;color:var(--obsidian)}
.solitude-site:not(.home) main :is(h1,h2,h3,h4,h5){font-family:var(--font-sans);color:inherit}
.solitude-site:not(.home) main .elementor-widget-heading h1{font:700 var(--fs-h1)/.98 var(--font-sans);letter-spacing:-.035em;max-width:16em}
.solitude-site:not(.home) main .elementor-widget-heading h2{font:500 var(--fs-h2)/1.04 var(--font-sans);letter-spacing:-.03em;max-width:18em}
.solitude-site:not(.home) main .elementor-widget-heading h3{font:500 var(--fs-h3)/1.15 var(--font-sans);letter-spacing:-.02em}
.solitude-site:not(.home) main .elementor-widget-text-editor :is(p,li){max-width:var(--measure)}
.solitude-site:not(.home) main .lead p,.solitude-site:not(.home) main .lead{font-size:var(--fs-lead);line-height:1.55;color:var(--graphite);max-width:var(--measure)}
.solitude-site:not(.home) main .eyebrow{font-size:var(--fs-eyebrow)!important;letter-spacing:.12em;font-weight:600;color:var(--imperial)}
.solitude-site:not(.home) main .small,.solitude-site:not(.home) main .breadcrumbs{color:var(--graphite)}
.solitude-site:not(.home) main .breadcrumbs{font-size:13px}
.solitude-site:not(.home) main .breadcrumbs a{display:inline-flex;align-items:center;min-height:44px}
.solitude-site:not(.home) main :focus-visible{outline:2px solid var(--imperial);outline-offset:3px}
/* Sections: Porcelain dominant; old violet-tinted gray becomes whitespace + hairline */
.solitude-site:not(.home) main .muted{background:var(--porcelain);border-top:1px solid var(--border)}
.solitude-site:not(.home) main .rule{border-color:var(--border)}
/* Buttons: pill primary; text links stay links; no square buttons */
.solitude-site:not(.home) main .elementor-button,.solitude-site:not(.home) main .audit-form button{display:inline-flex!important;align-items:center;justify-content:center;min-height:52px;padding:0 28px!important;border-radius:999px!important;font:600 15px/1.2 var(--font-sans);transition:background-color .2s ease-out,border-color .2s ease-out}
.solitude-site:not(.home) main .text-link .elementor-button{min-height:0;padding:6px 0!important;border-radius:0!important;background:transparent!important;color:var(--imperial)!important;font-size:15px;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.solitude-site:not(.home) main .text-link .elementor-button:hover{text-decoration-thickness:2px}
/* Cards and modules: 16px radius, 1px neutral border, no shadow */
.solitude-site:not(.home) main :is(.card,.post-card,.report){border:1px solid var(--border);border-radius:16px;background:var(--white);box-shadow:none}
.solitude-site:not(.home) main .card h3{margin-bottom:4px}
.solitude-site:not(.home) main .chapter-num{font:600 13px/1 var(--font-sans);letter-spacing:.12em;color:var(--imperial)}
.solitude-site:not(.home) main .proof-num{font:600 clamp(36px,30px + 1.5vw,48px)/1 var(--font-sans);letter-spacing:-.03em;margin:0 0 12px;color:var(--obsidian)}
.solitude-site:not(.home) main .proof-claim{margin:0 0 12px}
.solitude-site:not(.home) main .source{font-size:13px;line-height:1.45;color:var(--graphite);margin:0}
.solitude-site:not(.home) main .source a{color:inherit;text-decoration-thickness:1px}
.solitude-site:not(.home) main .report h3{font:500 26px/1.15 var(--font-sans);letter-spacing:-.02em}
.solitude-site:not(.home) main .pill{background:var(--white);border:1px solid var(--border);color:var(--graphite);border-radius:999px}
.solitude-site:not(.home) main .finding{background:var(--soft);border-left:2px solid var(--imperial);border-radius:0 12px 12px 0}
.solitude-site:not(.home) main .notice{background:var(--soft);border-radius:12px}
.solitude-site:not(.home) main .article-cta{background:var(--soft);border-radius:16px}
.solitude-site:not(.home) main .case-table{font-family:var(--font-sans)}
/* Forms */
.solitude-site:not(.home) main .audit-form label{font:600 14px/1.4 var(--font-sans)}
.solitude-site:not(.home) main .audit-form :is(input,textarea){border-radius:10px;border-color:#a4a4af;font-family:var(--font-sans)}
/* Blog listing */
.solitude-site:not(.home) main .posts-grid{gap:24px}
.solitude-site:not(.home) main .post-card{padding:32px}
.solitude-site:not(.home) main .post-card h3{font:500 clamp(22px,19px + .6vw,26px)/1.2 var(--font-sans);letter-spacing:-.02em;margin:12px 0}
.solitude-site:not(.home) main .post-card a{text-decoration:none}
.solitude-site:not(.home) main .post-card a:hover h3{color:var(--imperial)}
/* Article reading: 680px column, Geist, calm headings, restrained quotes/images */
.solitude-site:not(.home) main .post-body{font-size:18px;line-height:1.7;font-family:var(--font-sans)}
.solitude-site:not(.home) main .post-body>*{max-width:680px}
.solitude-site:not(.home) main .post-body h1{font:700 clamp(36px,28px + 2.2vw,52px)/1.04 var(--font-sans);letter-spacing:-.03em;max-width:18em}
.solitude-site:not(.home) main .post-body h2{font:500 clamp(26px,22px + 1vw,32px)/1.15 var(--font-sans);letter-spacing:-.02em;margin:56px 0 16px}
.solitude-site:not(.home) main .post-body h3{font:600 20px/1.3 var(--font-sans);margin:36px 0 12px}
.solitude-site:not(.home) main .post-body :is(ul,ol){padding-left:22px}
.solitude-site:not(.home) main .post-body li{margin:6px 0}
.solitude-site:not(.home) main .post-body blockquote{margin:32px 0;padding:4px 0 4px 20px;border-left:2px solid var(--imperial);color:var(--graphite)}
.solitude-site:not(.home) main .post-body blockquote p{font-size:19px}
.solitude-site:not(.home) main .post-body img{border-radius:12px;height:auto}
.solitude-site:not(.home) main .post-body a{color:var(--imperial)}
.solitude-site:not(.home) main .post-meta{font-size:14px;color:var(--graphite)}
/* Brush underline stays on page H1s (approved motif); motion already disabled on mobile/reduced-motion */
/* Internal secondary (ghost) buttons: one filled violet CTA per screen */
.solitude-site:not(.home) main .btn-secondary .elementor-button{background:transparent!important;color:var(--imperial)!important;border:1px solid var(--imperial)}
.solitude-site:not(.home) main .btn-secondary .elementor-button:hover{background:var(--soft)!important;color:var(--violet-dark)!important;border-color:var(--violet-dark)}
.solitude-site:not(.home) main .elementor-widget.pill{align-self:flex-start;width:auto;padding:4px 12px}
/* Services four-step cards: one row of four on desktop, 2 on tablet, 1 on mobile */
.solitude-site:not(.home) main .system-row>.card{flex:1 1 0;min-width:0;width:auto!important}
@media(max-width:1024px){.solitude-site:not(.home) main .system-row>.card{flex:1 1 calc(50% - 12px)}}
@media(max-width:767px){.solitude-site:not(.home) main .system-row>.card{flex:1 1 100%}}

/* ==== Kubo words: Android-safe fallback (2026-10-01). Android, ChromeOS and most Linux lack Arial Black and fall back to
   Roboto/sans-serif 900, measured 10.7-17.3% narrower. This local()-only face makes no network request and adds no file;
   it scales a system Roboto Black up 106% (110% cropped ANSWERED. at 360px in emulation) so word widths approach Arial Black
   without ever exceeding the Arial Black widths the mobile clamp() sizes were tuned on. If no local() name matches, the
   face is skipped and the stack continues to Arial/sans-serif 900, which is narrower and still fits. ==== */
@font-face{font-family:"Kubo Fallback";src:local("Roboto Black"),local("Roboto-Black"),local("Roboto Bold"),local("Roboto-Bold");font-weight:900;font-style:normal;size-adjust:106%}

/* Who We Serve menu */
.sd-header{z-index:80}.sd-nav__audience,.sd-audiences{position:static}.sd-audiences>summary{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 0;color:var(--obsidian);font:500 14px/1 var(--font-sans);cursor:pointer;list-style:none}.sd-audiences>summary::-webkit-details-marker{display:none}.sd-audiences>summary:hover,.sd-audiences[open]>summary{color:var(--imperial)}.sd-audiences__chevron{width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);margin-top:-4px}.sd-audiences__panel{display:none;position:absolute;top:calc(100% - 1px);left:50%;transform:translateX(-50%);width:min(760px,calc(100vw - 40px));padding:26px 30px 18px;border:1px solid var(--border);border-radius:0 0 15px 15px;background:var(--porcelain);box-shadow:0 22px 50px #17171c17;color:var(--obsidian)}.sd-audiences[open] .sd-audiences__panel,.sd-audiences:focus-within .sd-audiences__panel{display:block}@media (hover:hover) and (pointer:fine){.sd-audiences:hover .sd-audiences__panel{display:block}}.sd-audiences__grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.sd-audiences__label{margin:0 0 12px;color:var(--steel);font:700 11px/1.3 var(--font-sans);letter-spacing:.14em;text-transform:uppercase}.sd-audience-list{list-style:none;padding:0;margin:0}.sd-nav .sd-audience-list{display:block}.sd-audience-list a{display:block;padding:10px;border-radius:7px;text-decoration:none}.sd-audience-list a:hover,.sd-audience-list a:focus-visible{background:#f5f3f9}.sd-audience-list strong{display:block;color:var(--obsidian);font:650 15px/1.25 var(--font-sans)}.sd-audience-list span{display:block;margin-top:3px;color:var(--graphite);font:400 12px/1.4 var(--font-sans)}.sd-audiences__bottom{display:flex;justify-content:space-between;gap:18px;margin-top:17px;padding:17px 9px 0;border-top:1px solid var(--border)}.sd-audiences__bottom a{color:var(--imperial);font:650 13px/1.3 var(--font-sans);text-decoration:none}.sd-menu__audiences>summary{min-height:44px;padding:14px 0;border-bottom:1px solid var(--border);cursor:pointer;list-style:none;font:600 17px/1.2 var(--font-sans)}.sd-menu__audiences>summary::-webkit-details-marker{display:none}.sd-menu__audiences>.sd-audience-list{padding:4px 0 4px 15px}.sd-menu__audiences .sd-audience-list a{padding:10px 0}.sd-menu__audiences .sd-audience-list strong{font-size:15px}.sd-menu__all{display:block;padding:10px 15px 16px;color:var(--imperial);font-size:14px}@media (max-width:1024px){.sd-audiences__panel{display:none!important}}

/* Article author credit */
.se-byline{display:flex;align-items:flex-start;gap:14px;margin:22px 0 34px;padding:18px 0;border-top:1px solid #d8d2df;border-bottom:1px solid #d8d2df;color:var(--obsidian,#201b29)}.se-byline__portrait{width:52px;height:52px;flex:none;object-fit:cover;object-position:center 28%;border-radius:50%}.se-byline__text{display:grid;gap:3px;line-height:1.4}.se-byline__text span{font-size:14px;font-weight:600}.se-byline__text small{font-size:12px;color:#696472}.se-byline__text a{color:inherit;text-underline-offset:3px}@media(max-width:600px){.se-byline{gap:12px}.se-byline__portrait{width:44px;height:44px}}

/* Mobile audience disclosure */
@media(max-width:1024px){
  .sd-menu__audiences>summary{display:block;width:100%;min-height:0;padding:14px 0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;font:600 17px/1.2 var(--font-sans)}
  .sd-menu__audiences .sd-audience-list a{border-radius:0}
}


/* Approved pricing and service navigation release 2026-10-10. */
.sg-mega>summary{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 0;color:var(--obsidian);font:500 14px/1 var(--font-sans);cursor:pointer;list-style:none}.sg-mega>summary::-webkit-details-marker{display:none}.sg-mega__panel{position:absolute;top:calc(100% - 1px);left:50%;transform:translateX(-50%);width:min(1120px,calc(100vw - 40px));padding:28px;border:1px solid var(--border);border-radius:0 0 16px 16px;background:var(--porcelain);box-shadow:0 22px 50px #17171c17;color:var(--obsidian);z-index:90}.sg-mega__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.sd-nav .sg-mega__grid .sd-audience-list{display:block}.sg-mega__panel .sd-audience-list a{display:block;padding:12px 8px}.sd-header__inner{gap:20px}.sd-header__cta{font-size:12px;padding:14px 19px}.sd-nav>ul{gap:21px}.sd-nav .sd-audiences__panel{max-height:calc(100vh - 110px);overflow:auto}.sg-mega__panel{max-height:calc(100vh - 110px);overflow:auto}.sd-menu__panel{max-height:calc(100dvh - 100px);overflow:auto;overscroll-behavior:contain}.sd-menu__panel .sd-audiences__label{margin:20px 0 5px;padding-left:15px}.sd-menu__panel .sd-menu__audiences>summary:after{content:'+';float:right}.sd-menu__panel .sd-menu__audiences[open]>summary:after{content:'−'}@media(max-width:1200px){.sd-nav{display:none}.sd-menu{display:block}.sd-header__cta{margin-left:auto}}@media(max-width:600px){.sd-header__cta{display:none}.sd-header__inner{gap:12px}.sd-menu{margin-left:auto}.sg-mega__grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.sg *{scroll-behavior:auto;transition:none}}
