.woven{--ease-primary:cubic-bezier(.22, 1, .36, 1);--ease-reveal:cubic-bezier(.65, 0, .35, 1);--ease-transition:cubic-bezier(.83, 0, .17, 1);--dur-fast:.2s;--dur-base:.45s;--dur-slow:.95s;--cotton:#f4ecdb;--cotton-ink:#17223b;--cotton-ink-2:#3b4459;--cotton-madder:#9e3229;--deep:#111a30;--wrap:1120px;overflow-x:clip}.woven ::selection{background:var(--accent);color:var(--text-strong)}.woven h1,.woven h2{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;font-weight:400}.woven .kicker{font-size:var(--fs-small);letter-spacing:.04em;color:var(--accent-text);margin:0 0 12px;font-weight:600}.woven .kicker.ink{color:var(--cotton-madder)}.woven .sub{color:var(--text-2);max-width:56ch;margin:0 auto}.woven .center{text-align:center}.woven .arrow{transition:transform var(--dur-fast) var(--ease-primary);display:inline-block}.woven a:hover .arrow,.woven a:focus-visible .arrow{transform:translate(4px)}.woven .btn{transition:background-color var(--dur-fast) var(--ease-primary), transform var(--dur-fast) var(--ease-primary)}.woven .btn:active{transform:scale(.97)}.woven :focus-visible{outline:2px solid var(--text-strong);outline-offset:3px;border-radius:6px}.woven .hero{padding:14px var(--gutter) 28px;background:radial-gradient(120% 70% at 75% 40%, #b23a311a, transparent 60%), var(--bg)}.woven .top{max-width:var(--wrap);justify-content:space-between;align-items:center;gap:12px;margin:0 auto;display:flex}.woven .mark{color:var(--text-strong);min-height:var(--tap);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.woven .mark [lang=ksw]{color:var(--accent-text);font-size:1.5rem;line-height:1}.woven .name{font-family:var(--font-display);font-size:1.3rem}.woven .hero-grid{max-width:var(--wrap);grid-template-columns:minmax(0,1fr);gap:8px;margin:0 auto;display:grid}.woven .hero-copy{text-align:center;flex-direction:column;order:2;align-items:center;display:flex}.woven .hero h1{max-width:13ch;margin:0 0 14px;font-size:clamp(2.125rem,7.5vw + .5rem,4.5rem);line-height:1.04}.woven .lede{color:var(--text-2);max-width:34ch;margin:0 0 24px;font-size:clamp(1.0625rem,.4vw + 1rem,1.25rem)}.woven .cta{width:100%;max-width:380px;min-height:56px;font-size:1.125rem}.woven .note{color:var(--text-3);font-size:var(--fs-small);max-width:38ch;margin:14px 0 0}.woven .loom{order:1;height:clamp(220px,34vh,520px);margin:0;position:relative}.woven .loom-canvas{touch-action:pan-y;width:100%;height:100%;display:block}.woven .loom-fallback{color:var(--accent-text);justify-content:center;align-items:center;font-size:clamp(5.5rem,28vw,16rem);font-weight:700;line-height:1;display:flex;position:absolute;inset:0}.woven .loom.woven-on .loom-fallback{display:none}.woven .buh{line-height:0;position:absolute;bottom:0;right:2%}.woven .caption{max-width:var(--wrap);color:var(--text-3);font-size:var(--fs-small);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 12px;margin:18px auto 0;display:flex}.woven .cap-k{color:var(--text);font-size:1.25rem}.woven .cap-r{color:var(--text-2);font-style:italic}@media (width>=900px){.woven .top{display:none}.woven .hero{padding-bottom:44px}.woven .hero-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);align-items:center;gap:48px;padding-top:24px}.woven .hero-copy{text-align:left;order:1;align-items:flex-start}.woven .loom{order:2;height:clamp(340px,62vh,600px)}.woven .caption{justify-content:flex-end;margin-top:6px}}.woven .band{background-color:var(--band-bg);border-block:3px solid var(--band-edge);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='22' viewBox='0 0 44 22'%3E%3Cpath d='M0 11 11 0l11 11-11 11z' fill='%23b23a31'/%3E%3Cpath d='M22 11 33 0l11 11-11 11z' fill='%23b23a31'/%3E%3Cpath d='M11 5.5 16.5 11 11 16.5 5.5 11z' fill='%23f4ecdb'/%3E%3Cpath d='M33 5.5 38.5 11 33 16.5 27.5 11z' fill='%2317223b'/%3E%3C/svg%3E");background-size:44px 22px;height:22px}.woven .band-cream{--band-bg:#17223b;--band-edge:#f4ecdb}.woven .band-ink{--band-bg:#f4ecdb;--band-edge:#17223b}.woven .band-deep{--band-bg:#17223b;--band-edge:#111a30}.woven .cotton{background:repeating-linear-gradient(90deg, #17223b09 0 1px, transparent 1px 7px), repeating-linear-gradient(0deg, #17223b06 0 1px, transparent 1px 7px), var(--cotton);color:var(--cotton-ink);padding:clamp(56px, 9vw, 120px) var(--gutter)}.woven .why{max-width:var(--wrap);grid-template-columns:minmax(0,1fr);gap:28px;margin:0 auto;display:grid}.woven .why h2{color:var(--cotton-ink);margin:0;font-size:clamp(1.875rem,3.2vw + 1rem,3.5rem);line-height:1.1}.woven .why-body p{color:var(--cotton-ink-2);max-width:60ch;margin:0 0 18px;font-size:clamp(1.0625rem,.3vw + 1rem,1.1875rem);line-height:1.7}.woven .why-body .strong{color:var(--cotton-ink);font-weight:600}.woven .thread-under{background-image:linear-gradient(var(--accent), var(--accent));background-position:0 100%;background-repeat:no-repeat;background-size:100% 3px;padding-bottom:3px}@media (width>=900px){.woven .why{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:64px}.woven .why-head{position:sticky;top:32px}}.woven .swatches-sec{padding:clamp(56px, 9vw, 112px) var(--gutter)}.woven .head-center{text-align:center;flex-direction:column;align-items:center;max-width:760px;margin:0 auto;display:flex}.woven .swatches-sec h2{margin:0 0 14px;font-size:clamp(1.75rem,2.6vw + 1rem,3rem);line-height:1.12}.woven .swatches{max-width:var(--wrap);grid-template-columns:repeat(auto-fit,minmax(min(100%,156px),1fr));gap:14px;margin:40px auto 28px;padding:0;list-style:none;display:grid}.woven .swatch details{outline-offset:-8px;height:100%;transition:background-color var(--dur-base) var(--ease-primary);background:repeating-linear-gradient(90deg,#f4ecdb09 0 1px,#0000 1px 6px),#1d2943;border-radius:16px;outline:1.5px dashed #f4ecdb47;padding:20px 12px 18px;position:relative}.woven .swatch summary{cursor:pointer;text-align:center;flex-direction:column;justify-content:center;gap:4px;min-height:120px;list-style:none;display:flex}.woven .swatch summary::-webkit-details-marker{display:none}.woven .sw-k{color:var(--text-strong);font-size:clamp(1.5rem,2vw + 1.1rem,2.25rem);font-weight:700;line-height:1.45}.woven .sw-r{color:var(--text-2);font-style:italic}.woven .sw-hint{font-size:var(--fs-small);color:#e3847b;margin-top:8px;font-weight:600}.woven .swatch details[open] .sw-hint{display:none}.woven .sw-m{text-align:center;font-family:var(--font-display);color:var(--text-strong);border-top:2px solid var(--accent);margin-top:12px;padding-top:12px;font-size:1.375rem;display:block}.woven .swatch details[open]{background-color:#23304d}.woven .honest{text-align:center;max-width:60ch;color:var(--text-2);font-size:var(--fs-small);margin:0 auto 28px}.woven .count-sec{background:var(--deep);padding:clamp(56px, 8vw, 104px) var(--gutter)}.woven .counts{max-width:var(--wrap);grid-template-columns:minmax(0,1fr);gap:28px;margin:0 auto 24px;padding:0;list-style:none;display:grid}.woven .counts li{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.woven .num{font-family:var(--font-display);color:var(--text-strong);font-variant-numeric:tabular-nums;background-image:linear-gradient(var(--accent), var(--accent));background-position:50% 100%;background-repeat:no-repeat;background-size:2.2em 3px;padding-bottom:10px;font-size:clamp(2.75rem,5vw + 1rem,5rem);line-height:1}.woven .lbl{color:var(--text-2);max-width:26ch}@media (width>=760px){.woven .counts{grid-template-columns:repeat(3,minmax(0,1fr))}}.woven .index-sec{padding:clamp(56px, 9vw, 112px) var(--gutter)}.woven .index-wrap{max-width:var(--wrap);margin:0 auto}.woven .index-sec h2{margin:0 0 28px;font-size:clamp(1.875rem,3vw + 1rem,3.5rem)}.woven .index{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.woven .index li{border-bottom:1px solid var(--line)}.woven .index a{min-height:88px;color:var(--text);grid-template-columns:minmax(4.5rem,max-content) minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px 4px;text-decoration:none;display:grid;position:relative}.woven .index a:after{content:"";background:var(--accent);transform-origin:100%;height:2px;transition:transform var(--dur-base) var(--ease-reveal);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.woven .index a:hover:after,.woven .index a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.woven .ix-k{color:var(--accent-text);text-align:center;white-space:nowrap;font-size:2rem;font-weight:700;line-height:1.3}.woven .ix-text{flex-direction:column;gap:4px;min-width:0;display:flex}.woven .ix-t{font-family:var(--font-display);color:var(--text-strong);font-size:clamp(1.375rem,1.2vw + 1rem,2rem);line-height:1.15}.woven .ix-d{color:var(--text-2);font-size:var(--fs-body)}.woven .ix-go{color:var(--text-3);transition:transform var(--dur-fast) var(--ease-primary), color var(--dur-fast);font-size:1.5rem}.woven .index a:hover .ix-go,.woven .index a:focus-visible .ix-go{color:var(--accent-text);transform:translate(6px)}@media (width>=900px){.woven .index a{grid-template-columns:minmax(7rem,max-content) minmax(0,1fr) auto;padding:26px 8px}.woven .ix-k{font-size:2.75rem}}.woven .join-inner{max-width:var(--wrap);text-align:center;flex-direction:column;align-items:center;margin:0 auto;display:flex}.woven .join h2{max-width:16ch;color:var(--cotton-ink);margin:0 0 16px;font-size:clamp(2rem,4vw + 1rem,4rem);line-height:1.06}.woven .join-sub{color:var(--cotton-ink-2);max-width:52ch;margin:0 0 26px}.woven .join-grid{text-align:left;grid-template-columns:minmax(0,1fr);gap:36px;width:100%;margin-top:44px;display:grid}.woven .or{color:var(--cotton-ink);margin:0 0 10px;font-weight:600}.woven .field{flex-wrap:wrap;gap:8px;display:flex}.woven .field input{min-width:0;min-height:var(--tap);border-radius:var(--radius);color:var(--cotton-ink);font:inherit;background:#fffaf0;border:1.5px solid #6b7180;flex:220px;padding:0 14px}.woven .field input::placeholder{color:#6b7180}.woven .field input:focus-visible{outline:2px solid var(--cotton-ink);outline-offset:2px}.woven .signup .msg{min-height:1.5em;color:var(--cotton-ink);margin:10px 0}.woven .signup.ok .msg{color:#2f5d43}.woven .signup.busy button[type=submit]{opacity:.7}.woven .row{flex-wrap:wrap;gap:8px;display:flex}.woven .btn-ink{background:var(--cotton-ink);color:var(--cotton)}.woven .btn-ink:hover{color:var(--cotton);background:#24304f}.woven .cotton :focus-visible{outline-color:var(--cotton-ink)}.woven .help{gap:4px;margin:0;padding:0;list-style:none;display:grid}.woven .help a{min-height:var(--tap);color:var(--cotton-ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px;padding:14px 0;font-weight:600;text-decoration-thickness:2px;display:block}.woven .help [lang=ksw]{font-size:1.25rem}.woven .partners{max-width:62ch;color:var(--cotton-ink-2);font-size:var(--fs-small);margin:48px auto 0}@media (width>=900px){.woven .join-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:64px}}.weave-motion .woven [data-weft]{transition:clip-path var(--dur-slow) var(--ease-reveal)}.weave-motion .woven [data-weft=l]:not(.in){clip-path:inset(0 100% 0 0)}.weave-motion .woven [data-weft=r]:not(.in){clip-path:inset(0 0 0 100%)}.weave-motion .woven .swatch details[open] .sw-m{animation:sw-in var(--dur-base) var(--ease-reveal) both}.weave-motion .woven .thread-under{transition:background-size 1.1s var(--ease-reveal) .5s;background-size:0% 3px}.weave-motion .woven .in .thread-under,.weave-motion .woven .in.thread-under{background-size:100% 3px}.weave-motion .woven .buh.tug{animation:tug 1.3s var(--ease-reveal);transform-origin:50% 100%}@keyframes tug{0%,to{transform:none}25%{transform:translate(-8px)rotate(-7deg)}55%{transform:translate(3px)rotate(3deg)}}@keyframes sw-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
