@font-face{font-family:Montserrat;src:url('assets/fonts/Montserrat-Variable.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{color-scheme:dark;--black:#050505;--white:#f7f7f7;--muted:#b2b2b2;--logo-width:min(53vw,740px);--contact-gap:38px;--draw:1;--fill:1;--line-opacity:0;--lift:0px;--contact:1;--contact-shift:0px;--hint:1}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:Montserrat,Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none;transition:color .35s,opacity .35s}
a:hover{color:#fff}
a:focus-visible{outline:1px solid #bdbdbd;outline-offset:6px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:fixed;top:20px;left:20px;padding:13px;background:var(--black);font-size:13px;z-index:20;transform:translateY(-180%)}
.skip-link:focus{transform:none}
.navigation{position:absolute;top:clamp(22px,3.5vw,44px);right:clamp(24px,4.5vw,64px);z-index:10}
.navigation a{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#a6a6a6;display:block;padding:10px 0}
.navigation a:hover{color:#fff}
.intro{height:145svh}
.stage{height:100svh;position:sticky;top:0;overflow:hidden;isolation:isolate}
.composition{position:absolute;top:50%;left:0;width:100%;transform:translateY(calc(-50% - var(--lift)));will-change:transform}
.brand{position:relative;width:var(--logo-width);aspect-ratio:1880/730;margin:0 auto;overflow:visible}
.brand svg{display:block;width:100%;height:100%}
 .logo-art{overflow:visible}
.logo-fill{opacity:var(--fill)}


.logo-contours,.logo-glints,.logo-trails{fill:none;stroke-linecap:round;stroke-linejoin:round;}
.contour,.glint,.trail{--p:clamp(0,calc((var(--draw) - var(--delay))/var(--duration)),1);stroke-dashoffset:calc(1 - var(--p))}
.contour{stroke:#eeeeee;stroke-width:1.05;stroke-dasharray:1;opacity:var(--line-opacity)}
.glint,.trail{--visible:calc(clamp(0,calc(var(--p)*250),1)*(1 - clamp(0,calc((var(--draw) - var(--delay) - var(--duration))/.12),1))*var(--line-opacity));opacity:var(--visible)}
.trail{stroke:#bd473d;stroke-width:1.35;stroke-dasharray:.16 .84;stroke-dashoffset:calc(1 - var(--p) + .16);opacity:calc(var(--visible)*.58)}
.glint{stroke:#ef6555;stroke-width:1.5;stroke-dasharray:.065 .935;stroke-dashoffset:calc(1 - var(--p) + .065)}
.cutting-head{opacity:0;pointer-events:none}.tip-red{fill:#ed5142}.tip-core{fill:#fff1e6}
.contact{position:absolute;left:0;top:calc(100% + var(--contact-gap));width:100%;padding:0 24px;outline:none}
.contact-inner{max-width:400px;margin:0 auto;text-align:center}
.contact-inner>*{margin:0}
h2{font-size:10px;font-weight:400;letter-spacing:.22em;text-transform:uppercase;line-height:1.5;color:#969696;margin-bottom:13px!important}
h3{font-size:22px;font-weight:400;letter-spacing:.015em;line-height:1.35;margin-bottom:11px!important}
address{font-style:normal;font-size:14px;font-weight:400;letter-spacing:.025em;line-height:1.8;color:var(--muted)}
.contact-links{display:flex;flex-direction:column;align-items:center;gap:0;margin-top:12px!important;font-size:14px;font-weight:400;letter-spacing:.015em;line-height:1.65}
.contact-links a{display:block;max-width:100%;overflow-wrap:anywhere;padding:4px 0;color:var(--muted);min-height:27px}
.contact-links a:hover,.contact-links a:focus-visible{color:#ef8b83}
.scroll-link{position:absolute;left:50%;bottom:clamp(22px,4svh,42px);transform:translateX(-50%);width:44px;height:44px;display:grid;place-items:center;z-index:8;opacity:var(--hint);color:#969696}
.scroll-link svg{fill:none;stroke:currentColor;stroke-width:1;transition:transform .4s}
.scroll-link:hover svg{transform:translateY(4px)}
.scroll-link:focus-visible{opacity:1}
.motion .contact{opacity:var(--contact);transform:translateY(var(--contact-shift))}
.motion .contact:focus-within{opacity:1;transform:none}
@media(max-width:760px){:root{--logo-width:84vw;--contact-gap:30px}.navigation a{font-size:9px}.navigation{top:20px;right:24px}h3{font-size:19px}address,.contact-links{font-size:13px}.contact{padding:0 18px}}
@media(max-height:600px) and (min-width:761px){:root{--logo-width:min(42vw,480px);--contact-gap:20px}h2{margin-bottom:8px!important}h3{font-size:18px;margin-bottom:6px!important}address{line-height:1.5}.contact-links{margin-top:8px!important}.contact-links a{padding:2px 0;min-height:24px}}
html:not(.motion) .composition{transform:translateY(-50%);position:relative;top:auto;padding-top:23svh}
html:not(.motion) .contact{position:relative;top:auto;margin-top:var(--contact-gap)}
html:not(.motion) .intro{height:auto;min-height:100svh}
html:not(.motion) .stage{height:auto;min-height:100svh;position:relative;overflow:visible;padding-bottom:60px}
html:not(.motion) .composition{transform:none}
html:not(.motion) .entry-stroke,html:not(.motion) .scroll-link{display:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.entry-stroke{display:none}.brand{opacity:1;clip-path:none;transform:none}.contact{opacity:1;transform:none}a,.scroll-link svg{transition:none}}
@media print{.navigation,.scroll-link,.entry-stroke{display:none}.intro{height:auto!important}.stage{height:auto!important;overflow:visible;position:relative}.composition{position:relative;top:auto;transform:none;padding-top:30px!important}.brand{width:300px;opacity:1;clip-path:none;transform:none}.contact{position:relative;top:auto;margin-top:30px;opacity:1;transform:none}}


@media(prefers-reduced-motion:reduce){.logo-contours,.logo-glints,.logo-trails,.cutting-head{display:none}.logo-fill{opacity:1}}
