/* Shared navigation and readability refinements. */
.mobile-menu{display:none}
main:focus{outline:none}
p,li,dd{overflow-wrap:break-word}
.footer-links{flex-wrap:wrap}
.no-script-note{padding:30px 6%;font-size:16px}.no-script-note a{text-decoration:underline}
.opening-label{font-size:10px;letter-spacing:1.1px;line-height:1.7}
.opening-lead,.chapter>p,.theme-chapter>p,.need-answer p,.studio-intro>p,.person-section p,.questions details>p{font-size:16px;line-height:1.75}
.chapter .your-part,.chapter-outcome p{font-size:14px;line-height:1.75}
.theme-chapter .theme-explanation{font-size:13px}
.need-options button,.stage-controls button,.chapter-links a{min-height:40px}
.scene-theme-toggle{min-width:44px;min-height:32px}
.contact-hint,.contact-error{font-size:14px}.contact-options button>small{font-size:11px}.contact-options button>span,.timeline-options label{font-size:14px}
.contact-field-label{font-size:12px}.contact-field-hint,.contact-note,.contact-review summary,.contact-privacy summary{font-size:11px}.contact-privacy p,.contact-review dl{font-size:12px}
.contact-details-grid input{font-size:16px!important}
.subpage .service-row p,.subpage .faq details p{font-size:16px;line-height:1.75}
.subpage .faq details p{margin:16px 0 0}
.subpage .service-row>span{line-height:1.6;overflow-wrap:normal}
.subpage .service-row{grid-template-columns:125px 1fr 1.2fr}
@media(max-width:760px){
 .site-header{gap:12px}.site-header>nav{display:none!important}
 .mobile-menu{display:block;margin-left:auto;position:relative;color:inherit;border:0}
 .mobile-menu>summary{display:flex;gap:9px;align-items:center;justify-content:center;cursor:pointer;list-style:none;font-size:13px;font-weight:500;min-height:44px;padding:10px 14px;border:1px solid currentColor;border-radius:30px;line-height:1}
 .mobile-menu>summary::-webkit-details-marker{display:none}
 .mobile-menu>nav{display:flex!important;position:absolute;right:0;top:calc(100% + 12px);width:min(300px,88vw);padding:12px;flex-direction:column;align-items:stretch;gap:0;background:#f5f5f0;color:#242820;border:1px solid #cbd3c1;border-radius:16px;box-shadow:0 18px 50px #0003;z-index:30}
 .mobile-menu>nav>a{display:block;padding:14px 16px;font-size:14px;line-height:1.4;border-radius:8px;min-height:46px}
 .mobile-menu>nav>a:hover,.mobile-menu>nav>a[aria-current=page]{background:#e3ebd7}
 .mobile-menu>nav>a:last-child{background:#263622;color:#f5f5f0;margin-top:6px}
 .site-header:has(.mobile-menu[open]){transform:none!important;pointer-events:auto}
 .opening-label{font-size:8px;max-width:330px}.opening-lead{font-size:16px}
 .chapter>p,.theme-chapter>p,.need-answer p,.studio-intro>p,.person-section p,.questions details>p{font-size:15px}
 .chapter .your-part,.chapter-outcome p{font-size:13px}
 .person-section{grid-template-columns:85px minmax(0,1fr);gap:22px}.person-section h2{font-size:30px}
 .chapter-links{padding-right:0;justify-content:space-between;gap:4px;flex-wrap:wrap}
 .stage-controls{position:static;justify-content:center;margin:8px 0}.stage-controls button{font-size:10px;padding:8px 18px}
 .chapter-links a{font-size:10px;min-height:32px}
 .stage-detail p{font-size:10px}.stage-target{min-height:300px;height:300px}
 .subpage .service-row{grid-template-columns:1fr;gap:12px}.subpage .service-row p{grid-column:1}.subpage .service-row>span{font-size:11px}.subpage .service-row h2{font-size:28px}
 .contact-options button{min-height:100px}.contact-hint{font-size:14px}.contact-options button>span{font-size:13px}.contact-options button>small{font-size:11px}
 .contact-field-hint{font-size:11px}.contact-next,.contact-back{font-size:13px;min-height:48px}.contact-questions{min-height:0}
}
@media(max-width:360px){.person-section{grid-template-columns:1fr}.person-photo{width:100px;margin-top:0}.person-section h2{font-size:32px}.opening-label{font-size:7px}.contact-options{grid-template-columns:1fr}.contact-options button{min-height:70px}.contact-step h2{font-size:33px}}

@media(max-width:760px){.atelier-controls input{font-size:16px}.subpage .personal-intro>p:not(.personal-lead){font-size:15px;line-height:1.8}.subpage .personal-prose p{font-size:16px;line-height:1.85}.mobile-menu>summary:focus-visible{outline:3px solid #8ba363;outline-offset:4px}}

.subpage{padding-top:88px}.subpage>header{height:88px;padding:0 5%}.subpage footer .brand>svg{width:29px;height:29px;fill:currentColor}.contact-close{width:44px;height:44px}.template-dialog #close-template{min-height:44px;min-width:60px}.site-header>nav>a{display:inline-flex;align-items:center;min-height:44px}.site-footer .brand,.subpage .brand{min-height:44px}
@media(max-width:760px){.subpage{padding-top:75px}.subpage>header{height:75px;padding:0 6%}.chapter,.theme-chapter{scroll-margin-top:calc(var(--story-clearance,390px) + 24px)}}

/* The first process chapter shows a content plan, aligned inside the browser. */
.project-zoom{position:relative}
.structure-overlay{inset:0!important;padding:22px;display:grid;grid-template-rows:auto repeat(3,minmax(0,1fr));gap:10px;background:#1d2c23;z-index:2;transform:none}
.structure-heading{font-size:9px;font-weight:500;letter-spacing:1.2px;color:#b5c7a6;line-height:1.5;padding-bottom:2px}
.structure-tag,.structure-tag:nth-child(2){display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;min-height:0;padding:14px 16px;border:1px solid #7c916b66;border-radius:8px;background:#26382b;color:#eef2e7;letter-spacing:0}
.structure-number{font-size:11px;color:#b7cfa3;font-variant-numeric:tabular-nums}
.structure-tag strong{display:block;font-size:15px;font-weight:500;line-height:1.35}
.structure-tag small{display:block;font-size:11px;line-height:1.5;color:#b3c3a5;margin-top:4px}
.journey-stage[data-step="0"][data-scene="story"] .project-zoom{min-height:310px}
.light-mode .structure-overlay{background:#edf0df}.light-mode .structure-heading,.light-mode .structure-number{color:#526841}.light-mode .structure-tag{background:#e0e8d2;border-color:#b8c6a9;color:#263522}.light-mode .structure-tag small{color:#586b4c}
@media(max-width:760px){.structure-overlay{padding:14px;gap:7px}.structure-heading{font-size:8px;letter-spacing:.8px}.structure-tag,.structure-tag:nth-child(2){padding:10px 12px;grid-template-columns:23px minmax(0,1fr);gap:7px}.structure-tag strong{font-size:13px}.structure-tag small{font-size:10px;margin-top:2px}.structure-number{font-size:10px}.journey-stage[data-step="0"][data-scene="story"] .project-zoom{min-height:250px}}
