/* Revision 3: clarify choices and recover gracefully without changing the palette. */
:root{--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;--card-radius:28px}
.hero .eyebrow{font-size:.85rem}
.hero-intro{max-width:760px;color:var(--ink)}
.hero .button-row>.text-link{background:transparent;color:var(--blue);text-decoration:underline;text-underline-offset:6px}
.hero .button-row>.text-link:hover{background:var(--wash)}
.cover-link{color:white;display:inline-flex;gap:10px;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px;font-size:.85rem;max-width:100%}
.cover-link:focus-visible{outline-color:white}
.external-icon{width:17px;height:17px;flex-shrink:0;vertical-align:middle;overflow:visible}
.menu-bars{width:15px;height:12px;position:relative;display:block;flex:none}
.menu-bars::before,.menu-bars::after{content:"";position:absolute;inset-inline:0;height:1.75px;background:currentColor;border-radius:2px}
.menu-bars::before{top:2px}.menu-bars::after{bottom:2px}
.menu-toggle{min-height:44px}
.service-list,.workshop-grid{gap:var(--space-3)}
.work-description{padding:var(--space-3)}
.workshop,.workshop:first-child,.workshop:last-child{border-radius:var(--card-radius)}
.brief-panel{padding:var(--space-4)}
.form-note{margin-bottom:var(--space-3)}
.required-word{font-size:.8rem;font-weight:400;color:var(--muted);white-space:nowrap}
.field{margin-bottom:var(--space-3)}
.field-error{font-size:.875rem;color:var(--maroon);line-height:1.8;margin-top:var(--space-1)}
[aria-invalid=true]{border:2px solid var(--maroon)}
.error-summary{background:white;border:2px solid var(--maroon);border-radius:18px;padding:var(--space-3);margin-bottom:var(--space-3);scroll-margin-top:140px}
.error-summary h4{margin:0 0 var(--space-1);font-size:1rem;line-height:1.8}
.error-summary ul{display:grid;gap:4px}
.error-summary a{display:block;min-height:44px;padding-block:8px;color:var(--maroon);text-decoration:underline;text-underline-offset:4px;font-size:.9rem;line-height:1.8}
.error-summary:focus{outline:3px solid var(--blue);outline-offset:5px}
.form-actions{display:grid;gap:var(--space-1);justify-items:center}
.clear-draft{border:0;background:transparent;color:var(--muted);padding:9px 16px;min-height:44px;font-size:.9rem;text-decoration:underline;text-underline-offset:5px;width:auto!important;box-shadow:none}
.clear-draft:hover{color:var(--maroon)}
.draft-status:empty{display:none}.draft-status{font-size:.85rem;color:var(--muted);line-height:1.8;margin-bottom:var(--space-3)}
.draft-stale{font-size:.88rem;color:var(--maroon);line-height:1.9;border-inline-start:3px solid var(--maroon);padding-inline-start:12px;margin-block:0 20px}
.field input,.field textarea,#output{scroll-margin-block:150px 40px}
@media(max-width:900px){.header-inner nav{max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain}.service-list,.workshop-grid{gap:var(--space-2)}}
@media(max-width:650px){
  .hero{padding-top:32px;gap:27px}.hero .eyebrow{font-size:.75rem;margin-bottom:18px}.hero-intro{margin-block:18px 20px;line-height:1.85}.hero .button-row{gap:var(--space-1)}.hero .button{padding-inline:22px}.hero .button-row>.text-link{padding-inline:12px}.hero .location{margin-top:17px}.cover-link{font-size:.78rem;margin-top:10px}.cover-bottom{padding-top:12px}.brief-panel{padding:var(--space-3)}.work-description{padding:var(--space-3) var(--space-2)}.error-summary{padding:var(--space-2)}.required-word{font-size:.75rem}.error-summary a{font-size:.85rem}html[lang=en] .hero .eyebrow{font-size:.68rem}html[lang=en] .hero-intro{line-height:1.75}html[lang=en] .hero h1{font-size:clamp(2.35rem,10vw,3.5rem)}
}
@media(max-width:360px){.hero{padding-top:27px}.hero .eyebrow{font-size:.66rem}.hero h1{font-size:2.2rem}.hero-intro{font-size:.94rem}.hero .button{font-size:.86rem;min-height:48px}.hero .button-row>.text-link{font-size:.83rem;min-height:44px;padding-block:9px}.brief-panel{padding:21px 17px}html[lang=en] .hero h1{font-size:2.17rem}html[lang=en] .hero-intro{font-size:.94rem}html[lang=en] .hero .eyebrow{font-size:.6rem}}
@media print{.clear-draft,.error-summary,.draft-status{display:none}}
.send-panel{padding-top:24px;border-top:1px solid var(--line);margin-top:24px}.send-panel h4{font-size:1.15rem;line-height:1.6;margin-bottom:20px}.send-panel .button{margin-top:20px}.check-label{display:flex;align-items:flex-start;gap:12px;line-height:1.8;font-size:.88rem;margin-top:20px;cursor:pointer}.check-label input{width:22px;height:22px;min-width:22px;flex:none;margin-top:4px;accent-color:var(--blue)}.check-label span{flex:1}.check-label+[hidden]{display:none}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.newsletter{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid var(--line)}.newsletter h2{margin-bottom:24px}.newsletter>div>p:not(.eyebrow){line-height:1.9;max-width:540px}.newsletter-panel{border:1px solid var(--line);border-radius:28px;padding:32px;background:var(--wash)}.newsletter-panel .button{display:block;margin-top:24px;max-width:100%}.newsletter-panel .text-link,.send-panel .text-link{min-height:44px;display:inline-flex;align-items:center;margin-top:8px}.utility-header{display:flex;justify-content:space-between;align-items:center;padding-block:24px;gap:20px}.utility-page{max-width:850px;padding-block:40px 80px}.utility-page h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:32px}.utility-page h2{font-size:1.3rem;margin-block:30px 12px}.utility-page p{line-height:2;margin-bottom:24px}.utility-page>.text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:32px}.utility-page>.button{margin-block:12px}.utility-page .form-status{margin-block:20px;min-height:32px}button:disabled{cursor:not-allowed}input:disabled{background:#f3f5f7}.newsletter-panel:has(button:disabled) .button{opacity:1;background:#54565b;color:#fff;box-shadow:none}.check-label input:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.utility-header .text-link{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:650px){.newsletter{grid-template-columns:1fr;gap:32px}.newsletter-panel{padding:24px 20px}.newsletter h2{font-size:2.15rem}.utility-page{padding-top:25px}}
