:root{--ease:cubic-bezier(.2,.7,.2,1)}html{scroll-behavior:smooth}body{overflow-x:hidden}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.hero h1,.idea h2,.how h2,.fabrics h2,.places h2,.gallery h2,.band h2,.step h3{font-family:var(--display);color:var(--ink);letter-spacing:-.01em;margin:0}.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accentDeep);margin:0 0 14px}.btn{display:inline-block;font-family:var(--display);font-weight:600;font-size:15px;padding:13px 22px;border-radius:12px;text-decoration:none;transition:transform .18s var(--ease),background .15s ease;will-change:transform}.btn.primary{background:var(--accentDeep);color:var(--white)}.btn.primary:hover{background:var(--accent)}.btn.ghost{border:1px solid var(--border);color:var(--ink)}.btn.ghost:hover{border-color:var(--faint)}.progress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;z-index:40;background:repeating-linear-gradient(90deg,var(--accent) 0 7px,transparent 7px 12px)}.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s var(--ease)}.js .reveal.in{opacity:1;transform:none}.js .stagger>*{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s var(--ease)}.js .stagger.in>*{opacity:1;transform:none}.js .stagger.in>*:nth-child(2){transition-delay:.08s}.js .stagger.in>*:nth-child(3){transition-delay:.16s}.js .stagger.in>*:nth-child(4){transition-delay:.24s}.js .stagger.in>*:nth-child(5){transition-delay:.32s}.hero{position:relative;padding:80px 0 40px;overflow:hidden}.hero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;position:relative;z-index:2}@media (max-width:820px){.hero .grid{grid-template-columns:1fr;gap:34px}}.hero h1{font-size:clamp(40px,6.6vw,70px);line-height:1;letter-spacing:-.026em}.hero h1 .line{display:block;overflow:hidden;padding-bottom:.04em}.hero h1 .inner{display:block}.js .hero h1 .inner{transform:translateY(110%);filter:blur(10px);animation:lineUp .9s var(--ease) both}.js .hero h1 .line:nth-child(1) .inner{animation-delay:.12s}.js .hero h1 .line:nth-child(2) .inner{animation-delay:.26s}@keyframes lineUp{0%{transform:translateY(110%);filter:blur(10px)}to{transform:translateY(0);filter:blur(0)}}.stitch{display:block;height:8px;width:150px;margin:20px 0 0;transform-origin:left}.js .stitch{animation:grow .7s both var(--ease) .55s}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.hero .lede{font-size:17px;color:var(--muted);margin:22px 0 28px;max-width:46ch}.js .hero .lede,.js .hero .cta-row{opacity:0;animation:rise .7s both var(--ease)}.js .hero .lede{animation-delay:.5s}.js .hero .cta-row{animation-delay:.62s}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.cta-row{display:flex;gap:12px;flex-wrap:wrap}.trail{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.sqt{position:absolute;border-radius:3px;transform:translate(-50%,-50%) rotate(var(--r,0deg));animation:trailpop .72s ease forwards}@keyframes trailpop{0%{opacity:.5;transform:translate(-50%,-50%) scale(1) rotate(var(--r,0deg))}to{opacity:0;transform:translate(-50%,-50%) scale(.25) rotate(var(--r,0deg))}}.hero .ambient{position:absolute;inset:-80px;z-index:0;pointer-events:none;will-change:transform}.hero .ambient svg{width:100%;height:100%}.hero .ambient .sqx{fill:var(--border);opacity:.5}.hero .ambient .wm-frame rect{fill:none;stroke:var(--hairline);stroke-width:2}.framecard{position:relative;z-index:2;background:radial-gradient(120% 120% at 50% 0%,#FAF8F2 0%,var(--surface) 72%);border:1px solid var(--border);border-radius:24px;padding:34px 34px 24px;display:flex;flex-direction:column;align-items:center;gap:16px;cursor:pointer;perspective:900px}.framecard:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.floatwrap{width:100%;max-width:344px;transform-style:preserve-3d}.js .floatwrap{animation:floaty 7s ease-in-out 1.4s infinite}@keyframes floaty{0%,to{transform:rotateX(0) rotateY(0) translateY(0)}25%{transform:rotateX(2.4deg) rotateY(-3.2deg) translateY(-5px)}50%{transform:rotateX(0) rotateY(0) translateY(0)}75%{transform:rotateX(-2.2deg) rotateY(3.2deg) translateY(4px)}}.tilt{transform-style:preserve-3d;transition:transform .18s ease;will-change:transform}.heroframe{width:100%;height:auto;overflow:visible;display:block}.js .heroframe .sq{transform-box:fill-box;transform-origin:center}.js .heroframe .sq-tl{animation:swirlTL .85s both cubic-bezier(.3,1.35,.5,1) .15s}.js .heroframe .sq-tr{animation:swirlTR .85s both cubic-bezier(.3,1.35,.5,1) .28s}.js .heroframe .sq-bl{animation:swirlBL .85s both cubic-bezier(.3,1.35,.5,1) .41s}.js .heroframe .sq-br{animation:swirlBR .85s both cubic-bezier(.3,1.35,.5,1) .54s}@keyframes swirlTL{0%{opacity:0;transform:rotate(-150deg) translate(18px,14px) scale(.15)}to{opacity:1;transform:scale(var(--cs-mark-scale,1))}}@keyframes swirlTR{0%{opacity:0;transform:rotate(150deg) translate(-18px,14px) scale(.15)}to{opacity:1;transform:scale(var(--cs-mark-scale,1))}}@keyframes swirlBL{0%{opacity:0;transform:rotate(150deg) translate(18px,-14px) scale(.15)}to{opacity:1;transform:scale(var(--cs-mark-scale,1))}}@keyframes swirlBR{0%{opacity:0;transform:rotate(-150deg) translate(-18px,-14px) scale(.15)}to{opacity:1;transform:scale(var(--cs-mark-scale,1))}}#heroLogo{transform-box:fill-box;transform-origin:center;transition:transform .22s var(--ease),opacity .2s ease}.js #heroLogo{opacity:0;animation:logoIn .5s both ease 1.05s}@keyframes logoIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}.frhint{display:flex;align-items:center;gap:10px}.frdots{display:flex;gap:7px}.frdots button{width:7px;height:7px;border-radius:50%;border:0;background:var(--border);cursor:pointer;padding:0;transition:background .2s ease,transform .2s ease}.frdots button[aria-pressed=true]{background:var(--accent);transform:scale(1.25)}.frdots button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.frcap{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--muted)}.idea{padding:60px 0}.idea .grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}@media (max-width:820px){.idea .grid{grid-template-columns:1fr;gap:28px}}.idea h2{font-size:clamp(26px,4vw,38px);line-height:1.08}.idea p{font-size:16px;color:var(--body);margin:16px 0 0;max-width:46ch}.compare{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ccard{border:1px solid var(--border);border-radius:14px;padding:18px;background:var(--white);transition:transform .2s var(--ease)}.ccard:hover{transform:translateY(-3px)}.ccard.bad{background:var(--surface)}.ccard .lab{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:12px}.ccard.bad .lab{color:var(--muted)}.ccard.good .lab{color:var(--accentDeep)}.ccard .lab .mk{width:16px;height:16px}.ccard.good{box-shadow:0 16px 34px #1a1c221a}.ccard .shirt{width:100%;max-width:208px;height:auto;display:block;margin:2px auto 0}.how{padding:60px 0;border-top:1px solid var(--border)}.how h2{font-size:clamp(26px,4vw,36px);margin-bottom:30px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}@media (max-width:760px){.steps{grid-template-columns:1fr;gap:18px}}.step .ic{width:34px;height:34px;color:var(--ink);margin-bottom:14px;transition:transform .25s var(--ease)}.step:hover .ic{transform:translateY(-3px) rotate(-3deg)}.step .n{font-family:var(--mono);font-size:11px;color:var(--accentDeep);letter-spacing:.06em;margin-bottom:6px}.step h3{font-size:18px;margin-bottom:7px}.step p{font-size:14.5px;color:var(--muted);margin:0}.fabrics{padding:60px 0;border-top:1px solid var(--border)}.fabrics .top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:26px}.fabrics h2{font-size:clamp(24px,3.6vw,34px)}.fabrics .sub{font-size:15px;color:var(--muted);max-width:42ch}.swrow{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}@media (max-width:640px){.swrow{grid-template-columns:repeat(3,1fr)}}.fab{display:flex;flex-direction:column;align-items:center;gap:9px}.fab .dot{width:100%;aspect-ratio:1;border-radius:16px;border:1px solid rgba(26,28,34,.1);transition:transform .22s var(--ease),box-shadow .22s ease}.fab:hover .dot{transform:translateY(-4px);box-shadow:0 12px 24px #1a1c2224}.fab .nm{font-family:var(--mono);font-size:12px;color:var(--ink)}.places{padding:60px 0;border-top:1px solid var(--border)}.places h2{font-size:clamp(24px,3.6vw,34px);margin-bottom:8px}.places .psub{font-size:15px;color:var(--muted);margin:0 0 26px;max-width:46ch}.placegrid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}@media (max-width:760px){.placegrid{grid-template-columns:repeat(2,1fr)}}.pl{border:1px solid var(--border);border-radius:13px;padding:15px;background:var(--white);transition:transform .2s var(--ease),border-color .2s ease}.pl:hover{transform:translateY(-3px);border-color:var(--faint)}.pl .t{font-family:var(--display);font-weight:600;font-size:15px;color:var(--ink)}.pl .r{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:5px}.gallery{padding:60px 0 64px;border-top:1px solid var(--border);overflow:hidden}.gallery .wrap{margin-bottom:26px}.gallery h2{font-size:clamp(24px,3.6vw,34px);margin-bottom:6px}.gallery .gsub{font-size:15px;color:var(--muted);margin:0}.marquee{position:relative;overflow:hidden;margin-bottom:16px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.marquee .track{display:flex;gap:16px;width:max-content;will-change:transform}.js .marquee .track{animation:scrollx 34s linear infinite}.js .marquee.r2 .track{animation-duration:44s;animation-direction:reverse}.marquee:hover .track{animation-play-state:paused}@keyframes scrollx{to{transform:translate(-50%)}}.gcell{flex:0 0 auto;width:128px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px;display:flex;align-items:center;justify-content:center;transition:transform .2s var(--ease)}.gcell:hover{transform:translateY(-4px) rotate(-1.5deg)}.gcell svg{width:100%;height:auto}.galstatic{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:var(--maxw);margin:0 auto;padding:0 24px}@media (max-width:760px){.galstatic{grid-template-columns:repeat(2,1fr)}}.band{margin-top:8px;background:var(--ink)}.band .inner{max-width:var(--maxw);margin:0 auto;padding:58px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.band h2{color:var(--white);font-size:clamp(26px,4vw,38px);line-height:1.05}.band p{color:#ffffffb8;margin:10px 0 0;font-size:15px}.band .btn.primary{background:var(--accent)}.band .btn.primary:hover{background:#f02e3a}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}.js .reveal,.js .stagger>*{opacity:1!important;transform:none!important}.js .hero h1 .inner,.js .hero .lede,.js .hero .cta-row,.js .heroframe .sq,.js #heroLogo,.stitch{opacity:1!important;transform:none!important;filter:none!important}.progress,.trail{display:none}.marquee{overflow-x:auto}.marquee .track{animation:none}.tilt,.floatwrap{transform:none!important}}
