/* Homepage header only: authentic handwriting and a sculptural ink gesture. */
.site-header.site-header--signature { --hero-wash:#ada2e3; position:relative; isolation:isolate; display:block; min-height:0; padding:clamp(4rem,6vw,6rem) var(--page-edge) 3.5rem; overflow:hidden; overflow:clip; text-align:left; }
.site-header--signature::before { content:""; position:absolute; z-index:-1; top:5%; right:-5%; width:60%; height:90%; background:radial-gradient(ellipse at 60% 45%,color-mix(in srgb,var(--hero-wash) 19%,transparent),transparent 65%); pointer-events:none; }
.signature-stage { position:relative; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); grid-template-rows:auto 1fr; max-width:86rem; margin-inline:auto; align-items:start; }
.signature-identity { position:relative; z-index:2; grid-column:1; grid-row:1; }
.site-header--signature .site-kicker { position:static; max-width:none; margin:0 0 1.1rem .5rem; font-size:.64rem; font-weight:500; line-height:1.5; letter-spacing:.09em; color:var(--muted); }
.site-header.site-header--signature .site-brand { width:min(69vw,55rem); max-width:none; margin:0 0 1.75rem -.4rem; }
.site-header--signature a.site-brand { display:block; color:inherit; text-decoration:none; border-radius:.5rem; }
.site-header--signature a.site-brand:focus-visible { outline:2px solid var(--ink); outline-offset:8px; }
.site-header--signature .site-signature-drawing { overflow:visible; }
.signature-copy { position:relative; z-index:2; grid-column:1; grid-row:2; padding-left:.5rem; }
.site-header--signature .site-focus { max-width:none; margin:0 0 1rem; font-size:.63rem; font-weight:500; letter-spacing:.085em; }
.site-header--signature .site-intro { width:100%; max-width:none; margin:0; font-size:clamp(2.65rem,4.1vw,4rem); font-weight:530; line-height:1.1; letter-spacing:-.045em; text-shadow:none; text-wrap:initial; }
.site-header--signature .site-intro>span:first-child { font-weight:530; }
.site-header--signature .site-intro>span+span { margin-top:.55em; color:var(--reading); font-size:.53em; font-weight:400; line-height:1.3; letter-spacing:-.025em; }
.site-header--signature .site-offer { max-width:43ch; margin:1.4rem 0 0; font-size:.91rem; line-height:1.75; }
.site-header--signature .site-actions { justify-content:flex-start; margin:1.5rem 0 0; gap:.6rem 1.5rem; }
.site-header--signature .studio-contact__button { display:inline-flex; align-items:center; gap:1.25rem; width:auto; min-height:50px; padding:.85rem 1.15rem; border:1px solid var(--ink); border-radius:999px; background:var(--ink); color:var(--paper); box-shadow:none; font-size:.81rem; transition:box-shadow .25s ease,transform .25s ease; }
.site-header--signature .studio-contact__button>svg { width:17px; height:17px; transition:transform .25s ease; }
.site-header--signature .studio-contact__button:hover { box-shadow:0 0 0 5px color-mix(in srgb,var(--hero-wash) 20%,transparent); }
.site-header--signature .studio-contact__button:hover>svg { transform:translate(2px,-2px); }
.site-header--signature .site-method-link { display:inline-flex; gap:.6rem; align-items:center; min-height:44px; font-size:.79rem; }
.site-header--signature .site-region { max-width:none; margin:1.3rem 0 0; font-size:.67rem; line-height:1.6; text-wrap:initial; }
.signature-visual { position:relative; z-index:1; grid-column:2; grid-row:1 / 3; align-self:center; width:122%; margin:-2rem 0 -1.5rem -17%; pointer-events:none; }
.signature-visual img { display:block; width:100%; height:auto; filter:drop-shadow(0 2.5rem 2rem #00000016); }
.site-header.site-header--signature .signature-stroke,.site-header.site-header--signature .signature-nib-coverage { animation:signature-ink calc(var(--stroke-duration) * .44) var(--stroke-ease,ease) calc(var(--stroke-delay) * .44) both; }
.site-header.site-header--signature.is-signature-resetting .signature-stroke,.site-header.site-header--signature.is-signature-resetting .signature-nib-coverage { animation:none; stroke-dashoffset:1; }
.signature-visual { animation:signature-art-arrive 1.2s cubic-bezier(.16,1,.3,1) .45s both; }
@keyframes signature-art-arrive { from { opacity:0; transform:translate3d(0,18px,0) scale(.975); } to { opacity:1; transform:none; } }
.ink-motion__tilt { position:relative; transform-origin:58% 58%; transform:perspective(1000px) translate3d(var(--ink-x,0px),var(--ink-y,0px),0) rotateX(var(--ink-rx,0deg)) rotateY(var(--ink-ry,0deg)); }
.ink-motion__tilt.is-ink-moving { will-change:transform; }
.signature-visual .ink-motion__drawing { position:absolute; inset:0; display:block; width:100%; height:100%; opacity:0; overflow:visible; filter:drop-shadow(0 2.5rem 2rem #00000016); }
.ink-motion__path { stroke-dasharray:1; stroke-dashoffset:0; }
.is-ink-ready .ink-motion__fallback { opacity:0; }
.is-ink-ready .ink-motion__drawing { opacity:1; }
.is-ink-ready .ink-motion__path { stroke-dashoffset:1; }
.is-ink-drawing .ink-motion__path { animation:ink-flow-draw 1.85s cubic-bezier(.36,.02,.2,1) .45s both; }
.is-ink-revealed .ink-motion__fallback { opacity:1; }
.is-ink-revealed .ink-motion__drawing { opacity:0; }
.ink-motion__sheen { position:absolute; inset:0; opacity:0; pointer-events:none; background:linear-gradient(115deg,transparent 36%,#e8e0ff88 44%,#fff9 48%,transparent 55%); background-size:260% 100%; background-position:150% 0; -webkit-mask-image:url('/assets/images/david-schwalm-ink-sculpture.png'); mask-image:url('/assets/images/david-schwalm-ink-sculpture.png'); -webkit-mask-size:100% 100%; mask-size:100% 100%; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; mask-mode:alpha; mix-blend-mode:screen; }
.is-ink-revealed .ink-motion__sheen { animation:ink-light-pass 1.15s cubic-bezier(.2,.65,.3,1) .12s both; }
@keyframes ink-flow-draw { from { stroke-dashoffset:1; } to { stroke-dashoffset:0; } }
@keyframes ink-light-pass { 0% { opacity:0; background-position:150% 0; } 25% { opacity:.45; } 75% { opacity:.3; } 100% { opacity:0; background-position:-50% 0; } }
@media(min-width:1700px) { .site-header.site-header--signature { padding-top:6.5rem; } }
@media(max-width:1000px) and (min-width:761px) {
 .site-header.site-header--signature { padding-top:5rem; }
 .signature-stage { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); }
 .site-header.site-header--signature .site-brand { width:75vw; margin-bottom:1.3rem; }
 .site-header--signature .site-intro { font-size:clamp(2.5rem,4.9vw,3rem); }
 .signature-visual { width:142%; margin-left:-26%; margin-top:3rem; }
 .site-header--signature .site-offer { max-width:37ch; }
}
@media(max-width:760px) {
 .site-header.site-header--signature { padding:1.5rem var(--page-edge) 2rem; }
 .site-header--signature::before { top:20%; right:-25%; width:130%; height:65%; }
 .signature-stage { grid-template-columns:minmax(0,1fr); }
 .signature-identity { grid-column:1; grid-row:1; }
 .site-header--signature .site-kicker { margin:0 0 1.5rem; font-size:.56rem; letter-spacing:.055em; }
 .site-header.site-header--signature .site-brand { width:100%; margin:0 0 1.8rem; }
 .signature-copy { grid-column:1; grid-row:2; padding-left:0; }
 .site-header--signature .site-focus { margin-bottom:.9rem; font-size:.55rem; letter-spacing:.055em; }
 .site-header--signature .site-intro { font-size:clamp(2rem,8.3vw,3.6rem); line-height:1.1; }
 .site-header--signature .site-intro>span+span { margin-top:.55em; font-size:.57em; }
 .site-header--signature .site-offer { max-width:40ch; margin-top:1.2rem; font-size:.88rem; line-height:1.7; }
 .site-header--signature .site-actions { gap:.4rem 1rem; margin-top:1.3rem; }
 .site-header--signature .studio-contact__button { min-height:48px; font-size:.78rem; padding:.8rem 1rem; gap:.8rem; }
 .site-header--signature .site-method-link { font-size:.74rem; }
 .site-header--signature .site-region { margin-top:1.1rem; font-size:.64rem; }
 .signature-visual { position:absolute; grid-area:auto; z-index:0; top:3.3rem; right:-38%; width:128%; margin:0; opacity:.15; animation:none; -webkit-mask-image:linear-gradient(90deg,transparent 8%,#000 68%); mask-image:linear-gradient(90deg,transparent 8%,#000 68%); }
}
@media(prefers-reduced-motion:reduce) {
 .site-header.site-header--signature .signature-stroke,.site-header.site-header--signature .signature-nib-coverage { animation:none; stroke-dashoffset:0; }
 .signature-visual { animation:none; }
  .signature-visual .ink-motion__drawing,.signature-visual .ink-motion__sheen { display:none; animation:none; }
  .signature-visual .ink-motion__fallback { opacity:1; }
  .ink-motion__tilt { transform:none; will-change:auto; }
 .site-header--signature .studio-contact__button,.site-header--signature .studio-contact__button>svg { transition:none; }
}
