/* Norvane creative direction — editorial type, living imagery and native scroll. */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.creative-story{position:relative;background:var(--bg);overflow-anchor:none}
.creative-stage{position:relative;min-height:820px;height:100svh;isolation:isolate}
.creative-intro{position:relative;padding-top:clamp(120px,10.6vw,170px);z-index:2;transform:translateY(var(--intro-y,0));opacity:var(--intro-opacity,1)}
.creative-eyebrow{display:flex;justify-content:space-between;align-items:center}
.creative-edition{font:10px var(--mono);letter-spacing:.06em;color:var(--fg3)}
.creative-heading{font-size:clamp(64px,7.65vw,128px);font-weight:500;line-height:1.08;letter-spacing:-.064em;margin-top:22px}
.creative-line{display:block;white-space:nowrap;overflow:hidden;padding:0 0 .12em;margin:0 0 -.12em}
.creative-line>span{display:inline-block}
.title-chip{display:inline-block;width:1.88em;height:.78em;vertical-align:-.025em;border-radius:999px;overflow:hidden;margin:0 .035em;background:#ddd9d1;isolation:isolate;transform:rotate(-3deg)}
.title-chip img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1s var(--ease)}
.title-chip:hover img{transform:scale(1.2) rotate(4deg)}
.chip-second{width:2.05em;transform:rotate(3deg)}
.creative-foot{margin-top:clamp(30px,3vw,48px);max-width:min(49%,620px)}
.creative-foot .lead{font-size:clamp(21px,1.85vw,29px);line-height:1.25;letter-spacing:-.035em;color:var(--fg);max-width:30ch}
.creative-description{font-size:15px;color:var(--fg2);line-height:1.6;max-width:44ch;margin-top:18px}
.creative-foot .acts{margin-top:25px;gap:22px}
.creative-foot .launch-line{font-size:11px;margin-top:14px}
.creative-art{position:absolute;inset:0;pointer-events:none;z-index:3}
.story-canvas{--card-w:clamp(270px,26vw,420px);--card-h:clamp(340px,32.5vw,525px);--card-bottom:86px;position:absolute;right:var(--gut);bottom:var(--card-bottom);width:var(--card-w);height:var(--card-h);border-radius:18px;overflow:hidden;background:#dddeda;pointer-events:auto;box-shadow:0 20px 70px -35px #0b0b0b66;isolation:isolate}
.scene-frame{position:absolute;inset:0;opacity:0;transform:scale(1.045);transition:opacity .6s ease,transform 1.2s var(--ease);pointer-events:none;background:#e6e5e1}
.scene-frame.is-active{opacity:1;transform:scale(1)}
.scene-frame img{height:100%;width:100%;object-fit:contain}
.scene-source{background:#fff;padding:10%}
.scene-studio{background:#c8c0b8}
.scene-studio img{object-fit:contain;object-position:center}
.scene-set{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2%;padding:7% 5% 9%;background:#d9dcd9}
.scene-set img{object-fit:cover;object-position:50% 20%;min-width:0;border-radius:6px}
.scene-campaign{background:#20180f}
.scene-campaign img{object-fit:cover;object-position:50% 5%}
.scene-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0001,transparent 35%,#0008);pointer-events:none}
.scene-caption{position:absolute;left:var(--gut);bottom:120px;color:#fff;opacity:0;transform:translateY(20px);pointer-events:none}
.scene-caption .label{color:#e7e4de}
.scene-caption p{font-size:clamp(52px,6.5vw,110px);line-height:.99;letter-spacing:-.055em;margin:24px 0;font-weight:500}
.scene-caption em{font-style:normal;color:#f1ba9e}
.scene-caption-note{font:11px var(--mono);color:#ddd5cc}
.scene-topline{position:absolute;top:22px;left:24px;right:24px;display:flex;justify-content:space-between;gap:20px;color:#fff;font:9px var(--mono);letter-spacing:.04em;text-shadow:0 1px 8px #0006}
.scene-controls{position:absolute;left:20px;right:20px;bottom:24px;display:flex;justify-content:center;gap:3px;padding:5px;border-radius:999px;background:#f3f3f1ef;backdrop-filter:blur(12px);box-shadow:0 0 0 1px #fff2;width:max-content;max-width:calc(100% - 40px);margin:auto}
.scene-controls button{font-size:11px;line-height:1.2;padding:9px 10px;border-radius:999px;color:#555550;transition:background .3s,color .3s}
.scene-controls button[aria-pressed=true]{color:var(--bg);background:var(--fg)}
.scene-controls button:hover{background:#ddddd8;color:var(--fg)}
.scene-controls button[aria-pressed=true]:hover{background:#252525;color:var(--bg)}
.scene-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:#fff2;opacity:0}
.scene-progress i{display:block;width:100%;height:100%;background:var(--acc);transform-origin:left;transform:scaleX(var(--story-progress,0))}
.reference-slip{position:absolute;right:calc(var(--gut) + clamp(270px,26vw,420px) - 44px);bottom:125px;width:clamp(105px,10vw,164px);background:#fff;padding:10px 10px 12px;border-radius:8px;transform:rotate(-9deg) translateY(var(--slip-y,0));opacity:var(--slip-opacity,1);z-index:4;box-shadow:0 10px 30px #0002}
.reference-slip img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;padding:8%}
.reference-slip span{display:block;font:7px var(--mono);letter-spacing:.04em;margin-top:10px}
.creative-art-note{position:absolute;right:var(--gut);bottom:53px;width:clamp(270px,26vw,420px);display:flex;justify-content:space-between;font-size:11px;color:var(--fg2);opacity:var(--slip-opacity,1)}
.creative-art-note>span{font-size:17px;line-height:1}
.creative-scroll{position:absolute;left:var(--gut);bottom:51px;display:flex;gap:14px;align-items:center;font-size:11px;z-index:4;opacity:var(--intro-opacity,1);color:var(--fg2)}
.scroll-stroke{height:34px;width:1px;background:var(--line);overflow:hidden}
.scroll-stroke::after{content:"";display:block;height:100%;background:var(--fg);transform:scaleY(.5);transform-origin:top;transition:transform .5s var(--ease)}
.creative-scroll:hover .scroll-stroke::after{transform:scaleY(1)}
.creative-bottomline{position:absolute;bottom:14px;left:var(--gut);right:var(--gut);display:flex;justify-content:space-between;font:8px var(--mono);letter-spacing:.07em;color:var(--fg3);opacity:var(--intro-opacity,1)}
.creative-ribbon{overflow:hidden;padding:32px 0 38px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg)}
.creative-ribbon>div{display:flex;align-items:center;gap:36px;width:max-content;will-change:transform}
.creative-ribbon span{font-size:clamp(42px,5.7vw,92px);letter-spacing:-.055em;font-weight:400;line-height:1.05;white-space:nowrap}
.creative-ribbon .ribbon-star{display:block;flex:none;width:clamp(45px,6vw,100px);aspect-ratio:1;background:var(--acc);-webkit-mask:url(../assets/brand/studio-star.svg) center/contain no-repeat;mask:url(../assets/brand/studio-star.svg) center/contain no-repeat}
.creative-world{position:relative;min-height:760px;height:90svh;max-height:1100px;overflow:hidden;isolation:isolate;background:#3b403c;color:var(--bg)}
.world-art,.world-overlay{position:absolute;inset:0;z-index:-1}
.world-art{inset:-9% 0}
.world-art img{height:100%;width:100%;object-fit:cover;object-position:50% 40%}
.world-overlay{background:linear-gradient(90deg,#10120ecc 0%,#10120e50 62%,#10120e16),linear-gradient(0deg,#10120e44,transparent 40%)}
.world-copy{position:relative;display:flex;flex-direction:column;justify-content:center;height:100%;padding-top:80px;padding-bottom:80px}
.world-copy .label{color:#e2e1db}
.world-copy h2{font-size:clamp(50px,6.8vw,116px);font-weight:500;line-height:1;letter-spacing:-.055em;margin:34px 0}
.world-copy h2 em{font-style:normal;color:#e4b69b}
.world-copy p{font-size:clamp(17px,1.5vw,23px);line-height:1.5;color:#e1e0da;letter-spacing:-.02em}
.world-copy .btn{align-self:flex-start;background:var(--bg);color:var(--fg);margin-top:32px}
.world-credit{position:absolute;bottom:30px;font:9px var(--mono);letter-spacing:.06em;color:#d5d2c8}
/* A second rhythm for image sets: alternating crops and editorial offsets. */
.sample-set{gap:clamp(12px,1.8vw,28px);align-items:start;padding-bottom:40px}
.sample-set figure:nth-child(even){padding-top:68px}
.sample-set a{border-radius:5px}
.sample-set figure:first-child img,.sample-set figure:nth-child(3) img{aspect-ratio:3/4.2}
.sample-set img,.featured-products img,.lb-card .media img{transition:transform 1s var(--ease),filter .7s}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
 .sample-set a:hover img,.featured-products a:hover img,.lb-card:hover .media img{transform:scale(1.035)}
 .featured-products>a:hover img{filter:saturate(1.08)}
}
.featured-products>a{position:relative}
.featured-products>a:nth-child(2){margin-top:84px}
.featured-products img{border-radius:5px}
.featured-products>a::before{content:"↗";position:absolute;right:16px;top:16px;z-index:1;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#f3f3f1e6;transition:transform .4s var(--ease)}
.featured-products>a:hover::before{transform:rotate(45deg)}
.points .point{transition:color .4s}
.points .point .n{color:var(--acc)}
.start-banner{overflow:hidden;position:relative}
.start-banner::before{content:"";position:absolute;right:28%;top:-100px;width:320px;aspect-ratio:1;background:#d7d7d0;opacity:.5;pointer-events:none;-webkit-mask:url(../assets/brand/studio-star.svg) center/contain no-repeat;mask:url(../assets/brand/studio-star.svg) center/contain no-repeat}
.start-banner .wrap{position:relative}
/* Only JS opt-in nodes may start hidden. A failed observer leaves content visible. */
.motion-enabled [data-motion].motion-pending{opacity:0;transform:translate3d(0,38px,0)}
.motion-enabled [data-motion]{transition:opacity .9s var(--ease),transform 1.1s var(--ease);transition-delay:var(--motion-delay,0ms)}
.motion-enabled [data-motion].motion-shown{opacity:1;transform:translate3d(0,0,0)}
.motion-enabled .creative-line>span{animation:title-arrive 1.15s var(--ease) both}
.motion-enabled .creative-line:nth-child(2)>span{animation-delay:.13s}
.motion-enabled .creative-eyebrow{animation:soft-arrive 1s .05s var(--ease) both}
.motion-enabled .creative-foot{animation:soft-arrive 1s .3s var(--ease) both}
.motion-enabled .reference-slip{animation:slip-arrive 1.25s .35s var(--ease) backwards}
.motion-enabled .story-canvas{animation:soft-arrive 1.2s .15s var(--ease) backwards}
@keyframes title-arrive{from{transform:translateY(112%) rotate(2deg);opacity:.2}to{transform:translateY(0) rotate(0);opacity:1}}
@keyframes soft-arrive{from{opacity:0;translate:0 25px}to{opacity:1;translate:0 0}}
@keyframes slip-arrive{from{opacity:0;translate:20px 50px;rotate:8deg}to{opacity:1;translate:0 0;rotate:0deg}}
@media (min-width:981px) and (min-height:740px){
 .creative-story.is-scroll-story{height:260svh;min-height:2132px}
 .is-scroll-story .creative-stage{position:sticky;top:0;height:100svh;min-height:820px}
 .is-scroll-story .story-canvas{left:var(--scene-x);top:var(--scene-y);right:auto;bottom:auto;width:var(--scene-w);height:var(--scene-h);border-radius:var(--scene-radius,18px);will-change:left,top,width,height}
 .is-scroll-story.is-measuring .story-canvas{left:auto;top:auto;right:var(--gut);bottom:var(--card-bottom);width:var(--card-w);height:var(--card-h)}
 .is-scroll-story .scene-progress{opacity:1}
 .is-scroll-story .scene-caption{opacity:var(--caption-opacity,0);transform:translateY(var(--caption-y,20px))}
 .is-scroll-story .scene-campaign img{width:100%;object-position:50% 5%}
 .is-scroll-story[data-scene-current="3"] .scene-shade{background:linear-gradient(90deg,#080a0bc9,#080a0b22 80%),linear-gradient(0deg,#0008,transparent 70%)}
 .is-scroll-story[data-scene-current="2"] .scene-topline{color:var(--fg2);text-shadow:none}
 .is-scroll-story[data-scene-current="0"] .scene-topline{color:var(--fg2);text-shadow:none}
}
@media (min-width:981px) and (max-height:850px){
 .creative-stage{min-height:740px}
 .is-scroll-story .creative-stage{min-height:740px}
 .creative-intro{padding-top:108px}
 .creative-heading{font-size:clamp(64px,7vw,110px);margin-top:18px}
 .creative-foot{margin-top:26px}
 .creative-foot .lead{font-size:23px}
 .creative-description{font-size:14px;max-width:43ch;margin-top:14px}
 .creative-foot .acts{margin-top:20px}
 .story-canvas{--card-w:clamp(250px,25vw,370px);--card-h:clamp(310px,30vw,450px);--card-bottom:80px}
 .reference-slip{right:calc(var(--gut) + clamp(250px,25vw,370px) - 40px);bottom:115px}
 .creative-art-note{width:clamp(250px,25vw,370px);bottom:48px}
}
@media (min-width:981px) and (max-height:739px){
 .creative-stage{height:auto;min-height:780px}
}
@media (max-width:980px){
 .creative-stage{height:auto;min-height:0;padding-bottom:54px}
 .creative-intro{padding-top:116px}
 .creative-heading{font-size:clamp(37px,8.4vw,78px);letter-spacing:-.063em;line-height:1.14;margin-top:24px}
 .creative-foot{max-width:64ch;margin-top:30px}
 .creative-foot .lead{font-size:25px}
 .creative-description{max-width:46ch;font-size:15px}
 .creative-foot .acts{gap:20px}
 .creative-edition{display:none}
 .creative-art{position:relative;inset:auto;margin:46px var(--gut) 0;padding-left:18%;padding-right:4%;pointer-events:auto}
 .story-canvas{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:4/4.5;border-radius:14px}
 .reference-slip{right:auto;left:0;bottom:65px;width:27%;padding:10px}
 .reference-slip span{font-size:7px;line-height:1.7}
 .creative-art-note{position:static;margin-top:16px;width:100%;font-size:11px}
 .creative-scroll{position:relative;left:auto;bottom:auto;margin:28px var(--gut) 0}
 .scroll-stroke{height:24px}
 .creative-bottomline{display:none}
 .scene-caption{display:none}
 .scene-topline{font-size:8px}
 .scene-set{padding:15% 4% 19%;gap:2%}
 .scene-set img{object-fit:contain;background:#e6e5e1}
 .creative-world{min-height:680px;height:85svh}
 .world-copy h2{font-size:clamp(44px,7.4vw,70px)}
 .world-art img{object-position:60% 40%}
 .world-overlay{background:linear-gradient(90deg,#10120eb0,#10120e25),linear-gradient(0deg,#10120e88,transparent)}
 .sample-set{padding-bottom:20px}
 .sample-set figure:nth-child(even){padding-top:42px}
 .featured-products>a:nth-child(2){margin-top:46px}
}
@media (max-width:600px){
 .creative-intro{padding-top:104px}
 .creative-eyebrow .label{font-size:10px;gap:7px}
 .creative-heading{font-size:9.2vw;line-height:1.18;margin-top:20px}
 .creative-foot{margin-top:28px}
 .creative-foot .lead{font-size:23px}
 .creative-description{font-size:14px;max-width:40ch;margin-top:15px}
 .creative-foot .acts{gap:18px;align-items:center}
 .creative-foot .btn{font-size:13px;height:46px;padding-left:17px;gap:8px}
 .creative-foot .ulink{font-size:12px;gap:5px}
 .creative-foot .ulink svg{width:12px}
 .creative-foot .launch-line{font-size:10px}
 .creative-art{margin-top:32px;padding-left:13%;padding-right:0}
 .story-canvas{aspect-ratio:4/4.8}
 .reference-slip{width:29%;bottom:71px;padding:7px}
 .reference-slip img{padding:4%}
 .reference-slip span{font-size:5.5px;letter-spacing:0;line-height:1.4;margin-top:6px}
 .scene-topline{top:17px;left:17px;right:17px;font-size:6px}
 .scene-controls{left:10px;right:10px;max-width:calc(100% - 20px);bottom:15px;padding:4px;gap:1px}
 .scene-controls button{font-size:10px;padding:10px 9px;min-height:34px}
 .creative-ribbon{padding:25px 0 30px}
 .creative-ribbon>div{gap:24px}
 .creative-ribbon span{font-size:45px}
 .sample-set{gap:12px}
 .sample-set figure:nth-child(even){padding-top:36px}
 .sample-set figcaption{font-size:11px;margin-top:10px}
 .featured-products{gap:40px}
 .featured-products>a:nth-child(2){margin-top:0}
 .creative-world{min-height:650px;height:85svh}
 .world-copy{padding-top:70px;padding-bottom:90px}
 .world-copy h2{font-size:11vw;line-height:1.07;margin:28px 0}
 .world-copy p{font-size:16px}
 .world-copy .label{font-size:11px}
 .world-copy .btn{font-size:13px}
 .world-credit{font-size:7px;bottom:28px}
 .world-art img{object-position:65% 40%}
 .start-banner::before{width:250px;top:-80px;right:-50px}
}
@media (prefers-reduced-motion:reduce){
 .motion-enabled [data-motion],.motion-enabled [data-motion].motion-pending{opacity:1;transform:none;transition:none}
 .creative-story.is-scroll-story{height:auto;min-height:0}
 .is-scroll-story .creative-stage{position:relative}
 .creative-ribbon>div,.world-art{transform:none!important;will-change:auto}
 .scene-frame{transition:none;transform:none}
 .title-chip img,.sample-set img,.featured-products img{transition:none}
}

/* Short stagger within visual groups; long content never waits for a sequence. */
.sample-set [data-motion]:nth-child(2),.featured-products [data-motion]:nth-child(2),.plans>[data-motion]:nth-child(2),.points>[data-motion]:nth-child(2){--motion-delay:80ms}
.sample-set [data-motion]:nth-child(3),.featured-products [data-motion]:nth-child(3),.plans>[data-motion]:nth-child(3),.points>[data-motion]:nth-child(3){--motion-delay:140ms}
.sample-set [data-motion]:nth-child(4){--motion-delay:200ms}

html:not(.js) .scene-controls{display:none}

/* Platform films — one screen, six deliberate chapters. */
.platform-films{overflow:hidden}
.film-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(280px,.85fr);gap:clamp(24px,3.5vw,60px);align-items:start}
.film-stage{position:sticky;top:100px;min-width:0}
.film-chrome{display:flex;justify-content:space-between;gap:12px;padding:13px 16px;background:#1b1b1b;border:1px solid var(--dline);border-radius:14px 14px 0 0;color:#bdbdb6;font:9px var(--mono);letter-spacing:.04em}
.film-chrome span:first-child{display:flex;align-items:center;gap:8px}
.film-chrome i{width:5px;height:5px;border-radius:50%;background:var(--acc)}
.film-screen{aspect-ratio:1466/852;position:relative;border:1px solid var(--dline);border-top:0;border-radius:0 0 14px 14px;overflow:hidden;background:#181818;box-shadow:0 24px 80px -35px #000}
.video-player{position:relative;aspect-ratio:16/9;background:#171717;border-radius:12px;overflow:hidden;isolation:isolate}
.video-player video{display:block;width:100%;height:100%;object-fit:contain;position:relative;z-index:0;background:#171717}
.film-screen .video-player{position:absolute;inset:0;width:100%;height:100%;border-radius:0}
.film-note{font-size:11px;line-height:1.6;color:var(--dfg2);margin-top:16px}
.film-selected{display:none}
.chapter-list{display:grid;gap:0;border-top:1px solid var(--dline)}
.chapter{display:grid;grid-template-columns:24px 1fr 14px;gap:12px;text-align:left;padding:17px 0;border-bottom:1px solid var(--dline);color:var(--dfg2);transition:color .3s,padding .3s}
.chapter-index{font:10px var(--mono);padding-top:4px;color:var(--dfg3)}
.chapter-name{display:block;font-size:11px;margin-bottom:5px;color:var(--dfg2)}
.chapter-title{display:block;font-size:clamp(16px,1.35vw,21px);font-weight:500;letter-spacing:-.025em;line-height:1.2}
.chapter-description{display:none;font-size:12px;font-weight:400;line-height:1.6;max-width:38ch;margin-top:10px;color:var(--dfg2)}
.chapter-arrow{font-size:16px;opacity:0;transition:opacity .3s}
.chapter.on{color:var(--dfg);padding-left:8px}
.chapter.on .chapter-index,.chapter.on .chapter-name{color:var(--acc)}
.chapter.on .chapter-description{display:block}
.chapter.on .chapter-arrow,.chapter:hover .chapter-arrow{opacity:1}
.chapter:hover{color:var(--dfg)}
.film-footer{display:flex;flex-wrap:wrap;align-items:center;gap:24px;border-top:1px solid var(--dline);padding-top:28px;margin-top:42px}
.film-footer>p{color:var(--dfg2);font-size:14px;margin-right:auto}
.video-showcase{background:var(--bg2)}
.video-pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px)}
.video-pair article{min-width:0}
.video-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.video-card-top>span:last-child{font:8px var(--mono);color:var(--fg3);letter-spacing:.04em}
.video-pair .video-player{box-shadow:0 16px 44px -32px #0009}
.video-pair h3{font-size:clamp(22px,2vw,32px);font-weight:500;letter-spacing:-.04em;line-height:1.15;margin-top:24px}
.video-pair .p{font-size:14px;margin-top:14px;max-width:52ch}
.video-showcase .section-tail{border-top:1px solid var(--line);padding-top:28px;margin-top:42px}
/* Two fields are enough to ask for information. Everything else is optional. */
.quick-inquiry{gap:18px}
.quick-inquiry .field>span{font-size:13px}
.quick-inquiry .field input,.quick-inquiry .field textarea{background:#fafaf8;border:1px solid var(--line);border-radius:9px;padding:13px 14px;font-size:15px;margin-top:5px}
.quick-inquiry .field input:focus,.quick-inquiry .field textarea:focus{border-color:var(--acc)}
.quick-inquiry .field input::placeholder,.quick-inquiry .field textarea::placeholder{color:#83837c;font-size:13px}
.quick-inquiry .btn{align-self:stretch;justify-content:space-between;height:50px}
.quick-inquiry .contact-extra summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0;font-size:12px}
.quick-inquiry .contact-extra summary::before{content:'+';font-size:20px;line-height:1}
.quick-inquiry .contact-extra[open] summary::before{content:'−'}
.quick-inquiry .contact-extra summary small{font-size:10px;color:var(--fg3);margin-left:auto;white-space:nowrap}
.quick-inquiry .form-note{font-size:11px;line-height:1.6}
.form-alternative{display:flex;gap:12px;align-items:center;justify-content:center;font-size:12px;border-top:1px solid var(--line);padding-top:16px}
.form-alternative>span{color:var(--fg3)}
.form-alternative a{border-bottom:1px solid var(--line);padding-bottom:2px}
.reach-dialog .reach-lead{font-size:14px;line-height:1.55;margin-top:12px;max-width:48ch}
.reach-dialog .quick-inquiry{margin-top:22px}
html:not(.js) .film-screen{aspect-ratio:auto}
html:not(.js) .film-screen .video-player{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:16/9;margin-bottom:24px}
html:not(.js) .chapter-list{display:none}
@media(max-width:1100px){.film-layout{grid-template-columns:minmax(0,1.5fr) minmax(270px,.9fr);gap:28px}.chapter{padding:14px 0}.chapter-title{font-size:17px}}
@media(max-width:980px){
 .film-layout{grid-template-columns:1fr;gap:24px}.film-stage{position:relative;top:auto}
 .chapter-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border:0}
 .chapter{grid-template-columns:19px 1fr;gap:9px;border:1px solid var(--dline);border-radius:9px;padding:14px;min-height:76px}
 .chapter.on{padding:14px;border-color:var(--acc);background:#1c1b19}
 .chapter-title,.chapter-arrow,.chapter.on .chapter-description{display:none}
 .chapter-name{font-size:13px;line-height:1.35;margin:0}.chapter-index{font-size:9px}
 .film-selected{display:block;font-size:14px;line-height:1.6;color:var(--dfg);margin-top:20px;max-width:60ch}
 .film-note{font-size:10px;margin-top:10px}
 .film-footer{gap:18px;margin-top:28px}.film-footer>p{width:100%}
 .video-pair{gap:28px}.video-card-top .label{font-size:11px}.video-card-top>span:last-child{font-size:7px}
}
@media(max-width:600px){
 .chapter-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .chapter,.chapter.on{padding:12px;min-height:64px;gap:7px;grid-template-columns:17px 1fr}
 .chapter-name{font-size:12px}.chapter-index{font-size:8px;padding-top:3px}
 .film-chrome{font-size:7px;padding:12px;border-radius:10px 10px 0 0}
 .film-screen{border-radius:0 0 10px 10px}
 .film-selected{font-size:13px;margin-top:16px}.film-footer .btn{font-size:13px}.film-footer .ulink{font-size:12px}
 .video-pair{grid-template-columns:1fr;gap:44px}.video-card-top>span:last-child{font-size:8px}.video-pair h3{font-size:26px;margin-top:20px}
 .video-pair .p{font-size:13px}.video-showcase .section-tail{gap:18px}.video-showcase .ulink{font-size:13px}
 .quick-inquiry .contact-extra summary{font-size:11px;gap:8px}.quick-inquiry .contact-extra summary small{font-size:9px}
 .reach-dialog .dialog-head{margin-bottom:12px}.reach-dialog .quick-inquiry{margin-top:20px}
}

.platform-films{padding:clamp(72px,8vw,120px) 0}
.platform-films .sec-head{margin-bottom:42px}
.platform-films .d2{font-size:clamp(40px,4.8vw,82px);line-height:1.02}
.chapter-name{display:flex;align-items:center;justify-content:space-between;gap:10px}
.chapter-time{font:9px var(--mono);color:var(--dfg3);white-space:nowrap}
.chapter.on .chapter-time{color:var(--acc)}
.video-pair{grid-template-columns:minmax(0,1.3fr) minmax(0,.75fr);gap:clamp(32px,6vw,100px);align-items:start}
.video-pair article:first-child{padding-top:54px}
.video-pair .video-player.vertical{width:min(100%,326px);aspect-ratio:2/3}
.video-pair .video-player.vertical video{object-fit:cover;object-position:right bottom}
@media(max-width:600px){
 .platform-films .sec-head{margin-bottom:32px}.platform-films .d2{font-size:10.2vw}
 .chapter-name{display:block}.chapter-time{display:block;margin-top:5px;font-size:8px}
 .video-pair{grid-template-columns:1fr}.video-pair article:first-child{padding-top:0}
 .video-pair .video-player.vertical{width:82%;max-width:310px;margin:0 auto}
}

/* Silent inline playback, without a player surface or tap overlays. */
.video-player video{pointer-events:none}
.video-player video::-webkit-media-controls{display:none!important}
.video-player video::-webkit-media-controls-enclosure{display:none!important}

/* The bronze dress: real references, studio views, detail checks and campaign. */
.dress-process-nav{display:flex;flex-wrap:wrap;gap:12px 26px;padding-top:12px;padding-bottom:36px}
.dress-process-nav a{min-height:44px;display:flex;align-items:center;gap:9px;font-size:12px;border-bottom:1px solid var(--line);padding-bottom:10px}
.dress-process-nav a span{font:10px var(--mono);color:var(--fg3)}
.dress-references{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,4vw,64px)}
.dress-references a{display:block;background:#fff;border-radius:14px;overflow:hidden}
.dress-references img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;padding:5%}
.dress-references figcaption{margin-top:20px}
.dress-references figcaption>span,.dress-studio figcaption>span{display:block;font:9px var(--mono);color:var(--fg3);letter-spacing:.04em;margin-bottom:9px}
.dress-references figcaption>b{font-weight:500;font-size:24px;letter-spacing:-.035em}
.dress-references figcaption>p{font-size:13px;line-height:1.6;color:var(--fg2);margin-top:8px;max-width:45ch}
.dress-studio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,32px);align-items:start}
.dress-studio figure:nth-child(2){padding-top:64px}
.dress-studio a{display:block;border-radius:8px;overflow:hidden}
.dress-studio img{width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;background:#c7beb4}
.dress-studio figcaption{margin-top:18px}
.dress-studio figcaption>b{font-size:16px;font-weight:500}
.dress-comparisons{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px)}
.dress-compare{aspect-ratio:4/5;max-height:none}
.dress-compare .a img,.dress-compare .b img{object-fit:contain;object-position:center;padding:0;background:#fff}
.dress-compare .lb{font-size:11px;bottom:12px;padding:7px 10px}
.dress-compare .lb.l{left:12px}.dress-compare .lb.r{right:12px}
.dress-comparisons h3{font-size:24px;font-weight:500;line-height:1.2;letter-spacing:-.035em;margin-top:24px}
.dress-comparisons .p{font-size:14px;margin-top:14px}
@media(max-width:980px){.dress-process-nav{gap:12px 20px}.dress-process-nav a{font-size:11px}.dress-references{gap:20px}.dress-studio figure:nth-child(2){padding-top:36px}}
@media(max-width:600px){
 .dress-references{gap:14px}.dress-references figcaption{margin-top:14px}.dress-references figcaption>b{font-size:20px}.dress-references figcaption>p{font-size:11px}.dress-references figcaption>span{font-size:7px}
 .dress-studio{grid-template-columns:1fr}.dress-studio figure:nth-child(2){padding-top:0}.dress-studio figcaption{margin-bottom:24px}
 .dress-comparisons{grid-template-columns:1fr;gap:40px}.dress-comparisons h3{font-size:23px}.dress-comparisons .p{font-size:13px}
}
/* Compact introduction shared by every product example. */
.product-summary{padding:22px 0 14px}
.product-summary-line{display:flex;justify-content:space-between;align-items:center;gap:20px 40px}
.product-summary-line>p:first-child{max-width:72ch;color:var(--fg2);font-size:15px;line-height:1.5}
.product-summary-count{flex-shrink:0;font-size:13px;font-weight:500}
.product-summary-details{margin-top:6px}
.product-summary-details>summary{display:flex;align-items:center;gap:12px;width:fit-content;min-height:44px;font-size:13px;color:var(--fg2);cursor:pointer;list-style:none}
.product-summary-details>summary::-webkit-details-marker{display:none}
.product-summary-details>summary span{font-size:18px;transition:transform .2s}
.product-summary-details[open]>summary span{transform:rotate(45deg)}
.product-summary-note{max-width:78ch;padding:0 0 10px;color:var(--fg2);font-size:14px;line-height:1.6}
.product-summary-details>summary:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.product-gallery{padding-top:64px}
@media(max-width:760px){
 .product-summary{padding:18px 0 10px}
 .product-summary-line{flex-direction:column;align-items:flex-start;gap:8px}
 .product-summary-line>p:first-child{font-size:14px}
 .product-summary-count{font-size:12px}
 .product-summary-details{margin-top:2px}
 .product-gallery{padding-top:44px}
}
.views .stage .gallery-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;background:var(--dk3);pointer-events:none}
.gallery-video::-webkit-media-controls,.gallery-video::-webkit-media-controls-enclosure{display:none!important}
.thumb-video span{position:absolute;bottom:5px;left:5px;padding:3px 7px;border-radius:999px;background:#0b0b0bd9;color:#fff;font-size:11px;line-height:1.3}
.motion-enabled .hero-img > .bg{will-change:transform}
/* One jacket, from two hanger references to a six-frame set and paired campaigns. */
.story-canvas{container-type:inline-size}
.reference-inputs{position:absolute;right:calc(var(--gut) + clamp(270px,26vw,420px) - 48px);bottom:150px;width:clamp(200px,19vw,288px);display:flex;align-items:flex-end;gap:9px;z-index:4;opacity:var(--slip-opacity,1);transform:translateY(var(--slip-y,0))}
.reference-inputs .reference-slip{position:relative;inset:auto;width:calc((100% - 9px)/2);flex-shrink:0;opacity:1;transform:rotate(-7deg);padding:8px 8px 10px}
.reference-inputs .reference-back{transform:translateY(-22px) rotate(6deg)}
.reference-inputs .reference-slip img{aspect-ratio:3/4;padding:0;object-fit:contain}
.reference-inputs .reference-slip span{font-size:6px;line-height:1.5;margin-top:8px;white-space:nowrap;letter-spacing:0}
.scene-source.scene-source-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3cqw;padding:clamp(44px,10cqw,100px) 6cqw clamp(64px,12cqw,120px);background:#e6e2dc}
.scene-source-pair figure{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;min-width:0;min-height:0}
.scene-source-pair img{min-height:0;object-fit:contain}
.scene-source-pair figcaption{font:clamp(6px,.8cqw,11px) var(--mono);color:var(--fg2);text-align:center}
.scene-set.scene-set-eight{display:flex;align-items:center;justify-content:center;padding:0;background:#dcdedb;container-type:size}
.ecom-grid{--ecom-gap:clamp(5px,1.2cqw,16px);--ecom-reserve:clamp(104px,14cqw,180px);--ecom-card-width:min(calc((92cqw - 3 * var(--ecom-gap))/4),calc((100cqh - var(--ecom-reserve) - var(--ecom-gap))/3));display:grid;grid-template-columns:repeat(4,var(--ecom-card-width));gap:var(--ecom-gap)}
.ecom-card{position:relative;width:var(--ecom-card-width);aspect-ratio:2/3;min-width:0;overflow:hidden;border-radius:clamp(3px,.5cqw,7px);background:#e8e5e0}
.scene-set .ecom-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:0}
.ecom-card figcaption{position:absolute;inset:auto 0 0;padding:clamp(5px,1cqw,13px);padding-top:clamp(16px,3cqw,40px);background:linear-gradient(transparent,#151817ba);color:#fff;line-height:1.35}
.ecom-card figcaption b{display:block;font-size:clamp(6px,1cqw,13px);font-weight:500;margin-bottom:.3em;letter-spacing:-.01em}
.ecom-card figcaption span{display:block;font:clamp(4.5px,.65cqw,9px)/1.4 var(--mono);color:#f0efeb}
.scene-campaign.scene-campaign-pair{display:flex;flex-direction:column;gap:3cqw;padding:clamp(48px,7cqw,88px) 5cqw clamp(66px,9cqw,110px);background:#20272a;color:#f3f3f1}
.campaign-pair-title span{font:clamp(6px,.8cqw,10px) var(--mono);letter-spacing:.08em;color:#c9ccc8}
.campaign-pair-title p{font-size:clamp(20px,4.8cqw,64px);line-height:1.03;letter-spacing:-.045em;margin-top:1cqw}
.campaign-pair-images{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);align-items:center;gap:2.5cqw;flex:1;min-height:0}
.campaign-pair-images figure{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;height:100%;min-width:0;min-height:0}
.scene-campaign.scene-campaign-pair img{width:auto;height:auto;max-width:100%;max-height:calc(100% - clamp(14px,2.4cqw,30px));object-fit:contain;object-position:center;border-radius:4px}
.campaign-wide img{aspect-ratio:2259/1536}
.campaign-tall img{aspect-ratio:1466/2185}
.campaign-pair-images figcaption{font:clamp(5px,.7cqw,10px) var(--mono);letter-spacing:.04em;color:#c9ccc8;margin-top:1cqw}
.creative-story[data-scene-current="3"] .scene-shade,.creative-story[data-scene-current="0"] .scene-shade,.creative-story[data-scene-current="2"] .scene-shade{background:none}
.creative-story[data-scene-current="0"] .scene-topline,.creative-story[data-scene-current="2"] .scene-topline{color:var(--fg2);text-shadow:none}
@media(min-width:981px) and (max-height:850px){.reference-inputs{right:calc(var(--gut) + clamp(250px,25vw,370px) - 48px);bottom:140px}}
@media(max-width:980px){
 .reference-inputs{position:relative;inset:auto;width:57%;margin:0 0 -25px -17%;opacity:1;transform:none}
 .reference-inputs .reference-slip{padding:7px 7px 9px}
 .reference-inputs .reference-back{transform:translateY(-14px) rotate(6deg)}
}
@media(max-width:600px){
 .reference-inputs{width:57%;margin-left:-12%;margin-bottom:-23px;gap:7px}
 .reference-inputs .reference-slip{width:calc((100% - 7px)/2);padding:5px 5px 7px}
 .reference-inputs .reference-slip span{font-size:6px;margin-top:5px}
 .campaign-pair-title p{font-size:clamp(18px,5.5cqw,34px)}
}
.scene-studio video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.scene-studio video::-webkit-media-controls,.scene-studio video::-webkit-media-controls-enclosure{display:none!important}
.scene-set.scene-set-eight{container-name:ecom-scene}
@container ecom-scene (max-width:600px) and (min-height:540px){
 .ecom-grid{--ecom-reserve:140px;--ecom-card-width:min(calc((92cqw - var(--ecom-gap))/2),calc((100cqh - var(--ecom-reserve) - 3 * var(--ecom-gap))/6));grid-template-columns:repeat(2,var(--ecom-card-width))}
 .ecom-card figcaption b{font-size:clamp(8px,2cqw,12px)}
 .ecom-card figcaption span{font-size:clamp(6px,1.6cqw,9px)}
}
/* Phone scenes use one stable card; Safari toolbar resizing never changes its height. */
.creative-story.is-mobile-story .creative-stage{position:relative;height:var(--mobile-stage-height,auto);min-height:0;padding-bottom:32px}
.creative-story.is-mobile-story .creative-intro{opacity:1;transform:none}
.creative-story.is-mobile-story .creative-art{position:sticky;top:86px;height:var(--mobile-panel-height,560px);width:auto;margin:32px var(--gut) 0;padding:0;pointer-events:auto}
.creative-story.is-mobile-story:not(.is-scroll-story) .creative-art{position:relative;top:auto}
.is-mobile-story .story-canvas{position:relative;inset:auto;width:100%;height:100%;aspect-ratio:auto;border-radius:16px;will-change:auto}
.is-mobile-story .scene-frame{transition:opacity .24s ease;transform:none}
.is-mobile-story .reference-inputs,.is-mobile-story .creative-art-note,.is-mobile-story .creative-scroll{display:none}
.is-mobile-story .scene-topline{top:16px;left:16px;right:16px;font-size:8px}
.is-mobile-story .scene-controls{left:10px;right:10px;bottom:12px;max-width:calc(100% - 20px);padding:4px;gap:1px}
.is-mobile-story .scene-controls button{font-size:11px;padding:11px 10px;min-height:40px}
.is-mobile-story .scene-progress{opacity:1}
.is-mobile-story .scene-source-pair{padding:48px 20px 82px;gap:12px}
.is-mobile-story .scene-source-pair figcaption{font-size:9px}
.is-mobile-story .ecom-grid{--ecom-gap:7px;--ecom-reserve:100px;--ecom-card-width:min(calc((92cqw - 2 * var(--ecom-gap))/3),calc((100cqh - var(--ecom-reserve) - 2 * var(--ecom-gap))/4.5));grid-template-columns:repeat(3,var(--ecom-card-width))}
.is-mobile-story .ecom-card figcaption{padding:6px 5px;padding-top:20px}
.is-mobile-story .ecom-card figcaption b{font-size:8px}
.is-mobile-story .ecom-card figcaption span{font-size:6.5px}
.is-mobile-story .scene-campaign-pair{padding:46px 18px 82px;gap:20px}
.is-mobile-story .campaign-pair-title span{font-size:8px}
.is-mobile-story .campaign-pair-title p{font-size:28px;margin-top:8px}
.is-mobile-story .campaign-pair-images{position:relative;display:block;min-height:0}
.is-mobile-story .campaign-pair-images figure{position:absolute;height:auto;align-items:stretch}
.is-mobile-story .campaign-wide{left:0;top:0;width:88%}
.is-mobile-story .campaign-tall{right:0;bottom:0;width:44%}
.is-mobile-story .scene-campaign-pair img{width:100%;max-width:100%;height:auto;max-height:none;object-fit:contain;border-radius:5px}
.is-mobile-story .campaign-pair-images figcaption{font-size:7px;margin-top:6px}
body:has(.creative-story.is-mobile-story[data-pinned]) .reach{visibility:hidden;pointer-events:none}
@media(max-width:980px) and (max-height:499px){
 .is-mobile-story .ecom-grid{--ecom-card-width:min(calc((90cqw - 3 * var(--ecom-gap))/4),calc((100cqh - 100px - var(--ecom-gap))/3));grid-template-columns:repeat(4,var(--ecom-card-width))}
 .is-mobile-story .campaign-wide{width:65%}.is-mobile-story .campaign-tall{width:25%}
}
/* Product inputs stay secondary to the studio output. */
.product-references{margin-top:40px;border-top:1px solid var(--dline,rgba(255,255,255,.18));border-bottom:1px solid var(--dline,rgba(255,255,255,.18))}
.product-references summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;cursor:pointer;list-style:none;font-size:14px}
.product-references summary::-webkit-details-marker{display:none}
.product-references summary small{font-size:12px;font-weight:400;opacity:.5;margin-left:12px;white-space:nowrap}
.product-references summary:focus-visible{outline:2px solid var(--accent,#f58b69);outline-offset:4px}
.reference-toggle{font-size:24px;font-weight:300;line-height:1;transition:transform .2s}
.product-references[open] .reference-toggle{transform:rotate(45deg)}
.product-reference-cards{display:flex;justify-content:center;flex-wrap:wrap;gap:24px;padding:12px 0 28px}
.product-reference-cards figure{width:min(260px,calc(50% - 12px));margin:0}
.product-reference-cards a{display:block;border-radius:8px;overflow:hidden;background:#e8e5df}
.product-reference-cards img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;padding:18px}
.product-reference-cards figcaption{font-size:12px;line-height:1.5;color:inherit;opacity:.6;margin-top:10px}
@media(max-width:600px){.product-references{margin-top:28px}.product-reference-cards{gap:12px}.product-reference-cards figure{width:min(260px,calc(50% - 6px))}.product-reference-cards figure:only-child{width:min(220px,100%)}.product-reference-cards img{padding:10px}}

/* Consistent, left-aligned captions in the examples index. */
.lb-card .lb-meta{display:block;text-align:left}
.lb-card .lb-meta>div{width:100%}
.lb-card .lb-meta b{display:block;text-align:left}
.lb-card .lb-meta .lb-sub{display:block;text-align:left;white-space:nowrap;overflow-wrap:normal;font-size:12px;line-height:1.5;margin-top:5px}
@media(max-width:680px){.lb-card .lb-meta .lb-sub{font-size:11px}.lb-card .lb-meta b{min-height:2.4em;line-height:1.2}}

@media(prefers-reduced-motion:reduce){.scene-frame{transition:none}}

@media(max-width:680px){.point{padding:24px}.point .n{margin-bottom:28px}}
