/* Shared signature layouts. Home keeps its approved composition in polish.css. */
.site-page { --suite-line:#ccdadb; background:var(--paper); }
.site-page :is(h1,h2,h3,h4,.accent-word) { font-family:var(--serif); font-weight:400; }
.site-page .accent-word { color:inherit; }
.site-page .suite-hero { position:relative; overflow:hidden; isolation:isolate; background:#061521; color:#b4cdd7; border-bottom:1px solid #4a6d7b; }
.suite-hero:before { content:''; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at 85% 40%,#15445666,transparent 60%); }
.site-page .suite-hero-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr); gap:60px; align-items:center; min-height:470px; padding-block:55px 62px; }
.suite-hero-copy { min-width:0; position:relative; z-index:1; }
.suite-hero-copy:before { content:''; position:absolute; inset:-12px auto -12px -25px; width:1px; background:linear-gradient(transparent,#82b3c52b,transparent); }
.site-page .suite-hero h1 { color:#edf5f5; font-size:clamp(54px,5.1vw,78px); line-height:1.01; letter-spacing:-.03em; margin:20px 0 24px; max-width:850px; text-wrap:balance; }
.site-page .suite-hero h1 em { color:#a2d5e3; font-style:italic; }
.site-page .suite-hero .lead { font-family:Inter,system-ui,sans-serif; font-size:16px; line-height:1.85; max-width:710px; margin:0; color:#b7cdd7; }
.suite-hero .breadcrumbs { color:#b1c4ce; font-size:10px; letter-spacing:.025em; margin-bottom:25px; gap:9px; flex-wrap:wrap; }
.suite-hero .breadcrumbs a { color:#b1ceda; }
.suite-hero .breadcrumbs a:hover { color:#fff; }
.suite-hero .breadcrumbs [aria-current] { color:#b6ccd5; }
.site-page .suite-hero :is(.chip,.kicker,.eyebrow) { color:#afcdd8; background:none; border:0; border-radius:0; padding:0; font-family:Inter,sans-serif; font-size:10px; text-transform:uppercase; letter-spacing:.14em; }
.site-page .suite-hero .chip:before { content:''; width:5px; height:5px; display:inline-block; margin:0 10px 2px 0; border-radius:50%; background:#90d1e6; box-shadow:0 0 0 4px #78b8d012; }
.suite-hero :is(.hero-actions,.hero-cta) { justify-content:flex-start!important; margin-top:27px!important; gap:12px; flex-wrap:wrap; }
.suite-hero .btn-primary { background:#dcedef; color:#163d4d; border-color:#dcedef; box-shadow:0 0 30px #9bdeee0b; }
.suite-hero .btn-primary:hover { background:white; }
.suite-hero .btn-ghost { color:#d2e6ed; border-color:#5c8598; }
.suite-hero .btn-ghost:hover { background:#254a5b; color:#fff; }
.suite-hero :is(.small,.muted,.paper-meta,.article-date,.hero-meta) { color:#b0c5cf; }
.suite-hero-copy>p:not(.lead) { font-size:13px; line-height:1.8; }
.suite-hero-copy>p a:not(.btn) { color:#b6e1f0; }
.suite-hero-art { position:relative; width:100%; height:340px; min-width:0; display:flex; align-items:center; justify-content:center; perspective:1000px; }
.suite-hero-art:before { content:''; position:absolute; inset:11px; border:1px solid #7dacbd23; border-radius:50%; transform:rotate(-25deg) scaleX(1.13); }
.suite-hero-art:after { content:'3WA / PEOPLE · PRINCIPLES · PROGRESS'; position:absolute; bottom:0; left:0; right:0; text-align:center; font-size:8px; letter-spacing:.15em; color:#aac8d4; }
.suite-hero-art img { position:relative; z-index:1; width:100%; height:100%; object-fit:contain; }
.suite-hero-art:has(.suite-sculpture) { overflow:hidden; }
.suite-hero-art .suite-sculpture { width:200%; height:90%; max-width:none; flex-shrink:0; object-fit:contain; object-position:right center; position:absolute; right:5%; top:5%; mix-blend-mode:screen; mask-image:linear-gradient(90deg,transparent 20%,#000 62%,#000 92%,transparent),linear-gradient(0deg,transparent,#000 17%,#000 83%,transparent); mask-composite:intersect; }
.suite-hero-art .suite-drawing { width:100%; height:80%; filter:brightness(1.8) drop-shadow(0 12px 22px #399abc30); }
.suite-hero-art:has(.suite-drawing) { background-image:linear-gradient(#9cd5e709 1px,transparent 1px),linear-gradient(90deg,#9cd5e709 1px,transparent 1px); background-size:28px 28px; }
.suite-hero-art .suite-compass { width:300px; height:300px; max-width:90%; filter:brightness(1.25) drop-shadow(0 0 35px #67c0d525); }
.suite-hero-art .suite-paper { width:186px; height:264px; object-fit:cover; object-position:top; background:#eaf0f0; transform:rotate(-8deg) rotateY(-15deg); box-shadow:3px 2px 0 #99aeb5,6px 4px 0 #d2dddd,22px 27px 35px #0007; border-radius:1px 2px 2px 1px; transition:transform .6s var(--ease-out); }
.suite-hero-art:hover .suite-paper { transform:translateY(-6px) rotate(-5deg) rotateY(-8deg); }
.suite-hero-art .suite-portrait { width:244px; height:290px; border-radius:120px 120px 4px 4px; object-fit:cover; object-position:center; border:1px solid #608999; box-shadow:16px 16px 0 #22425070; }
.suite-article .suite-hero-grid,.suite-paper .suite-hero-grid { grid-template-columns:minmax(0,2.45fr) minmax(200px,1fr); gap:52px; }
.suite-article .suite-hero h1,.suite-paper .suite-hero h1 { font-size:clamp(44px,4.15vw,62px); text-wrap:pretty; }
.suite-article .suite-hero-grid { min-height:430px; }
.suite-article .suite-hero-art { height:290px; opacity:.86; }
.suite-legal .suite-hero-grid { min-height:365px; padding-block:40px; }
.suite-legal .suite-hero-art { height:250px; }

/* Reading pages use one deliberate, generous column with a quiet section index. */
.site-page .suite-layout { display:grid; grid-template-columns:205px minmax(0,1fr); gap:70px; padding-top:54px; padding-bottom:65px; align-items:start; }
.suite-sidebar { position:sticky; top:119px; max-height:calc(100vh - 150px); overflow-y:auto; scrollbar-width:thin; padding-bottom:10px; }
.suite-sidebar>strong,.suite-sidebar>p,.suite-sidebar nav>strong { display:block; font:500 10px/1.5 Inter,sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#557582; margin:0 0 19px; }
.suite-sidebar nav { display:grid; gap:1px; }
.suite-sidebar .suite-toc-label { font-size:10px; text-transform:uppercase; letter-spacing:.13em; color:#557582; margin-bottom:19px; }
.site-page .suite-layout-single { display:block; max-width:975px; }
.site-page .suite-layout-single .suite-body { max-width:none; }
.suite-sidebar a { display:block; font-size:11px; line-height:1.6; padding:10px 14px; color:#47636e; border-left:1px solid #c9d9dc; text-decoration:none; transition:background .2s,border-color .2s,color .2s; }
.suite-sidebar a:hover,.suite-sidebar a[aria-current="location"] { background:linear-gradient(90deg,#d9e8e7,transparent); color:#154d60; border-left-color:#287b97; }
.suite-body { min-width:0; max-width:865px; }
.site-page .suite-body :is(.wrap,.wrap-text) { width:100%; max-width:100%; padding-inline:0; }
.site-page .suite-body :is(.section,.section-tight) { padding:0; margin:0 0 38px; border:0; background:none; }
.site-page .suite-body .section:first-child { padding-top:0; }
.site-page .suite-body :is(.grid-2,.grid-3) { gap:20px; }
.site-page .suite-body .prose { max-width:none; font-family:Inter,sans-serif; font-size:16px; line-height:1.95; color:#3c555f; }
.site-page .suite-body :is(p,li) { overflow-wrap:anywhere; }
.site-page .suite-body p { font-size:16px; line-height:1.9; }
.site-page .suite-body :is(.small,.small p) { font-size:14px; }
.site-page .suite-body h2 { font-size:40px; line-height:1.15; margin-top:34px; margin-bottom:21px; }
.site-page .suite-body h2[data-suite-heading] { padding-top:27px; border-top:1px solid var(--suite-line); scroll-margin-top:125px; }
.site-page h2[data-section-number]:before { content:attr(data-section-number); display:block; font:500 10px/1 Inter,sans-serif; color:#4e7e8e; letter-spacing:.12em; margin-bottom:15px; }
.site-page .suite-body h3 { font-size:29px; margin-block:27px 14px; line-height:1.2; }
.site-page .suite-body h4 { font-size:24px; line-height:1.25; }
.site-page .suite-body li { font-size:15px; line-height:1.85; }
.site-page .suite-body :is(.card,.plain,.callout) h2 { margin-top:0; font-size:31px; }
.site-page .suite-body :is(.card,.plain,.callout) h3 { margin-top:0; }
.site-page :is(.plain,.callout,.summary-box,.definition) { border:0; border-left:2px solid #6b9eac; background:#eaf0ed; padding:26px 29px; border-radius:0 4px 4px 0; color:#355560; box-shadow:none; }
.site-page :is(.plain,.callout,.summary-box) .kicker { margin-bottom:16px; }
.site-page .summary-box { margin-bottom:30px; }
.site-page .summary-box h2 { padding-top:0; border-top:0; }
.site-page .card { border-color:#cddcdb; background:#fafbf8; border-radius:4px; box-shadow:none; }
.site-page .card:not(a):hover { transform:none; background:#fafbf8; box-shadow:none; }
.site-page .card:not(a) { padding:25px; }
.site-page .card h3 { font-size:28px; }
.site-page .card-icon { background:#e2ecea; color:#316c80; border:1px solid #c3d6db; }
.site-page .disclaimer-box { color:#365564; background:#e7efed; border:1px solid #c0d4d7; border-left:3px solid #739eaa; text-align:left!important; padding:22px 26px; font-size:13px; line-height:1.8; }
.site-page .disclaimer-box strong { color:#214859; }
.site-page .prose blockquote { border-left:2px solid #78a3b1; background:#eaf1ee; color:#365c6b; padding:24px 29px; font-family:var(--serif); font-size:27px; }
.site-page .acc { border:0; border-bottom:1px solid #c6d8d9; border-radius:0; background:transparent; margin:0; }
.site-page .acc-btn { padding:21px 0; text-align:left; font-family:var(--serif); font-size:25px; line-height:1.25; font-weight:400; color:#214653; gap:20px; }
.site-page .acc-btn svg { flex-shrink:0; width:18px; height:18px; color:#4d7c8e; }
.site-page .acc-body { padding-inline:0; font-size:15px; color:#415e69; }
.suite-mobile-toc { display:none; }
.site-page .reading-layout { padding-block:54px 70px; gap:65px; grid-template-columns:205px minmax(0,1fr); }
.site-page .reading-body { max-width:865px; }
.site-page .reading-section h2 { font-size:38px; }
.site-page .reading-section h3 { font-size:27px; }
.site-page .reading-intro,.site-page .reading-section>p,.site-page .reading-section>ul { font-family:Inter,sans-serif; font-size:16px; line-height:1.9; }
.site-page .reading-section .law-card h2 { font-size:26px; }

/* Libraries are editorial collections. Actual publication artwork stays visible. */
.site-page .publication-entry { border-color:#cbdadb; background:#fafbf8; }
.site-page .publication-entry h2 { font-size:31px; line-height:1.12; }
.site-page .actual-paper-cover { transform:rotate(-3deg); box-shadow:3px 3px 0 #d5dede,11px 14px 24px #213e5317; }
.site-page .library-toolbar { border-color:#c8d9dc; }
.site-page .filter-btn { border-radius:3px; }
.site-page .filter-btn[aria-pressed=true] { background:#173f51; border-color:#173f51; }
.site-page .path-card { border:1px solid #c8d9da; background:#fbfcf8; }
.site-page .path-card h3 { font-size:29px; }
.site-page .feature-copy h2 { font-size:48px; }
.site-page .julia-intro { border-color:#c6d8d9; background:#fafbf7; }
.site-page .julia-intro h2 { font-size:38px; }
.site-page .julia-tabs button[aria-selected=true] { border-bottom-color:#216e88; color:#174b60; }
.suite-directory-tools { display:flex; gap:24px; align-items:flex-end; padding-top:34px; padding-bottom:0; }
.suite-directory-tools[hidden] { display:none; }
.suite-directory-tools label { display:grid; gap:8px; font-size:11px; color:#42636f; }
.suite-directory-tools label:first-child { flex:1; max-width:560px; }
.suite-directory-tools :is(input,select) { height:47px; min-width:0; width:100%; border:1px solid #abc5ce; border-radius:3px; background:#fbfcfa; color:#244e60; padding:10px 14px; font-size:14px; }
.suite-directory-tools p { font-size:12px; margin:0 0 12px auto; color:#4c6974; }
.suite-directory .grid-2:has(>.article-card) { grid-template-columns:1fr; gap:0; }
.suite-directory .article-card { display:grid; grid-template-columns:154px minmax(0,1fr); column-gap:30px; row-gap:9px; border:0; border-top:1px solid #cad9db; border-radius:0; padding:27px 0; background:none; position:relative; }
.suite-directory .article-card[hidden] { display:none!important; }
.suite-directory .article-card:hover { background:#eaf1ed; box-shadow:none; transform:none; }
.suite-directory .article-card .article-thumb { grid-column:1; grid-row:1 / span 4; width:154px; height:118px; object-fit:contain; background:#07192a; margin:0; border-radius:3px; align-self:start; border:1px solid #d1dfe0; }
.suite-directory .article-card :is(.article-date,h3,p) { grid-column:2; margin:0; }
.site-page.suite-directory .article-card h3 { font-size:30px; line-height:1.13; color:#203e4b; max-width:870px; }
.suite-directory .article-card .article-date { font-size:10px; color:#456573; }
.suite-directory .article-card p { font-size:13px; line-height:1.8; max-width:850px; color:#4a646e; }
.suite-directory .article-src { color:#39687b; background:#dfecea; font-size:9px; }

/* The next step has the same dark material and orbit drawing as the homepage. */
.site-page .suite-next { position:relative; overflow:hidden; padding:66px 0 71px; background:#0a2a39; color:#bcd4df; isolation:isolate; }
.suite-next:after { content:''; position:absolute; z-index:-1; right:-50px; top:-130px; width:420px; height:420px; border:1px solid #74b7c923; border-radius:50%; box-shadow:0 0 0 55px #67adc909,0 0 0 115px #67adc906; }
.site-page .suite-next h2 { color:#e7f2f4; font-size:54px; line-height:1.05; margin:0 0 36px; max-width:650px; }
.suite-next-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.suite-next-link { color:#c0dce7; border-top:1px solid #7296a649; padding:23px 5px 0 0; display:flex; align-items:center; justify-content:space-between; gap:17px; font-size:13px; line-height:1.6; }
.suite-next-arrow { font-size:24px; font-weight:300; color:#abd2e2; transition:transform .3s var(--ease-out); }
.suite-next-link:hover { color:#fff; text-decoration:none; }
.suite-next-link:hover .suite-next-arrow { transform:translate(3px,-3px); }

@media (max-width:1050px) {
 .site-page .suite-hero-grid { gap:30px; grid-template-columns:minmax(0,1.8fr) minmax(170px,1fr); min-height:430px; }
 .site-page .suite-hero h1 { font-size:59px; }
 .site-page.suite-article .suite-hero h1,.site-page.suite-paper .suite-hero h1 { font-size:49px; }
 .suite-hero-art { height:285px; }
 .suite-hero-art .suite-paper { width:155px; height:220px; }
 .site-page .suite-layout,.site-page .reading-layout { grid-template-columns:170px minmax(0,1fr); gap:35px; }
 .suite-hero-art .suite-portrait { width:195px; height:255px; }
 .site-page .suite-body h2 { font-size:35px; }
}
@media (max-width:800px) {
 .site-page .suite-hero-grid { grid-template-columns:minmax(0,1fr); min-height:0; padding-block:36px 43px; }
 .site-page .suite-hero h1 { font-size:57px; max-width:650px; }
 .suite-hero .breadcrumbs { margin-bottom:26px; }
 .suite-hero-art { height:225px; max-width:360px; justify-self:center; }
 .site-page .suite-hero-art:has(.suite-sculpture) { position:absolute; inset:auto -60px -45px auto; width:280px; height:280px; opacity:.12!important; z-index:0; pointer-events:none; }
 .suite-hero-art:has(.suite-sculpture):after { display:none; }
 .suite-hero-art .suite-compass { height:220px; width:220px; }
 .suite-hero-art .suite-paper { width:138px; height:194px; }
 .suite-hero-art .suite-portrait { width:177px; height:218px; }
 .suite-hero-art:has(.suite-paper),.suite-hero-art:has(.suite-portrait) { height:255px; }
 .site-page .suite-layout,.site-page .reading-layout { display:block; padding-top:33px; padding-bottom:40px; }
 .suite-sidebar,.site-page .reading-toc { display:none; }
 .site-page .suite-mobile-toc { display:block; max-width:1224px; margin:25px 44px 0; padding:0; border:1px solid #bdcfd3; background:#eef3ef; border-radius:3px; }
 .suite-mobile-toc summary { cursor:pointer; font-size:13px; color:#244f60; padding:14px 19px; }
 .suite-mobile-toc nav { display:grid; gap:0; padding:0 19px 15px; }
 .suite-mobile-toc nav a { display:block; color:#355d6d; font-size:13px; padding:9px 0; border-top:1px solid #d2dfdf; }
 .site-page .mobile-contents { display:block; }
 .suite-next-grid { gap:22px; }
 .site-page .suite-next h2 { font-size:47px; }
 .suite-directory-tools { gap:15px; flex-wrap:wrap; }
 .suite-directory-tools p { margin-left:0; margin-bottom:0; width:100%; }
}
@media (max-width:560px) {
 .site-page .suite-hero-grid { padding-inline:22px; padding-block:30px 38px; gap:25px; }
 .site-page .suite-hero h1 { font-size:46px; line-height:1.04; margin-block:17px 21px; }
 .site-page.suite-article .suite-hero h1,.site-page.suite-paper .suite-hero h1 { font-size:39px; }
 .site-page .suite-hero .lead { font-size:14px; line-height:1.85; }
 .suite-hero .breadcrumbs { font-size:10px; gap:7px; margin-bottom:23px; }
 .site-page .suite-hero .chip { font-size:9px; line-height:1.8; display:inline-block; }
 .suite-hero-art { max-width:270px; height:185px; }
 .suite-hero-art .suite-drawing { height:90%; }
 .suite-hero-art .suite-compass { height:200px; width:200px; }
 .suite-hero-art:has(.suite-compass) { height:220px; }
 .suite-hero-art:after { font-size:7px; }
 .suite-hero :is(.hero-actions,.hero-cta) { gap:10px; }
 .suite-hero :is(.hero-actions,.hero-cta) .btn { min-width:0; font-size:12px; padding:12px 16px; }
 .site-page .suite-mobile-toc { margin-inline:22px; margin-top:21px; }
 .site-page .suite-layout { padding-inline:22px; padding-top:25px; }
 .site-page .suite-body :is(.wrap,.wrap-text) { padding-inline:0; }
 .site-page .suite-body p,.site-page .suite-body .prose { font-size:15px; line-height:1.9; }
 .site-page .suite-body li { font-size:14px; }
 .site-page .suite-body h2 { font-size:33px; }
 .site-page .suite-body h3 { font-size:27px; }
 .site-page :is(.plain,.callout,.summary-box,.definition) { padding:21px; }
 .site-page .suite-body :is(.card,.plain,.callout) h2 { font-size:28px; }
 .site-page .card:not(a) { padding:22px; }
 .site-page .disclaimer-box { font-size:12px; padding:19px; }
 .site-page .acc-btn { font-size:23px; padding-block:19px; }
 .site-page .reading-section h2 { font-size:32px; }
 .site-page .reading-intro,.site-page .reading-section>p,.site-page .reading-section>ul { font-size:15px; }
 .site-page .publication-entry h2 { font-size:28px; }
 .site-page .actual-paper-cover { width:83px; height:117px; }
 .site-page .feature-copy h2 { font-size:39px; }
 .site-page .path-card h3 { font-size:26px; }
 .site-page .julia-intro h2 { font-size:32px; }
 .suite-directory-tools { padding-inline:22px; padding-top:26px; }
 .suite-directory-tools label:first-child { flex-basis:100%; }
 .suite-directory-tools label:nth-child(2) { width:145px; }
 .suite-directory-tools p { margin:0 0 12px; width:auto; }
 .suite-directory .article-card { grid-template-columns:64px minmax(0,1fr); column-gap:16px; padding-block:23px; }
 .suite-directory .article-card .article-thumb { width:64px; height:58px; grid-row:1 / span 2; }
 .site-page.suite-directory .article-card h3 { font-size:26px; }
 .site-page.suite-directory .article-card p { grid-column:1 / -1; font-size:13px; padding-top:5px; }
 .suite-directory .article-card .article-date { font-size:9px; }
 .suite-directory .article-src { font-size:8px; }
 .site-page .suite-next { padding-block:44px 48px; }
 .site-page .suite-next h2 { font-size:41px; margin-bottom:25px; }
 .suite-next-grid { grid-template-columns:1fr; gap:21px; }
 .suite-next-link { padding-top:16px; font-size:13px; }
}
@media (prefers-reduced-motion:reduce) { .suite-hero-art .suite-paper,.suite-next-arrow { transition:none; transform:none; } }
@media print {
 .site-page .suite-hero { background:white!important; color:#111!important; border-bottom:1px solid #888; }
 .site-page .suite-hero :is(h1,p,a,span,em) { color:#111!important; }
 .site-page .suite-hero-grid { display:block; padding:20px 0; min-height:0; }
 .site-page .suite-hero h1 { font-size:38px; }
 .suite-hero-art,.suite-sidebar,.suite-mobile-toc,.suite-next,.suite-directory-tools { display:none!important; }
 .site-page .suite-layout { display:block; padding:20px 0; }
 .site-page .suite-body { max-width:none; }
}
