@font-face{font-family:DM Sans;src:url('/assets/dm-sans.woff2') format('woff2');font-style:normal;font-weight:100 1000;font-display:swap}
:root{--paper:#f1f2eb;--ink:#112019;--white:#f5f6ef;--sage:#b7c4af;--muted:#637166;--line:#c8cec3;--gutter:clamp(24px,5.8vw,88px);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:DM Sans,Arial,sans-serif;-webkit-font-smoothing:antialiased}
::selection{background:var(--ink);color:var(--paper)}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:7px}
img{display:block;max-width:100%;object-fit:contain}
svg{display:block;flex-shrink:0}
.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;z-index:100;top:12px;left:24px;background:var(--ink);color:var(--paper);padding:14px 20px;transform:translateY(-180%)}
.skip-link:focus{transform:none}
.header{height:110px;padding:0 var(--gutter);display:flex;justify-content:space-between;align-items:center;max-width:1600px;margin:auto;gap:20px}
.brand{display:flex;gap:15px;align-items:center;flex-shrink:0}
.brand img{width:36px;height:38px;filter:brightness(0);object-fit:contain}
.brand span{font-size:16px;font-weight:550;letter-spacing:.19em}
.line-link{position:relative;display:inline-block;font-size:15px;font-weight:500;line-height:1.6;white-space:nowrap}
.line-link::after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(.18);transform-origin:left;transition:transform .4s var(--ease)}
.line-link:hover::after{transform:scaleX(1)}
.hero{max-width:1600px;margin:auto;padding:62px var(--gutter) 0;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,.85fr);column-gap:clamp(48px,7vw,110px);align-items:center}
.eyebrow{font-size:13px;font-weight:550;letter-spacing:.12em;line-height:1.5;margin:0 0 30px}
h1{font-size:clamp(64px,6.55vw,104px);font-weight:500;line-height:1.055;letter-spacing:-.065em;margin:0 0 34px}
h1 strong{font-weight:650}
.type-mask{display:block;overflow:hidden;padding-right:.07em;padding-bottom:.10em;margin-bottom:-.10em}
.type-line{display:block;transform-origin:0 50%;animation:type-in 1.1s var(--ease) both}
.line-one{animation-delay:.05s}.line-two{animation-delay:.15s}.line-three{animation-delay:.26s}
@keyframes type-in{from{transform:translateY(108%) rotate(1.8deg)}to{transform:translateY(0) rotate(0)}}
.intro{animation:intro-in .9s var(--ease) .3s both}
@keyframes intro-in{from{opacity:0}to{opacity:1}}
.hero-description{font-size:clamp(17px,1.35vw,20px);font-weight:400;line-height:1.6;letter-spacing:-.025em;margin:0 0 34px}
.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:17px 24px;min-height:56px;font-size:15px;font-weight:500;border:1px solid transparent;border-radius:2px;position:relative;transition:background .3s,color .3s,transform .4s var(--ease)}
.button-dark{background:var(--ink);color:var(--white)}
.button-dark:hover{background:#243a2c;transform:translateY(-2px)}
.button:active{transform:translateY(0) scale(.985)}
.film{width:100%;max-width:338px;justify-self:end;margin:0;scroll-margin-top:32px;animation:film-in 1.25s var(--ease) .15s both}
@keyframes film-in{from{clip-path:inset(8% 0 8% 0);transform:scale(.97)}to{clip-path:inset(0);transform:scale(1)}}
.film-screen{position:relative;background:var(--ink);aspect-ratio:9/16;overflow:hidden}
video{display:block;width:100%;height:100%;object-fit:contain;background:var(--ink)}
.film-play{position:absolute;inset:0;display:flex;flex-direction:column;gap:13px;justify-content:flex-end;align-items:center;padding:0 20px 40px;border:0;color:var(--white);background:transparent;transition:opacity .3s}
.film-play>span:last-child{font-size:14px;font-weight:500}
.play-disc{width:56px;height:56px;display:grid;place-items:center;border:1px solid #b7c4af88;background:#112019dd;border-radius:50%;transition:background .35s,transform .5s var(--ease)}
.play-disc svg{margin-left:3px}
.film-play:hover .play-disc{background:#34483b;transform:scale(1.08)}
.film-play:focus-visible{outline-offset:-5px}
.film-badge{position:absolute;top:16px;right:16px;color:var(--sage);font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:.05em}
.film-screen[data-film-state=playing] .film-play,.film-screen[data-film-state=loaded] .film-play{display:none}
.film-screen[data-film-state=playing] .film-badge,.film-screen[data-film-state=loaded] .film-badge{display:none}
figcaption{display:flex;justify-content:space-between;gap:16px;font-size:12px;font-weight:500;letter-spacing:.06em;padding-top:17px;color:var(--muted)}
.film-feedback{font-size:14px;line-height:1.5;margin:0;color:var(--muted)}
.film-feedback:not(:empty){margin-top:14px}
.hero-baseline{grid-column:1/-1;margin-top:64px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:23px 0 36px;font-size:14px;color:var(--muted)}
.construction{color:var(--ink)}
.manifesto{background:var(--ink);color:var(--white);position:relative;overflow:hidden}
.thread{height:170px;max-width:1600px;margin:auto;position:relative}
.thread svg{width:100%;height:100%;fill:none;stroke:var(--sage);stroke-width:.75;vector-effect:non-scaling-stroke}
.thread-main{stroke-dasharray:1500;stroke-dashoffset:var(--thread-offset,360);opacity:.65}
.thread-echo{opacity:.16}
.manifesto-inner{max-width:1600px;margin:auto;padding:10px var(--gutter) 90px}
.manifesto .eyebrow{color:var(--sage);margin-bottom:38px}
.manifesto h2{font-size:clamp(48px,5.8vw,88px);font-weight:450;line-height:1.08;letter-spacing:-.06em;margin:0;max-width:1050px}
.manifesto h2 span{color:var(--sage)}
.manifesto-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-top:50px}
.manifesto-bottom p{color:var(--sage);font-size:clamp(17px,1.5vw,21px);line-height:1.6;letter-spacing:-.02em;margin:0}
.manifesto-signature{flex-shrink:0}
.manifesto-signature img{width:120px;height:135px;opacity:.87;transform:translateX(var(--symbol-shift,0px));transition:transform .8s var(--ease)}
.follow{max-width:1600px;margin:auto;padding:88px var(--gutter) 105px}
.follow-intro{display:flex;align-items:center;gap:38px;margin-bottom:40px}
.follow-intro .eyebrow{margin:0;flex-shrink:0}
.follow-line{height:1px;background:var(--line);flex:1}
.follow-content{display:flex;justify-content:space-between;align-items:flex-end;gap:36px}
.follow h2{font-size:clamp(46px,5vw,74px);font-weight:500;letter-spacing:-.055em;line-height:1.08;margin:0}
.instagram{min-width:248px;margin-bottom:7px;font-size:16px}
.footer{max-width:1600px;margin:auto;padding:30px var(--gutter) 40px;display:flex;align-items:center;justify-content:space-between;gap:28px;position:relative}
.footer::before{content:'';position:absolute;top:0;left:var(--gutter);right:var(--gutter);height:1px;background:var(--line)}
.footer>span{font-size:14px;color:var(--muted)}
.footer .brand img{width:30px;height:32px}
.footer .brand span{font-size:14px}
@media(min-width:1500px){.hero{padding-top:85px}.film{max-width:355px}.hero-baseline{margin-top:74px}}
@media(max-width:1100px){.hero{column-gap:36px;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr)}h1{font-size:clamp(58px,7vw,78px)}.hero-actions{gap:22px}.hero-actions .line-link{font-size:14px}.hero-description{font-size:17px}.footer{flex-wrap:wrap}.footer>span{display:none}}
@media(max-width:760px){html{scroll-padding-top:30px}.header{height:88px}.header .brand{gap:10px}.brand img{width:29px;height:32px}.brand span{font-size:14px;letter-spacing:.14em}.header-follow{font-size:14px}.header-follow{max-width:114px;white-space:normal;text-align:right;line-height:1.35}.header-follow::after{left:auto;width:32px}.hero{padding-top:38px;display:flex;flex-direction:column;align-items:stretch;gap:0}.eyebrow{font-size:12px;margin-bottom:26px}h1{font-size:clamp(48px,9.8vw,72px);letter-spacing:-.06em;margin-bottom:26px}.hero-description{font-size:17px;margin-bottom:28px;line-height:1.55;max-width:380px}.hero-actions{gap:24px;align-items:flex-start;flex-direction:column}.hero-actions .line-link{font-size:15px}.button{padding:16px 22px}.film{align-self:center;max-width:430px;margin-top:52px;width:100%;justify-self:auto}.film-play{padding-bottom:34px}.film-badge{top:18px;right:18px}.hero-baseline{margin-top:34px;padding:20px 0 32px;font-size:13px;gap:20px}.thread{height:100px}.manifesto-inner{padding-top:12px;padding-bottom:64px}.manifesto .eyebrow{margin-bottom:28px}.manifesto h2{font-size:clamp(40px,8.5vw,62px);letter-spacing:-.055em}.manifesto-bottom{margin-top:38px;gap:24px}.manifesto-bottom p{font-size:17px;max-width:320px}.desktop-break{display:none}.manifesto-signature img{width:70px;height:86px}.follow{padding-top:62px;padding-bottom:68px}.follow-intro{gap:24px;margin-bottom:30px}.follow-content{flex-direction:column;align-items:flex-start;gap:30px}.follow h2{font-size:clamp(41px,8.6vw,62px)}.instagram{min-width:0;margin:0}.footer{padding-top:25px;padding-bottom:30px;gap:28px}.footer .line-link{font-size:14px}.footer .brand span{font-size:13px}.footer .brand{gap:10px}}
@media(max-width:370px){.hero-baseline{align-items:flex-start;flex-direction:column;gap:10px}.manifesto-bottom{align-items:flex-start;flex-direction:column}.manifesto-signature{align-self:flex-end}.footer{align-items:flex-start;flex-direction:column}.header-follow{font-size:13px}.hero-description br{display:none}h1{font-size:46px}.hero{padding-top:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.thread-main{stroke-dashoffset:0}.manifesto-signature img{transform:none}}
