/* Studio accessibility and local inquiry planner; loaded after styles.css. */
:root{--muted:#505849}
body{overflow-wrap:anywhere}
.site-header>*,.hero>*,.section-heading>*,.service-grid>*,.work-grid>*,.process-grid>*,.faq-section>*,.site-footer>*{min-width:0}
.hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.process-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.button,.text-button,.text-link,.main-nav a,.menu-toggle,summary{min-height:44px}
.wordmark{min-height:44px}
.brand-symbol,.button>span[aria-hidden],.menu-toggle>span{flex-shrink:0}
.text-link{display:inline-flex;align-items:center;flex-wrap:wrap}
.button{max-width:100%;white-space:normal;text-align:left}
.main-nav a{display:flex;align-items:center}
.menu-toggle{padding-inline:12px;flex-shrink:0}
summary{display:list-item;list-style:none;padding-block:10px;line-height:1.6}
summary:after{top:5px}
.step-number{color:#505849}
.button-outline{border-color:#737b69}
a:hover.text-link,.main-nav a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid #282c28;outline-offset:3px;box-shadow:0 0 0 6px #fff}
.main-nav[hidden]{display:none}
.brief-section{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px;align-items:start}
.brief-copy,.brief-form{min-width:0}
.brief-form{align-self:start}
.brief-form fieldset{min-width:0;margin:0 0 26px;padding:20px 0 0;border:0;border-top:1px solid #b8bdac}
.brief-form legend{max-width:100%;padding:0 12px 0 0;font-family:var(--serif);font-size:24px;line-height:1.3}
.brief-form label{font-size:13px;line-height:1.6;margin-bottom:20px}
.brief-form input,.brief-form select,.brief-form textarea{font-size:16px;min-height:46px;min-width:0;max-width:100%;border-color:#737b69}
.brief-form input::placeholder,.brief-form textarea::placeholder{color:#505849;opacity:1}
.brief-form textarea{line-height:1.7}
.brief-form .optional{font-size:12px;color:#505849}
.planner-help,.scope-boundary,.storage-note,.brief-form noscript p{font-size:13px;line-height:1.8;color:#505849;margin:0 0 20px}
.planner-help strong,.scope-boundary strong{color:var(--ink)}
.brief-copy .privacy-note{font-size:12px;color:#505849;max-width:none}
.scope-boundary{padding:16px;border:1px solid #b8bdac;border-radius:2px;background:#f5f5ed}
.brief-form .button,.brief-form .text-button{min-height:44px;font-size:13px}
.brief-form .text-button{padding:8px 0;max-width:100%;white-space:normal}
.brief-form .form-status{font-size:13px;line-height:1.8;color:#394531;min-height:48px;margin:18px 0}
.storage-note{margin-top:16px}
.draft-preview{margin-top:28px;padding-top:24px;border-top:1px solid #b8bdac}
.draft-preview[hidden]{display:none}
.draft-preview h3{font-family:var(--serif);font-size:26px;line-height:1.3;margin-bottom:12px}
.brief-form #brief-summary{min-height:310px;background:#fafaf5}
.service-card [data-package][aria-pressed=true]{outline:2px solid #665275;outline-offset:4px}
.service-card [data-package]:focus-visible{outline:3px solid #282c28;outline-offset:3px;box-shadow:0 0 0 6px #fff}
.service-card [data-package]:disabled,.brief-form button:disabled{opacity:.6;transform:none}
/* Keep practical copy readable alongside the quieter illustrated artwork. */
.preview-ribbon{font-size:12px;line-height:1.6;letter-spacing:.06em;padding:10px 20px}
.main-nav{font-size:14px;gap:24px}
.main-nav a{padding:10px 2px;line-height:1.5}
.eyebrow{font-size:12px;line-height:1.6;letter-spacing:.13em}
.hero .lead{font-size:16px;line-height:1.8;max-width:470px}
.hero-note,.quiet{font-size:13px;line-height:1.8}
.hero-note{max-width:450px}
.button,.text-link{font-size:14px;line-height:1.5}
.principles{font-size:12px;line-height:1.7}
.section-heading>p{font-size:14px;line-height:1.8;max-width:390px}
.card-number{font-size:12px;line-height:1.6;letter-spacing:.08em;flex-wrap:wrap}
.card-tag{font-size:12px;line-height:1.5;padding:4px 8px;white-space:normal}
.card-description{font-size:14px;line-height:1.8}
.price span{font-size:12px;line-height:1.7;letter-spacing:0;margin-top:8px}
.check-list{font-size:14px;line-height:1.9}
.check-list li{padding-block:3px}
.fine-print{font-size:12px;line-height:1.8}
.service-card .button{font-size:13px;line-height:1.6;min-height:48px}
.work-copy>p:not(.eyebrow){font-size:14px;line-height:1.85;max-width:420px}
.work-copy>p.project-label{font-size:12px;line-height:1.7;letter-spacing:.06em}
.work-copy>p.work-disclosure{font-size:12px;line-height:1.85;max-width:420px}
.step-number{font-size:12px}
.process-grid p{font-size:14px;line-height:1.8}
.faq-list summary{font-size:15px;line-height:1.6}
.faq-list details p{font-size:14px;line-height:1.8}
.brief-copy>p:not(.eyebrow){font-size:14px;line-height:1.8}
.brief-copy .privacy-note{font-size:13px}
.site-footer p,.site-footer .text-link{font-size:12px;line-height:1.8}
.site-footer .text-link{white-space:normal}
.brief-form .form-actions{gap:12px;align-items:stretch}
.brief-form .form-actions .button{flex:1 1 180px;justify-content:center;min-height:48px;text-align:center}
.brief-form .form-actions .text-button{flex:1 0 100%;display:inline-flex;justify-content:center;align-items:center;min-height:44px}
/* The navigation can reflow before its mobile menu takes over. */
@media(min-width:801px){
  .main-nav{justify-content:flex-end;flex-wrap:wrap;gap:8px 24px}
  .main-nav a{white-space:nowrap}
}
@media(min-width:801px) and (max-width:1100px){
  .hero h1{font-size:clamp(44px,5.5vw,61px)}
  .card-number{flex-wrap:wrap}
}
@media(min-width:801px) and (max-width:960px){
  .service-grid{grid-template-columns:minmax(0,1fr)}
  .service-card h3 br{display:none}
  .card-description{min-height:0;max-width:600px}
  .check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
  .service-card .button{max-width:350px}
  .card-tag{display:block;white-space:normal}
  .brief-section{grid-template-columns:minmax(0,1fr);gap:32px}
  .brief-copy>p:not(.eyebrow){max-width:none}
}
@media(max-width:800px){
  .site-header{flex-wrap:wrap;padding-block:18px;gap:18px}
  .menu-toggle{display:none}
  .main-nav{display:flex;position:static;flex-basis:100%;flex-direction:column;align-items:stretch;gap:8px;box-shadow:none;padding:12px;border:1px solid var(--line)}
  .navigation-ready .site-header{flex-wrap:nowrap}
  .navigation-ready .menu-toggle{display:flex}
  .navigation-ready .main-nav{position:absolute;top:100%;left:0;right:0;flex-basis:auto;box-shadow:0 15px 25px #2830200c}
  .hero{grid-template-columns:minmax(0,1fr)}
  .service-grid{grid-template-columns:minmax(0,1fr)}
  .process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .brief-section{grid-template-columns:minmax(0,1fr);gap:32px}
  .brief-copy>p:not(.eyebrow){max-width:none}
}
@media(max-width:500px){
  .preview-ribbon{font-size:12px;line-height:1.7;padding:10px 16px;letter-spacing:.03em}
  .hero .eyebrow,.section-heading .eyebrow{font-size:12px}
  .hero .lead{font-size:15px}
  .principles{font-size:12px;gap:14px}
  .section-heading>p{font-size:14px}
  .card-description{font-size:14px}
  .check-list{font-size:14px;line-height:1.9}
  .card-tag{font-size:12px}
  .process-grid p{font-size:14px}
  .site-footer p{font-size:12px}
  .hero h1{font-size:clamp(36px,10.5vw,57px)}
  .form-row{grid-template-columns:minmax(0,1fr)}
  .brief-form .form-actions{align-items:stretch}
  .brief-form .form-actions .text-button{text-align:center;width:100%}
  .brief-form legend{font-size:23px}
  .brief-form .form-status{margin-top:20px}
  .service-card .card-number{flex-wrap:wrap}
  .card-tag{white-space:normal}
  .work-visual-copy{font-size:clamp(27px,8vw,35px)}
  .site-footer p{flex-basis:100%;max-width:none}
}
@media(max-width:360px){.process-grid{grid-template-columns:minmax(0,1fr)}}
@media(forced-colors:active){
  .button,.text-button,.menu-toggle,.main-nav .nav-cta{border:1px solid ButtonText}
  .service-card [data-package][aria-pressed=true]{outline:2px solid Highlight}
  a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid Highlight;box-shadow:none}
}
