:root{--paper:#f3f1eb;--ink:#171816;--red:#a41d2a;--line:#d9d7cf;--scroll:0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button,a,input,select{touch-action:manipulation}button{border:0;background:none;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,#scene:focus-visible{outline:2px solid var(--red);outline-offset:5px}button:disabled{opacity:.45;cursor:wait}h1,h2,h3,p{margin:0}.topline{background:#171816;color:var(--paper);padding:12px 6%;display:flex;justify-content:space-between;font-size:8px;letter-spacing:2px}.topline span{color:#a7a89f}.site-header{height:94px;position:sticky;top:0;z-index:5;background:#f3f1ebee;backdrop-filter:blur(14px);padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:block;flex:none}.brand img{display:block;object-fit:contain}nav{display:flex;gap:35px;font-size:11px}i{display:inline-block;background:var(--red);border-radius:50%;width:6px;height:6px}nav i{margin-left:7px}#open-bag{font-size:11px}#bag-count{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;height:26px;width:26px;margin-left:10px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px;overflow:hidden}.hero-text{padding:60px 7% 0 12%;z-index:1}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:600;margin-bottom:25px}.eyebrow i{margin-right:10px}h1{font-size:clamp(58px,7.6vw,110px);font-weight:900;letter-spacing:-6px;line-height:.94}em{font-style:normal;color:var(--red)}.hero-description{font-size:13px;line-height:1.9;color:#686a62;margin:30px 0}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;background:var(--ink);color:var(--paper);font-size:10px;letter-spacing:1.4px;font-weight:600;min-height:55px;padding:18px 24px;transition:background .2s}.button:hover{background:var(--red)}.button span{font-size:22px;font-weight:400}.hero-meta{display:flex;justify-content:space-between;gap:10px;font-size:7px;letter-spacing:1.2px;margin-top:35px;border-top:1px solid var(--line);padding:23px 0}.hero-visual{background:#e4e1d9;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate;overflow:hidden}.hero-ring{position:absolute;width:140%;height:45%;border:50px solid var(--red);border-radius:50%;transform:rotate(-45deg);z-index:-1}.hero-number{position:absolute;top:20px;right:25px;font-size:70px;font-weight:900;color:#d0cdc6;letter-spacing:-6px}.hero-garment{width:90%;position:relative;transform:translateY(calc(var(--scroll)*60px)) rotate(calc(-10deg + var(--scroll)*16deg));will-change:transform;filter:drop-shadow(8px 28px 18px #0004)}.hero-garment>img{display:block;width:100%}.hero-logo{position:absolute;top:23%;left:69%;width:10%;height:5%;background:#eae8e0;mask:url(../assets/official-logo-full.svg) center/contain no-repeat;transform:rotate(9deg)}.visual-caption{position:absolute;bottom:25px;left:30px;right:30px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px}.marquee{overflow:hidden;border-block:1px solid var(--line);padding:18px 0}.marquee>div{white-space:nowrap;width:max-content;font-size:12px;letter-spacing:4px;animation:marquee 36s linear infinite}.marquee b{margin:0 40px;color:var(--red)}@keyframes marquee{to{transform:translateX(-33.333%)}}.section{padding:80px 6%}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:36px}.section-head .eyebrow{margin-bottom:17px}h2{font-weight:500;font-size:42px;letter-spacing:-1.7px;line-height:1.1}.section-head>p{font-size:12px;color:#717267;line-height:1.8}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.story-card{display:block}.story-art{position:relative;background:#e6e3dc;height:330px;display:flex;align-items:center;justify-content:center;overflow:hidden}.story-art img{height:100%;width:100%;object-fit:contain;transition:transform .5s}.story-card:hover .story-garment{transform:scale(1.05) rotate(-3deg)}.story-art.blank img{filter:grayscale(1) invert(.93)}.story-card>div:last-child:not(.graphic-type){display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:18px}.story-card h3{font-size:13px;font-weight:500}.story-card>div>span{font-size:7px;letter-spacing:1px}.story-mark{position:absolute;right:22%;top:26%;width:9%;height:5%;background:#eee;mask:url(../assets/official-logo-full.svg) center/contain no-repeat}.graphic-type{height:330px;padding:35px;background:#a41d2a;color:var(--paper);font-size:55px;font-weight:900;letter-spacing:-3px;line-height:1.03;position:relative}.graphic-type em{color:#f5c4be}.graphic-type span{position:absolute;right:25px;bottom:20px;font-size:65px!important;font-weight:200}.studio{border-top:1px solid var(--line)}.studio-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:45px;align-items:start}.viewer-column{position:sticky;top:120px}.viewer{height:610px;position:relative;background:#e5e3dc;overflow:hidden;border:1px solid #dedbd3}.viewer-top{display:flex;justify-content:space-between;padding:24px;position:absolute;top:0;left:0;right:0;z-index:1;font-size:8px;letter-spacing:1.2px;pointer-events:none}.viewer-top i{margin-right:6px;background:#5a725a}#scene{position:absolute;inset:40px 0 85px;cursor:grab;touch-action:pan-y}#scene:active{cursor:grabbing}#scene canvas{display:block;width:100%;height:100%;touch-action:pan-y}.viewer-help{position:absolute;bottom:72px;left:0;right:0;text-align:center;font-size:7px;letter-spacing:1px;color:#74756c;pointer-events:none}.viewer-help span{padding:0 12px}.view-controls{display:flex;position:absolute;bottom:21px;left:50%;transform:translateX(-50%);padding:4px;background:var(--paper);border:1px solid var(--line)}.view-controls button{padding:10px 19px;font-size:10px}.view-controls .active{background:var(--ink);color:white}.zoom{position:absolute;bottom:25px;right:20px;display:flex;flex-direction:column;gap:5px}.zoom button{width:26px;height:26px;background:var(--paper);font-size:18px}.viewer-bottom{display:flex;justify-content:space-between;align-items:center;padding:18px 0;font-size:8px;letter-spacing:1px}.viewer-bottom button{font-size:8px;letter-spacing:1px;text-decoration:underline;text-underline-offset:4px}.model-note{font-size:10px;color:#787a71;line-height:1.7}#fallback{position:absolute;inset:55px 20px 95px;text-align:center}#fallback[hidden]{display:none}#flat-preview{height:82%;width:auto;max-width:100%;object-fit:contain}#fallback p{font-size:11px;color:#6a6a62}.editor-heading{display:flex;align-items:center;justify-content:space-between;padding:0 0 24px}.editor-heading .eyebrow{font-size:8px;margin-bottom:10px}.editor-heading h3{font-size:28px;font-weight:500;letter-spacing:-1px}.editor-heading button{font-size:8px;letter-spacing:1px;text-decoration:underline;text-underline-offset:4px}details{border-top:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;font-size:10px;letter-spacing:1.5px;padding:23px 0}summary::-webkit-details-marker{display:none}summary>span{font-size:9px;color:#85857a}summary b{margin-left:auto;font-weight:400;font-size:17px}.control-body{padding:0 0 25px}.swatches{display:flex;gap:13px;margin:4px 0 22px}.swatches button{width:30px;height:30px;background:var(--swatch);border:1px solid #0002;border-radius:50%}.swatches button.active{outline:1px solid #666;outline-offset:4px}.colour-inputs{display:flex;gap:25px}.colour-inputs label{display:flex;align-items:center;gap:15px;font-size:8px;letter-spacing:1px}input[type=color]{background:transparent;width:34px;height:28px;border:1px solid var(--line);padding:2px;cursor:pointer}.designs{display:flex;gap:7px;margin-top:20px}.designs button{padding:12px 5px;border:1px solid var(--line);flex:1;font-size:10px}.designs .active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.upload{border:1px dashed #aaa99e;min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;cursor:pointer;background:#e9e7e033;text-align:center;padding:15px}.upload.dragging{background:#e7ddcf;border-color:var(--red)}.upload-plus{font-size:27px;color:var(--red);line-height:1}.upload strong{font-size:12px;font-weight:500}.upload>span:last-of-type{font-size:9px;color:#777}.upload input,.editor-links input{position:absolute;width:1px;height:1px;opacity:0}.upload:focus-within{outline:2px solid var(--red);outline-offset:4px}.upload-status{font-size:9px;color:#72746a;line-height:1.8;margin-top:10px}.upload-status.error{color:#a41d2a}.art-file{display:flex;gap:12px;align-items:center;margin:18px 0}.art-file img{width:42px;height:42px;object-fit:contain;background:#e3e1da}.art-file span{font-size:10px;word-break:break-all}.art-file button{margin-left:auto;font-size:22px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.two-fields label{font-size:8px;letter-spacing:1px;display:flex;flex-direction:column;gap:10px}.two-fields select,.two-fields input:not([type=color]){height:42px;width:100%;border:1px solid var(--line);background:transparent;border-radius:0;padding:9px;font-size:12px}.range-label{display:block;font-size:8px;letter-spacing:1px;margin-top:15px}.range-label output{float:right;color:#74776b}.range-label input{display:block;width:100%;margin:13px 0 0;accent-color:var(--red);height:12px}.check{display:flex;align-items:center;gap:9px;font-size:11px;margin:13px 0}.check input{accent-color:var(--red)}.estimate{font-size:13px;margin:15px 0;line-height:1.6}.small-copy{font-size:10px;line-height:1.8;color:#76786f}.centred{text-align:center}.add{width:100%;margin-top:8px}.editor-links{display:flex;justify-content:space-between;margin:20px 0 15px;gap:12px}.editor-links button,.editor-links label{font-size:8px;letter-spacing:.8px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.editor-links label:focus-within{outline:2px solid var(--red)}.template-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;background:#e7e4db;align-items:center}.template-copy h2{font-size:60px;letter-spacing:-2px}.template-copy>p:not(.eyebrow){font-size:12px;line-height:1.9;max-width:380px;margin-top:25px}.template-copy .small-copy{font-size:10px!important}.template-actions{margin-top:27px;display:flex;align-items:flex-start;flex-direction:column;gap:22px}.template-actions a{font-size:9px;letter-spacing:1px;text-decoration:underline;text-underline-offset:5px}.panel-sheet{background:#f6f4ee;border:1px solid #d5d1c7;box-shadow:0 15px 35px #0001;transform:rotate(-3deg);padding:20px}.panel-sheet canvas{width:100%;height:auto;display:block}.panel-sheet>span{display:block;font-size:7px;text-align:center;letter-spacing:1px;color:#777;margin-top:8px}.team{background:#171816;color:var(--paper);position:relative;overflow:hidden;min-height:470px}.team h2{font-size:72px;letter-spacing:-3px;position:relative;z-index:1}.team h2 em{color:#adafa4}.team p:not(.eyebrow){font-size:12px;line-height:1.9;color:#adafa4;margin:25px 0;position:relative;z-index:1}.team .button{position:relative;z-index:1}.light{background:var(--paper);color:var(--ink)}.team-word{position:absolute;right:-20px;bottom:-30px;font-size:340px;letter-spacing:-35px;line-height:1;font-weight:900;color:#252722;pointer-events:none;transform:translateX(calc(var(--team-progress,0)*-40px))}footer{padding:35px 6%;display:flex;justify-content:space-between;align-items:center;gap:20px}footer>span{font-size:8px;letter-spacing:1.4px}footer>div{display:flex;gap:18px;font-size:9px}.js-motion .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.js-motion .reveal.visible{opacity:1;transform:translateY(0)}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);width:min(580px,94vw);max-height:90dvh;padding:28px}dialog::backdrop{background:#0008;backdrop-filter:blur(4px)}dialog header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}dialog h2{font-size:28px}.close{font-size:30px}dialog .button{width:100%;margin:18px 0}#reset-dialog p{font-size:13px;line-height:1.9;color:#73756a}.bag-item{display:grid;grid-template-columns:70px 1fr auto;gap:16px;align-items:center;border-top:1px solid var(--line);padding:18px 0}.bag-item img{width:70px;height:85px;object-fit:contain;background:#e4e0d6}.bag-item h3{font-size:13px;font-weight:500}.bag-item p{font-size:10px;line-height:1.8;color:#74766c;margin:8px 0}.bag-item button{font-size:9px;text-decoration:underline}.empty{font-size:13px;line-height:1.9;color:#74766c;padding:30px 0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:15px 24px;z-index:10;font-size:12px;max-width:90vw;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s}#toast.visible{opacity:1}@media(min-width:1600px){main{max-width:1600px;margin:auto}}@media(max-width:1050px){h1{font-size:80px;letter-spacing:-4px}.hero{min-height:600px}.hero-text{padding-top:45px}.studio-grid{gap:25px}.viewer{height:510px}.story-art,.graphic-type{height:260px}.graphic-type{font-size:44px;padding:25px}.story-card>div:last-child:not(.graphic-type){align-items:flex-start;flex-direction:column;gap:10px}.template-section{gap:30px}.template-copy h2{font-size:50px}.team-word{font-size:290px}}@media(max-width:760px){.topline{font-size:6px;letter-spacing:1px}.topline span{display:none}.site-header{height:78px;padding-inline:5%}.brand img{width:82px;height:43px}nav{gap:16px;font-size:10px}nav a:first-child{display:none}#open-bag{font-size:10px}#bag-count{margin-left:3px;width:23px;height:23px}.hero{grid-template-columns:1fr}.hero-text{padding:40px 6% 0}.hero h1{font-size:clamp(66px,15vw,100px);letter-spacing:-3px}.hero-description{font-size:12px;margin:25px 0}.hero-meta{margin-top:30px}.hero-visual{height:430px}.hero-garment{height:100%;width:auto;aspect-ratio:1}.hero-ring{width:120%;height:43%;border-width:35px}.hero-number{font-size:60px}.visual-caption{font-size:7px}.section{padding:48px 6%}.section-head{flex-direction:column;align-items:flex-start;gap:17px;margin-bottom:25px}h2{font-size:33px}.section-head>p{font-size:11px}.eyebrow{font-size:8px;letter-spacing:1.5px}.story-grid{grid-template-columns:1fr 1fr;gap:18px 12px}.story-art{height:215px}.story-card h3{font-size:12px}.story-card>div>span{font-size:7px}.artwork-card{grid-column:1/-1}.graphic-type{height:210px;font-size:52px;padding:25px}.studio-grid{grid-template-columns:1fr;gap:28px}.viewer-column{position:relative;top:auto}.viewer{height:470px}.viewer-help{font-size:6px}.viewer-top{padding:20px;font-size:7px}.viewer-bottom{font-size:7px}.view-controls button{padding:10px 16px}.zoom{right:12px}.editor-heading{padding-bottom:20px}.editor-heading h3{font-size:25px}.template-section{grid-template-columns:1fr;gap:35px}.template-copy h2{font-size:48px}.panel-sheet{transform:rotate(-2deg)}.team{min-height:480px}.team h2{font-size:61px}.team-word{font-size:215px;letter-spacing:-20px;bottom:-5px;right:-40px}.team .reveal{position:relative;z-index:1}.team p:not(.eyebrow){max-width:280px}.team .button{font-size:9px}footer{flex-wrap:wrap;padding:30px 6%}footer>span{font-size:7px}footer>div{width:100%;justify-content:space-between}#scene{touch-action:pan-y}.two-fields input:not([type=color]),.two-fields select{font-size:16px}}@media(max-width:360px){nav{gap:10px}.brand img{width:70px}.hero h1{font-size:64px}.hero-visual{height:360px}.viewer{height:415px}.viewer-help{letter-spacing:0}.view-controls button{padding:10px 12px}.story-art{height:170px}.editor-links button,.editor-links label{font-size:7px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee>div{animation:none}.hero-garment,.team-word{transform:none;will-change:auto}.js-motion .reveal{opacity:1;transform:none;transition:none}*{transition:none!important}}

#mobile-preview-jump{display:none}@media(max-width:760px){#mobile-preview-jump:not([hidden]){display:block;position:fixed;bottom:17px;right:17px;background:var(--ink);color:var(--paper);padding:14px 18px;font-size:9px;letter-spacing:1px;z-index:6;box-shadow:0 3px 15px #0003}}

.atlas-links{display:flex;gap:25px}.atlas-links button{padding:0;font-size:8px;letter-spacing:1px;text-decoration:underline;text-underline-offset:4px}

/* Position branding against the square garment asset, including on hover. */
.story-garment{position:relative;flex:none;width:min(100%,330px);aspect-ratio:1;transition:transform .5s}
.story-garment img{display:block;width:100%;height:auto}
.story-garment .story-mark{left:69%;right:auto;top:23%;width:10%;height:auto;aspect-ratio:2010/1040;transform:rotate(9deg);pointer-events:none}
@media(max-width:1050px){.story-garment{width:min(100%,260px)}}
@media(max-width:760px){.story-garment{width:min(100%,215px)}}
@media(max-width:360px){.story-garment{width:min(100%,170px)}}

/* Studio 004: independent destinations and a compact, staged editor. */
[hidden]{display:none!important}.page{min-height:calc(100dvh - 215px)}
nav a{position:relative;padding:10px 0}nav a::after{content:'';position:absolute;height:2px;background:var(--red);bottom:0;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .25s}nav a:hover::after,nav a[aria-current]::after{transform:scaleX(1)}nav a[aria-current]{color:var(--red)}
.site-header{z-index:8}.section{padding-top:40px;padding-bottom:40px}.section-head{margin-bottom:26px}.hero{min-height:calc(100dvh - 230px)}
.hero-garment{animation:garment-float 7s ease-in-out infinite}.hero-ring{animation:ring-breathe 12s ease-in-out infinite}
@keyframes garment-float{0%,100%{transform:translateY(-8px) rotate(-8deg)}50%{transform:translateY(8px) rotate(-3deg)}}
@keyframes ring-breathe{50%{transform:rotate(-38deg) scale(1.07)}}
.button{transition:background .2s,transform .25s,box-shadow .25s}.button:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0002}.button:active{transform:translateY(0)}.button span{transition:transform .25s}.button:hover span{transform:translate(3px,-3px)}
.story-card{transition:transform .3s}.story-card:hover{transform:translateY(-6px)}.story-art{height:390px}.story-garment{width:min(100%,390px)}
.studio-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:38px}.viewer-column{position:relative;top:0}.viewer{height:clamp(460px,61dvh,700px);background:radial-gradient(ellipse at 45% 35%,#f1eee6,#ddd9cf)}
#scene,#scene canvas{touch-action:none}.editor{min-width:0}.editor-steps{display:flex;gap:4px;margin-bottom:24px;border-bottom:1px solid var(--line)}.editor-steps button{flex:1;padding:15px 2px;font-size:10px;border-bottom:2px solid transparent;white-space:nowrap}.editor-steps button[aria-selected=true]{border-color:var(--red);color:var(--red)}
#editor details{border-top:0;min-height:290px}#editor details summary{pointer-events:none;padding-top:4px;font-size:9px}#editor details summary b{display:none}.step-controls{display:flex;justify-content:space-between;align-items:center;margin:20px 0;font-size:9px;letter-spacing:1px}.step-controls button{font-size:9px;padding:10px 0}.step-controls span{color:#85857a}
#editor .control-body{padding-bottom:0}.editor-heading{padding-bottom:20px}.editor .add{min-height:48px}.editor-links{margin-block:16px}body[data-page=studio] footer{border-top:1px solid var(--line)}
.template-section{min-height:calc(100dvh - 215px)}.team{min-height:calc(100dvh - 215px);display:flex;align-items:center}.team h2{font-size:clamp(60px,8vw,120px)}.team-word{animation:team-drift 9s ease-in-out infinite}.panel-sheet{transition:transform .6s}.panel-sheet:hover{transform:rotate(0)}@keyframes team-drift{50%{transform:translateX(-25px)}}
dialog[open]{animation:dialog-in .25s ease-out}@keyframes dialog-in{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}
footer>a:not(.brand){font-size:9px}.viewer-top i{box-shadow:0 0 0 4px #5a725a15}.swatches button{transition:transform .2s}.swatches button:hover{transform:scale(1.15)}
@media(min-width:1100px){body[data-page=studio] .section-head h2{font-size:34px}body[data-page=studio] .editor{max-height:calc(100dvh - 220px);overflow:auto;padding:0 8px 8px 2px;scrollbar-width:thin;scrollbar-color:#c9c5ba transparent}}
@media(max-width:760px){.site-header{height:auto;min-height:105px;display:grid;grid-template-columns:1fr auto;padding:10px 5% 0;gap:3px 14px}.site-header nav{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:10px;width:100%;font-size:10px;overflow:auto}.site-header nav a:first-child{display:block}.site-header #open-bag{grid-column:2;grid-row:1}.site-header .brand img{width:75px;height:38px}nav i{display:none}.section{padding:30px 5%}.section-head{gap:12px;margin-bottom:22px}.section-head>p{font-size:10px}.studio-grid{grid-template-columns:1fr;gap:20px}.viewer{height:390px}.viewer-top{padding:16px}.viewer-column{position:relative}.viewer-bottom{padding:12px 0}.viewer-help{font-size:6px}.editor-steps{margin-bottom:18px;position:sticky;top:104px;background:var(--paper);z-index:3}.editor-steps button{padding:16px 3px}#editor details{min-height:230px}.editor-heading{display:none}.story-grid{grid-template-columns:1fr}.story-art{height:320px}.story-garment{width:320px}.artwork-card{grid-column:auto}.graphic-type{height:260px}.hero-text{padding-top:30px}.hero h1{font-size:65px}.hero-visual{height:350px}.hero-description{margin:20px 0}.hero-meta{margin-top:24px}.hero-garment{width:350px;height:350px}.team h2{font-size:67px}.team-word{font-size:220px}footer{gap:18px}.view-controls button{padding:10px 14px}.topline{padding-block:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-garment{transform:rotate(-5deg)}}
