/* Page-specific card polish over the approved fullscreen foundation. */
:root{--card-polish-radius:clamp(22px,1.5vw,30px);--card-polish-pad:clamp(22px,2.1vw,42px);--card-polish-copy:#565063;--card-polish-line:#ffffffdf}

/* Homepage: give the explanation and conversation the scale of their scene. */
body[data-page-route="/"] .philosophy-copy{padding:clamp(30px,3.4vw,76px);align-self:center}
body[data-page-route="/"] .philosophy-copy h2{font-size:clamp(36px,3.1vw,64px);line-height:1.13;text-wrap:balance}
body[data-page-route="/"] .philosophy-copy p{font-size:clamp(16px,1vw,19px);max-width:52ch;line-height:1.85}
body[data-page-route="/"] .philosophy-copy .text-link{font-size:14px;min-height:44px;margin-top:26px}
body[data-page-route="/"] .interactive-demo{border-radius:var(--card-polish-radius)}
body[data-page-route="/"] .interactive-demo .demo-window-top{padding:24px 28px;min-height:90px}
body[data-page-route="/"] .interactive-demo .demo-window-top strong{font-size:17px}
body[data-page-route="/"] .interactive-demo .demo-window-top small{font-size:13px;line-height:1.6}
body[data-page-route="/"] .interactive-demo .demo-chat{padding:28px;gap:18px}
body[data-page-route="/"] .interactive-demo .chat-bubble{font-size:16px;line-height:1.75;padding:17px 20px;max-width:min(92%,62ch)}
body[data-page-route="/"] .interactive-demo .demo-product{justify-content:flex-start;padding:20px;gap:16px;min-height:104px}
body[data-page-route="/"] .interactive-demo .demo-product>.mini-icon{margin-inline:0;flex:none}
body[data-page-route="/"] .interactive-demo .demo-product strong{font-size:16px}
body[data-page-route="/"] .interactive-demo .demo-product small{font-size:13px;line-height:1.65}
body[data-page-route="/"] .interactive-demo .demo-product>svg{margin-left:auto;flex:none}
body[data-page-route="/"] .interactive-demo .chat-footer{padding:18px 28px;font-size:13px;line-height:1.7;gap:16px}
body[data-page-route="/"] .demo-disclaimer{font-size:12px;line-height:1.8;margin-top:20px}
body[data-page-route="/"] .conversation-select .filter{font-size:14px;min-height:48px;padding-inline:22px}

/* Homepage and About use the same material, with their own content measure. */
:is(body[data-page-route="/"],body[data-page-route="/about"]) .principles{gap:clamp(20px,2vw,42px);padding-top:0;margin-top:48px;align-items:stretch}
:is(body[data-page-route="/"],body[data-page-route="/about"]) .principles>div{min-width:0;border:1px solid var(--card-polish-line);border-radius:var(--card-polish-radius);padding:var(--card-polish-pad);background:var(--glass-clear);box-shadow:var(--glass-fine-shadow)}
:is(body[data-page-route="/"],body[data-page-route="/about"]) .principles .principle-number{display:block;font-size:11px;line-height:1.6;margin-bottom:28px;color:#766589}
:is(body[data-page-route="/"],body[data-page-route="/about"]) .principles h3{font-size:clamp(23px,1.55vw,31px);line-height:1.25;max-width:22ch;text-wrap:balance;margin-bottom:16px}
:is(body[data-page-route="/"],body[data-page-route="/about"]) .principles p{font-size:clamp(16px,.95vw,19px);line-height:1.85;color:var(--card-polish-copy);max-width:52ch;margin:0}
body[data-page-route="/about"] .about-intro{align-items:start}
body[data-page-route="/about"] .about-intro h2{font-size:clamp(38px,3vw,62px);line-height:1.13;max-width:15ch}
body[data-page-route="/about"] .about-values{margin-top:64px}
body[data-page-route="/about"] .manifesto{padding:clamp(42px,5vw,100px);border:1px solid var(--card-polish-line);box-shadow:var(--glass-fine-shadow)}
body[data-page-route="/about"] .manifesto h2{max-width:24ch;text-wrap:balance;line-height:1.14}
body[data-page-route="/about"] .manifesto p{font-size:16px;line-height:1.8}

/* Journal: control image dominance, while the grid still fills the page. */
:is(body[data-page-route="/"],body[data-page-route="/about"],body[data-page-route="/blog"],body[data-page-route^="/blog/"]) .journal-grid{gap:clamp(20px,1.8vw,38px);align-items:stretch}
:is(body[data-page-route="/"],body[data-page-route="/about"],body[data-page-route="/blog"],body[data-page-route^="/blog/"]) .journal-card{padding:clamp(18px,1.3vw,28px);border:1px solid var(--card-polish-line);border-radius:var(--card-polish-radius);background:linear-gradient(140deg,#ffffffb0,#ffffff45 72%);box-shadow:var(--glass-fine-shadow);min-width:0}
:is(body[data-page-route="/"],body[data-page-route="/about"],body[data-page-route="/blog"],body[data-page-route^="/blog/"]) .journal-card .article-image{width:100%;aspect-ratio:1.65;border-radius:18px;max-height:360px}
:is(body[data-page-route="/"],body[data-page-route="/about"],body[data-page-route="/blog"],body[data-page-route^="/blog/"]) .journal-card :is(h2,h3){font-size:clamp(21px,1.4vw,28px);line-height:1.35;max-width:30ch;margin:0;text-wrap:balance}
:is(body[data-page-route="/"],body[data-page-route="/about"],body[data-page-route="/blog"],body[data-page-route^="/blog/"]) .journal-card .article-meta{font-size:11px;line-height:1.75;margin:22px 0 12px;gap:8px}
:is(body[data-page-route="/"],body[data-page-route="/about"],body[data-page-route="/blog"],body[data-page-route^="/blog/"]) .journal-card .article-excerpt{font-size:16px;line-height:1.8;max-width:58ch;margin:16px 0 24px}
:is(body[data-page-route="/"],body[data-page-route="/about"],body[data-page-route="/blog"],body[data-page-route^="/blog/"]) .journal-card>.text-link{font-size:13px;min-height:48px;padding-top:16px;margin-top:auto;margin-inline:0;border-top:1px solid #b9aec638;width:100%;justify-content:space-between}
.journal-card:focus-within{border-color:#aa98c0}
body[data-page-route="/blog"] .journal-toolbar{align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:36px}
body[data-page-route="/blog"] .journal-toolbar .search-wrap{width:min(100%,340px)}
body[data-page-route="/blog"] .search-wrap input{min-height:48px;font-size:16px}

/* Article pages: readable reading cards and a clear, quiet contents rail. */
body[data-page-route^="/blog/"] .article-sidebar>div{padding:24px;border:1px solid var(--card-polish-line);border-radius:24px;background:var(--glass-clear);box-shadow:var(--glass-fine-shadow)}
body[data-page-route^="/blog/"] .article-author{margin-bottom:22px;padding-bottom:20px}
body[data-page-route^="/blog/"] .article-author a{font-size:15px;line-height:1.6;font-weight:600;min-height:44px}
body[data-page-route^="/blog/"] .article-author p{font-size:12px;line-height:1.75}
body[data-page-route^="/blog/"] .article-sidebar h2{font-size:14px;line-height:1.5;margin-bottom:14px}
body[data-page-route^="/blog/"] .article-sidebar nav a{font-size:13px;line-height:1.7;padding-block:10px;min-height:44px}
body[data-page-route^="/blog/"] .article-body :is(.article-product-links,.article-sources){padding:clamp(24px,2vw,38px);margin-block:34px;border:1px solid var(--card-polish-line);border-radius:24px;background:var(--glass-clear);box-shadow:var(--glass-fine-shadow)}
body[data-page-route^="/blog/"] .article-body :is(.article-product-links,.article-sources) h2{margin:0 0 18px;font-size:25px;line-height:1.3}
body[data-page-route^="/blog/"] .article-body :is(.article-product-links,.article-sources) p{margin:0}
body[data-page-route^="/blog/"] .article-share{padding-top:26px;margin-top:26px;border-top:1px solid #b9aec638;gap:18px}

/* Contact: keep the working form, and give labels and guidance more presence. */
body[data-page-route="/contact"] .contact-form-intro{padding-bottom:24px;border-bottom:1px solid #b9aec638;margin-bottom:28px}
body[data-page-route="/contact"] .contact-form-intro p{font-size:14px;line-height:1.8}
body[data-page-route="/contact"] .contact-form .form-field label{font-size:14px;line-height:1.6;margin-bottom:9px}
body[data-page-route="/contact"] .contact-form .form-notice{font-size:12px;line-height:1.8}
body[data-page-route="/contact"] .contact-paths{gap:20px;align-items:stretch}
body[data-page-route="/contact"] .contact-paths>a{min-height:116px;align-items:center;padding:clamp(22px,1.8vw,36px)}
body[data-page-route="/contact"] .contact-paths strong{font-size:clamp(16px,1.1vw,21px);line-height:1.4}
body[data-page-route="/contact"] .contact-paths small{font-size:13px;line-height:1.8;max-width:38ch}
body[data-page-route="/contact"] .contact-guidance p{font-size:14px;line-height:1.9}

/* Legal pages: preserve policy content; polish the navigation and information cards. */
:is(body[data-page-route="/privacy"],body[data-page-route="/terms"]) .legal-app-grid{gap:22px}
:is(body[data-page-route="/privacy"],body[data-page-route="/terms"]) .legal-app-grid>a{min-height:132px;gap:20px;padding:clamp(24px,1.8vw,36px);border-radius:24px}
:is(body[data-page-route="/privacy"],body[data-page-route="/terms"]) .legal-app-grid h2{font-size:clamp(22px,1.55vw,30px);line-height:1.3;max-width:30ch}
:is(body[data-page-route="/privacy"],body[data-page-route="/terms"]) .legal-app-grid p{font-size:14px;line-height:1.75;margin-top:10px}
:is(body[data-page-route^="/privacy"],body[data-page-route^="/terms"]) .legal-site-note{padding:clamp(24px,2.5vw,48px);border-radius:26px;box-shadow:var(--glass-fine-shadow)}
body[data-page-route="/404"] .page-hero .button-row{gap:20px;justify-content:center;flex-wrap:wrap}

@media(min-width:2400px){body[data-page-route="/blog"] .all-articles{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){
 :is(body[data-page-route="/"],body[data-page-route="/about"],body[data-page-route="/blog"],body[data-page-route^="/blog/"]) .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-page-route="/"] .experience-layout{grid-template-columns:1fr;gap:36px}
 body[data-page-route="/"] .experience-copy>p{max-width:60ch}
 body[data-page-route="/"] .experience-layout>div:last-child{width:100%;justify-self:center;max-width:760px}
 body[data-page-route="/"] .interactive-demo{max-width:760px}
 :is(body[data-page-route="/"],body[data-page-route="/about"]) .principles{gap:18px}
 :is(body[data-page-route="/"],body[data-page-route="/about"]) .principles>div{padding:24px}
 body[data-page-route="/contact"] .contact-paths{grid-template-columns:1fr}
 body[data-page-route="/contact"] .contact-paths>a{min-height:98px}
}
@media(max-width:700px){
 :is(body[data-page-route="/"],body[data-page-route="/about"],body[data-page-route="/blog"],body[data-page-route^="/blog/"]) .journal-grid{grid-template-columns:1fr}
 :is(body[data-page-route="/"],body[data-page-route="/about"],body[data-page-route="/blog"],body[data-page-route^="/blog/"]) .journal-card{padding:18px}
 :is(body[data-page-route="/"],body[data-page-route="/about"],body[data-page-route="/blog"],body[data-page-route^="/blog/"]) .journal-card .article-image{max-height:280px}
 :is(body[data-page-route="/"],body[data-page-route="/about"],body[data-page-route="/blog"],body[data-page-route^="/blog/"]) .journal-card :is(h2,h3){font-size:23px}
 :is(body[data-page-route="/"],body[data-page-route="/about"],body[data-page-route="/blog"],body[data-page-route^="/blog/"]) .journal-card .article-excerpt{font-size:15px;line-height:1.85}
 body[data-page-route="/"] .philosophy-copy{padding:30px 26px}
 body[data-page-route="/"] .philosophy-copy h2{font-size:35px}
 body[data-page-route="/"] .philosophy-copy p{font-size:16px}
 body[data-page-route="/"] .interactive-demo .demo-window-top{padding:20px}
 body[data-page-route="/"] .interactive-demo .demo-chat{padding:20px;gap:16px}
 body[data-page-route="/"] .interactive-demo .chat-bubble{font-size:15px;padding:14px 16px;max-width:96%}
 body[data-page-route="/"] .interactive-demo .demo-product{padding:17px 14px;gap:12px}
 body[data-page-route="/"] .interactive-demo .demo-product strong{font-size:14px}
 body[data-page-route="/"] .interactive-demo .demo-product small{font-size:12px}
 body[data-page-route="/"] .interactive-demo .chat-footer{font-size:12px;padding:18px 20px}
 body[data-page-route="/"] .conversation-select{gap:4px}
 body[data-page-route="/"] .conversation-select .filter{font-size:12px;padding-inline:14px}
 :is(body[data-page-route="/"],body[data-page-route="/about"]) .principles{grid-template-columns:1fr;gap:18px;margin-top:32px}
 :is(body[data-page-route="/"],body[data-page-route="/about"]) .principles .principle-number{margin-bottom:20px}
 :is(body[data-page-route="/"],body[data-page-route="/about"]) .principles h3{font-size:25px}
 body[data-page-route="/about"] .manifesto{padding:40px 24px}
 body[data-page-route^="/blog/"] .article-sidebar>div{padding:22px}
 body[data-page-route^="/blog/"] .article-body :is(.article-product-links,.article-sources){padding:24px 21px}
 :is(body[data-page-route="/privacy"],body[data-page-route="/terms"]) .legal-app-grid>a{min-height:120px;padding:24px 21px;gap:14px}
 :is(body[data-page-route="/privacy"],body[data-page-route="/terms"]) .legal-app-grid h2{font-size:23px}
}
@media(max-width:360px){
 body[data-page-route="/"] .conversation-select .filter{padding-inline:10px;font-size:11px}
 body[data-page-route="/"] .interactive-demo .demo-chat{padding:17px}
 body[data-page-route="/"] .interactive-demo .chat-bubble{font-size:14px}
}
@media(hover:hover) and (pointer:fine){
 .journal-card:hover{border-color:#b9a9cc}
 :is(body[data-page-route="/privacy"],body[data-page-route="/terms"]) .legal-app-grid>a:hover{border-color:#b9a9cc}
}
@media(prefers-contrast:more){
 .journal-card,:is(body[data-page-route="/"],body[data-page-route="/about"]) .principles>div,body[data-page-route^="/blog/"] .article-sidebar>div,body[data-page-route^="/blog/"] .article-body :is(.article-product-links,.article-sources){background:#fff;border-color:#887296}
}

.article-draft-notice{display:inline-block;margin-top:22px;padding:10px 16px;border:1px solid #cabbd9;border-radius:99px;background:#ffffff99;color:#625174;font-size:12px;line-height:1.6}
