/* Public website only. Owner Studio previews load this same stylesheet.
   Photos and official brand assets keep their original colours. */
:root {
 --brand-dark:#262724; --brand-dark-raised:#30312e;
 --brand-paper:#fafafa; --brand-soft:#e9e9e7;
 --brand-text:#262724; --brand-body:#555553; --brand-muted:#666664;
 --brand-line:#d2d2ce; --brand-accent:#806b43; --brand-accent-light:#d2bd97;
 --paper:var(--brand-paper); --ink:var(--brand-text); --body:var(--brand-body);
 --muted:var(--brand-muted); --sand:var(--brand-soft); --line:var(--brand-line); --gold:var(--brand-accent);
}
body:not(.page-inquiry):not(.page-motion-concept) { background:var(--brand-paper); color:var(--brand-text); }
.mc-experience { --mc-paper:var(--brand-soft); --mc-cream:var(--brand-paper); }
.button:not(.light):hover { background:var(--brand-dark-raised); border-color:var(--brand-dark-raised); color:var(--brand-paper); }
body:not(.page-motion-concept) .header { background:rgba(250,250,250,.88); border-color:var(--brand-line); }
/* The event entrance shares the homepage's dark navigation palette. */
body.page-event .header { background:var(--brand-dark); color:var(--brand-paper); border-color:#ffffff24; --gold:var(--brand-accent-light); }
body.page-event .header .button { background:transparent; border-color:#ffffff80; color:var(--brand-paper); }
body.page-event .header .lang { border-color:#ffffff60; }
.nav-panel { background:rgba(250,250,250,.96); border-color:var(--brand-line); box-shadow:0 20px 50px #26272420; }
.page-motion-concept .nav-panel { background:rgba(38,39,36,.94); }
.page-motion-concept .header { --gold:var(--brand-accent-light); }
.page-motion-concept .nav-panel p { color:#d2d2ce; }
.personal,.resource-note,.source-note,.process-guide-card,.editorial-prose blockquote { background:var(--brand-soft); }
.personal-art,.portrait-placeholder:has(.cms-portrait) { background:radial-gradient(ellipse at 42% 22%,#777778 0%,#515153 45%,#303032 100%); }
.portrait-placeholder { background:var(--brand-soft); }
/* Editorial hero: the portrait is part of the full-width scene, not a card. */
.about-page { grid-template-columns:52% 48%; gap:0; padding:0; min-height:760px; background:var(--brand-dark); color:var(--brand-paper); }
.about-page>div:first-child { align-self:center; padding:72px clamp(32px,6.5vw,112px); min-width:0; }
.about-page h1 { font-size:clamp(44px,4.3vw,68px); }
.about-page h1 em { display:block; margin-top:28px; font-size:clamp(30px,2.8vw,44px); line-height:1.4; text-wrap:balance; }
.about-page .eyebrow { color:var(--brand-accent-light); }
.about-page p:not(.eyebrow) { color:#d2d2ce; font-size:15px; }
.about-page .lead { margin:26px 0; }
.about-page .button { background:transparent; border-color:#929290; color:var(--brand-paper); }
.about-page .portrait-placeholder,.about-page .portrait-placeholder:has(.cms-portrait) { border-radius:0; position:relative; border:0; padding:0; margin:0; max-width:none; align-self:stretch; min-height:760px; background:radial-gradient(ellipse at 65% 22%,#676769,var(--brand-dark) 78%); overflow:hidden; }
.about-page .portrait-placeholder:after { content:none; }
.about-page .portrait-placeholder .cms-portrait { position:absolute; inset:auto 0 0; width:100%; height:90%; max-height:700px; object-fit:contain; object-position:center bottom; }
@media(max-width:900px) {
 .about-page { grid-template-columns:1fr; min-height:0; }
 .about-page>div:first-child { padding:40px 7% 48px; }
 .about-page .portrait-placeholder,.about-page .portrait-placeholder:has(.cms-portrait) { order:-1; min-height:0; height:clamp(340px,65vw,520px); }
 .about-page .portrait-placeholder .cms-portrait { height:100%; max-height:none; }
 .about-page h1 { font-size:clamp(40px,7vw,56px); }
 .about-page h1 em { margin-top:20px; font-size:clamp(28px,5.5vw,38px); }
 .about-page p:not(.eyebrow) { font-size:16px; }
}
.portrait-placeholder>span,.monogram { color:#737370; }
.personal-art:before { background:#ffffff20; }
.personal-art .art-caption { background:rgba(250,250,250,.9); color:var(--brand-text); }
.intro h2 em,.process-guide-steps article>span { color:var(--brand-muted); }
.architecture-card-large,.area-map { background:linear-gradient(145deg,var(--brand-dark-raised),var(--brand-dark)); }
.architecture-card p,.dark-hero .lead,.resource-teaser-intro>p:not(.eyebrow) { color:#d2d2ce; }
.resource-teaser .eyebrow,.resource-teaser-category,.contact-band .eyebrow { color:#d2d2ce; }
.resource-teaser:before { background:radial-gradient(circle at 15% 0,#ffffff0b,transparent 34%); }
.editorial-prose blockquote { border-color:var(--brand-accent); }
/* Small reading accents, not a new page palette. */
.resource-article { --article-accent:#89652f; --article-accent-hover:#705024; --article-detail:#c7a66b; }
.resource-article .editorial-prose a,.resource-article .resource-source a,.resource-article .resource-toc a,.resource-article .resource-sources a,.resource-article .resource-practical-links a,.resource-article .resource-related a {
 color:var(--article-accent); text-decoration:underline; text-decoration-color:currentColor; text-underline-offset:4px; text-decoration-thickness:1px;
}
.resource-article .editorial-prose a:hover,.resource-article .resource-source a:hover,.resource-article .resource-toc a:hover,.resource-article .resource-sources a:hover,.resource-article .resource-practical-links a:hover,.resource-article .resource-related a:hover { color:var(--article-accent-hover); }
.resource-article .editorial-prose blockquote a { color:var(--article-accent-hover); }
.resource-article a:focus-visible { outline:2px solid var(--article-accent); outline-offset:4px; }
.resource-article .resource-note,.resource-article .editorial-prose blockquote { border-left:3px solid var(--article-detail); background:var(--brand-soft); padding:20px 24px; }
.resource-article .article-inline-contact { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:32px 0; padding:20px 24px; background:var(--brand-soft); border-left:3px solid var(--article-detail); }
.resource-article .article-inline-contact p { margin:0; font-size:16px; line-height:1.7; color:var(--brand-text); }
.resource-article .article-inline-contact a { display:inline-flex; align-items:center; justify-content:center; gap:12px; flex-shrink:0; min-height:44px; padding:10px 18px; background:var(--brand-dark); color:var(--brand-paper); font-size:14px; text-decoration:none; }
.resource-article .article-inline-contact a:hover { background:var(--brand-dark-raised); color:var(--brand-paper); }
@media(max-width:600px) {
 .resource-article .article-inline-contact { align-items:flex-start; flex-direction:column; gap:14px; padding:20px; }
 .resource-article .article-inline-contact a { max-width:100%; white-space:normal; }
}
.inquiry-faq details,.inquiry-faq details:last-child { border-color:var(--brand-line); }
.inquiry-faq details p,.mc-featured-summary { color:var(--brand-body); }
.mc-featured-image { background:var(--brand-soft); }
.back-to-top { background:var(--brand-dark); color:var(--brand-paper); border-color:#929290; }
footer { --footer-social-surface:rgba(255,255,255,.08); --footer-social-cutout:var(--brand-dark); background:var(--brand-dark); color:var(--brand-paper); }
footer:not(.review-footer) { padding:32px max(28px, calc((100% - 1120px) / 2)) 20px; }
footer .footer-top { gap:24px; padding-bottom:24px; }
footer .footer-directory { grid-template-columns:1.15fr 1fr 1.2fr; gap:32px; padding:20px 0; border-top-color:#ffffff30; }
footer .footer-directory-with-tools { grid-template-columns:repeat(4,minmax(0,1fr)); }
footer .footer-directory h2 a { font:inherit; min-height:0; }
@media(max-width:900px) {
 footer:not(.review-footer) { padding:28px 7% 20px; }
 footer .footer-top { align-items:flex-start; }
 footer .footer-directory { grid-template-columns:1fr 1fr; gap:28px 20px; }
 footer .footer-directory>div:last-child { grid-column:1/-1; }
 footer .footer-directory-with-tools>div:last-child { grid-column:auto; }
}
footer p,.footer-bottom,.footer-privacy-row { color:#d2d2ce; }
.footer-bottom,.footer-privacy-row { border-color:#ffffff30; }
.field input,.field select,.field textarea,.choice-group { background:var(--brand-paper); }
.complete-icon { background:var(--brand-soft); }
/* Keep the dark inquiry presentation, but remove its green-tinted scrim. */
.page-inquiry { --inquiry-surface:var(--brand-dark); --inquiry-text:var(--brand-paper); --inquiry-muted:#d2d2ce; --inquiry-accent:var(--brand-accent-light); --inquiry-line:#929290; }
.page-inquiry .preview-bar { background:var(--brand-dark); }
.page-inquiry .inquiry-aside { background:transparent; color:var(--inquiry-text); }
.inquiry-backdrop::after { background:linear-gradient(90deg,#262724b3,#26272461 65%,#26272480),linear-gradient(0deg,#2627248c,#2627242e); }
.page-inquiry .form-panel { background:rgba(38,39,36,.86); border-color:#ffffff30; }
.page-inquiry .field input,.page-inquiry .field select,.page-inquiry .field textarea,.page-inquiry .choice-group { background:transparent; }
.page-inquiry .button { color:var(--brand-dark); }
.inquiry-embedded .form-panel { background:rgba(38,39,36,.37); }
.inquiry-embedded .preview-bar { background:rgba(38,39,36,.25); }
.inquiry-dialog { color:var(--brand-paper); background:rgba(38,39,36,.78); border-color:#ffffff4d; box-shadow:0 24px 100px #26272440; }
.inquiry-dialog::backdrop { background:rgba(38,39,36,.25); }
.analytics-consent { background:rgba(38,39,36,.94); color:var(--brand-paper); }
.analytics-consent p { color:#d2d2ce; }
/* The short shareable questionnaire stays light and keeps its field layout. */
body.calm-questionnaire { --inquiry-surface:var(--brand-paper); --inquiry-text:var(--brand-text); --inquiry-muted:var(--brand-body); --inquiry-accent:var(--brand-dark); --inquiry-line:var(--brand-line); background:var(--brand-paper); color:var(--brand-text); }
.calm-questionnaire .form-panel { background:#fff; border-color:var(--brand-line); border-top-color:var(--brand-dark); }
.calm-questionnaire .field input,.calm-questionnaire .field select,.calm-questionnaire .field textarea { background:#fff; }
.calm-questionnaire .button { background:var(--brand-dark); color:#fff; border-color:var(--brand-dark); }
.calm-questionnaire .button:hover { background:var(--brand-dark-raised); border-color:var(--brand-dark-raised); }
.calm-questionnaire .questionnaire-brand { border-color:var(--brand-line); }
.calm-questionnaire .questionnaire-helper { color:var(--brand-body); }
.calm-questionnaire :is(a,button,input,select,textarea):focus-visible { outline-color:var(--brand-dark); }
@media(max-width:700px) {
 .inquiry-backdrop::after { background:linear-gradient(180deg,#262724a6,#262724db 70%,var(--brand-dark)); }
}
