
:root{--ink:#10172e;--navy:#10172e;--blue:#008acb;--green:#8ec63f;--cyan:#00b8e8;--magenta:#e50087;--yellow:#ffd900;--violet:#6d36cf;--paper:#fff;--spectrum:linear-gradient(100deg,var(--cyan),var(--magenta) 52%,var(--yellow));--line:#dfe5ec}
body{color:var(--ink);background:var(--paper)}.topline{background:var(--navy);color:#d0d9e7}header{background:#fff;padding-top:13px;padding-bottom:13px}.brand{width:210px}.button{background:var(--blue);color:#fff}.button:hover{background:#006c9f}.button.light{background:#fff;color:var(--navy)}em{color:var(--blue)}.eyebrow{letter-spacing:.18em}.underlink{border-color:var(--blue)}
.textile-journey{background:radial-gradient(ellipse at 80% 35%,#143954,transparent 62%),var(--navy);padding:60px 6vw 25px;display:grid;grid-template-columns:44% 56%;column-gap:0}.textile-journey:before{height:3px;background:var(--spectrum)}.journey-intro{display:block;grid-column:1;grid-row:1;align-self:start;position:relative;z-index:3;padding-top:30px}.journey-intro h2{font-size:clamp(52px,5.6vw,90px);line-height:1.01;letter-spacing:-.055em;margin:20px 0 28px}.journey-intro h2 em{background:var(--spectrum);background-clip:text;-webkit-text-fill-color:transparent}.journey-intro>div:last-child{max-width:350px;color:#cbd6e2;font-size:14px}.journey-intro .underlink{color:#fff;border-color:var(--cyan)}.journey-stage{grid-column:2;grid-row:1;position:relative;height:590px;margin:0;min-width:0}.journey-visual{inset:0 -3vw 80px -3vw}.journey-caption,.fashion-finale .journey-caption{top:auto;bottom:26px;left:0;width:75%;max-width:440px}.journey-caption h2{font-size:24px;margin:9px 0}.journey-caption p{font-size:12px;line-height:1.6;color:#bdccdb;margin:0}.journey-caption>span{color:var(--cyan)}.fashion-campaign{height:100%;max-width:100%;right:0;bottom:0;filter:drop-shadow(0 20px 40px #0003)}.journey-player{left:0;right:0;bottom:-22px}.journey-player>span{color:#c0cfdb}.journey-player button{background:var(--blue);color:white;border:1px solid #51b5e3}.journey-stage:after{bottom:-35px;background:var(--spectrum)}.journey-timeline{grid-column:1/-1;margin-top:45px;padding-top:20px}.journey-timeline button{color:#b8c8d8}.journey-timeline button.active{color:var(--cyan)}.journey-timeline button.active i{background:var(--cyan)}.journey-timeline i{background:#34465d}.journey-foot{grid-column:1/-1;color:#a9bdcf}.ticker{background:var(--navy);color:white;border-top:1px solid #34465d;border-bottom:3px solid var(--cyan)}
.section{padding-top:100px;padding-bottom:100px}.intro-photo{transform:none;width:100%}.intro-photo img{box-shadow:none;border-radius:0;object-fit:cover}.intro-photo:hover{transform:none}.intro{grid-template-columns:.6fr 1.3fr 1.4fr}.intro-photo span{background:var(--navy);padding:7px 10px;left:0;bottom:0}.capabilities{background:#f2f7fa}.service-card{background:var(--navy);color:white;border-radius:0;border-top:3px solid var(--cyan)}.design-card{border-color:var(--magenta)}.finish-card{border-color:var(--yellow)}.design-art{color:var(--magenta)}.swatch-art{background:repeating-radial-gradient(ellipse at 30% 120%,var(--cyan) 0 14px,var(--yellow) 15px 27px,var(--magenta) 28px 40px,var(--violet) 41px 53px);box-shadow:15px 20px 0 #050c20}.thread-art{background:repeating-linear-gradient(17deg,var(--cyan) 0 3px,var(--blue) 4px 7px);box-shadow:20px 22px 0 var(--magenta)}.technology{background:var(--navy)}.technology em{color:var(--cyan)}.technology .tech-art{background-image:url('./owner-digital-print.webp');min-height:450px}.technology .tech-art:after{background:linear-gradient(0deg,#10172e90,transparent 45%)}.technology .eyebrow{color:var(--cyan)}.studio-banner{background:white}.studio-banner img{border-radius:0;object-fit:cover}.closing{background:var(--navy);color:#fff;border-top:4px solid var(--blue)}.closing em{color:var(--cyan)}.closing .circle-link{background:var(--blue);color:#fff;border-color:var(--blue)}.guide-launch{background:var(--navy);border:1px solid #6a8aa5}.guide-launch span{color:var(--green)}.page-hero{background:#f2f7fa}.page-hero h1 em{color:var(--blue)}.visit-hero{background:var(--navy)}.visit-hero em{color:var(--cyan)}.clients h2 em{color:var(--blue)}.sister{background:#f2f7fa}.sister>img{border-radius:0}.owner-gallery img{width:100%;height:auto;aspect-ratio:2.1;object-fit:cover}.owner-gallery .bolt-frame img{aspect-ratio:3.2;object-fit:cover;object-position:bottom}.process-panorama{margin:0 0 55px}.process-panorama img{width:100%;max-height:550px;object-fit:cover}.gallery-grid figure{margin:0}.gallery-grid figcaption{font-size:13px;margin-top:12px}.gallery-grid{gap:30px}.owner-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-gallery figure:first-child{grid-column:1/-1}.owner-gallery figure:first-child img{max-height:600px}.machine-photo{background:#f2f7fa}
@media(max-width:1000px){.textile-journey{grid-template-columns:43% 57%}.journey-intro h2{font-size:58px}.intro{grid-template-columns:1fr 1fr}.intro>.eyebrow{grid-column:1/-1}}
@media(max-width:850px){.textile-journey{display:block;padding:35px 6vw 22px}.journey-intro{padding-top:0}.journey-intro h2{font-size:clamp(44px,9vw,66px);margin-bottom:20px}.journey-intro>div:last-child{max-width:100%;font-size:13px}.journey-stage{height:530px;margin-top:20px}.journey-visual,.fashion-finale .journey-visual{inset:0 -5vw 130px -5vw}.journey-caption,.fashion-finale .journey-caption{top:auto;bottom:42px;width:100%;max-width:100%;left:0}.journey-caption h2{font-size:22px}.journey-caption p{font-size:11px;max-width:90%}.fashion-campaign{height:100%;right:0;max-width:100%}.journey-player{bottom:-10px}.journey-stage:after{bottom:-25px}.journey-timeline{margin-top:30px}.journey-foot{font-size:9px}.section{padding-top:60px;padding-bottom:60px}.intro{grid-template-columns:1fr}.intro-photo{max-width:none;margin:0}.intro-photo img{height:auto;aspect-ratio:2.1}.owner-gallery{grid-template-columns:1fr}.owner-gallery figure:first-child{grid-column:auto}.technology .tech-art{min-height:300px}.guide-launch{padding:12px 16px;font-size:11px}}

/* Full-bleed moving fabric, followed by the production story. */
.cloth-hero{position:relative;height:calc(100svh - 120px);min-height:580px;max-height:1100px;isolation:isolate;background:#c7beb1;overflow:hidden;color:#fff}
#cloth-hero-scene{position:absolute;inset:0;background:linear-gradient(#183c3c44,#183c3c44),url('./vivid-cloth.webp') center/cover}
#cloth-hero-scene canvas{width:100%;height:100%;display:block}#cloth-hero-scene[data-state="fallback"] canvas{display:none}
.cloth-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#10232208,#091c2030 55%,#091c2055);z-index:1;pointer-events:none}
.cloth-hero-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:2;padding:40px 5vw}
.cloth-hero-copy p{font-size:11px;letter-spacing:.26em;margin:0 0 24px;color:white}
.cloth-hero-copy h1{font-family:Manrope,sans-serif;font-size:clamp(60px,7.6vw,128px);line-height:1.04;font-weight:300;letter-spacing:-.055em;margin:0 0 38px;color:#fff;text-shadow:0 2px 24px #082b3033}
.cloth-hero-copy>a{color:#fff;font-size:12px;border:1px solid #ffffffa0;border-radius:40px;padding:15px 25px;text-decoration:none;background:#17353720;backdrop-filter:blur(8px)}.cloth-hero-copy>a span{margin-left:25px}
.cloth-hero-bottom{position:absolute;bottom:28px;left:5vw;right:5vw;display:flex;align-items:center;justify-content:space-between;z-index:3;font-size:10px;letter-spacing:.08em}.cloth-hero-bottom a{color:#fff;text-decoration:none}.cloth-hero-bottom button{color:#fff;border:1px solid #ffffff66;background:#19383733;padding:9px 15px;border-radius:30px;font:inherit;cursor:pointer}
.textile-journey{background:radial-gradient(ellipse at 80% 35%,#234745,transparent 62%),#102e31}.textile-journey:before{background:var(--blue)}.journey-intro h2 em{background:none;-webkit-text-fill-color:var(--green);color:var(--green)}.journey-stage:after{background:var(--blue)}.ticker{background:#102e31;border-bottom-color:var(--blue)}.capabilities,.page-hero,.sister{background:#f2f7fa}.service-card{background:#102e31}.technology,.closing{background:#102e31}
@media(max-width:850px){.cloth-hero{min-height:580px;height:calc(100svh - 110px)}.cloth-hero-copy h1{font-size:clamp(53px,10vw,80px)}.cloth-hero-bottom{font-size:9px;left:5vw;right:5vw;gap:15px}.cloth-hero-copy p{font-size:9px}.cloth-hero-copy>a{font-size:11px}}
.cloth-hero-bottom{pointer-events:none}.cloth-hero-bottom>a,.cloth-hero-bottom>button{pointer-events:auto}@media(max-width:850px){.cloth-hero-bottom{bottom:85px}}

/* Keep scroll compositing inexpensive while WebGL is active. */
.cloth-hero-copy>a{backdrop-filter:none;background:#102e3180}.cloth-hero{contain:layout paint}.fashion-campaign{filter:none}

/* Brand navigation: clear type, generous spacing, crisp blue/green accents. */
.topline{background:#102e31;color:#eff8fb;padding:9px 5vw;font-size:9px;letter-spacing:.15em;border-bottom:2px solid #8ec63f}
header{padding:22px 5vw;background:#fff;box-shadow:0 5px 25px #102e3109;position:relative;z-index:10}
header .brand{width:240px}header .brand img{width:100%}
header nav{gap:26px}header nav>a:not(.button){font-size:12px;font-weight:600;position:relative;padding:12px 0}
header nav>a:not(.button):after{content:"";position:absolute;bottom:4px;left:0;width:0;height:2px;background:#008acb;transition:width .2s}
header nav>a:not(.button):hover:after{width:100%}
header .button.small{padding:15px 23px;background:#008acb;border-radius:8px;box-shadow:4px 4px 0 #8ec63f;color:white;font-weight:700}
header .button.small:hover{background:#006eaa;transform:translateY(-1px)}
@media(max-width:1000px){header{padding:18px 5vw}header .brand{width:210px}header nav{gap:15px}}
@media(max-width:850px){header .brand{width:205px}.topline{font-size:8px;padding:8px 5vw}.menu-toggle{border:1px solid #d4e5eb;border-radius:7px;padding:10px 15px;color:#102e31;background:#f3f9fb}header nav.open{background:#fff}header .button.small{margin-bottom:8px}}

.company-contact{font-size:14px;line-height:1.8}.company-contact a{color:inherit;text-decoration:none}.company-contact a:hover{text-decoration:underline}.social-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px}.social-links a{font-size:12px;border-bottom:1px solid #008acb;padding-bottom:4px}footer .company-contact{max-width:330px;font-size:12px}

.outlets{background:#f2f7fa}.outlet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:35px}.outlet-grid article{background:white;padding:30px;border-top:3px solid #008acb}.outlet-grid article:nth-child(2){border-color:#8ec63f}.outlet-grid article>span{font-size:10px;letter-spacing:.13em;color:#467080}.outlet-grid h3{font-size:22px;margin:18px 0}.outlet-grid address{font-style:normal;font-size:14px;line-height:1.9}@media(max-width:850px){.outlet-grid{grid-template-columns:1fr}}

.intro-photo-pair{display:grid;grid-template-columns:.8fr 1.6fr;gap:14px;align-items:center}.intro-photo-pair figure{margin:0;min-width:0}.intro-photo-pair img{width:100%;height:auto;display:block;aspect-ratio:auto;object-fit:contain}.intro-photo-pair figure:first-child{max-width:220px}.intro-photo-pair figure:last-child{align-self:center}@media(max-width:850px){.intro-photo-pair{grid-template-columns:.8fr 1.6fr;gap:10px}.intro-photo-pair img{height:auto;aspect-ratio:auto}}

/* Matching factory photographs with equal dimensions. */
.intro-photo-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:14px}.intro-photo-pair figure:first-child{max-width:none}.intro-photo-pair figure:last-child{align-self:stretch}.intro-photo-pair img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center}@media(max-width:850px){.intro-photo-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.intro-photo-pair img{aspect-ratio:16/10;object-fit:cover}}

.footer-certifications{grid-column:1/-1;width:100%;background:#030c20;margin-top:20px;padding:12px 20px;box-sizing:border-box}.footer-certifications img{display:block;width:min(100%,520px);height:auto;margin:auto}footer .footer-certifications img{width:min(100%,520px);max-width:100%}

footer .footer-certifications{padding:28px 20px;color:white}footer .footer-certifications h3{text-align:center;margin-bottom:20px}footer .footer-certifications img{mix-blend-mode:normal;filter:none;opacity:1;width:360px;height:auto;max-width:100%}.social-links{flex-wrap:wrap}
@media(max-width:600px){.guide-launch{width:48px;height:48px;padding:0;font-size:0;display:flex;align-items:center;justify-content:center;right:12px;bottom:12px}.guide-launch span{font-size:24px}input,textarea,select{font-size:16px}.company-contact a{overflow-wrap:anywhere}}
footer .site-credit{font-size:11px;font-weight:400;letter-spacing:0}footer .site-credit a{display:inline;margin:0;text-decoration:underline;text-underline-offset:3px}

.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.team-card{background:#fff;border-bottom:3px solid var(--blue);overflow:hidden}.team-card>img,.team-placeholder{width:100%;aspect-ratio:5/6;height:auto;object-fit:cover;object-position:center top}.team-placeholder{display:grid;place-items:center;background:#e3f0ef;color:var(--blue);font-size:90px}.team-copy{padding:26px}.team-copy h2{font-size:32px;overflow-wrap:anywhere}.team-copy .eyebrow{color:var(--blue);margin-bottom:12px}.team-bio{white-space:pre-line;overflow-wrap:anywhere}.team-empty{grid-column:1/-1}.team-admin-photo{width:100px;height:120px;object-fit:cover;margin-top:16px}@media(max-width:900px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.team-grid{grid-template-columns:1fr}.team-copy{padding:22px}}
