/* Alain Studio: blank Miami fits on a white photographic stage. */
[data-work-page="shop"]{color-scheme:light;background:#fff}
[data-work-page="shop"] main{display:block;overflow:visible}
[data-work-page="shop"] .portfolio-page{display:block;padding:0;background:#fff;color:#171c1c}
[data-work-page="shop"] :is(.portfolio-header,.portfolio-intro,.floating-contact){display:none}
[data-work-page="shop"] .social-links,[data-work-page="shop"] .music{color:#fff;mix-blend-mode:difference}
[data-work-page="shop"] .music{--volume-brightness:1}
[data-work-page="shop"] .music-status{color:#fff}
#shop-gallery{--shop-teal:#1bb9b2;position:relative;width:100%;max-width:none;margin:0;background:#fff;color:#171c1c;font-family:Arial,Helvetica,sans-serif}
#shop-gallery *,#shop-gallery *::before,#shop-gallery *::after{box-sizing:border-box}
#shop-gallery :is(button,a){-webkit-tap-highlight-color:transparent}
#shop-gallery a{color:inherit;text-decoration:none}
#shop-gallery button{-webkit-appearance:none;font-family:inherit;cursor:pointer}
#shop-gallery :is(button,a,input):focus-visible{outline:2px solid #148b86;outline-offset:5px}
.shop-topbar{position:absolute;inset:0 0 auto;z-index:10;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:22px 5vw;color:#171c1c}
.shop-brand{line-height:0}.shop-brand img{display:block;width:104px;height:auto}
.shop-topbar nav{display:flex;justify-content:flex-end;align-items:center;gap:28px}
.shop-topbar a:not(.shop-brand),.shop-bag-toggle{width:fit-content;min-height:44px;display:inline-flex;align-items:center;padding:8px 0;font:10px/1.4 monospace;letter-spacing:.13em}
.shop-bag-toggle{border:0;background:transparent;color:inherit;white-space:nowrap}
.shop-topbar a:hover,.shop-bag-toggle:hover{color:#148b86}
.shop-story{position:relative;height:250svh}
.shop-stage{position:sticky;top:0;height:100svh;min-height:700px;overflow:hidden;isolation:isolate;background:#fff;}
.shop-stage::before{content:none}
.shop-story-copy{position:absolute;z-index:4;left:5vw;top:42%;width:25%;pointer-events:none}
.shop-story-copy a{pointer-events:auto}.shop-kicker{margin:0 0 20px;color:#4d6966;font:10px/1.6 monospace;letter-spacing:.15em;text-transform:uppercase}
.shop-display{margin:0;font:750 clamp(35px,4.4vw,72px)/.93 Arial,Helvetica,sans-serif;letter-spacing:-.065em;text-transform:uppercase}
.shop-story-copy h1{font-size:clamp(32px,3.3vw,56px);outline:0}
.shop-story-copy p:last-of-type{max-width:180px;margin:18px 0 0;color:#646d69;font-size:12px;line-height:1.6}
.shop-text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:16px;border-bottom:1px solid #171c1c;font:10px/1.4 monospace;letter-spacing:.12em}
.shop-model-picker{display:flex;align-items:center;gap:4px}
.shop-model-picker>span{margin-right:12px;font:9px/1.5 monospace;letter-spacing:.12em;color:#63706e}
.shop-model-picker button{min-height:38px;padding:0 16px;border:1px solid transparent;border-radius:2px;background:transparent;color:inherit;font:10px/1.5 monospace!important;letter-spacing:.12em}
.shop-model-picker button[aria-pressed="true"]{border-color:#171c1c}
.shop-stage>.shop-model-picker{position:absolute;z-index:5;top:115px;right:5vw}
.shop-model-space{position:absolute;z-index:3;left:50%;top:150px;bottom:auto;height:calc(100% - 285px);width:auto;aspect-ratio:2/3;transform:translateX(-50%);touch-action:pan-y;cursor:grab}
.shop-model-space:active{cursor:grabbing}
.shop-model-frames{position:absolute;inset:0;mask-image:linear-gradient(#000 92%,transparent);-webkit-mask-image:linear-gradient(#000 92%,transparent)}
.shop-model-frame{position:absolute;inset:0;background-repeat:no-repeat;background-position:center;background-size:contain;opacity:0;transition:opacity .5s .08s}
.shop-model-frame[data-active="true"]{opacity:1}
.shop-ghost{position:absolute;z-index:2;top:49%;left:50%;width:min(24vw,32svh);aspect-ratio:1;border:0;padding:0;background:transparent;opacity:.23;transition:opacity .3s}
.shop-ghost:hover{opacity:.6}.shop-ghost-prev{transform:translate(-150%,-50%)}.shop-ghost-next{transform:translate(50%,-50%)}
.shop-tee{display:block;width:100%;height:100%;background-image:url('/shop/miami/blank-styles.png');background-size:200% 200%;background-repeat:no-repeat}
.shop-flying-tee{position:absolute;pointer-events:none;z-index:5;width:112%;height:auto;aspect-ratio:1;top:22%;left:-6%;opacity:0}
.shop-selector{position:absolute;z-index:5;left:50%;bottom:38px;display:grid;justify-items:center;gap:15px;transform:translateX(-50%)}
.shop-selector-line{display:flex;align-items:center;gap:24px}
.shop-step{min-width:44px;min-height:44px;display:grid;place-items:center;padding:8px;border:1px solid #aeb8b4;border-radius:50%;background:transparent;color:#171c1c}
.shop-step svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.3}
.shop-step:hover{border-color:#148b86;color:#148b86}
.shop-selector-name{min-width:120px;margin:0;text-align:center;font:10px/1.5 monospace;letter-spacing:.12em;white-space:nowrap}
.shop-selector-name span:first-child{color:#7a8683}
.shop-stage-note{position:absolute;z-index:4;bottom:44px;left:5vw;font:9px/1.6 monospace;letter-spacing:.13em;color:#5b6967}
.shop-stage-edition{position:absolute;bottom:44px;right:5vw;font:9px/1.6 monospace;letter-spacing:.13em;text-align:right}
.shop-collection{padding:85px 5vw 100px;background:#fff;border-top:1px solid #171c1c15;scroll-margin-top:30px}
.shop-collection-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:36px}
.shop-collection-heading h2{font-size:clamp(32px,4vw,62px)}
.shop-collection-heading>p{max-width:245px;margin:0 0 4px;font-size:13px;line-height:1.65;color:#596663}
.shop-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1000px;margin:auto}
.shop-card{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left}
.shop-card-image{position:relative;display:block;aspect-ratio:3/3.7;overflow:hidden;background:#fff}
.shop-card:nth-child(2) .shop-card-image{background:#fff}.shop-card:nth-child(3) .shop-card-image{background:#fff}
.shop-card-number{position:absolute;z-index:1;left:20px;top:20px;font:10px/1.5 monospace;color:#58655f}
.shop-card-model{display:block;position:absolute;inset:0;width:100%;height:100%;background-size:contain;background-position:center;background-repeat:no-repeat;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.shop-card:hover .shop-card-model{transform:scale(1.025)}
.shop-card-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 0;font:11px/1.4 monospace;letter-spacing:.06em}
.shop-card-caption span:last-child{color:#69736e;font-size:9px}
.shop-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:7vw;align-items:center;padding:100px 8vw;color:#171c1c;background:#fff;scroll-margin-top:24px}
.shop-product-media{min-width:0}.shop-product-photo{position:relative;aspect-ratio:4/5;overflow:hidden;background:#fff}
.shop-product-person{position:absolute;inset:0;background-size:contain;background-position:center;background-repeat:no-repeat}
.shop-product-media .shop-model-picker{justify-content:center;margin-top:18px}.shop-product-media .shop-model-picker>span{color:#65706d}
.shop-product-media .shop-model-picker button[aria-pressed="true"]{border-color:#178e85}
.shop-product-copy{min-width:0}.shop-product-copy .shop-kicker{color:#178e85}.shop-product-copy h2{font-size:clamp(37px,4.3vw,70px);outline:0;white-space:pre-line}
.shop-price{display:flex;align-items:baseline;gap:12px;margin:24px 0 20px;font-size:30px}
.shop-price span{color:#65706d;font:9px/1.5 monospace;letter-spacing:.1em;text-transform:uppercase}
.shop-edition{padding:0 0 22px;border-bottom:1px solid #dce1dd;font:10px/1.6 monospace;letter-spacing:.06em;color:#65706d}
.shop-product-color{margin:25px 0}.shop-product-color p{font:10px/1.5 monospace;letter-spacing:.1em}
.shop-product-color .shop-swatches{justify-content:flex-start}.shop-product-color .shop-swatch[aria-pressed="true"]{border-color:#67d7ce}
.shop-sizes{margin:24px 0 0;padding:0;border:0}.shop-sizes legend{margin-bottom:14px;padding:0;font:10px/1.5 monospace;letter-spacing:.15em}
.shop-size-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.shop-size{position:relative;cursor:pointer}
.shop-size input{position:absolute;opacity:0;width:1px;height:1px}.shop-size span{display:grid;place-items:center;min-height:48px;border:1px solid #c7ceca;font:12px/1 monospace}
.shop-size input:checked+span{background:#c2eae2;color:#101a1a;border-color:#c2eae2}.shop-size input:focus-visible+span{outline:2px solid #178e85;outline-offset:3px}
.shop-cta{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:18px 25px;color:#101a1a;background:#6bd7ca;border:1px solid #6bd7ca;font:700 10px/1.4 monospace!important;letter-spacing:.15em;text-transform:uppercase}
.shop-cta:hover{background:#9ae5d9}.shop-add{width:100%;margin-top:14px}
.shop-preview-note{margin:14px 0 0;color:#65706d;font:10px/1.7 monospace}.shop-product-description{margin:26px 0 0;padding-top:22px;border-top:1px solid #dce1dd;font-size:13px;line-height:1.8;color:#46544f}
.shop-cart-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.shop-footer{padding:48px 5vw 85px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;border-top:1px solid #dce1dd;background:#fff;color:#56645f;font:9px/1.8 monospace;letter-spacing:.12em}
.shop-footer img{width:100px;height:auto}.shop-footer p{margin:0}
.shop-bag{position:fixed;inset:0 0 0 auto;margin:0;padding:28px;width:min(470px,100vw);max-width:100vw;height:100%;max-height:100%;border:0;border-left:1px solid #365251;color:#171c1c;background:#fff;font-family:Arial,Helvetica,sans-serif;overflow-y:auto}
.shop-bag::backdrop{background:#000a;backdrop-filter:blur(5px)}
.shop-bag-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:25px;border-bottom:1px solid #dce1dd}
.shop-bag h2{margin:0;font-size:26px;letter-spacing:-.04em}.shop-bag-close{display:grid;place-items:center;width:44px;height:44px;background:none;border:1px solid #b9c6bf;color:#171c1c;font-size:24px!important}
.shop-bag-empty{padding:40px 0;color:#56645f;font-size:14px;line-height:1.7}.shop-bag-item{display:grid;grid-template-columns:76px 1fr;gap:18px;padding:25px 0;border-bottom:1px solid #dce1dd}
.shop-bag-thumb{aspect-ratio:2/3;background-size:contain;background-position:center;background-repeat:no-repeat}
.shop-bag-item h3{font-size:15px;margin:0 0 8px}.shop-bag-item p{margin:0 0 8px;color:#56645f;font:10px/1.5 monospace}
.shop-bag-qty{display:flex;align-items:center;gap:12px;margin:12px 0 0}.shop-bag-qty button{min-width:36px;min-height:36px;background:none;color:#171c1c;border:1px solid #557171}
.shop-bag-qty button:disabled{opacity:.35;cursor:default}.shop-bag-remove{color:#56645f;background:none;border:0;padding:12px 0 0;text-decoration:underline;font-size:11px!important}
.shop-bag-total{display:flex;justify-content:space-between;margin:28px 0 0;font-size:18px}.shop-bag-checkout{display:block;width:100%;padding:20px;margin-top:25px;background:#edf1ee;border:1px solid #bfcfc7;color:#52675e;font:10px/1.4 monospace!important;letter-spacing:.1em;cursor:not-allowed!important}
.shop-bag-note{color:#56645f;font-size:12px;line-height:1.8}.shop-bag .shop-notify{display:inline-block;color:#178e85!important;margin-top:12px;font-size:13px;text-decoration:underline!important}body.shop-bag-open{overflow:hidden}
@media(max-width:800px){
 .shop-topbar{padding:17px 24px;gap:12px}.shop-brand img{width:83px}.shop-topbar nav{gap:15px}.shop-topbar a:not(.shop-brand),.shop-bag-toggle{font-size:9px;letter-spacing:.04em}.shop-topbar .shop-collection-link{display:none}
 .shop-story{height:220svh}.shop-stage{min-height:700px}.shop-story-copy{top:115px;left:24px;width:48%}.shop-story-copy .shop-kicker{margin-bottom:10px;font-size:8px}.shop-story-copy h1{font-size:clamp(28px,7.5vw,46px)}.shop-story-copy h1 br:first-of-type{display:none}.shop-story-copy p:last-of-type{display:none}.shop-story-copy .shop-text-link{font-size:9px;margin-top:8px}
 .shop-stage>.shop-model-picker{top:121px;right:20px;gap:0;flex-wrap:wrap;width:120px;justify-content:flex-end}.shop-stage>.shop-model-picker>span{width:100%;margin:0 0 8px;text-align:right;font-size:8px}.shop-model-picker button{min-height:38px;padding:0 11px;font-size:9px!important}
 .shop-model-space{top:210px;height:calc(100% - 335px);width:auto;bottom:auto;aspect-ratio:2/3}.shop-ghost{width:45vw;top:57%}.shop-ghost-prev{transform:translate(-155%,-50%)}.shop-ghost-next{transform:translate(55%,-50%)}
 .shop-selector{bottom:45px;gap:3px}.shop-selector-line{gap:20px}.shop-selector-name{font-size:9px}.shop-stage-note{bottom:18px;left:24px;font-size:7px}.shop-stage-edition{bottom:18px;right:24px;font-size:7px}
 .shop-collection{padding:64px 24px}.shop-collection-heading{display:block;margin-bottom:28px}.shop-collection-heading h2{font-size:clamp(34px,8.6vw,58px)}.shop-collection-heading>p{margin:18px 0 0;max-width:300px;font-size:12px}.shop-cards{display:flex;overflow-x:auto;gap:14px;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:#4b8c80 transparent}.shop-card{flex:0 0 80%;scroll-snap-align:start}.shop-card-image{aspect-ratio:3/3.8}.shop-card-caption{font-size:10px}
 .shop-product{grid-template-columns:1fr;gap:40px;padding:55px 24px 70px}.shop-product-media,.shop-product-copy{width:min(100%,520px);margin:auto}.shop-product-copy h2{font-size:45px}.shop-footer{padding:40px 24px 95px;gap:25px}
}
@media(max-width:380px){.shop-story-copy{left:20px;width:46%}.shop-story-copy h1{font-size:26px}.shop-stage>.shop-model-picker{right:17px}}
@media(max-height:650px) and (min-width:801px){.shop-stage>.shop-model-picker{top:100px}}
@media(prefers-reduced-motion:reduce){.shop-story{height:auto}.shop-stage{position:relative}#shop-gallery *,#shop-gallery *::before{transition:none!important;scroll-behavior:auto!important}}

/* Individual model photographs preserve complete sleeves and proportions. */
.shop-model-frame[data-model-frame="0"],.shop-card:first-child .shop-card-model,.shop-product-person{background-image:url('/shop/miami/guy-classic.png')}
.shop-model-frame[data-model-frame="1"],.shop-card:nth-child(2) .shop-card-model{background-image:url('/shop/miami/guy-oversized.png')}
.shop-tee[data-tee-look="guy-classic"]{background-position:0% 0%}
.shop-tee[data-tee-look="guy-oversized"]{background-position:100% 0%}
.shop-tee[data-tee-look="girl-vneck"]{background-position:0% 100%}
.shop-tee[data-tee-look="girl-cropped"]{background-position:100% 100%}
.shop-style-options{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}
.shop-style-option{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:10px 13px;border:1px solid #d2d9d4;background:#fff;color:#46544f;font:9px/1.4 monospace!important;letter-spacing:.06em}
.shop-style-option i{width:12px;height:12px;flex:none;border:1px solid #0002;border-radius:50%;background:var(--swatch,#bdddea)}
.shop-style-option[aria-pressed="true"]{border-color:#178e85;color:#105e58;background:#edf9f5}
.shop-product-color .shop-style-options{justify-content:flex-start}
.shop-topbar{min-height:98px;background:#fff}
.shop-model-picker button{min-height:44px}
@media(max-width:800px){.shop-topbar{min-height:88px}.shop-style-option{min-height:38px;padding:9px 10px;font-size:8px!important}.shop-selector{gap:3px;bottom:38px}.shop-stage-note,.shop-stage-edition{bottom:11px}.shop-card{flex-basis:85%}}

/* Customer photo preview. Uploaded photos are never sent to a server. */
.shop-tryon-trigger{display:block;width:100%;margin:22px 0 0;padding:18px;border:1px solid #178e85;background:#edf9f5;color:#105e58;font:700 11px/1.5 monospace!important;letter-spacing:.12em}
.shop-tryon-trigger:hover{background:#d9f4ee}.shop-photo-note{margin:10px 0 0;text-align:center;color:#65706d;font-size:12px;line-height:1.6}
.shop-tryon{position:fixed;inset:0;margin:auto;width:min(1000px,calc(100vw - 32px));max-width:none;max-height:calc(100svh - 32px);padding:30px;border:1px solid #dce1dd;background:#fff;color:#171c1c;overflow:auto;overscroll-behavior:contain;font-family:Arial,Helvetica,sans-serif}
.shop-tryon::backdrop{background:#101a1aa6;backdrop-filter:blur(6px)}body.shop-tryon-open{overflow:hidden}
.shop-tryon [hidden]{display:none!important}.shop-tryon-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.shop-tryon-header .shop-kicker{margin:0 0 8px}.shop-tryon-header h2{margin:0;font-size:clamp(26px,3vw,40px);letter-spacing:-.05em}
.shop-tryon-close{flex:none;width:44px;height:44px;border:1px solid #c7ceca;background:#fff;color:#171c1c;font-size:28px!important}
.shop-tryon-description{margin:16px 0 24px;color:#65706d;font-size:13px;line-height:1.6}
.shop-tryon-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:30px;align-items:start}
.shop-tryon-stage{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;border:1px solid #dce1dd;background:#fff;isolation:isolate}
.shop-tryon-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;color:#65706d}
.shop-tryon-empty>span{color:#178e85;font-size:45px;font-weight:300}.shop-tryon-empty p{font:12px/1.5 monospace;letter-spacing:.12em}.shop-tryon-empty small{max-width:250px;font-size:13px;line-height:1.7}
.shop-tryon-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}
.shop-tryon-shirt{position:absolute;z-index:1;left:50%;top:46%;width:65%;aspect-ratio:1;transform:translate(-50%,-50%);padding:0;border:0;background:transparent;touch-action:none;cursor:grab;user-select:none}
.shop-tryon-shirt:active{cursor:grabbing}.shop-tryon-shirt:focus-visible{outline:1px dashed #178e85!important;outline-offset:2px!important}
.shop-tryon-shirt .shop-tee{pointer-events:none}.shop-tryon-controls{min-width:0}.shop-photo-upload{width:100%}
.shop-photo-privacy{font-size:12px;line-height:1.7;color:#65706d;margin:12px 0}.shop-photo-status{min-height:1.7em;color:#105e58;font-size:12px;line-height:1.7}.shop-photo-status[data-error="true"]{color:#a22b35}
.shop-tryon-style-label{display:block;margin:24px 0 10px;font:10px/1.5 monospace;letter-spacing:.12em}
#shop-photo-style{width:100%;min-height:48px;border:1px solid #c7ceca;border-radius:0;background:#fff;padding:12px;color:#171c1c;font:14px/1.5 Arial,Helvetica,sans-serif}
.shop-tryon-adjustments{margin:30px 0 0;padding:0;border:0}.shop-tryon-adjustments legend{margin-bottom:20px;font:10px/1.5 monospace;letter-spacing:.1em}
.shop-tryon-adjustments:disabled{opacity:.4}.shop-tryon-adjustments>label{display:block;margin-bottom:12px}.shop-tryon-adjustments label>span{display:flex;justify-content:space-between;font-size:13px}
.shop-tryon-adjustments input[type="range"]{width:100%;height:36px;margin:2px 0;accent-color:#178e85;cursor:pointer}
.shop-tryon-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.shop-tryon-actions button{min-height:44px;padding:10px 12px;border:1px solid #c7ceca;background:#fff;color:#46544f;font:10px/1.5 monospace!important}
@media(max-width:650px){.shop-tryon{width:100%;max-height:100svh;height:100svh;padding:22px;border:0}.shop-tryon-layout{grid-template-columns:1fr;gap:20px}.shop-tryon-stage{max-width:350px;margin:auto}.shop-tryon-description{margin-bottom:18px}.shop-tryon-controls{padding-bottom:env(safe-area-inset-bottom,16px)}}
