/* Matreshka: a fashion workroom within the portfolio's cut-paper shell. */
.hub-preview{display:none;position:absolute;inset:0;z-index:4;overflow:hidden;background:#131d1b;color:#f0f3eb;text-align:left;pointer-events:none}
.direction-media.is-hub-preview{container-type:inline-size;background:#131d1b;clip-path:polygon(0 3%,96% 0,100% 89%,91% 100%,5% 96%,0 12%);border-radius:0}
.direction-media.is-hub-preview:before{display:none}
.direction-media.is-hub-preview>.media-base-image,.direction-media.is-hub-preview>.media-caption{opacity:0}
.is-hub-preview .hub-preview{display:block}
.hub-preview .hp-photo{position:absolute!important;inset:0 0 12% auto!important;width:51%!important;height:88%!important;object-fit:cover!important;object-position:48% 25%!important;filter:none!important;transform:none!important;padding:0!important;opacity:1!important;clip-path:none!important}
.hp-brand{position:absolute;left:7%;top:12%;font:600 2.7cqw/1 var(--display);letter-spacing:.04em;color:#a8eac9}
.hp-brand small{display:block;font:1.1cqw/1.5 var(--mono);letter-spacing:.11em;margin-top:1.2cqw}
.hp-title{position:absolute;top:30%;left:6%;font:700 15cqw/.9 var(--display);letter-spacing:-.07em}
.hp-title span{display:block;font:400 2.6cqw/1.3 var(--display);letter-spacing:-.02em;margin-top:3.2cqw}
.hp-order{position:absolute;left:7%;bottom:21%;font:1cqw/1.6 var(--mono);color:#9ed8bd;letter-spacing:.05em}
.hp-order i{display:inline-block;width:5px;height:5px;background:#a8eac9;border-radius:50%;margin-right:5px}
.hp-order b{display:block;color:#748b80;font-weight:400;margin-top:6px}
.hp-bottom{position:absolute;inset:auto 0 0;height:13%;background:#b0efd0;color:#10281f;display:flex;align-items:center;justify-content:space-between;padding:0 8%;font:1.5cqw/1 var(--mono);letter-spacing:.08em}
.hp-bottom b{font-size:3.6cqw;transition:transform .3s}
.is-hub-preview:hover .hp-bottom b{transform:translate(4px,-3px)}
.is-hub-preview.is-changing .hub-preview{opacity:.15}
.case-drawer.is-hub,.case-drawer.is-hub[data-side=right]{inset:0 auto 0 0;width:min(1060px,58vw);max-width:none;height:100dvh;max-height:100dvh;border:0;background:#121c19;color:#edf2e9;clip-path:polygon(0 0,95% 0,100% 9%,97% 28%,100% 49%,96% 72%,99% 100%,0 100%);scrollbar-gutter:auto;scrollbar-color:#81b59c #121c19;overscroll-behavior:contain}
.case-drawer.is-hub:before{display:none}
.case-drawer.is-hub::backdrop{background:#14221d60;backdrop-filter:grayscale(.7) blur(4px)}
.case-drawer.is-hub .drawer-topbar{position:sticky;top:0;height:58px;min-height:58px;padding:0 8% 0 5%;background:#131d1b;color:#e8f2e9;border-top:3px solid #a8eac9;box-shadow:none;z-index:20}
.case-drawer.is-hub .drawer-topbar:after{display:none}
.case-drawer.is-hub .drawer-topbar>p b,.case-drawer.is-hub .drawer-close span{color:#a8eac9}
.case-drawer.is-hub .drawer-close{border-radius:50%;border-color:#81938b;background:transparent;transform:rotate(-3deg)}
.hub-case{container-type:inline-size;--hc-mint:#a8eac9;--hc-ink:#15251f;background:#f1f1e9;color:var(--hc-ink);overflow:hidden;font-family:var(--display);margin:0}
.hub-case[hidden]{display:none!important}
.hub-case *{box-sizing:border-box}
.hub-case :is(h2,h3,h4,p,figure,dl,dd){margin:0}
.hub-case img{display:block;width:100%;max-width:100%;object-fit:cover}
.hub-case button,.hub-case a{touch-action:manipulation}
.hub-case button:focus-visible,.hub-case a:focus-visible,.hub-case textarea:focus-visible,.hub-case [tabindex]:focus-visible{outline:3px solid #39ae7e;outline-offset:4px}
.hub-case button{cursor:pointer;font-family:inherit}
.hub-case h3{font-size:clamp(30px,5.5cqw,57px);line-height:1.04;letter-spacing:-.05em;font-weight:650}
.hub-case p{font-size:clamp(14px,1.9cqw,19px);line-height:1.55;color:#5f6d64;max-width:65ch}
.hc-label{display:block;font:10px/1.6 var(--mono);letter-spacing:.11em;color:#497961;text-transform:uppercase}
.hc-section{padding:7cqw 7cqw 7cqw 5cqw}
.hc-section>.hc-label,.hc-section-heading>.hc-label{margin-bottom:2.5cqw}
.hc-section>p,.hc-section-heading>p{margin-top:2.5cqw}
.hc-hero{display:grid;grid-template-columns:49% 51%;background:#131d1b;color:#f1f3e9;min-height:490px;height:min(690px,calc(100svh - 58px));max-height:850px}
.hc-hero-copy{padding:5cqw 2cqw 4cqw 5cqw;display:flex;flex-direction:column;position:relative;z-index:1}
.hc-hero .hc-label{font-size:clamp(8px,1.1cqw,11px);color:#a8eac9}
.hc-hero h2{font:650 8.2cqw/.95 var(--display);letter-spacing:-.06em;margin:5cqw 0 3cqw}
.hc-hero h2 em{display:block;font-style:normal;font-size:15.5cqw;line-height:.95;color:#a8eac9}
.hc-hero p{font-size:clamp(17px,2.6cqw,27px);color:#eef1e9;line-height:1.2;letter-spacing:-.03em}
.hc-link{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #73867b;text-decoration:none;color:#b5dbbf;padding:14px 0;margin-top:3cqw;font:11px/1.4 var(--mono);max-width:220px}
.hc-link span{transition:transform .2s}
.hc-link:hover span{transform:translate(3px,-3px)}
.hc-hero-note{display:block;margin-top:auto;padding-top:25px;font:8px/1.8 var(--mono);letter-spacing:.07em;color:#8d9e92}
.hc-hero-photo{position:relative;overflow:hidden}
.hc-hero-photo>img{height:100%;object-position:48% 32%}
.hc-hero-photo figcaption{position:absolute;left:3cqw;bottom:4cqw;right:6cqw;padding:10px 12px;background:#10231dd9;color:#b9e7ce;font:8px/1.5 var(--mono);letter-spacing:.05em}
.hc-status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#a8eac9;margin-right:7px}
.is-hub[open] .hc-hero-copy{animation:hc-arrive .65s ease both}
.hc-two-copy{display:grid;grid-template-columns:1fr 1fr;gap:4cqw;margin-top:3cqw}
.hc-service-line{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #b9c8bd;margin-top:4cqw;padding-top:2.5cqw;font-size:clamp(12px,1.55cqw,16px)}
.hc-service-line strong{font-weight:600;color:#236747}
.hc-service-line i{font-style:normal;color:#69977d}
.hc-workflow{background:#e2e8df}
.hc-workbench{margin-top:4cqw;background:#111c19;border:1px solid #536359;color:#e1eee4;box-shadow:0 20px 30px #18312512}
.hc-workbar{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:15px 20px;border-bottom:1px solid #37463e;font:9px/1.4 var(--mono);color:#a2b5a7}
.hc-workbar b{color:#a8eac9;font-size:14px;margin-left:14px}
.hc-stage-tabs{display:flex;border-bottom:1px solid #37463e}
.hc-stage-tabs button{width:25%;padding:18px 8px;border:0;border-right:1px solid #37463e;background:#18261f;color:#849d8f;font:10px/1.4 var(--mono);transition:background .2s,color .2s}
.hc-stage-tabs button span{margin-left:8px}
.hc-stage-tabs button[aria-selected=true]{background:#a8eac9;color:#152a20}
.hc-work-panel{display:grid;grid-template-columns:57% 43%;min-height:340px}
.hc-work-visual{display:flex;gap:3px;background:#dfe1df;height:clamp(380px,55cqw,490px);min-height:0;overflow:hidden;align-items:stretch}
.hc-work-visual img{width:50%;min-width:0;object-fit:cover;object-position:center;height:100%;max-height:490px;animation:hc-arrive .4s ease}
.hc-work-visual img:only-child{width:100%;object-fit:contain}
.hc-work-visual.is-casting{display:grid;grid-template-columns:1fr;grid-template-rows:55% 45%;gap:3px}
.hc-work-visual.is-casting img{width:100%;height:100%;object-position:center 40%;max-height:none}
.hc-work-visual.is-final img{object-position:48% 30%}
.hc-work-copy{padding:3cqw 2.5cqw;display:flex;flex-direction:column}
.hc-work-copy .hc-label{color:#9bd1b4;font-size:8px}
.hc-work-copy h4{font-size:clamp(21px,2.7cqw,29px);line-height:1.12;letter-spacing:-.035em;margin:17px 0}
.hc-work-copy p{font-size:clamp(12px,1.45cqw,15px);line-height:1.6;color:#a3b6a9}
.hc-work-meta{margin:24px 0;display:flex;flex-direction:column;gap:9px;font:9px/1.5 var(--mono);color:#b5cabc}
.hc-work-meta span{padding-bottom:8px;border-bottom:1px solid #3b4e43}
.hc-work-meta span:before{content:'↳';color:#a8eac9;margin-right:8px}
.hc-demo-note{font:8px/1.6 var(--mono);color:#94a79a;margin-top:auto}
.hc-direction{background:#15251f;color:#eef2e8;padding-bottom:4cqw}
.hc-direction .hc-label{color:#a8eac9}
.hc-direction .hc-section{padding-bottom:3cqw}
.hc-direction p{color:#a5b7a9;margin-top:2.5cqw;max-width:59ch}
.hc-location-switch{display:flex;margin:0 7cqw 3cqw 5cqw;border-bottom:1px solid #627768}
.hc-location-switch button{padding:14px 20px;border:0;background:transparent;color:#a6baac;font:11px/1.4 var(--mono)}
.hc-location-switch button[aria-pressed=true]{color:#15251f;background:#a8eac9}
.hc-direction-photo{position:relative;height:85cqw;max-height:850px;overflow:hidden;background:#283b32}
.hc-direction-photo>img{width:72%;height:100%;margin-left:auto;object-fit:contain;object-position:center;animation:hc-arrive .4s ease}
.hc-location-inset{position:absolute;top:3cqw;left:5cqw;width:24%;background:#13251ff0;padding:5px;color:#d1e8d9}
.hc-location-inset img{aspect-ratio:1.7;object-fit:cover}
.hc-location-inset span{display:block;padding:9px 5px 4px;font:8px/1.5 var(--mono)}
.hc-photo-stamp{position:absolute;bottom:3cqw;left:5cqw;font:9px/1.6 var(--mono);color:#ecf2e9;background:#15251fc9;padding:10px}
.hc-contact-sheet{display:grid;grid-template-columns:1fr 1fr;gap:2cqw;margin-top:4cqw}
.hc-contact-sheet figure:first-child{grid-row:span 2}
.hc-contact-sheet img{height:calc(100% - 28px);aspect-ratio:1.1;object-fit:cover;object-position:center}
.hc-contact-sheet figure:first-child img{aspect-ratio:.52;object-fit:cover}
.hc-contact-sheet figure:nth-child(2) img{object-position:50% 30%}
.hc-contact-sheet figcaption{padding:10px 0 0;font:8px/1.4 var(--mono);color:#4d735d;height:28px}
.hub-case p.hc-footnote{font:10px/1.7 var(--mono);color:#6c7e70;margin-top:20px}
.hc-control{background:#d5e3d8}
.hc-control-layout{display:grid;grid-template-columns:1fr 1fr;gap:4cqw;margin-top:4cqw;align-items:center}
.hc-order-map{background:#162820;color:#d7e8dc;box-shadow:10px 12px 0 #adc9b5;font:10px/1.5 var(--mono)}
.hc-order-map-top{padding:20px 18px;border-bottom:1px solid #4a6353;font-size:9px}
.hc-order-map-top small{float:right;color:#83ac95}
.hc-map-owner{padding:22px 18px;background:#1f382b}
.hc-map-owner span{display:block;color:#90b69e;font-size:9px;margin-bottom:9px}
.hc-map-owner strong{font:500 22px/1.2 var(--display)}
.hc-map-row{padding:17px 18px;border-top:1px solid #3c5345}
.hc-map-row span{display:block;color:#89ab96;font-size:9px;margin-bottom:7px}
.hc-map-row b{font-size:10px;font-weight:400}
.hc-map-bottom{display:flex;justify-content:space-between;padding:16px 18px;background:#a8eac9;color:#173522}
.hc-control-list>div{padding:20px 0;border-bottom:1px solid #a3bca9}
.hc-control-list>div:first-child{padding-top:0}
.hc-control-list dt{font-size:clamp(19px,2.3cqw,26px);line-height:1.12;letter-spacing:-.035em;margin-bottom:10px;font-weight:550}
.hc-control-list dd{font-size:clamp(13px,1.6cqw,16px);line-height:1.5;color:#526e5a}
.hc-delivery{background:#eff0e8}
.hc-gallery-demo{margin-top:4cqw;background:#fff;padding:2.5cqw;border:1px solid #d6dfd4}
.hc-gallery-heading{display:flex;justify-content:space-between;gap:12px;padding:10px 0 24px;color:#425f4c;font:8px/1.5 var(--mono)}
.hc-delivery-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
.hc-delivery-grid img{aspect-ratio:.72;object-fit:cover}
.hc-gallery-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:24px 0 3px}
.hc-gallery-footer>span{font-size:17px;line-height:1.3}
.hc-gallery-footer small{display:block;color:#788a7c;font:9px/1.5 var(--mono);margin-top:5px}
.hc-gallery-footer button{display:flex;align-items:center;gap:20px;background:#193326;border:0;padding:14px 18px;color:#ecf4eb;font-size:12px}
.hc-outro{background:#a8eac9}
.hc-outro p{color:#315c43;max-width:57ch}
.hc-primary{display:flex;justify-content:space-between;align-items:center;gap:25px;background:#142d20;color:#e4f2e5;border:1px solid #142d20;padding:20px 24px;font-size:clamp(13px,1.9cqw,19px);margin-top:30px;transition:background .2s,transform .2s}
.hc-primary:hover{background:#284b36;transform:translateY(-2px)}
.hc-colophon{display:flex;justify-content:space-between;gap:20px;font:8px/1.5 var(--mono);color:#426e53;border-top:1px solid #6fb591;padding-top:24px;margin-top:6cqw}
.hc-brief{margin-top:25px;border-top:1px solid #6fb591;padding-top:25px}
.hc-brief[hidden]{display:none}
.hc-brief label{display:block;font-size:14px;margin-bottom:12px}
.hc-brief textarea{width:100%;max-width:100%;border:1px solid #629b7b;padding:16px;background:#eaf9ee;color:#183625;font:14px/1.7 var(--display);resize:vertical}
.hc-brief [role=status]{display:block;font-size:12px;line-height:1.5;margin-top:15px;max-width:55ch}
@keyframes hc-arrive{from{opacity:.3;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:900px){.case-drawer.is-hub,.case-drawer.is-hub[data-side=right]{width:76vw}}
@media(max-width:600px){
 .case-drawer.is-hub,.case-drawer.is-hub[data-side=right]{inset:auto 0 0;width:100%;height:94svh;max-height:94svh;clip-path:polygon(0 2%,84% 0,100% 4%,100% 100%,0 100%)}
 .case-drawer.is-hub .drawer-topbar{padding:8px 7% 0}
 .hc-section{padding:42px 24px}
 .hc-hero{min-height:420px;height:calc(94svh - 58px);max-height:620px;grid-template-columns:49% 51%}
 .hc-hero-copy{padding:27px 12px 25px 22px}
 .hc-hero h2{margin-top:35px;font-size:8cqw}
 .hc-hero h2 em{font-size:15cqw}
 .hc-hero p{font-size:18px;margin-top:20px}
 .hc-hero .hc-label{font-size:7px}
 .hc-hero-note{font-size:6px}
 .hc-hero-photo figcaption{font-size:6px;padding:8px}
 .hc-link{font-size:9px}
 .hc-two-copy,.hc-control-layout{grid-template-columns:1fr;gap:23px}
 .hc-service-line{flex-wrap:wrap;justify-content:flex-start;gap:10px;font-size:11px;padding-top:20px;margin-top:25px}
 .hc-workbar{font-size:7px;padding:12px}
 .hc-stage-tabs button{font-size:9px;padding:16px 5px}
 .hc-stage-tabs button span{margin-left:3px}
 .hc-work-panel{grid-template-columns:1fr}
 .hc-work-visual{height:350px;min-height:0}
 .hc-work-visual img{height:100%;object-fit:cover}
 .hc-work-visual.is-casting{grid-template-columns:1fr 1fr;grid-template-rows:1fr}
 .hc-work-copy{padding:24px}
 .hc-work-copy h4{margin:12px 0}
 .hc-work-copy p{font-size:14px}
 .hc-work-meta{margin:16px 0}
 .hc-demo-note{font-size:9px}
 .hc-direction .hc-section{padding-bottom:25px}
 .hc-direction-photo{height:110cqw}
 .hc-location-inset{width:30%}
 .hc-location-inset span{font-size:6px}
 .hc-location-switch{margin:0 24px 20px}
 .hc-location-switch button{font-size:9px;padding:12px}
 .hc-contact-sheet{gap:10px;margin-top:25px}
 .hc-contact-sheet figcaption{font-size:6px}
 .hc-control-layout{margin-top:30px}
 .hc-control-list{margin-top:15px}
 .hc-gallery-heading{flex-direction:column;gap:5px;font-size:7px;padding:10px 5px 15px}
 .hc-gallery-footer{flex-direction:column;align-items:stretch;padding:20px 8px 12px}
 .hc-gallery-footer button{justify-content:space-between;font-size:12px}
 .hc-primary{width:100%;padding:18px;font-size:14px}
 .hc-colophon{flex-direction:column;gap:8px;font-size:7px;margin-top:40px}
}
@media(prefers-reduced-motion:reduce){.hub-case *,.hub-preview *{animation:none!important;transition:none!important}}
