/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V5 */
:root{--home-max:920px;--home-gutter:28px;--home-line:rgba(244,245,247,.28);--home-glass:rgba(10,13,18,.34)}
html,body{overflow-x:clip}body{margin:0;background:var(--ink-1000);color:var(--white)}
.home{position:relative;min-height:100svh;display:grid;grid-template-rows:1fr auto;overflow:hidden;background:var(--ink-1000)}
.home-media,.home-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.home-media{filter:saturate(.2) brightness(.2) contrast(1.2)}.home-video{opacity:0;filter:saturate(.15) brightness(.18) contrast(1.2);transition:opacity var(--dur-slow) var(--ease-out)}.home-video.playing{opacity:1}
.home:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.7),rgba(0,0,0,.9)),radial-gradient(circle at 50% 42%,rgba(29,73,184,.12),transparent 48%)}
.home-stage{position:relative;z-index:1;width:min(var(--home-max),calc(100% - var(--home-gutter)*2));margin:auto;padding:clamp(64px,10vh,110px) 0 44px;display:grid;justify-items:center;text-align:center}
.home-mark{--mark-size:clamp(150px,24vw,310px);position:relative;display:flex;width:var(--mark-size);height:calc(var(--mark-size)*.56);gap:calc(var(--mark-size)*.03);color:var(--white);clip-path:inset(0 100% 0 0);animation:load-mark 1.5s var(--ease-out) .2s forwards}
.home-mark span{height:100%;background:currentColor;border-radius:calc(var(--mark-size)*.085)}.home-mark span:first-child{flex:1 1 auto}.home-mark span:last-child{flex:0 0 20%}
.home-header{position:absolute;inset:0 0 auto;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;height:72px;padding:0 var(--home-gutter)}
.home-wordmark{display:inline-flex;align-items:center;gap:9px;border:0;color:var(--white)}
.home-wordmark-mark{display:flex;gap:1px;width:15px;height:15px}.home-wordmark-mark span{flex:1;background:currentColor;border-radius:3px}.home-wordmark-mark span:last-child{flex:0 0 16%}
.home-wordmark-label{font:var(--weight-semibold) 22px/1 var(--font-display);letter-spacing:var(--tracking-display)}
.home-contact{display:inline-flex;min-height:40px;align-items:center;padding:0 16px;border:1px solid var(--white);border-radius:var(--radius-sm);background:var(--white);color:var(--ink-900);font:var(--weight-semibold) var(--size-body-s)/1 var(--font-sans);white-space:nowrap;transition:var(--transition-control)}.home-contact:hover{background:var(--ink-100);border-color:var(--ink-100)}.home-contact:active{transform:translateY(1px)}.home-contact:focus-visible{outline:2px solid var(--sapphire-300);outline-offset:3px}
.home h1{max-width:24ch;margin:clamp(42px,7vh,72px) 0 0;color:var(--white);font:var(--weight-medium) clamp(25px,3.2vw,44px)/1.08 var(--font-display);letter-spacing:0;text-wrap:balance}
.home-links{display:flex;gap:14px;margin-top:42px}
.home-links a{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 28px;border:1px solid var(--home-line);border-radius:var(--radius-sm);background:var(--home-glass);backdrop-filter:blur(10px);color:var(--white);font:var(--weight-medium) var(--size-body-s)/1 var(--font-sans);white-space:nowrap;transition:var(--transition-control)}.home-links a:hover{background:rgba(244,245,247,.14);border-color:rgba(244,245,247,.55)}.home-links a:active{transform:translateY(1px)}.home-links a:focus-visible{outline:2px solid var(--sapphire-300);outline-offset:3px}
.home-footer{position:relative;z-index:1;display:grid;gap:18px;justify-items:center;padding:32px var(--home-gutter) 24px;font:var(--text-mono-s);color:var(--ink-400);text-align:center}
.footer-brand{display:grid;gap:10px;justify-items:center}.footer-brand-wordmark{display:inline-flex;align-items:center;gap:10px;color:var(--white)}.footer-brand-mark{display:flex;gap:2px;width:28px;height:28px}.footer-brand-mark span{flex:1 1 auto;background:currentColor;border-radius:5px}.footer-brand-mark span:last-child{flex:0 0 16%}.footer-brand-wordmark strong{font:var(--weight-semibold) 22px/1 var(--font-display);letter-spacing:-.04em}.footer-brand p{margin:0;color:var(--ink-300);font:var(--weight-regular) 16px/1.4 var(--font-sans);letter-spacing:0}
@keyframes load-mark{to{clip-path:inset(0 0 0 0)}}
@media(max-width:600px){:root{--home-gutter:18px}.home-header{height:64px}.home-stage{padding-top:84px}.home-mark{--mark-size:clamp(140px,48vw,210px)}.home h1{font-size:28px}.home-links{flex-direction:column;width:min(340px,100%);margin-top:34px}.home-links a{width:100%}}
@media(prefers-reduced-motion:reduce){.home-mark{animation:none;clip-path:none}.home-video{transition:none}}
