:root{--ink:#26256b;--ink-2:#363585;--ink-deep:#17163f;--ecru:#f1ead9;--paper:#faf6ec;--charcoal:#241f1a;--muted:#241f1ab3;--rose:#c23e63;--rose-text:#b63a5d;--rose-glow:#e78aa6;--gold:#936b27;--gold-glow:#e0b45c;--line:#241f1a2e;--line-soft:#241f1a1a;--ecru-80:#f1ead9cc;--ecru-55:#f1ead98c;--ecru-15:#f1ead926;--font-display:"Fraunces", Georgia, serif;--font-body:"Archivo", "Helvetica Neue", Arial, sans-serif;--wrap:1180px}.on-dark{background:var(--ink-deep);color:var(--ecru)}.on-dark h2,.on-dark h3{color:var(--ecru)}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body{background:var(--ecru);color:var(--charcoal);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.55}.bg-weave{z-index:-1;pointer-events:none;background-color:var(--ecru);background-image:repeating-linear-gradient(45deg,#26256b0d 0 1px,#0000 1px 46px),repeating-linear-gradient(-45deg,#c23e630a 0 1px,#0000 1px 46px);background-size:400px 400px;animation:100s linear infinite bg-drift;position:fixed;inset:0}@keyframes bg-drift{to{background-position:400px 400px,-400px 400px}}.preloader{z-index:1000;background:var(--ecru);opacity:1;justify-content:center;align-items:center;transition:opacity .5s;display:flex;position:fixed;inset:0}.preloader.is-done{opacity:0}.preloader-glow{aspect-ratio:1;background:radial-gradient(circle,#936b2759 0%,#c23e6329 45%,#0000 72%);border-radius:50%;width:min(70vw,620px);position:absolute}.preloader-percent{font-family:var(--font-display);color:var(--ink);margin:0;font-size:clamp(1.5rem,4vw,2.2rem);font-weight:600;position:relative}img{max-width:100%;display:block}.reveal-up{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(28px)}.reveal-up.is-in-view{opacity:1;transform:translateY(0)}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}h1,h2,h3{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;margin:0;font-weight:600}h2{max-width:18ch;margin-bottom:2.4rem;font-size:clamp(1.9rem,3.2vw,2.6rem);font-weight:500;line-height:1.15}p{max-width:62ch;margin:0 0 1rem}a{color:inherit}.skip-link{background:var(--ink);color:#fff;z-index:200;padding:10px 16px;position:absolute;top:0;left:-999px}.skip-link:focus{top:12px;left:12px}:focus-visible{outline:2px solid var(--rose);outline-offset:3px}.btn{font-family:var(--font-body);cursor:pointer;border:1px solid #0000;border-radius:2px;align-items:center;gap:8px;padding:13px 26px;font-size:.95rem;font-weight:600;text-decoration:none;transition:background-color .18s,color .18s,border-color .18s;display:inline-flex}.btn-primary{background:var(--rose);color:#fff8f4}.btn-primary:hover{background:#a83654}.btn-ghost{color:var(--ink);border-color:var(--line);background:0 0}.btn-ghost:hover{border-color:var(--ink)}.site-header{z-index:100;-webkit-backdrop-filter:saturate(140%)blur(6px);backdrop-filter:saturate(140%)blur(6px);background:#f1ead9eb;border-bottom:1px solid #0000;transition:border-color .2s,box-shadow .2s;position:sticky;top:0}.site-header.is-scrolled{border-bottom-color:var(--line);box-shadow:0 6px 18px -14px #241f1a66}.header-row{justify-content:space-between;align-items:center;padding-top:16px;padding-bottom:16px;display:flex}.brand{align-items:center;gap:10px;text-decoration:none;display:flex}.brand-mark{width:auto;height:30px}.brand-text{flex-direction:column;gap:3px;display:flex}.brand-word{width:auto;height:15px}.brand-tagline{font-family:var(--font-body);letter-spacing:.03em;color:var(--muted);white-space:nowrap;font-size:.6rem;font-weight:500}.site-nav{gap:34px;display:flex}.site-nav a{color:var(--charcoal);padding-bottom:3px;font-size:.95rem;font-weight:500;text-decoration:none;position:relative}.site-nav a:after{content:"";background:var(--rose);transform-origin:0;height:1px;transition:transform .2s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.site-nav a:hover:after{transform:scaleX(1)}.site-nav a.is-active{color:var(--rose-text)}.site-nav a.is-active:after{background:var(--rose-text);transform:scaleX(1)}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;display:none}.nav-toggle span{background:var(--ink);border-radius:1px;width:22px;height:2px;transition:transform .3s,opacity .2s;display:block}.hero{align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-weave{z-index:0;position:absolute;inset:0}.hero-yarn{width:100%;height:100%;display:block}.yarn-strand{fill:none;stroke-linecap:round}.hero-inner{z-index:1;padding:120px 0 100px;position:relative}@keyframes hero-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.hero-kicker,.hero-title,.hero-lede,.hero-actions{animation:.7s both hero-in}.hero-kicker{animation-delay:50ms}.hero-title{animation-delay:.15s}.hero-lede{animation-delay:.3s}.hero-actions{animation-delay:.45s}.hero-kicker{font-family:var(--font-body);color:var(--rose-text);margin-bottom:22px;font-size:.95rem;font-weight:600}.hero-title{max-width:16ch;font-size:clamp(3.2rem,8.5vw,7.2rem);font-weight:600;line-height:.98}.hero-lede{color:var(--muted);max-width:46ch;margin-top:32px;font-size:1.2rem}.hero-actions{flex-wrap:wrap;gap:16px;margin-top:40px;display:flex}.hero-scroll{z-index:1;justify-content:center;align-items:flex-start;width:44px;height:44px;display:flex;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}.hero-scroll span{background:var(--line);width:1px;height:28px;position:relative;overflow:hidden}.hero-scroll span:after{content:"";background:var(--rose-text);animation:2.2s ease-in-out infinite scroll-cue;position:absolute;inset:0;transform:translateY(-100%)}@keyframes scroll-cue{0%{transform:translateY(-100%)}50%{transform:translateY(0)}to{transform:translateY(100%)}}.rail{padding:56px 0}.rail-kicker{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ecru-55);margin:0 0 26px;font-size:.78rem;font-weight:600}.rail-track{flex-wrap:wrap;gap:18px 40px;margin:0;padding:0;list-style:none;display:flex}.rail-stage{opacity:0;align-items:baseline;gap:10px;transition:opacity .5s,transform .5s;display:flex;transform:translateY(14px)}.rail-track.is-in-view .rail-stage{opacity:1;transform:translateY(0)}.rail-num{font-family:var(--font-display);color:var(--gold-glow);font-size:1rem}.rail-label{font-family:var(--font-display);color:var(--ecru);font-size:clamp(1.1rem,2.4vw,1.5rem);font-weight:600}.rail-bar{background:var(--ecru-15);height:2px;margin-top:32px;position:relative}.rail-bar:after{content:"";background:var(--gold-glow);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.rail-track.is-in-view~.rail-bar:after{animation:1s ease-out .6s forwards rail-fill}@keyframes rail-fill{to{transform:scaleX(1)}}.capability{height:280vh;position:relative}.capability-sticky{justify-content:center;align-items:center;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.capability-thread{width:min(85vw,720px);height:auto;transition:transform .1s linear;position:absolute}.capability-thread .cthread{fill:none;stroke-width:2px;stroke-linecap:round;opacity:.3}.cthread-1{stroke:var(--ink)}.cthread-2{stroke:var(--rose)}.cthread-3{stroke:var(--gold)}.cthread-4{stroke:var(--ink-2)}.cthread-5{stroke:var(--rose-text)}.cthread-6{stroke:var(--gold)}.capability-words{z-index:1;display:grid;position:relative}.capability-word{font-family:var(--font-display);color:var(--ink);opacity:0;grid-area:1/1;margin:0;font-size:clamp(3.4rem,13vw,10rem);font-weight:600;transition:opacity .4s}.capability-word.is-active{opacity:1}.capability-word span{color:var(--rose-text)}.reveal{height:200vh;position:relative}.reveal-sticky{align-items:center;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.reveal-text{max-width:none;font-family:var(--font-display);color:var(--ecru);margin:0;padding:0 32px;font-size:clamp(2rem,5.5vw,3.8rem);font-weight:500;line-height:1.25}.reveal-word{opacity:.45;color:var(--rose-glow);margin-right:.22em;transition:opacity 90ms ease-out,transform 90ms ease-out,color 90ms ease-out;display:inline-block;transform:translateY(18px)}.about{border-bottom:1px solid var(--line-soft);padding:96px 0}.about-grid{grid-template-columns:1.5fr 1fr;align-items:start;gap:64px;display:grid}.about-copy h2{max-width:16ch}.about-copy p{color:var(--muted)}.about-stats{border-left:1px solid var(--line);flex-direction:column;gap:28px;margin:0;padding-left:32px;display:flex}.about-stats .stat dt{color:var(--muted);margin-bottom:4px;font-size:.85rem}.about-stats .stat dd{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.4rem}.placeholder{color:var(--rose-text);border-bottom:1px dashed;font-style:italic}.services{border-bottom:1px solid var(--line-soft);padding:96px 0}.service-index{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.service-row{border-bottom:1px solid var(--line);grid-template-columns:56px minmax(0,1fr);gap:6px 24px;margin:0 -16px;padding:30px 16px;transition:background-color .3s,padding-left .3s;display:grid}.service-row:hover,.service-row:focus-visible{background:var(--paper);outline:none;padding-left:28px}.service-row-num{font-family:var(--font-display);color:var(--gold);padding-top:6px;font-size:1rem}.service-row-title{width:fit-content;font-family:var(--font-display);color:var(--ink);grid-column:2;font-size:clamp(1.4rem,2.6vw,2rem);font-weight:600;position:relative}.service-row-title:after{content:"";background:var(--rose);transform-origin:0;height:2px;transition:transform .35s;position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.service-row:hover .service-row-title:after,.service-row:focus-visible .service-row-title:after{transform:scaleX(1)}.service-row-body{color:var(--muted);grid-column:2;max-width:60ch;margin-bottom:0}.process{background:var(--paper);padding:96px 0}.steps-wrap{position:relative}.steps-thread{background:var(--gold);transform-origin:top;width:2px;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.steps{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.step{border-bottom:1px solid var(--line);grid-template-columns:64px 1fr;gap:24px;padding:28px 0;display:grid}.step-num{font-family:var(--font-display);color:var(--gold);font-size:1.6rem}.step-body h3{margin-bottom:6px;font-size:1.1rem;font-weight:600}.step-body p{color:var(--muted);max-width:52ch;margin-bottom:0}.contact{padding:96px 0}.contact-copy p{color:#f1ead9b8}.contact-grid{grid-template-columns:1fr 1fr;gap:64px;display:grid}.contact-details{flex-direction:column;margin:40px 0 0;display:flex}.contact-detail{border-bottom:1px solid #f1ead924;align-items:center;gap:18px;padding:18px 0;display:flex}.contact-detail:first-child{padding-top:0}.contact-detail-icon{width:40px;height:40px;color:var(--rose-glow);background:#f1ead914;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.contact-detail-icon svg{width:19px;height:19px}.contact-detail-text{flex-direction:column;gap:3px;display:flex}.contact-details dt{color:#f1ead98c;font-size:.78rem}.contact-details dd{margin:0;font-weight:500}.contact .placeholder{color:var(--rose-glow);border-bottom:none;font-style:italic}.contact-form{flex-direction:column;gap:18px;display:flex}.contact-form label{color:#f1ead9bf;flex-direction:column;gap:8px;font-size:.9rem;display:flex}.contact-form label em{color:#f1ead980;font-size:.8em;font-style:normal}.contact-form input,.contact-form textarea{font-family:var(--font-body);color:var(--ecru);background:#f1ead90f;border:1px solid #f1ead94d;border-radius:2px;padding:12px 14px;font-size:1rem}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--rose);outline-offset:1px;border-color:#0000}.contact-form button{align-self:flex-start;margin-top:4px}.form-note{min-height:1.2em;color:var(--gold-glow);margin:0;font-size:.9rem}.site-footer{color:var(--ecru-55);padding:32px 0}.footer-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.footer-word{opacity:.85;width:auto;height:13px}.footer-nav{gap:22px;display:flex}.footer-nav a{font-size:.9rem;text-decoration:none}.footer-nav a:hover{color:var(--ecru)}.footer-copy{margin:0;font-size:.85rem}@media (width<=880px){.about-grid,.contact-grid{grid-template-columns:1fr}.about-stats{border-left:none;border-top:1px solid var(--line);flex-flow:wrap;padding-top:24px;padding-left:0}.about-stats .stat{min-width:150px}}@media (width<=640px){.wrap{padding:0 20px}.nav-toggle{display:flex}.site-nav{background:var(--ecru);border-bottom:1px solid var(--line);opacity:0;pointer-events:none;flex-direction:column;gap:4px;padding:8px 20px 22px;transition:opacity .22s,transform .22s;position:absolute;top:100%;left:0;right:0;transform:translateY(-6px);box-shadow:0 16px 28px -20px #241f1a66}.site-header.nav-open .site-nav{opacity:1;pointer-events:auto;transform:translateY(0)}.site-nav a{padding:11px 0}.site-header.nav-open .nav-toggle span:first-child{transform:translateY(7px)rotate(45deg)}.site-header.nav-open .nav-toggle span:nth-child(2){opacity:0}.site-header.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.step{grid-template-columns:40px 1fr}}@media (prefers-reduced-motion:reduce){.capability{height:auto}.capability-sticky{flex-direction:column;gap:24px;height:auto;padding:64px 0;position:static}.capability-thread{display:none}.capability-words{flex-direction:column;gap:16px;display:flex}.capability-word{opacity:1;position:static}.reveal{height:auto}.reveal-sticky{height:auto;padding:64px 0;position:static}.reveal-word{opacity:1;color:var(--ecru);transform:none}.reveal-up{opacity:1!important;transition:none!important;transform:none!important}}
