@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;1,500&family=Outfit:wght@400;500;600&display=swap');

/* Shared additions for the second concept set. */
body[data-theme="atelier"],body[data-theme="studio"],body[data-theme="gallery"]{overflow-x:hidden}
.text-link{display:flex;align-items:center;justify-content:space-between;width:min(100%,360px);padding:15px 0;border-bottom:1px solid currentColor;text-transform:uppercase;letter-spacing:.14em;font-size:10px}
.text-link span{font-size:16px}
.new-switch{border-radius:0}
.new-switch a[aria-current="page"]{background:#111;color:#fff}
.atelier-title em,.gallery-hero-copy em{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500}

/* Atelier: a quiet, architectural editorial store. */
body[data-theme="atelier"]{--paper:#f2f0ea;--ink:#20231f;--line:rgba(32,35,31,.25);background:var(--paper);color:var(--ink);font-family:"Outfit",Arial,sans-serif}
.atelier-nav{background:var(--paper)}
.atelier-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);grid-template-rows:auto 220px;min-height:880px;border-bottom:1px solid var(--line);position:relative}
.atelier-title{padding:clamp(90px,12vw,180px) 6vw 90px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}
.atelier-title h1{font-size:clamp(72px,10.3vw,158px);line-height:.79;letter-spacing:-.07em;font-weight:500;margin:28px 0 52px;max-width:900px}
.atelier-title h1 em{display:block;color:#9aaeb0;font-size:1.12em;letter-spacing:-.05em}
.atelier-title p{font-size:14px;line-height:1.7;max-width:460px;margin:0 0 36px}
.atelier-portrait{margin:0;grid-row:1/3;grid-column:2;position:relative;background:#cad6d4;overflow:hidden}
.atelier-portrait img{width:100%;height:100%;object-fit:cover;object-position:center top}
.atelier-portrait figcaption{position:absolute;right:0;bottom:0;background:var(--paper);padding:18px 26px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.atelier-object{grid-column:1;display:grid;grid-template-columns:150px 180px 1fr;align-items:center;border-top:1px solid var(--line);padding:0 6vw;background:#dce2df;min-width:0}
.atelier-object>span{font-size:10px;text-transform:uppercase;letter-spacing:.15em}
.atelier-object img{height:190px;width:160px;object-fit:contain;align-self:end}
.atelier-object button{justify-self:end;border:0;border-bottom:1px solid;background:none;padding:12px 0;text-transform:uppercase;letter-spacing:.12em;font-size:10px;cursor:pointer}
.atelier-manifesto{padding:190px 8vw 210px;display:flex;justify-content:center}
.atelier-manifesto p{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(45px,6.5vw,98px);line-height:1.02;letter-spacing:-.04em;max-width:1160px;margin:0;text-align:center}
.atelier-shop{padding:0 5vw 160px}
.atelier-shop-head{display:grid;grid-template-columns:1fr 1.2fr .8fr;align-items:end;gap:40px;padding:0 0 55px;border-bottom:1px solid var(--line)}
.atelier-shop-head h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(54px,6.5vw,96px);font-weight:500;line-height:.86;letter-spacing:-.04em;margin:0}
.atelier-shop-head p{font-size:12px;line-height:1.7;margin:0}
body[data-theme="atelier"] .product-grid{gap:0;border-left:1px solid var(--line)}
body[data-theme="atelier"] .product-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
body[data-theme="atelier"] .product-image{background:#e5e5df;aspect-ratio:4/5}
body[data-theme="atelier"] .product-card:nth-child(even) .product-image{background:#d7e0de}
body[data-theme="atelier"] .product-info{background:var(--paper);padding:24px 20px 30px}
body[data-theme="atelier"] .product-name{font-family:"Cormorant Garamond",Georgia,serif;font-size:24px;line-height:1.05;max-width:220px;text-align:left}
body[data-theme="atelier"] .product-info p{font-size:11px;margin-top:14px}
body[data-theme="atelier"] .add{border-bottom:1px solid;padding:8px 0;background:none;color:var(--ink)}
.atelier-method{display:grid;grid-template-columns:1.05fr .95fr;margin:0 5vw 150px;background:#c6d9df}
.method-image{min-height:720px;overflow:hidden}
.method-image img{width:100%;height:100%;object-fit:cover}
.method-copy{padding:9%;display:flex;flex-direction:column;justify-content:center}
.method-copy h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(52px,6vw,88px);line-height:.88;letter-spacing:-.04em;font-weight:500;margin:25px 0 55px}
.method-copy ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.method-copy li{display:grid;grid-template-columns:100px 1fr;gap:25px;padding:22px 0;border-bottom:1px solid var(--line)}
.method-copy li span{font-size:10px;text-transform:uppercase;letter-spacing:.14em}
.method-copy li p{font-size:12px;line-height:1.65;margin:0}
.atelier-footer{background:#e5e2da;color:#20231f}
.atelier-footer p,.atelier-footer a{color:#3c423e}
.atelier-footer h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;letter-spacing:-.04em}

/* Studio: saturated, direct-to-consumer beauty merchandising. */
body[data-theme="studio"]{--paper:#f1a2af;--ink:#321318;--line:rgba(50,19,24,.25);background:var(--paper);color:var(--ink);font-family:"Outfit",Arial,sans-serif}
.studio-announcement{background:#f6e5dc;color:#321318}
.studio-nav{position:absolute;top:30px;left:0;right:0;color:#fff;border-color:rgba(255,255,255,.55)}
.studio-hero{min-height:100svh;position:relative;overflow:hidden;background:#583238;color:#fff}
.studio-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.studio-gradient{position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,4,10,.52),rgba(31,4,10,.03) 62%),linear-gradient(0deg,rgba(31,4,10,.34),transparent 55%)}
.studio-hero-copy{position:absolute;z-index:1;inset:auto 5vw 6vh;display:grid;grid-template-columns:1fr auto;align-items:end}
.studio-hero-copy>p{grid-column:1/-1;text-transform:uppercase;font-size:11px;letter-spacing:.16em}
.studio-hero-copy h1{font-size:clamp(72px,11vw,168px);line-height:.76;letter-spacing:-.075em;text-transform:uppercase;margin:20px 0 0;max-width:1100px}
.studio-hero-copy h1 em{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;text-transform:none;letter-spacing:-.04em;color:#ffc2cc}
.studio-hero-copy>div{display:flex;flex-direction:column;gap:10px;align-items:stretch;margin-bottom:10px}
.studio-button,.studio-play{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border:1px solid #fff;background:#fff;color:#321318;text-transform:uppercase;letter-spacing:.13em;font-size:10px;cursor:pointer}
.studio-play{background:transparent;color:#fff}
.studio-button.dark{background:#321318;border-color:#321318;color:#fff}
.studio-ticker{display:flex;align-items:center;justify-content:space-around;gap:28px;padding:19px 5vw;background:#ff735e;text-transform:uppercase;letter-spacing:.14em;font-size:10px;white-space:nowrap;overflow:hidden}
.studio-ticker i{width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto}
.studio-drop{display:grid;grid-template-columns:1fr 1fr}
.drop-card{min-height:880px;position:relative;overflow:hidden;color:#fff}
.drop-card img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.drop-card:hover img{transform:scale(1.025)}
.drop-card:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(35,5,12,.62))}
.drop-card>div{position:absolute;z-index:1;left:7%;right:7%;bottom:7%}
.drop-card span{text-transform:uppercase;letter-spacing:.15em;font-size:10px}
.drop-card h2{font-size:clamp(54px,6.8vw,104px);line-height:.84;letter-spacing:-.065em;margin:20px 0 32px;max-width:650px}
.drop-card button{border:0;border-bottom:1px solid #fff;background:none;color:#fff;padding:12px 0;text-transform:uppercase;font-size:10px;letter-spacing:.14em;cursor:pointer}
.drop-lash{color:#321318}
.drop-lash:after{background:linear-gradient(transparent,rgba(247,188,195,.88))}
.drop-lash button{color:#321318;border-color:#321318}
.studio-shop{padding:145px 5vw 170px;background:#f6e5dc}
.studio-shop>header{display:grid;grid-template-columns:.7fr 1.4fr .8fr;align-items:end;gap:35px;margin-bottom:48px}
.studio-shop>header span{text-transform:uppercase;letter-spacing:.15em;font-size:10px}
.studio-shop>header h2{font-size:clamp(68px,9vw,132px);line-height:.78;letter-spacing:-.075em;text-transform:uppercase;margin:0}
.studio-shop>header p{font-size:12px;line-height:1.6;margin:0}
body[data-theme="studio"] .product-grid{gap:12px}
body[data-theme="studio"] .product-card{background:#fff}
body[data-theme="studio"] .product-card:nth-child(2) .product-image{background:#b8d3d8}
body[data-theme="studio"] .product-card:nth-child(3) .product-image{background:#f4a7b1}
body[data-theme="studio"] .product-card:nth-child(4) .product-image{background:#ff836d}
body[data-theme="studio"] .product-image{aspect-ratio:4/5;background:#e9ddd2}
body[data-theme="studio"] .product-name{font-weight:600;text-transform:uppercase;line-height:1.15}
body[data-theme="studio"] .add{background:#321318;color:#fff;padding:11px 14px}
.studio-brow{display:grid;grid-template-columns:.83fr 1.17fr;background:#a9cbd1;min-height:840px}
.studio-brow-copy{padding:10%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.studio-brow-copy>span{text-transform:uppercase;letter-spacing:.15em;font-size:10px}
.studio-brow h2{font-size:clamp(70px,9vw,135px);line-height:.78;letter-spacing:-.075em;text-transform:uppercase;margin:32px 0}
.studio-brow p{line-height:1.7;max-width:460px;margin:0 0 32px}
.studio-brow>img{width:100%;height:100%;object-fit:cover}
.studio-footer{background:#321318;color:#f7dfe2}
.studio-footer p,.studio-footer a{color:#f7dfe2}

/* Gallery: premium line story with restrained scroll progress. */
body[data-theme="gallery"]{--paper:#f0eee8;--ink:#171b1a;--line:rgba(23,27,26,.24);background:var(--paper);color:var(--ink);font-family:"Outfit",Arial,sans-serif}
.gallery-announcement{background:#d78190;color:#171b1a}
.gallery-nav{position:absolute;top:30px;left:0;right:0;color:#fff;border-color:rgba(255,255,255,.5)}
.gallery-hero{height:calc(100svh - 30px);min-height:720px;position:relative;overflow:hidden;background:#263a3d;color:#fff}
.gallery-hero-media{position:absolute;inset:0;overflow:hidden}
.gallery-hero-media img{width:100%;height:calc(100% + 48px);object-fit:cover;object-position:center 46%;transform:translateY(var(--shift,0));will-change:transform}
.gallery-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,23,25,.64),rgba(11,23,25,.05) 64%),linear-gradient(0deg,rgba(11,23,25,.3),transparent 45%)}
.gallery-hero-copy{position:absolute;z-index:1;left:5vw;right:5vw;bottom:7vh;display:grid;grid-template-columns:1fr auto;align-items:end}
.gallery-hero-copy>span{grid-column:1/-1;text-transform:uppercase;letter-spacing:.16em;font-size:10px}
.gallery-hero-copy h1{font-size:clamp(78px,11vw,170px);line-height:.76;letter-spacing:-.07em;font-weight:500;margin:26px 0 0;max-width:1050px}
.gallery-hero-copy h1 em{color:#dca2ac}
.gallery-hero-copy a{display:flex;gap:45px;align-items:center;border-bottom:1px solid;padding:14px 0;text-transform:uppercase;letter-spacing:.14em;font-size:10px;margin-bottom:10px}
.gallery-statement{min-height:110svh;padding:22vh 8vw;display:grid;place-items:center;background:#142326;color:#eef0ea}
.gallery-statement p{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(55px,8vw,124px);line-height:.98;letter-spacing:-.04em;text-align:center;max-width:1260px;margin:0}
[data-scroll-words] .scroll-word{opacity:var(--word-opacity,.16);transition:opacity .12s linear}
.gallery-intro{display:grid;grid-template-columns:1.4fr .6fr;gap:12vw;padding:170px 6vw 120px;align-items:end}
.gallery-intro span,.routine-story>span{text-transform:uppercase;letter-spacing:.16em;font-size:10px}
.gallery-intro h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(62px,8vw,118px);font-weight:500;line-height:.82;letter-spacing:-.045em;margin:30px 0 0;max-width:880px}
.gallery-intro>p{line-height:1.75;font-size:13px;margin:0;max-width:430px}
.gallery-collection{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;padding:0 4vw 180px;gap:12px}
.gallery-product{grid-column:span 5;display:flex;flex-direction:column;background:#e1dfd7;min-width:0}
.gallery-product-wide{grid-column:span 7}
.gallery-product-small{grid-column:span 7;background:#c4d4d3}
.gallery-product-dark{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;background:#152629;color:#f0eee8}
.gallery-media{border:0;background:transparent;padding:0;overflow:hidden;cursor:pointer;min-height:0}
.gallery-media img{width:100%;height:100%;object-fit:contain;transform:translateY(var(--shift,0));transition:transform .2s linear;will-change:transform}
.gallery-product-wide .gallery-media{height:740px;background:#e5e3dd}
.gallery-product-tall .gallery-media{height:740px;background:#b9d0d3}
.gallery-product-small .gallery-media{height:620px}
.gallery-product-dark .gallery-media{height:720px;background:#24383b}
.gallery-product-copy{padding:30px 32px 35px;border-top:1px solid var(--line)}
.gallery-product-copy>span{font-size:9px;text-transform:uppercase;letter-spacing:.15em}
.gallery-product-copy h3{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(29px,3vw,48px);font-weight:500;line-height:1;letter-spacing:-.03em;margin:18px 0 16px;max-width:550px}
.gallery-product-copy>p{font-size:12px;line-height:1.6;max-width:460px}
.gallery-product-copy>div{display:flex;justify-content:space-between;align-items:center;margin-top:30px;padding-top:18px;border-top:1px solid currentColor}
.gallery-product-copy strong{font-size:12px;font-weight:500}
.gallery-product-copy button{border:0;background:none;color:inherit;padding:8px 0;text-transform:uppercase;letter-spacing:.14em;font-size:9px;cursor:pointer}
.gallery-campaign{grid-column:span 5;position:relative;min-height:820px;overflow:hidden;background:#687d7c;color:#fff}
.gallery-campaign img{width:100%;height:calc(100% + 40px);object-fit:cover;transform:translateY(var(--shift,0));will-change:transform}
.gallery-campaign:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(20,35,38,.55))}
.gallery-campaign p{position:absolute;z-index:1;left:9%;bottom:6%;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(42px,5vw,76px);line-height:.85;letter-spacing:-.04em;margin:0}
.gallery-routine{display:grid;grid-template-columns:1fr 1fr;background:#d89aa5;min-height:900px}
.routine-visual{overflow:hidden}
.routine-visual img{width:100%;height:calc(100% + 40px);object-fit:cover;transform:translateY(var(--shift,0));will-change:transform}
.routine-story{padding:11%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.routine-story h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(56px,6vw,92px);line-height:.91;letter-spacing:-.04em;font-weight:500;margin:36px 0}
.routine-story p{font-size:13px;line-height:1.7;max-width:500px}
.routine-story>a{margin-top:24px;padding:14px 0;border-bottom:1px solid;text-transform:uppercase;letter-spacing:.15em;font-size:10px}
.gallery-footer{background:#142326;color:#edf0eb}
.gallery-footer p,.gallery-footer a{color:#d9dfdc}
.gallery-footer h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;letter-spacing:-.04em}

/* Comparison page: new studies read as a second, distinct set. */
.index-hero>p{position:absolute;z-index:2;right:6vw;bottom:8vh;max-width:360px;line-height:1.65;color:#c6d1d2;font-size:13px}
.concept-card.concept-new{margin-top:80px}
.concept-card.concept-new+.concept-card.concept-new{margin-top:20px}
.concept-atelier{background:#dfe4e1}
.concept-studio{background:#e98999!important;color:#35151a!important}
.concept-gallery{background:#d6d2c7!important;color:#172123!important}
.concept-new .concept-copy span:before{content:"New direction";display:inline-block;background:currentColor;color:#fff;padding:6px 8px;margin-right:10px}
.concept-studio .concept-copy span:before{background:#35151a}
.concept-gallery .concept-copy span:before{background:#172123}

@media(max-width:850px){
  .new-switch{overflow-x:auto;justify-content:flex-start}
  .new-switch a{flex:1;text-align:center;white-space:nowrap}
  .atelier-hero{display:flex;flex-direction:column;min-height:0}
  .atelier-title{padding:86px 20px 55px;min-height:610px;justify-content:center}
  .atelier-title h1{font-size:68px;line-height:.83;margin:28px 0 40px}
  .atelier-title p{font-size:13px}
  .atelier-portrait{order:2;width:calc(100% - 28px);height:620px;margin-left:28px}
  .atelier-portrait figcaption{font-size:8px;padding:15px}
  .atelier-object{order:3;display:grid;grid-template-columns:1fr 145px;padding:20px;min-height:190px}
  .atelier-object>span{align-self:start}
  .atelier-object img{height:170px;grid-column:2;grid-row:1/3}
  .atelier-object button{justify-self:start;align-self:end;grid-column:1;grid-row:2;font-size:9px}
  .atelier-manifesto{padding:120px 24px 135px}
  .atelier-manifesto p{font-size:47px;text-align:left}
  .atelier-shop{padding:0 16px 100px}
  .atelier-shop-head{grid-template-columns:1fr;padding-bottom:35px;gap:22px}
  .atelier-shop-head h2{font-size:61px}
  body[data-theme="atelier"] .product-name{font-size:18px;min-height:60px}
  body[data-theme="atelier"] .product-info{padding:16px 12px 24px}
  body[data-theme="atelier"] .add{font-size:8px}
  .atelier-method{grid-template-columns:1fr;margin:0 16px 100px}
  .method-image{height:480px;min-height:0}
  .method-copy{padding:55px 22px}
  .method-copy h2{font-size:56px;margin:24px 0 40px}
  .method-copy li{grid-template-columns:75px 1fr;gap:12px}

  .studio-nav{top:30px}
  .studio-hero{min-height:760px}
  .studio-hero>img{object-position:58% center}
  .studio-gradient{background:linear-gradient(0deg,rgba(31,4,10,.64),transparent 70%)}
  .studio-hero-copy{inset:auto 18px 48px;display:block}
  .studio-hero-copy h1{font-size:63px;line-height:.79;margin:15px 0 28px}
  .studio-hero-copy>div{display:grid;grid-template-columns:1fr 1fr;margin:0}
  .studio-button,.studio-play{padding:0 13px;font-size:8px}
  .studio-ticker{justify-content:flex-start;overflow:hidden;padding-inline:20px}
  .studio-drop{grid-template-columns:1fr}
  .drop-card{min-height:650px}
  .drop-card h2{font-size:58px}
  .studio-shop{padding:100px 0 110px}
  .studio-shop>header{grid-template-columns:1fr;padding:0 20px;margin-bottom:35px;gap:18px}
  .studio-shop>header h2{font-size:66px}
  body[data-theme="studio"] .product-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 20px 18px;gap:10px}
  body[data-theme="studio"] .product-card{flex:0 0 78vw;scroll-snap-align:start}
  body[data-theme="studio"] .product-name{font-size:14px;min-height:auto}
  .studio-brow{grid-template-columns:1fr}
  .studio-brow-copy{padding:80px 22px}
  .studio-brow h2{font-size:68px}
  .studio-brow>img{height:560px}

  .gallery-nav{top:30px}
  .gallery-hero{height:calc(100svh - 30px);min-height:720px}
  .gallery-hero-media img{object-position:62% center}
  .gallery-hero:after{background:linear-gradient(0deg,rgba(11,23,25,.73),transparent 70%)}
  .gallery-hero-copy{left:20px;right:20px;bottom:55px;display:block}
  .gallery-hero-copy h1{font-size:68px;margin:22px 0 35px}
  .gallery-hero-copy a{width:100%;justify-content:space-between}
  .gallery-statement{min-height:100svh;padding:18vh 22px}
  .gallery-statement p{font-size:49px;text-align:left}
  .gallery-intro{grid-template-columns:1fr;padding:105px 22px 70px;gap:42px}
  .gallery-intro h2{font-size:63px}
  .gallery-collection{display:block;padding:0 12px 110px}
  .gallery-product,.gallery-campaign{margin-bottom:12px}
  .gallery-product-dark{display:flex}
  .gallery-product-wide .gallery-media,.gallery-product-tall .gallery-media,.gallery-product-small .gallery-media,.gallery-product-dark .gallery-media{height:490px}
  .gallery-product-copy{padding:24px 20px 28px}
  .gallery-product-copy h3{font-size:34px}
  .gallery-campaign{height:620px;min-height:0}
  .gallery-campaign p{font-size:52px}
  .gallery-routine{grid-template-columns:1fr;min-height:0}
  .routine-visual{height:560px}
  .routine-story{padding:90px 22px 110px}
  .routine-story h2{font-size:55px}

  .index-hero{min-height:90svh;display:block;padding-top:180px}
  .index-hero h1{font-size:67px}
  .index-hero>p{position:relative;right:auto;bottom:auto;margin-top:48px;max-width:300px}
  .concept-card.concept-new{margin-top:60px}
  .concept-card.concept-new+.concept-card.concept-new{margin-top:12px}
  .concept-new .concept-copy span:before{display:block;width:max-content;margin:0 0 9px}
}

@media(max-width:370px){
  .atelier-title h1,.studio-hero-copy h1,.gallery-hero-copy h1{font-size:59px}
  .atelier-manifesto p,.gallery-statement p{font-size:43px}
  .drop-card h2,.atelier-shop-head h2,.method-copy h2,.gallery-intro h2,.routine-story h2{font-size:51px}
  .studio-hero-copy>div{grid-template-columns:1fr}
  .studio-hero{min-height:800px}
}

@media(prefers-reduced-motion:reduce){
  [data-scroll-words] .scroll-word{opacity:1!important}
  [data-parallax]{transform:none!important}
}
