:root {
  --ink:#252c2d; --paper:#fafaf4; --signal:#b58e07; --number:#8a6a08;
  --line:#c7cfcd; --quiet:#4c5a59; --focus:#00665f;
  --display:"DIN Condensed","Arial Narrow",Arial,sans-serif;
  --body:"Helvetica Neue",Arial,sans-serif; --mono:Menlo,Consolas,monospace;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body { margin:0; background:#e9ece9; color:var(--ink); font:18px/1.4 var(--body); }
[hidden] { display:none!important; }
h1,h2,h3,p,figure { margin:0; }
img { max-width:100%; display:block; }
a { color:inherit; text-underline-offset:4px; }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; }
button,a,input,textarea,select,summary { -webkit-tap-highlight-color:transparent; }
:is(a,button,input,textarea,select,summary,[tabindex]):focus-visible { outline:3px solid var(--focus); outline-offset:5px; }
:is(h1,h2,h3,p,label,summary,button,a) { overflow-wrap:anywhere; }
.study { width:min(900px,100%); margin:0 auto; }
.page { background:var(--paper); padding:0 42px 30px; }
.skip-link { position:fixed; top:12px; left:16px; z-index:20; background:var(--paper); padding:12px 18px; transform:translateY(-180%); }
.skip-link:focus { transform:none; }
.preview-bar { padding:15px 32px; display:flex; justify-content:space-between; align-items:center; gap:20px; font:13px/1.4 var(--body); }
.preview-bar a { padding:9px 0; min-height:44px; display:flex; align-items:center; gap:8px; }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:3px solid var(--ink); padding:28px 0 23px; }
.wordmark { display:block; text-decoration:none; flex:none; }
.wordmark b { display:block; font:700 40px/.8 var(--display); letter-spacing:.6px; }
.wordmark small { display:block; font:11px/1.2 var(--mono); letter-spacing:1.4px; margin-top:10px; }
.owner { font:15px/1.35 var(--body); text-align:right; }
.page-nav { display:flex; flex-wrap:wrap; align-items:center; gap:7px 28px; padding:8px 0; border-bottom:1px solid var(--line); font-size:13px; }
.page-nav a { display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:6px 0; text-decoration:none; }
.page-nav a:hover { text-decoration:underline; }
.opening { padding-top:27px; }
.eyebrow { font:12px/1.4 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
h1 { font:700 102px/.9 var(--display); letter-spacing:-.6px; text-transform:uppercase; margin-top:14px; max-width:730px; }
h1 span { display:block; margin-left:92px; }
.hero-lead { font-size:19px; line-height:1.5; margin:22px 0 21px; max-width:650px; }
.views { position:relative; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#f0f2ed; padding-top:26px; }
.views img { width:100%; height:auto; }
.view-label { position:static; display:inline-block; vertical-align:top; margin:0 8px 8px; font:600 13px/1.2 var(--body); background:var(--paper); padding:6px 9px; border-left:4px solid var(--signal); max-width:calc(100% - 16px); }
.guide-ready .view-label { position:absolute; display:block; z-index:2; margin:0; max-width:38%; }
.whole { top:18px; left:16px; }
.break { top:18px; left:61%; }
.size { top:56%; left:61%; }
.art-note { font:12px/1.5 var(--mono); color:var(--quiet); margin:11px 0 0; max-width:670px; }
.media-failed { padding:26px; min-height:180px; display:flex; align-items:center; }
.media-failed .view-label { display:none; }
.media-status { font-size:17px; line-height:1.5; max-width:55ch; }
.action-row { display:flex; justify-content:space-between; align-items:center; gap:25px; margin:21px 0 28px; }
.button { padding:14px 20px; display:inline-flex; justify-content:space-between; align-items:center; gap:36px; border:0; border-top:4px solid var(--signal); background:var(--ink); color:var(--paper); font:600 20px/1.2 var(--body); min-height:58px; max-width:100%; text-align:left; text-decoration:none; border-radius:0; white-space:normal; }
.button:hover { background:#354141; text-decoration:none; }
.button span { font-weight:400; font-size:26px; flex:none; }
.button-outline { background:transparent; border:1px solid var(--ink); color:var(--ink); }
.button-outline:hover { background:#e9ece5; }
.action-row>p { font-size:13px; line-height:1.5; max-width:270px; color:var(--quiet); }
h2 { font:700 27px/1.08 var(--display); letter-spacing:.2px; text-transform:uppercase; }
.photo-guide { border-top:3px solid var(--ink); padding:23px 0 26px; display:grid; grid-template-columns:160px minmax(0,1fr); gap:36px; }
.photo-guide>div>h2 { margin-top:12px; }
.photo-guide>.views,.photo-guide>.art-note { grid-column:1/-1; }
.photo-guide>.art-note { margin-top:-24px; }
.section-heading { display:grid; grid-template-columns:160px minmax(0,1fr); gap:12px 36px; margin-bottom:20px; }
.section-heading>.eyebrow { grid-column:1/-1; }
.section-heading>h2 { font-size:32px; }
.section-heading>p:not(.eyebrow) { align-self:end; font-size:17px; max-width:44ch; }
.project+.project { border-top:1px solid var(--line); margin-top:28px; }
.project-heading { display:grid; grid-template-columns:160px minmax(0,1fr); gap:12px 36px; padding:22px 0; }
.project-heading>.eyebrow { grid-column:1; grid-row:1/3; }
.project-heading>h3 { font:700 37px/1.08 var(--display); text-transform:uppercase; }
.project-heading>p:not(.eyebrow) { grid-column:2; font-size:17px; line-height:1.5; max-width:55ch; }
.project-photo { border:1px solid var(--line); background:#e9ece9; }
.project-state { font:12px/1.5 var(--mono); text-transform:uppercase; padding:12px 16px; background:var(--paper); border-left:4px solid var(--signal); border-bottom:1px solid var(--line); }
.project-photo img { width:100%; height:auto; max-height:600px; object-fit:contain; }
.project-photo figcaption,.project-frames figcaption { font:12px/1.6 var(--mono); padding:12px 14px; background:var(--paper); }
.project-photo figcaption { border-top:1px solid var(--line); }
.project-frames { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.project-frames figure { min-width:0; border:1px solid var(--line); background:#e9ece9; }
.project-frames img { width:100%; height:auto; max-height:440px; object-fit:contain; }
.project-frames figcaption { border-top:1px solid var(--line); }
.project-note { margin-top:12px; font-size:14px; line-height:1.5; color:var(--quiet); }
.project-quote { border-top:3px solid var(--ink); }
.project-quote>h2 { font-size:32px; margin:12px 0 18px; }
.quote-copy { font-size:22px; line-height:1.5; max-width:58ch; }
.quote-limit { margin:18px 0 6px; padding-left:16px; border-left:4px solid var(--signal); font-size:14px; line-height:1.5; color:var(--quiet); max-width:68ch; }
.text-link { display:inline-flex; gap:18px; align-items:center; min-height:44px; padding:12px 0; font-size:16px; }
.guide-questions { margin:0; padding:0; list-style:none; counter-reset:question; }
.guide-questions li { counter-increment:question; display:grid; grid-template-columns:25px minmax(0,1fr); gap:20px; padding:0 0 16px; margin-bottom:16px; border-bottom:1px solid var(--line); }
.guide-questions li:last-child { padding:0; margin:0; border:0; }
.guide-questions li:before { content:counter(question); font:700 27px/1 var(--display); color:var(--number); }
.guide-questions h3 { font:600 20px/1.3 var(--body); margin-bottom:4px; }
.guide-questions p { font-size:17px; line-height:1.45; }
.scope-and-visit { border-top:1px solid var(--line); padding-top:23px; padding-bottom:28px; display:grid; grid-template-columns:1.25fr minmax(0,1fr); gap:40px; }
.scope h2,.visit h2 { font-size:26px; margin-bottom:12px; }
.scope p,.visit p { font-size:17px; line-height:1.5; }
.scope .scope-limit { font-size:14px; color:var(--quiet); margin-top:11px; }
.visit { border-left:4px solid var(--signal); padding-left:20px; }
.visit .hours { margin-top:13px; }
.section { border-top:1px solid var(--line); padding:28px 0; }
.brief-intro { margin-bottom:27px; display:grid; grid-template-columns:160px minmax(0,1fr); column-gap:36px; row-gap:14px; }
.brief-intro .eyebrow { grid-column:1; grid-row:1; font-size:12px; letter-spacing:0; }
.brief-intro h2 { grid-column:1; grid-row:2; font-size:29px; }
.brief-intro>p:not(.eyebrow) { grid-column:2; grid-row:1; font-size:17px; line-height:1.5; }
.draft-notice { grid-column:2; grid-row:2; padding:14px 16px; border-left:4px solid var(--signal); background:#f0f2ed; }
.draft-notice b { font:12px/1.4 var(--mono); }
.draft-notice p { font-size:14px; line-height:1.5; margin-top:7px; }
.brief-intro>p.availability-note { grid-row:3; font-size:14px; color:var(--quiet); }
.brief-workspace { min-width:0; }
.field { display:flex; flex-direction:column; margin-bottom:23px; min-width:0; }
.field label { font-size:16px; font-weight:600; margin-bottom:8px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:4px 12px; }
.field label span { font-weight:400; font-size:12px; color:var(--quiet); align-self:center; }
.field input,.field textarea,.field select { width:100%; min-width:0; min-height:52px; color:var(--ink); background:var(--paper); border:1px solid #7a8c87; border-radius:0; padding:12px 13px; font-size:16px; }
.field textarea { resize:vertical; min-height:126px; }
.field input::placeholder,.field textarea::placeholder { color:#53615d; }
.field select { padding-right:30px; }
.field-pair { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; }
.field-hint { font-size:13px; margin-top:7px; color:var(--quiet); }
.field-error { color:#952614; font-size:14px; margin-top:6px; font-weight:600; }
.field [aria-invalid=true] { border:2px solid #952614; }
.form-error-summary { padding:16px 18px; border:2px solid #952614; margin-bottom:24px; background:#fff0e7; font-size:16px; }
.form-error-summary ul { padding-left:20px; margin-bottom:0; }
.form-error-summary li { margin-top:8px; }
.form-error-summary a { text-decoration:underline; }
.photo-reminder { display:flex; gap:15px; padding:16px 0; margin:0 0 20px; border-top:1px solid var(--line); font-size:14px; color:var(--quiet); }
.photo-reminder>span { font-size:26px; line-height:1; color:var(--number); }
form>.button { width:100%; font-size:19px; }
.result-heading { border-top:4px solid var(--signal); padding-top:22px; }
.result-heading h3 { font:700 34px/1.15 var(--display); text-transform:uppercase; margin:12px 0; }
.result-heading>p:not(.eyebrow) { font-size:16px; line-height:1.5; }
.draft-result pre { white-space:pre-wrap; overflow-wrap:anywhere; background:#f0f2ed; border:1px solid var(--line); padding:22px; font:14px/1.65 var(--mono); margin:23px 0; }
.draft-actions { display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.draft-actions .button { font-size:16px; gap:20px; padding-inline:16px; }
.text-button { border:0; background:transparent; font-size:15px; text-decoration:underline; text-underline-offset:4px; padding:13px 5px; color:var(--ink); min-height:44px; max-width:100%; text-align:left; }
.clear-button { padding-left:0; }
.action-status { min-height:24px; font-size:14px; margin-top:16px; line-height:1.5; }
.noscript-note { border:1px solid var(--line); padding:24px; }
.noscript-note h3 { font-size:23px; font-weight:600; margin-bottom:14px; }
.questions-layout { display:grid; grid-template-columns:160px minmax(0,1fr); gap:36px; }
.questions h2 { margin-top:12px; }
.faq-list { border-top:1px solid var(--ink); min-width:0; }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:68px; padding:18px 0; font-size:17px; font-weight:600; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary>span { font-size:25px; line-height:1; color:var(--number); font-weight:400; flex:none; }
.faq-list details[open] summary>span { transform:rotate(45deg); }
.faq-list details p { font-size:16px; color:var(--quiet); padding:0 28px 22px 0; line-height:1.5; }
.logo-review h2 { margin:12px 0 16px; }
.logo-review>p:not(.eyebrow) { max-width:70ch; font-size:16px; line-height:1.5; }
.logo-review figure { margin:22px 0; border:1px solid var(--line); background:#fff; }
.logo-review img { width:100%; height:auto; object-fit:contain; }
.logo-review figcaption { padding:12px 15px; border-top:1px solid var(--line); color:var(--quiet); font:12px/1.5 var(--mono); }
.logo-review .logo-review-note { padding:16px; border-left:4px solid var(--signal); background:#f0f2ed; }
.review-status { border-top:1px solid var(--line); padding:25px 0 28px; }
.review-status h2 { margin:12px 0 16px; }
.review-status p:not(.eyebrow) { font-size:14px; line-height:1.5; color:var(--quiet); max-width:70ch; }
.review-status p+p { margin-top:13px; }
.site-footer { display:flex; justify-content:space-between; gap:25px; border-top:1px solid var(--line); padding-top:20px; font:12px/1.5 var(--mono); color:var(--quiet); }
.site-footer p { max-width:420px; }
.site-footer a { min-height:44px; padding:6px 0; }
@media(max-width:600px) {
  body { font-size:16px; }
  .preview-bar { padding:10px 18px; font-size:12px; gap:12px; }
  .page { padding:0 22px 25px; }
  .site-header { padding:22px 0 21px; gap:16px; }
  .wordmark b { font-size:31px; }
  .wordmark small { font-size:10px; letter-spacing:.8px; margin-top:8px; }
  .owner { font-size:12px; max-width:180px; }
  .page-nav { font-size:12px; gap:6px 19px; }
  .opening { padding-top:21px; }
  .eyebrow { font-size:12px; letter-spacing:0; }
  h1 { font-size:clamp(42px,12vw,68px); line-height:.94; margin-top:14px; }
  h1 span { margin-left:0; }
  .hero-lead { font-size:17px; line-height:1.5; margin:16px 0 18px; }
  .views { padding-top:24px; margin-inline:-22px; }
  .view-label { font-size:12px; padding:5px 6px; border-left-width:3px; }
  .whole { left:12px; top:13px; }
  .break { top:13px; left:59%; }
  .size { top:56%; left:59%; }
  .art-note { font-size:12px; line-height:1.5; margin-top:10px; }
  .action-row { display:block; margin:17px 0 25px; }
  .button { font-size:17px; padding:12px 16px; min-height:55px; gap:23px; }
  .button span { font-size:24px; }
  .action-row>p { font-size:13px; max-width:100%; margin-top:10px; }
  .photo-guide { display:block; padding-block:23px; }
  .photo-guide>div>h2 { font-size:25px; margin:12px 0 21px; }
  .photo-guide>.views { margin-top:24px; }
  .photo-guide>.art-note { margin-top:10px; }
  .section-heading,.project-heading { display:block; }
  .section-heading>h2 { font-size:29px; margin:12px 0; }
  .section-heading>p:not(.eyebrow),.project-heading>p:not(.eyebrow) { font-size:16px; }
  .project-heading>h3 { font-size:32px; margin:12px 0; }
  .project-state { padding:12px; }
  .project-photo img { max-height:480px; }
  .project-frames { grid-template-columns:minmax(0,1fr); gap:20px; }
  .project-frames img { max-height:480px; }
  .project-quote>h2 { font-size:29px; }
  .quote-copy { font-size:19px; }
  .photo-guide>h2 { font-size:25px; margin-bottom:21px; }
  .guide-questions li { gap:13px; grid-template-columns:22px minmax(0,1fr); padding-bottom:15px; margin-bottom:15px; }
  .guide-questions h3 { font-size:18px; }
  .guide-questions p { font-size:16px; }
  .scope-and-visit { display:block; padding-top:24px; }
  .scope h2,.visit h2 { font-size:25px; }
  .scope p,.visit p { font-size:16px; }
  .scope .scope-limit { font-size:14px; }
  .visit { padding-left:16px; margin-top:24px; }
  .visit .hours { margin-top:10px; }
  .brief-intro { display:block; }
  .brief-intro h2 { font-size:29px; margin:13px 0 18px; }
  .brief-intro>p:not(.eyebrow) { font-size:16px; }
  .draft-notice { margin-top:20px; }
  .brief-intro>p.availability-note { margin-top:18px; font-size:14px; }
  .field-pair { grid-template-columns:minmax(0,1fr); gap:0; }
  form>.button { font-size:17px; }
  .draft-result pre { padding:16px; }
  .questions-layout { display:block; }
  .questions h2 { font-size:26px; margin:12px 0 22px; }
  .site-footer { display:block; }
  .site-footer a { display:inline-flex; align-items:center; gap:8px; margin-top:10px; }
}
@media(max-width:350px) {
  .page { padding-inline:18px; }
  .wordmark b { font-size:28px; }
  .owner { max-width:145px; }
  h1 { font-size:42px; }
  .hero-lead { font-size:16px; }
  .views { margin-inline:-18px; }
  .page-nav { gap:5px 13px; }
  .button { font-size:16px; gap:20px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
}
@media print {
  .preview-bar,.site-header,.page-nav,.site-footer,.draft-actions,.clear-button { display:none; }
  html { scroll-behavior:auto; }
  body,.page { background:white; color:black; }
  .study { width:100%; }
  .page { padding:0; }
  .section { padding-block:20px; }
  a { text-decoration:none; }
}

/* Workshop Stamp integration: original pixels, cropped only by layout. */
:root {
  --paper:#faf9f2; --ink:#232b2e; --blue:#064895; --signal:#ffc600;
  --number:#775d0b; --focus:#064895; --quiet:#4c585b; --line:#cbd0ca;
  --ease:cubic-bezier(.2,.7,.2,1); --quick:180ms; --entry:480ms;
}
body { background:#e7e9e3; line-height:1.55; }
.study { width:min(1160px,100%); }
.page { padding:0 56px 24px; }
.preview-bar { padding:10px 24px; font-size:12px; }
.site-header { padding:27px 0 24px; border-bottom:2px solid var(--ink); }
.wordmark { display:inline-flex; align-items:center; gap:15px; max-width:100%; color:var(--blue); }
.wordmark .brand-name { display:block; }
.wordmark b { font-size:44px; line-height:.9; letter-spacing:.5px; }
.wordmark small { font:600 10px/1.3 var(--body); letter-spacing:1.9px; margin-top:7px; white-space:nowrap; }
.spark-art { display:block; position:relative; overflow:hidden; aspect-ratio:1100/365; width:88px; flex:none; mix-blend-mode:darken; }
.spark-art img { position:absolute; width:139.636364%; max-width:none; height:auto; left:-25.272727%; top:-24.657534%; }
.owner { font-size:13px; line-height:1.6; }
.owner strong { font-weight:600; }
.page-nav { padding:6px 0; gap:12px 32px; border-bottom:1px solid var(--line); font-size:13px; }
.page-nav a { gap:10px; }
.page-nav a>span:first-child { color:var(--number); font:11px/1.4 var(--mono); }
.page-nav .nav-brief { margin-left:auto; color:var(--blue); font-weight:600; }
.page-nav .nav-brief>span { color:var(--blue); font:20px/1 var(--body); }
.opening { display:grid; grid-template-columns:minmax(0,1fr) 290px; align-items:center; gap:42px; padding:54px 0 50px; }
.hero-copy { min-width:0; }
.hero .eyebrow { color:var(--blue); font-size:11px; letter-spacing:.1em; }
h1 { font-size:clamp(76px,7.5vw,108px); line-height:.94; margin-top:18px; letter-spacing:0; }
h1 span { margin-left:0; }
.hero-lead { font-size:18px; line-height:1.6; margin:24px 0; max-width:45ch; }
.hero-actions { display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
.button { background:var(--blue); border-top:3px solid var(--signal); font-size:17px; line-height:1.35; min-height:56px; padding:14px 20px; gap:25px; }
.button:hover { background:#053a77; }
.button-outline { background:transparent; color:var(--blue); border:1px solid var(--blue); }
.button-outline:hover { background:#e8edf0; }
.text-link { color:var(--blue); font-size:15px; gap:18px; text-decoration-thickness:1px; }
.hero-status { margin-top:13px; color:var(--quiet); font-size:12px; line-height:1.5; }
.hero-signature { position:relative; padding:28px 0; color:var(--blue); text-align:center; align-self:center; }
.hero-signature .spark-art { width:100%; margin-bottom:19px; }
.hero-signature .brand-name b { display:block; font:800 64px/.95 var(--body); letter-spacing:1px; }
.hero-signature .brand-name small { display:block; font:700 14px/1.4 var(--body); letter-spacing:4.5px; margin-top:13px; }
.hero-signature>p { font:11px/1.5 var(--mono); color:var(--quiet); margin-top:26px; }
.signature-rule { display:block; width:36px; height:3px; background:var(--signal); margin:19px auto 0; }
.section { padding:42px 0; }
h2 { font-size:34px; line-height:1.1; }
.section-heading { grid-template-columns:280px minmax(0,1fr); gap:18px 40px; margin-bottom:28px; }
.section-heading>.eyebrow { color:var(--blue); font-size:11px; }
.section-heading>h2 { font-size:40px; }
.section-heading>p:not(.eyebrow) { font-size:17px; line-height:1.6; max-width:46ch; }
.projects { border-top:3px solid var(--ink); }
.project-brackets { display:grid; grid-template-columns:280px minmax(0,1fr); gap:40px; align-items:start; }
.project-heading { display:block; padding:24px 0; }
.project-heading>.eyebrow { color:var(--quiet); font-size:11px; }
.project-heading>h3 { font-size:38px; line-height:1.05; margin:16px 0; }
.project-heading>p:not(.eyebrow) { font-size:16px; line-height:1.65; max-width:48ch; }
.project-state { font-size:11px; color:var(--ink); background:#f3ecd8; border-left-color:var(--signal); line-height:1.5; }
.project-photo { background:#e8eae5; }
.project-photo img { max-height:500px; }
.project-photo figcaption,.project-frames figcaption { font:11px/1.6 var(--mono); }
.project+.project { margin-top:38px; padding-top:14px; }
.project-trailer .project-heading { display:grid; grid-template-columns:280px minmax(0,1fr); column-gap:40px; row-gap:12px; }
.project-trailer .project-heading>.eyebrow { grid-column:1/-1; grid-row:auto; }
.project-trailer .project-heading>h3 { margin:0; }
.project-trailer .project-heading>p:not(.eyebrow) { grid-column:2; align-self:end; }
.project-frames { gap:18px; }
.project-frames img { max-height:460px; }
.project-note { font-size:12px; margin-top:14px; }
.photo-guide { padding:42px 0; grid-template-columns:280px minmax(0,1fr); gap:32px 40px; }
.photo-guide>div>h2 { font-size:38px; margin-top:15px; }
.photo-guide>div>.eyebrow { color:var(--blue); font-size:11px; }
.guide-questions h3 { font-size:19px; line-height:1.4; }
.guide-questions p { font-size:16px; line-height:1.6; }
.views { background:#f0f1e9; }
.scope-and-visit { padding:28px 0 42px; gap:40px; }
.scope h2,.visit h2 { font-size:28px; }
.scope p,.visit p { font-size:16px; line-height:1.65; }
.project-quote { padding:36px 32px; background:#ecefe9; border-top:3px solid var(--blue); }
.project-quote>.eyebrow { font-size:11px; color:var(--blue); }
.project-quote>h2 { font-size:38px; }
.quote-copy { font-size:20px; line-height:1.6; }
.quote-limit { max-width:76ch; }
.brief-section { border-top:0; padding-top:48px; }
.brief-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:40px; align-items:start; }
.brief-intro { display:block; margin:0; }
.brief-intro .eyebrow { font-size:11px; color:var(--blue); }
.brief-intro h2 { font-size:38px; margin:16px 0 22px; }
.brief-intro>p:not(.eyebrow) { font-size:16px; line-height:1.65; }
.draft-notice { margin-top:24px; padding:16px; }
.draft-notice b { color:var(--blue); }
.brief-intro>p.availability-note { margin-top:25px; font-size:13px; }
.field { margin-bottom:22px; }
.field-pair { gap:18px; }
.field input,.field textarea,.field select { background:#fffef8; }
.field input:focus,.field textarea:focus,.field select:focus { border-color:var(--blue); }
form>.button { font-size:17px; }
.questions-layout { grid-template-columns:280px minmax(0,1fr); gap:40px; }
.questions h2 { font-size:34px; }
.faq-list summary { font-size:16px; }
.site-footer { align-items:center; gap:28px; border-top:2px solid var(--ink); padding-top:28px; }
.site-footer .wordmark { padding:0; }
.footer-wordmark .spark-art { width:64px; }
.footer-wordmark b { font-size:36px; }
.footer-wordmark small { font-size:8px; letter-spacing:1.5px; }
.site-footer>p { margin-left:auto; font:12px/1.7 var(--body); }
.site-footer>p>span { color:var(--quiet); }
.footer-top { display:flex; align-items:center; gap:12px; font:12px/1.4 var(--body); color:var(--blue); }
.private-review { border-top:1px solid var(--line); margin-top:28px; font-size:12px; }
.private-review>summary { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:48px; cursor:pointer; list-style:none; }
.private-review>summary::-webkit-details-marker { display:none; }
.private-review>summary>span { font-size:22px; line-height:1; }
.private-review[open]>summary>span { transform:rotate(45deg); }
.private-review-body { border-top:1px solid var(--line); padding-top:16px; }
.logo-review { border:0; padding-top:15px; }
.logo-review h2,.review-status h2 { font-size:28px; }
.logo-review>p:not(.eyebrow) { font-size:14px; }
.logo-review figure { max-width:680px; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .button,.text-link,.page-nav a,.footer-top { transition:background-color var(--quick) ease,color var(--quick) ease; }
  .button>span,.text-link>span,.nav-brief>span,.footer-top>span { transition:transform var(--quick) var(--ease); }
  .button:hover>span,.button:focus-visible>span,.nav-brief:hover>span { transform:translate(2px,-2px); }
  .text-link:hover>span { transform:translateY(3px); }
  .footer-top:hover>span { transform:translateY(-3px); }
  .button:active { transform:translateY(1px); }
}
@media(prefers-reduced-motion:no-preference) {
  .hero-copy { animation:page-entry var(--entry) var(--ease) both; }
  .hero-signature .spark-art { animation:mark-entry 520ms var(--ease) both; }
  .faq-list summary>span,.private-review>summary>span { transition:transform var(--quick) var(--ease); }
}
@keyframes page-entry { from { transform:translateY(7px); } to { transform:none; } }
@keyframes mark-entry { from { transform:translateX(-10px); opacity:.75; } to { transform:none; opacity:1; } }
@media(min-width:901px) { .brief-intro { position:sticky; top:28px; } }
@media(max-width:1050px) and (min-width:701px) {
  .page { padding-inline:38px; }
  .opening { grid-template-columns:minmax(0,1fr) 230px; gap:28px; }
  h1 { font-size:86px; }
  .hero-signature .brand-name b { font-size:52px; }
  .hero-signature .brand-name small { font-size:12px; letter-spacing:3px; }
  .section-heading,.project-brackets,.project-trailer .project-heading,.photo-guide,.brief-layout,.questions-layout { grid-template-columns:220px minmax(0,1fr); gap:28px; }
}
@media(max-width:700px) {
  .page { padding-inline:24px; }
  .site-header { padding:22px 0; gap:18px; }
  .wordmark { gap:12px; }
  .wordmark b { font-size:38px; }
  .wordmark small { font-size:9px; letter-spacing:1.5px; }
  .wordmark .spark-art { width:64px; }
  .owner { font-size:11px; }
  .page-nav { gap:8px 22px; font-size:12px; }
  .page-nav .nav-brief { margin-left:0; }
  .opening { grid-template-columns:minmax(0,1fr); gap:28px; padding:36px 0; }
  h1 { font-size:clamp(56px,12vw,84px); line-height:.95; margin-top:16px; }
  .hero-lead { font-size:17px; margin:20px 0; }
  .hero-actions { gap:12px 24px; }
  .hero-signature { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px 22px; border-top:1px solid var(--line); padding:25px 0 0; }
  .hero-signature .spark-art { width:132px; margin:0; }
  .hero-signature .brand-name b { font-size:32px; line-height:1; letter-spacing:.5px; }
  .hero-signature .brand-name small { font-size:8px; letter-spacing:1.4px; margin-top:6px; }
  .hero-signature>p,.signature-rule { display:none; }
  .section { padding:32px 0; }
  .section-heading,.project-brackets,.project-trailer .project-heading,.photo-guide,.brief-layout,.questions-layout { display:block; }
  .section-heading>h2 { font-size:34px; margin:14px 0; }
  .section-heading>p:not(.eyebrow) { font-size:16px; }
  .project-heading { padding:12px 0 22px; }
  .project-heading>h3 { font-size:34px; margin:14px 0; }
  .project-trailer .project-heading>h3 { margin:14px 0; }
  .project-photo img { max-height:440px; }
  .project+.project { margin-top:30px; padding-top:24px; }
  .project-frames { grid-template-columns:minmax(0,1fr); gap:16px; }
  .project-frames img { max-height:440px; }
  .photo-guide { padding:32px 0; }
  .photo-guide>div>h2 { font-size:34px; margin:14px 0 24px; }
  .views { margin-inline:0; }
  .photo-guide>.art-note { margin-top:12px; }
  .scope-and-visit { display:block; padding-bottom:32px; }
  .project-quote { padding:26px 20px; margin-inline:-4px; }
  .project-quote>h2 { font-size:32px; }
  .quote-copy { font-size:18px; }
  .brief-section { padding-top:36px; }
  .brief-intro { margin-bottom:28px; }
  .brief-intro h2 { font-size:34px; margin:14px 0 20px; }
  .brief-intro>p.availability-note { margin-top:20px; }
  .field-pair { grid-template-columns:minmax(0,1fr); gap:0; }
  .questions h2 { font-size:32px; }
  .site-footer { display:flex; flex-wrap:wrap; gap:22px; padding-top:26px; }
  .site-footer>p { margin:0; width:100%; }
  .site-footer .footer-top { margin:0; }
}
@media(max-width:450px) {
  .preview-bar { padding-inline:18px; gap:10px; font-size:11px; }
  .page { padding-inline:22px; }
  .site-header { flex-wrap:wrap; gap:14px; padding-block:22px 18px; }
  .owner { width:100%; max-width:none; text-align:left; font:11px/1.5 var(--mono); }
  .owner br { display:none; }
  .owner strong { margin-right:12px; }
  .page-nav { column-gap:24px; row-gap:0; }
  .page-nav .nav-brief { flex-basis:100%; justify-content:space-between; border-top:1px solid var(--line); }
  .opening { padding-top:30px; }
  h1 { font-size:clamp(56px,16vw,70px); }
  .hero-actions { gap:4px 20px; }
  .hero-actions .button { width:100%; }
  .hero-actions .text-link { margin-top:6px; }
  .hero-signature { justify-content:space-between; gap:12px; }
  .hero-signature .spark-art { width:116px; }
}
@media(max-width:350px) {
  .page { padding-inline:18px; }
  .preview-bar { padding-inline:18px; }
  .preview-bar a { max-width:85px; }
  .page-nav { column-gap:18px; }
  .page-nav a { gap:8px; }
  h1 { font-size:56px; }
  .hero-signature .spark-art { width:101px; }
  .hero-signature .brand-name b { font-size:29px; }
  .hero-signature .brand-name small { font-size:7px; letter-spacing:1.35px; }
  .hero-lead { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
@media print {
  .hero-signature,.private-review { display:none; }
  .opening,.brief-layout,.project-brackets { display:block; }
  .brief-intro { position:static; }
}
.brief-step { border:0; border-top:1px solid var(--line); padding:20px 0 0; margin:0; min-width:0; }
.brief-step legend { font:600 16px/1.5 var(--body); padding:0 18px 0 0; color:var(--ink); }
.brief-step legend>span { color:var(--blue); font:11px/1.5 var(--mono); margin-right:12px; }
.owner a { display:inline-flex; min-height:28px; align-items:center; color:var(--blue); text-decoration:none; }
.owner a:hover { text-decoration:underline; }
.contact-options { display:flex; flex-wrap:wrap; gap:4px 26px; margin-top:20px; }
.contact-options a { display:inline-flex; align-items:center; gap:12px; min-height:44px; color:var(--blue); font-size:14px; text-decoration-thickness:1px; }
.handoff-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.handoff-actions .button { font-size:16px; gap:18px; }
.handoff-note { font-size:13px; line-height:1.65; color:var(--quiet); margin:16px 0 24px; }
.footer-contact { margin-left:auto; font:12px/1.6 var(--body); }
.footer-contact a { display:block; min-height:36px; padding-block:8px; color:var(--blue); overflow-wrap:anywhere; }
@media(max-width:700px) { .footer-contact { width:100%; margin:0; } }
@media(max-width:450px) { .owner a { min-height:36px; } }
@media print { .handoff-actions,.handoff-note,.contact-options { display:none; } }
/* Native-scroll story: idea, preparation, actual work, then the visitor's brief. */
html { scroll-padding-top:88px; }
.page-nav { position:sticky; top:0; z-index:8; display:grid; grid-template-columns:1fr 1.3fr 1fr 1.2fr; gap:8px 20px; background:var(--paper); border-top:1px solid var(--line); border-bottom:2px solid var(--ink); }
.page-nav a { min-width:0; }
.page-nav .nav-brief { margin:0; justify-content:flex-end; }
.page-nav .nav-brief>span:first-child { color:var(--number); font:11px/1.4 var(--mono); }
.hero .eyebrow { letter-spacing:.07em; }
@media(prefers-reduced-motion:no-preference) {
  .story-entered .story-heading,.story-entered>.story-heading { animation:story-entry 460ms var(--ease) both; }
}
@keyframes story-entry { from { transform:translateY(12px); opacity:.78; } to { transform:none; opacity:1; } }
@media(max-width:700px) {
  html { scroll-padding-top:116px; }
  .page-nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 12px; font-size:11px; padding:5px 0; }
  .page-nav a { gap:8px; min-height:42px; }
  .page-nav .nav-brief { border:0; flex-basis:auto; justify-content:space-between; }
  .page-nav .nav-brief>span:last-child { margin-left:auto; }
}
@media print { .page-nav { display:none; } }
@media(min-width:901px) { .brief-intro { top:88px; } }
:root { --journey-clearance:128px; }
html { scroll-padding-top:var(--journey-clearance); }
.brief-intro { position:static; }
@media(max-width:700px) { :root { --journey-clearance:192px; } }
/* Cobalt workshop graphic: one cutout, one diagonal, actual work immediately below. */
:root { --cobalt:#073f88; --hero-paper:#fffcf0; }
body { background:#e3e6df; }
.study { width:min(1360px,100%); }
.page { padding-inline:64px; }
.preview-bar { padding-block:7px; }
.site-header { padding-block:22px; }
.page-nav { display:flex; gap:16px 38px; justify-content:flex-start; }
.page-nav a { font-size:13px; }
.page-nav .nav-brief { margin-left:auto; }
.hero-scene { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1fr) 560px; align-items:center; gap:20px; padding:42px 64px 55px; margin-inline:-64px; background:linear-gradient(105deg,#092f66 0%,#073f88 62%,#0852a3 100%); color:var(--hero-paper); overflow:visible; }
.hero-scene::before { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; background-image:linear-gradient(90deg,transparent 50%,#ffffff08 50%,#ffffff08 calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px); background-size:100% 100%,44px 44px,44px 44px; mask-image:linear-gradient(90deg,transparent 22%,black 100%); }
.hero-scene::after { content:""; position:absolute; z-index:-1; right:4%; bottom:30px; width:43%; height:45px; transform:skewX(-28deg); background:linear-gradient(180deg,#021d4580,#ffffff0a); border-top:1px solid #a5c4e64d; }
.hero-scene .hero-copy { position:relative; z-index:2; min-width:0; }
.hero-scene .eyebrow { color:#f6d04b; font-size:11px; letter-spacing:.09em; line-height:1.6; }
.hero-scene h1 { font:700 italic clamp(76px,7vw,102px)/.95 var(--display); letter-spacing:.5px; text-transform:uppercase; margin:24px 0; max-width:640px; }
.hero-scene h1 span { display:block; margin:0; }
.hero-scene h1 em { display:block; font-style:inherit; color:var(--signal); }
.hero-scene .hero-lead { max-width:44ch; margin:0 0 26px; font:17px/1.65 var(--body); color:var(--hero-paper); }
.hero-scene .hero-actions { gap:12px 26px; }
.hero-scene .text-link { color:var(--hero-paper); font-size:15px; }
.hero-scene .hero-status { color:#d9e4ed; font-size:11px; margin-top:19px; max-width:44ch; }
.hero-cutout { position:relative; z-index:1; width:600px; margin:-26px -40px -110px -20px; pointer-events:none; }
.hero-cutout img { width:100%; height:auto; object-fit:contain; }
.hero-floor-note { position:absolute; right:64px; bottom:16px; color:#d3e0ef; font:10px/1.5 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.projects { padding-top:75px; border-top:0; }
.section-heading { grid-template-columns:280px minmax(0,1fr); }
.section-heading>h2 { font-size:48px; }
.project-brackets { grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); align-items:center; gap:48px; }
.project-brackets .project-heading { max-width:300px; }
.project-heading>h3 { font-size:44px; }
.project-photo { position:relative; border:1px solid var(--ink); background:#e1e5dd; }
.project-photo::before { content:""; position:absolute; top:-8px; right:24px; width:50px; height:8px; background:var(--blue); transform:skewX(-28deg); }
.project-photo img { max-height:560px; }
.project-photo figcaption { padding:16px 18px; }
.project-trailer { margin-left:7%; }
.project-trailer .project-heading { grid-template-columns:300px minmax(0,1fr); gap:24px 40px; }
.project-frames { gap:20px; }
.project-frames figure { border:0; background:transparent; }
.project-frames img { max-height:520px; }
.project-frames figcaption { background:transparent; padding:13px 0; border-top:1px solid var(--ink); }
.button:not(.button-outline) { position:relative; isolation:isolate; background:transparent; border-top:0; }
.button:not(.button-outline)::before { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; background:linear-gradient(var(--signal) 0 3px,var(--blue) 3px); clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%); }
.button:not(.button-outline):hover::before { background:linear-gradient(var(--signal) 0 3px,#053a77 3px); }
.hero-scene .button-primary { color:#102849; font-weight:700; min-height:58px; padding-inline:22px; }
.hero-scene .button-primary::before { background:linear-gradient(#fff1a0 0 3px,var(--signal) 3px); }
.hero-scene .button-primary:hover::before { background:linear-gradient(#fff6be 0 3px,#ffda37 3px); }
.hero-scene :is(a,button):focus-visible { outline-color:#fff; }
@media(prefers-reduced-motion:no-preference) { .hero-cutout img { animation:cutout-entry 520ms var(--ease) both; } }
@keyframes cutout-entry { from { transform:translateY(8px) rotate(-1deg); opacity:.92; } to { transform:none; opacity:1; } }
@media(max-width:1150px) and (min-width:701px) {
  .page { padding-inline:38px; }
  .hero-scene { margin-inline:-38px; padding:38px 38px 55px; grid-template-columns:minmax(0,1fr) 43%; gap:14px; }
  .hero-scene h1 { font-size:76px; }
  .hero-cutout { width:calc(100% + 38px); margin:0 -24px -100px -14px; }
  .hero-scene .hero-lead { font-size:16px; }
  .hero-floor-note { right:38px; }
  .project-brackets { gap:28px; }
}
@media(max-width:700px) {
  .page { padding-inline:24px; }
  .site-header { padding-block:20px 16px; }
  .page-nav { flex-wrap:nowrap; gap:12px; padding-block:6px; }
  .page-nav a { font-size:12px; min-height:42px; }
  .page-nav .nav-brief { margin-left:auto; justify-content:flex-end; gap:6px; }
  .hero-scene { display:block; margin-inline:-24px; padding:30px 24px 28px; }
  .hero-scene .eyebrow { font-size:10px; letter-spacing:.05em; }
  .hero-scene h1 { font-size:clamp(60px,13vw,84px); margin:20px 0; }
  .hero-scene .hero-lead { font-size:16px; max-width:42ch; margin-bottom:23px; }
  .hero-scene .hero-actions { gap:10px 20px; }
  .hero-scene .hero-status { margin-top:14px; }
  .hero-cutout { width:min(100%,390px); margin:22px auto -60px; }
  .hero-floor-note { display:none; }
  .hero-scene::after { right:11%; bottom:10px; width:74%; height:34px; }
  .projects { padding-top:66px; }
  .section-heading>h2 { font-size:38px; }
  .project-brackets,.project-trailer .project-heading { display:block; }
  .project-brackets .project-heading { max-width:none; }
  .project-heading>h3 { font-size:36px; }
  .project-photo img { max-height:480px; }
  .project-trailer { margin-left:0; }
  .project-frames img { max-height:480px; }
}
@media(max-width:450px) {
  .page { padding-inline:22px; }
  .hero-scene { margin-inline:-22px; padding-inline:22px; }
  .hero-scene h1 { font-size:62px; }
  .hero-scene .hero-actions .button { width:auto; }
  .hero-scene .hero-actions .text-link { margin:0; font-size:14px; }
  .hero-cutout { width:min(100%,330px); }
}
@media(max-width:350px) {
  .page { padding-inline:18px; }
  .page-nav { gap:9px; }
  .page-nav a { font-size:11px; }
  .hero-scene { margin-inline:-18px; padding-inline:18px; }
  .hero-scene h1 { font-size:56px; }
  .hero-scene .hero-actions .button { width:100%; }
  .hero-scene .hero-actions .text-link { min-height:44px; }
}
@media print { .hero-scene { color:black; background:white; display:block; margin:0; padding:20px 0; } .hero-cutout,.hero-scene::before,.hero-scene::after,.hero-floor-note { display:none; } .hero-scene h1 em,.hero-scene .hero-lead { color:black; } }
@media(min-width:701px) { .hero-cutout { top:32px; } }
@media(max-width:700px) { .hero-cutout { top:0; margin-bottom:-28px; } }
@media(max-width:450px) {
  .hero-scene .hero-status,.hero-scene .hero-actions .text-link { display:none; }
  .hero-cutout { width:min(100%,280px); }
}
@media(max-width:350px) { .hero-scene h1 { font-size:48px; } }
/* Newly approved refined badge; service wording stays crisp HTML. */
.site-header { padding-block:16px; }
.wordmark { display:inline-flex; flex-direction:column; align-items:center; gap:0; }
.brand-badge { display:block; width:200px; max-width:100%; mix-blend-mode:darken; }
.brand-badge img { width:100%; height:auto; }
.wordmark .service-descriptor { font:500 11px/1.4 var(--body); letter-spacing:.02em; margin-top:6px; color:var(--ink); white-space:normal; text-align:center; }
.footer-wordmark .brand-badge { width:160px; }
.hero-scene { padding-top:36px; padding-bottom:45px; }
.hero-scene h1 { font-size:90px; }
@media(max-width:1150px) and (min-width:701px) { .hero-scene h1 { font-size:76px; } }
@media(max-width:700px) {
  .site-header { padding-block:14px; }
  .brand-badge { width:190px; }
  .hero-scene { padding-top:28px; padding-bottom:28px; }
  .hero-scene h1 { font-size:clamp(60px,13vw,84px); }
}
@media(min-width:351px) and (max-width:700px) {
  .site-header { flex-wrap:nowrap; }
  .owner { width:auto; max-width:116px; text-align:right; }
  .owner br { display:block; }
  .owner strong { margin-right:0; }
}
@media(max-width:450px) { .hero-scene h1 { font-size:62px; } .brand-badge { width:180px; } }
@media(max-width:350px) {
  .site-header { padding-block:12px; gap:8px; }
  .brand-badge { width:170px; }
  .wordmark .service-descriptor { font-size:10px; margin-top:4px; }
  .owner a { min-height:24px; }
  .hero-scene h1 { font-size:48px; }
}

/* Senior polish: legible evidence and guidance, usable controls, same approved scene. */
body { line-height:1.6; }
.preview-bar { font-size:14px; line-height:1.5; gap:6px 16px; flex-wrap:wrap; }
.wordmark .service-descriptor { font-size:14px; line-height:1.5; max-width:24ch; margin-top:8px; }
.owner { font:14px/1.6 var(--body); }
.owner a,.footer-contact a { min-height:44px; }
.page-nav { gap:6px 28px; flex-wrap:wrap; padding-block:8px; }
.page-nav a { font-size:14px; min-height:48px; line-height:1.5; }
:is(.hero,.section,.photo-guide,.questions) .eyebrow { font-size:14px; line-height:1.6; letter-spacing:.035em; }
.hero-scene .hero-status { font-size:14px; line-height:1.6; }
.hero-floor-note { font-size:14px; }
.section-heading>p:not(.eyebrow),.project-heading>p:not(.eyebrow) { font-size:17px; line-height:1.65; }
.project-specs { margin:24px 0 0; font-size:16px; line-height:1.55; overflow-wrap:anywhere; }
.project-specs>div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:16px; padding:12px 0; border-top:1px solid var(--line); }
.project-specs dt { color:var(--quiet); }
.project-specs dd { margin:0; color:var(--ink); font-weight:600; }
.project-state { font:600 16px/1.55 var(--body); text-transform:none; padding:16px 18px; background:#fff1bb; }
.project-photo figcaption { font:16px/1.65 var(--body); color:var(--ink); padding:18px 20px; background:var(--paper); }
.project-frames figcaption { font:16px/1.6 var(--body); color:var(--ink); padding:14px 0; }
.project-gallery-note { font-size:16px; line-height:1.6; margin:20px 0; color:var(--quiet); }
.project-steps { list-style:none; counter-reset:project-step; margin:16px 0 28px; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.project-steps li { counter-increment:project-step; border-top:2px solid var(--blue); padding-top:14px; font-size:16px; line-height:1.55; }
.project-steps li::before { content:'0' counter(project-step); display:block; font:14px/1.6 var(--mono); color:var(--blue); margin-bottom:8px; }
.photo-guide>.guide-photo-set { grid-column:1/-1; }
.guide-disclosure { font:16px/1.65 var(--body); color:var(--ink); background:#eef1e9; border-left:4px solid var(--signal); padding:18px 20px; margin-bottom:28px; }
.guide-disclosure strong { font-weight:700; }
.guide-photos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:start; }
.guide-view { min-width:0; border-top:2px solid var(--blue); }
.guide-view figcaption { padding:16px 0; }
.guide-view figcaption b { display:block; font:600 18px/1.5 var(--body); color:var(--ink); }
.guide-view figcaption b>span { margin-right:9px; font:14px/1.5 var(--mono); color:var(--blue); }
.guide-view figcaption p { font:16px/1.6 var(--body); color:var(--quiet); margin-top:6px; }
.guide-view img { width:100%; height:auto; max-height:540px; object-fit:contain; background:#e4e6df; }
.guide-view.media-failed { display:block; min-height:0; padding:0; }
.guide-photo-fallback,.guide-photo-set .media-status { font:16px/1.65 var(--body); color:var(--ink); background:#fff1bb; padding:18px; margin-top:16px; }
.scope .scope-limit,.quote-limit,.brief-intro>p.availability-note,.draft-notice p,.handoff-note,.photo-reminder,.field-hint,.field-error,.action-status { font-size:16px; line-height:1.65; color:var(--ink); }
.draft-notice b,.brief-step legend>span,.field label span { font-size:14px; line-height:1.5; }
.field-error { color:#952614; }
.form-error-summary { font-size:16px; line-height:1.65; }
.form-error-summary a { display:inline-block; padding-block:8px; min-height:44px; }
.handoff-note { padding:18px 20px; border-left:4px solid var(--signal); background:#eef1e9; margin-block:18px 24px; }
.contact-options a,.text-button,.footer-top { min-height:48px; font-size:16px; }
.footer-contact { font:14px/1.65 var(--body); }
.footer-contact a { font-size:16px; }
.noscript-note { font-size:16px; line-height:1.65; }
@media(max-width:700px) {
  .site-header { gap:14px; }
  .owner { font-size:14px; }
  .page-nav { gap:0 18px; }
  .page-nav a { font-size:14px; min-height:48px; }
  .section-heading>h2,.photo-guide>div>h2,.brief-intro h2 { font-size:38px; line-height:1.05; }
  .project-heading>h3 { font-size:36px; line-height:1.1; }
  .project-specs { margin-top:20px; }
  .project-brackets .project-heading { padding-bottom:28px; }
  .project-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-block:14px 24px; }
  .guide-disclosure { padding:18px; margin-bottom:24px; }
  .guide-photos { grid-template-columns:minmax(0,1fr); gap:30px; }
  .guide-view img { max-height:480px; }
  .guide-view figcaption { padding:16px 0; }
  .project-photo figcaption { padding:16px; }
  .field-pair { grid-template-columns:minmax(0,1fr); }
  .handoff-actions .button,.draft-actions .button { width:100%; justify-content:space-between; }
}
@media(max-width:450px) {
  .page-nav .nav-brief { flex-basis:100%; margin:0; justify-content:space-between; border-top:1px solid var(--line); }
  .site-header { align-items:center; }
  .owner { font-size:14px; }
  .wordmark .service-descriptor { font-size:14px; }
}
@media(max-width:350px) {
  .owner { font-size:14px; width:100%; max-width:none; text-align:left; }
  .owner a { min-height:44px; }
  .wordmark .service-descriptor { font-size:14px; }
  .guide-view img { max-height:440px; }
  .hero-scene h1 { font-size:48px; }
}

/* Reference-led hierarchy: a quiet masthead and a labelled brand illustration. */
:root { --journey-clearance:24px; }
.site-header { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:24px; padding-block:12px; border-bottom:0; }
.site-header .brand-badge { width:160px; }
.site-header .service-descriptor { display:none; }
.site-header .owner { width:auto; max-width:none; font:14px/1.5 var(--body); text-align:right; }
.site-header .owner strong { margin:0; }
.site-header .owner br { display:block; }
.site-header .owner a { min-height:44px; }
.page-nav { position:static; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px 26px; padding:0; border:0; background:transparent; }
.page-nav a { min-height:48px; font-size:14px; }
.page-nav .nav-brief { margin:0; flex-basis:auto; gap:7px; border:0; justify-content:flex-start; }
.hero-photo { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.8fr); gap:0; align-items:center; min-height:570px; padding:48px 64px; margin-inline:-64px; background:var(--cobalt); color:var(--hero-paper); overflow:hidden; }
.hero-photo .hero-copy { position:relative; z-index:2; width:min(100%,550px); padding:32px; background:#15252eea; border-left:4px solid var(--signal); }
.hero-photo .eyebrow { color:#ffe074; font:14px/1.6 var(--mono); letter-spacing:.02em; }
.hero-photo h1 { margin:20px 0; max-width:none; color:var(--hero-paper); font:700 clamp(48px,5.4vw,72px)/1.02 var(--display); letter-spacing:0; text-transform:uppercase; }
.hero-photo h1 em { font-style:normal; color:var(--signal); }
.hero-photo .hero-lead { max-width:38ch; margin:0 0 24px; color:var(--hero-paper); font:17px/1.6 var(--body); }
.hero-photo .hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.hero-photo .button { min-height:56px; font-size:16px; padding:14px 16px; gap:14px; }
.hero-photo .button-primary { color:#122d46; font-weight:700; }
.hero-photo .button-primary::before { background:var(--signal); }
.hero-photo .button-primary:hover::before { background:#ffdc40; }
.hero-photo .button-call { color:var(--hero-paper); border:1px solid #c6d3dc; }
.hero-photo .button-call::before { background:transparent; clip-path:none; }
.hero-photo .button-call:hover::before { background:#ffffff14; }
.hero-proof-link { display:inline-flex; align-items:center; gap:18px; min-height:44px; margin-top:10px; color:var(--hero-paper); font:16px/1.5 var(--body); }
.hero-proof-link span { font-size:20px; }
.hero-photo :is(a,button):focus-visible { outline-color:#fff; }
.hero-project { position:absolute; z-index:-1; inset:50% 0 auto auto; width:72%; height:100%; max-height:570px; margin:0; transform:translateY(-50%); }
.hero-project::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,#073f88 0%,#073f8830 28%,transparent 55%),linear-gradient(0deg,#102332bd,transparent 38%); }
.hero-project img { width:100%; height:100%; object-fit:contain; object-position:right center; mask-image:linear-gradient(90deg,transparent 14%,#000 34%); }
.hero-project figcaption { position:absolute; z-index:1; right:32px; bottom:28px; width:min(31vw,360px); max-width:calc(100% - 64px); padding:12px 16px; background:#102332ed; color:#fffcf0; font:16px/1.55 var(--body); }
.hero-project figcaption strong { font-weight:600; color:#ffe074; }
.projects { padding-top:48px; }
.guide-mascot { width:96px; margin:24px 0 0; }
.guide-mascot img { width:100%; height:auto; }
@media(max-width:1150px) and (min-width:701px) {
  .site-header { gap:20px; }
  .page-nav { column-gap:18px; }
  .hero-photo { margin-inline:-38px; padding:40px 38px; min-height:550px; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); }
  .hero-photo .hero-copy { padding:28px; }
  .hero-photo h1 { font-size:60px; }
  .hero-project { width:70%; }
  .hero-project figcaption { right:20px; bottom:20px; max-width:calc(100% - 40px); }
}
@media(max-width:900px) {
  .site-header { grid-template-columns:minmax(0,1fr) auto; gap:2px 20px; padding-block:10px 0; }
  .site-header .wordmark { grid-column:1; grid-row:1; justify-self:start; min-width:0; }
  .site-header .owner { grid-column:2; grid-row:1; }
  .page-nav { grid-column:1/-1; grid-row:2; justify-content:space-between; gap:8px 16px; }
}
@media(max-width:900px) {
  .site-header .brand-badge { width:140px; }
  .site-header .owner { font-size:14px; }
  .page-nav { flex-wrap:wrap; gap:0 12px; padding-block:4px; }
  .page-nav .nav-brief { margin:0; flex-basis:auto; border:0; }
  .hero-photo { display:flex; flex-direction:column; gap:0; align-items:stretch; min-height:0; margin-inline:-38px; padding:0; }
  .hero-photo .hero-copy { width:100%; padding:30px 38px 24px; background:#152d43; border-left:0; border-top:4px solid var(--signal); animation:none; }
  .hero-photo .eyebrow { font-size:14px; }
  .hero-photo h1 { font-size:clamp(44px,10vw,64px); line-height:1.04; margin-block:18px; }
  .hero-photo .hero-lead { font-size:16px; margin-bottom:22px; max-width:40ch; }
  .hero-photo .hero-actions { gap:12px; }
  .hero-photo .hero-actions .button { width:auto; }
  .hero-photo .button { padding-inline:16px; gap:12px; }
  .hero-project { position:relative; z-index:auto; inset:auto; display:flex; flex-direction:column; width:100%; height:auto; max-height:none; transform:none; }
  .hero-project img { position:static; order:1; height:340px; object-fit:cover; object-position:right top; mask-image:none; }
  .hero-project::after { display:none; }
  .hero-project figcaption { position:static; order:0; width:auto; max-width:none; padding:12px 24px; background:#102332; font-size:16px; }
  .hero-proof-link { margin-top:10px; }
  .projects { padding-top:34px; }
}
@media(min-width:701px) and (max-width:900px) {
  .hero-project img { height:450px; object-position:right top; }
}
@media(max-width:700px) {
  .hero-photo { margin-inline:-24px; }
  .hero-photo .hero-copy { padding-inline:24px; }
  .photo-guide>.story-heading { position:relative; padding-right:88px; }
  .guide-mascot { position:absolute; top:0; right:0; width:76px; margin:0; }
}
@media(max-width:450px) {
  .site-header { display:flex; flex-wrap:wrap; justify-content:space-between; }
  .site-header .wordmark { flex:none; }
  .site-header .owner { max-width:100%; }
  .page-nav { order:3; flex-basis:100%; }
  .hero-photo { margin-inline:-22px; }
  .hero-photo .hero-copy { padding-inline:22px; }
  .hero-photo .hero-actions { display:grid; grid-template-columns:minmax(0,1fr); }
  .hero-photo .hero-actions .button { width:100%; }
  .hero-photo h1 { font-size:48px; }
  .hero-proof-link { display:none; }
}
@media(max-width:350px) {
  .site-header { gap:2px 10px; }
  .site-header .brand-badge { width:128px; }
  .site-header .owner { font-size:14px; }
  .page-nav { column-gap:10px; }
  .page-nav a { font-size:14px; }
  .hero-photo { margin-inline:-18px; }
  .hero-photo .hero-copy { padding-inline:18px; }
  .hero-photo h1 { font-size:44px; }
  .hero-project figcaption { padding-inline:18px; }
  .photo-guide>.story-heading { padding-right:0; }
  .guide-mascot { position:static; width:70px; margin:16px 0 24px; }
}
@media print {
  .hero-photo { display:block; min-height:0; margin:0; padding:20px 0; background:white; color:black; }
  .hero-photo .hero-copy { width:100%; padding:0; background:white; border:0; }
  .hero-photo h1,.hero-photo h1 em,.hero-photo .hero-lead { color:black; }
  .hero-project,.hero-photo .hero-actions,.hero-proof-link,.guide-mascot { display:none; }
}

/* Keep the approved illustration centered, with a fast poster beneath the short video. */
.hero-project :is(img,video) { object-position:center; }
.hero-project video { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; mask-image:linear-gradient(90deg,transparent 14%,#000 34%); opacity:0; }
.hero-project[data-motion="playing"] video { opacity:1; }
.motion-toggle { position:absolute; z-index:3; right:24px; bottom:24px; display:grid; place-items:center; width:44px; height:44px; min-height:44px; padding:0; border:1px solid #c6d3dc80; border-radius:50%; background:#102332b8; color:#fffcf0; }
.motion-toggle svg { grid-area:1/1; }
.motion-toggle .motion-icon-play,.motion-toggle[data-state="paused"] .motion-icon-pause { display:none; }
.motion-toggle[data-state="paused"] .motion-icon-play { display:block; }
.motion-toggle:hover { background:#073f88; }
.hero-project { z-index:1; }
.hero-copy { pointer-events:auto; }
.photo-guide { grid-template-columns:1fr; gap:34px; padding-block:48px; }
.photo-guide>.guide-heading { display:grid; grid-template-columns:minmax(0,1fr) 300px; align-items:center; padding:0; gap:20px; min-height:240px; }
.guide-heading-copy h2 { margin-top:16px; font:700 clamp(42px,5vw,66px)/1.04 var(--display); letter-spacing:-.02em; }
.guide-mascot { position:relative; inset:auto; width:100%; max-width:300px; margin:0; align-self:end; }
.guide-mascot img { width:100%; height:auto; }
.guide-questions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.guide-questions li,.guide-questions li:last-child { padding:20px 0 0; margin:0; border:0; border-top:1px solid var(--line); gap:12px; }
.guide-questions li:before { color:var(--blue); }
@media(max-width:900px) {
  .hero-project { display:block; }
  .hero-project :is(img,video) { height:100%; object-fit:contain; object-position:center; mask-image:none; }
  .hero-project { aspect-ratio:4/3; background:#102332; }
  .hero-project img { width:100%; height:auto; }
  .motion-toggle { right:20px; bottom:20px; }
  .photo-guide>.guide-heading { grid-template-columns:minmax(0,1fr) 240px; min-height:200px; }
  .guide-heading-copy h2 { font-size:52px; }
  .guide-questions { gap:20px; }
}
@media(max-width:700px) {
  .photo-guide { padding-block:32px; }
  .photo-guide>.guide-heading { grid-template-columns:minmax(0,1fr) 36%; gap:0; min-height:170px; margin-bottom:28px; }
  .guide-heading-copy { position:relative; z-index:2; }
  .guide-heading-copy h2 { font-size:clamp(34px,7.6vw,48px); margin-top:16px; }
  .guide-heading-copy .eyebrow { max-width:20ch; }
  .guide-mascot { width:120%; max-width:none; margin:0 0 0 -20%; align-self:center; }
  .guide-questions { display:block; }
  .guide-questions li,.guide-questions li:last-child { margin:0 0 22px; padding-top:20px; gap:16px; }
  .motion-toggle { right:16px; bottom:16px; }
}
@media(prefers-reduced-motion:reduce) { .hero-project video { display:none; } }
@media print { .hero-project,.motion-toggle { display:none; } }
.hero-project[data-motion="playing"]>img { opacity:0; }

/* One workshop composition: compact masthead, unboxed offer, complete source frame. */
:root { --opening-night:#071b2d; --opening-paper:#faf9f2; }
.masthead { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:36px; margin-inline:-64px; padding:12px 64px; background:var(--opening-night); color:var(--opening-paper); border-bottom:1px solid #b6d3ed26; }
.masthead-brand { display:block; width:128px; max-width:100%; background:#fffffb; }
.masthead-brand img { width:100%; height:auto; }
.masthead-nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px 28px; }
.masthead-nav a,.masthead-call { display:inline-flex; align-items:center; min-height:44px; padding-block:8px; text-decoration:none; font:500 14px/1.5 var(--body); }
.masthead-call { gap:18px; border-bottom:1px solid #b6d3ed75; }
.masthead a:hover { color:#ffe274; }
.masthead-brand:hover { color:inherit; }
.workshop-opening { position:relative; isolation:isolate; min-height:660px; display:flex; align-items:center; margin-inline:-64px; padding:64px; background:var(--opening-night); color:var(--opening-paper); overflow:hidden; }
.opening-copy { position:relative; z-index:2; width:56%; max-width:660px; padding-block:20px; }
.service-kicker { display:flex; align-items:center; gap:14px; color:#d6e5ef; font:500 14px/1.6 var(--body); letter-spacing:.045em; }
.service-kicker::before { content:""; flex:none; width:32px; height:2px; background:var(--signal); }
.workshop-opening h1 { max-width:none; margin:24px 0 28px; font:700 clamp(64px,6vw,86px)/1.03 var(--body); letter-spacing:0; text-transform:none; }
.workshop-opening h1 em { color:var(--signal); font-style:normal; }
.opening-intro { max-width:36ch; color:#e5edf2; font:400 18px/1.65 var(--body); }
.opening-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px 28px; margin-top:32px; }
.opening-primary { display:inline-flex; justify-content:space-between; align-items:center; gap:32px; min-height:56px; padding:15px 21px; color:#071b2d; background:var(--signal); font:600 16px/1.5 var(--body); text-decoration:none; }
.opening-primary:hover { background:#ffdd51; }
.opening-secondary { display:inline-flex; align-items:center; gap:18px; min-height:48px; color:var(--opening-paper); font:500 16px/1.5 var(--body); text-decoration:none; border-bottom:1px solid #b6d3ed75; }
.opening-secondary:hover { color:#ffe274; }
.opening-owner { display:flex; flex-wrap:wrap; gap:4px 16px; margin-top:36px; color:#d6e5ef; font:14px/1.6 var(--body); }
.opening-owner span { border-left:1px solid #b6d3ed5c; padding-left:16px; }
.opening-workshop { position:absolute; z-index:1; right:0; top:0; width:68%; height:100%; margin:0; }
.opening-workshop :is(img,video) { width:100%; height:100%; object-fit:contain; object-position:right center; mask-image:linear-gradient(90deg,transparent 6%,#000 29%); }
.opening-workshop video { position:absolute; inset:0; opacity:0; }
.opening-workshop[data-motion="playing"] video { opacity:1; }
.opening-workshop[data-motion="playing"]>img { opacity:0; }
.opening-workshop .motion-toggle { right:24px; bottom:24px; }
:is(.masthead,.workshop-opening) :is(a,button):focus-visible { outline:3px solid #ffe274; outline-offset:5px; }
@media(min-width:1001px) and (max-width:1150px) {
  .masthead { margin-inline:-38px; padding-inline:38px; gap:28px; }
  .workshop-opening { margin-inline:-38px; padding-inline:38px; min-height:620px; }
  .workshop-opening h1 { font-size:68px; }
  .opening-copy { width:58%; }
  .opening-workshop { width:65%; }
  .opening-actions { gap:12px 20px; }
}
@media(max-width:1000px) {
  .masthead { margin-inline:-38px; padding:12px 38px; gap:24px; }
  .workshop-opening { display:block; min-height:0; margin-inline:-38px; padding:0; }
  .opening-copy { width:100%; max-width:740px; padding:42px 38px 32px; }
  .workshop-opening h1 { font-size:clamp(52px,8.6vw,78px); margin-block:20px 24px; }
  .opening-intro { max-width:42ch; }
  .opening-actions { margin-top:28px; }
  .opening-owner { margin-top:28px; }
  .opening-workshop { position:relative; inset:auto; width:100%; height:auto; aspect-ratio:4/3; }
  .opening-workshop :is(img,video) { object-position:center; mask-image:none; }
  .opening-workshop img { height:auto; }
}
@media(max-width:700px) {
  .masthead { grid-template-columns:minmax(112px,1fr) minmax(0,1fr); margin-inline:-24px; padding:12px 24px 0; gap:2px 18px; }
  .masthead-brand { width:120px; }
  .masthead-call { display:block; justify-self:end; grid-column:2; grid-row:1; font-size:14px; text-align:right; }
  .masthead-call span { margin-left:8px; }
  .masthead-nav { grid-column:1/-1; grid-row:2; justify-content:flex-start; gap:24px; padding-block:4px; }
  .workshop-opening { margin-inline:-24px; }
  .opening-copy { padding:32px 24px 28px; }
  .service-kicker { font-size:14px; gap:10px; letter-spacing:0; }
  .service-kicker::before { width:20px; }
  .workshop-opening h1 { font-size:clamp(42px,10.8vw,64px); line-height:1.04; margin:20px 0 24px; }
  .opening-intro { font-size:17px; line-height:1.65; max-width:36ch; }
  .opening-actions { align-items:flex-start; gap:10px 24px; margin-top:24px; }
  .opening-primary { min-height:56px; }
  .opening-owner { margin-top:24px; font-size:14px; }
  .opening-workshop .motion-toggle { right:16px; bottom:16px; }
}
@media(max-width:450px) {
  .masthead { margin-inline:-22px; padding-inline:22px; }
  .workshop-opening { margin-inline:-22px; }
  .opening-copy { padding-inline:22px; }
  .opening-actions { display:grid; grid-template-columns:1fr; gap:10px; }
  .opening-primary { width:100%; }
  .opening-secondary { justify-self:start; min-height:44px; }
}
@media(max-width:350px) {
  .masthead { margin-inline:-18px; padding-inline:18px; gap:2px 12px; }
  .masthead-brand { width:112px; }
  .workshop-opening { margin-inline:-18px; }
  .opening-copy { padding-inline:18px; }
  .workshop-opening h1 { font-size:36px; }
  .opening-owner { display:block; }
  .opening-owner span { display:block; border:0; padding:0; margin-top:4px; }
}
@media(prefers-reduced-motion:reduce) { .opening-workshop video { display:none; } }
@media print {
  .masthead,.opening-workshop,.opening-actions { display:none; }
  .workshop-opening { display:block; min-height:0; margin:0; padding:20px 0; background:white; color:black; }
  .opening-copy { width:100%; padding:0; }
  .workshop-opening h1,.workshop-opening h1 em,.opening-intro,.opening-owner,.service-kicker { color:black; }
}
