/* 14/10 — scoped post-hero edition. Hero/photo/type/entry strip are not styled here. */
.boutique-edition{--boutique-pine:#132a23;--boutique-bronze:#927a54;--boutique-sand:#e9e2d6;--boutique-rule:#826c492e;--boutique-ease:var(--finish-ease,cubic-bezier(.2,0,0,1))}
.boutique-edition .mirror-chapter{padding:clamp(72px,8vw,120px) 8%;background-image:none;background-color:var(--cream)}
.boutique-edition .chapter-heading{display:block;max-width:1040px;margin:0 0 72px}
.boutique-edition .chapter-heading h2{font-size:clamp(44px,4.7vw,72px);max-width:24ch;letter-spacing:-.03em;line-height:1.06;margin:0}
.boutique-edition .mirror-grid{grid-template-columns:minmax(0,45fr) minmax(0,55fr);gap:7%;align-items:start}
.boutique-edition .mirror-sticky{position:sticky;top:6rem;min-width:0;padding:0 0 24px}
.boutique-edition .mirror-photo{position:relative;top:auto;overflow:hidden;border-radius:3px;margin:0;aspect-ratio:.78;background:var(--boutique-sand)}
.boutique-edition .mirror-photo img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;outline:1px solid #00000012;outline-offset:-1px}
.boutique-edition .story-line{height:1px;background:var(--boutique-rule);margin-top:24px;overflow:hidden}
.boutique-edition .story-line span{height:100%;display:block;background:var(--boutique-bronze);transform:scaleX(0);transform-origin:left}
.boutique-edition .mirror-copy{padding:0 0 0 6%;border-left:1px solid var(--boutique-rule)}
.boutique-edition .mirror-copy p{font-size:1.125rem;line-height:1.8;max-width:55ch;margin:0 0 32px;text-wrap:pretty;color:#455047}
.boutique-edition .mirror-copy p:first-child{font:400 clamp(25px,2.4vw,34px)/1.3 var(--display);color:var(--boutique-pine);margin-bottom:36px}
.boutique-edition .mirror-question{padding-block:12px}
.boutique-edition .mirror-pullquote{display:block;font:italic 400 clamp(32px,3vw,46px)/1.12 var(--display);color:var(--boutique-pine);letter-spacing:-.025em;margin-top:23px;max-width:19ch}
.boutique-edition .mirror-copy p:last-child{margin-bottom:0}
.boutique-edition .mirror-turn{position:relative;isolation:isolate;overflow:hidden;display:block;margin-top:88px;padding:clamp(36px,5.5vw,80px);border:1px solid #f5eee224;border-radius:4px;background:var(--boutique-pine);color:var(--cream)}
.boutique-edition .mirror-turn .mirror-emphasis{position:relative;color:var(--cream);font-size:clamp(38px,4.1vw,60px);line-height:1.08;max-width:25ch;margin:0 0 48px}
.boutique-edition .mirror-resolution{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:28px 7%;align-items:start}
.boutique-edition .mirror-resolution p{font-size:1.0625rem;line-height:1.8;margin:0;color:#e4e8df;max-width:55ch}
.boutique-edition .mirror-resolution p:last-child{color:var(--cream)}
.boutique-edition .turn-light{position:absolute;inset:-30%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 72% 18%,#c4ab7330,transparent 55%);opacity:.7}
.boutique-edition .editorial-ticker{position:relative;display:flex;align-items:center;background:#e8e1d5;color:var(--boutique-pine);border-block:1px solid var(--boutique-rule);min-height:92px;overflow:hidden}
.boutique-edition .ticker-window{overflow:hidden;flex:1;min-width:0;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.boutique-edition .ticker-track{display:flex;width:max-content;transform:translateX(0)}
.boutique-edition .ticker-copy{display:flex;align-items:center;white-space:nowrap;gap:40px;padding-right:40px}
.boutique-edition .ticker-copy span{font-size:12px;font-weight:500;letter-spacing:.15em;display:flex;align-items:center;gap:40px}
.boutique-edition .ticker-copy span::after{content:"";width:4px;height:4px;border-radius:50%;background:var(--boutique-bronze)}
.boutique-edition .ticker-toggle{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;margin:0 24px 0 12px;border:1px solid #82725280;border-radius:50%;color:var(--boutique-pine);background:transparent;cursor:pointer}
.boutique-edition .ticker-toggle svg{width:16px;height:16px}
.boutique-edition .ticker-toggle:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.boutique-edition .ticker-play{display:none}
.boutique-edition .editorial-ticker.is-paused .ticker-pause{display:none}
.boutique-edition .editorial-ticker.is-paused .ticker-play{display:block}
.boutique-edition .sr-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.boutique-edition .sample-care{background:var(--cream);padding-block:clamp(72px,7vw,112px)}
.boutique-edition .sample-heading{gap:8%;grid-template-columns:1.1fr .9fr}
.boutique-edition .sample-heading h2{max-width:19ch;line-height:1.05}
.boutique-edition .boutique-steps{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:20px}
.boutique-edition .boutique-steps article{position:relative;isolation:isolate;overflow:hidden;min-width:0;background:#ede6db;border:1px solid transparent;border-radius:12px;padding:32px clamp(24px,2.5vw,40px) 36px}
.boutique-edition .boutique-steps article:first-child{background:#e5dccd}
.boutique-edition .boutique-steps article:nth-child(2),.boutique-edition .boutique-steps article:nth-child(3){padding-top:32px}
.boutique-edition .step-top{display:flex;align-items:center;gap:22px;margin-bottom:32px}
.boutique-edition .boutique-steps .sample-number{font:400 clamp(64px,6vw,86px)/1 var(--display);letter-spacing:-.04em;margin:0;color:#7b6441}
.boutique-edition .step-rule{height:1px;flex:1;background:#927a5460}
.boutique-edition .sample-step-caption{padding:0}
.boutique-edition .boutique-steps h3{font-size:clamp(30px,2.6vw,39px);margin:0 0 20px;max-width:18ch}
.boutique-edition .boutique-steps p{font-size:1.0625rem;line-height:1.75;margin:0;color:#455047}
.boutique-edition .sample-section-end{border:0;margin:32px 0 0;padding:0;display:flex;justify-content:flex-end}
.boutique-edition .sample-areas{padding-block:clamp(72px,7vw,112px);background:var(--boutique-pine);background-image:none}
.boutique-edition .sample-features{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:stretch}
.boutique-edition .sample-feature,.boutique-edition .sample-feature:nth-child(even){position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;gap:0;border:1px solid #e9e2d621;border-radius:12px;background:#1c362c}
.boutique-edition .sample-feature .sample-photo,.boutique-edition .sample-feature:nth-child(even) .sample-photo{order:0;aspect-ratio:1.65;width:100%}
.boutique-edition .sample-feature.area-hormonal .sample-photo{aspect-ratio:1.43}
.boutique-edition .sample-feature .sample-area-copy{display:flex;flex-direction:column;align-items:start;padding:32px 36px 36px;flex:1}
.boutique-edition .sample-feature h3{font-size:clamp(35px,3.2vw,48px);max-width:18ch;line-height:1.05;margin:18px 0 22px}
.boutique-edition .sample-feature p{max-width:48ch;margin-bottom:24px;font-size:1.0625rem}
.boutique-edition .sample-area-copy>.editorial-link{margin-top:auto}
.boutique-edition .care-category{display:inline-block;font-size:12px;line-height:1.5;letter-spacing:.04em;color:#d0c09c;border-bottom:1px solid #bda77c66;padding-bottom:8px}
.boutique-edition .sample-secondary-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px}
.boutique-edition .sample-secondary{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;padding:0;border:1px solid #e9e2d621;border-radius:12px;background:#1c362c}
.boutique-edition .sample-secondary:last-child{border:1px solid #e9e2d621}
.boutique-edition .sample-secondary .sample-photo{aspect-ratio:1.4;width:100%;margin:0}
.boutique-edition .sample-secondary .sample-area-copy{display:flex;flex-direction:column;align-items:start;padding:26px 28px 30px;flex:1}
.boutique-edition .sample-secondary h3{font-size:clamp(28px,2.55vw,38px);line-height:1.08;max-width:18ch;margin:18px 0}
.boutique-edition .sample-secondary p{font-size:1rem;line-height:1.7;margin:0 0 22px}
.boutique-edition .sample-secondary a{font-size:14px;gap:10px;grid-column:auto}
.boutique-edition :is(.sample-feature,.sample-secondary,.boutique-steps article)::after{content:"";position:absolute;z-index:-1;left:0;top:0;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,#d2b68022,transparent 68%);opacity:0;transform:translate(var(--light-x,-400px),var(--light-y,-400px));pointer-events:none;transition:opacity 180ms var(--boutique-ease)}
.boutique-edition .boutique-steps article::after{background:radial-gradient(circle,#fffdf599,transparent 68%)}
.boutique-edition .clinic-chapter{background:var(--cream);padding-top:110px}
.boutique-edition .clinic-tour.is-enhanced{grid-template-columns:minmax(0,1fr) 250px;gap:48px}
.boutique-edition .clinic-tour.is-enhanced .clinic-gallery{border-radius:3px;overflow:hidden}
.boutique-edition .clinic-tour.is-enhanced .gallery-item img{aspect-ratio:1.5;object-fit:cover}
.boutique-edition .tour-navigation{padding-top:18px;border-top:1px solid var(--boutique-rule)}
.boutique-edition .tour-position{font:400 24px/1.2 var(--display);font-variant-numeric:tabular-nums;color:var(--boutique-pine)}
.boutique-edition .tour-select .tour-number{font-size:12px}
.boutique-edition .tour-select[aria-pressed=true]{border-bottom-color:var(--boutique-bronze)}
.boutique-edition .aesthetics-page .article-layout{display:block;padding:0 6% 88px}
.boutique-edition .aesthetics-page .article-body{min-width:0}
.boutique-edition .aesthetics-page .reading-chapter{max-width:900px;margin:80px auto 0;padding-bottom:48px}
.boutique-edition .aesthetics-page .inner-heading-photo{aspect-ratio:1.5}
.boutique-edition .aesthetics-page .inner-heading-grid{grid-template-columns:1fr 1fr}
.boutique-edition .aesthetics-page .inner-heading{padding-bottom:60px}
.boutique-edition .inner-main .photo-frame{border-radius:4px}
.boutique-edition .inner-main .reading-chapter{scroll-margin-top:128px}
.boutique-edition .inner-main .chapter-visual img{outline:1px solid #00000014;outline-offset:-1px}
.boutique-edition .biography-story .small-note{display:none}
/* 21st.dev study: light + grain as independent layers (Etheral Shadow).
   Original implementation below; no third-party image, React or runtime filter.
   Paper is painted behind content, never over a portrait or the approved hero. */
.boutique-edition{--boutique-grain:url("assets/editorial/paper-grain.svg")}
.boutique-edition :is(.mirror-chapter,.sample-care,.clinic-chapter),.boutique-edition .inner-main .reading-chapter{background-image:var(--boutique-grain);background-size:180px 180px}
.boutique-edition .turn-light{background:radial-gradient(ellipse at 78% 15%,#c4ab7340,transparent 58%),linear-gradient(123deg,transparent 30%,#031d151c 45%,transparent 53%,#cbb98a0d 66%,transparent 78%)}
.boutique-edition .turn-light::after{content:"";position:absolute;inset:0;background:var(--boutique-grain);background-size:180px 180px;opacity:.45}
.boutique-edition .motion-photo{overflow:hidden}
.boutique-edition .motion-photo img{display:block}
.boutique-edition .step-rule{transform-origin:left}
@media(prefers-reduced-motion:no-preference){
 .boutique-edition [data-reveal].motion-photo-host.reveal-wait{opacity:1;transform:none}
 .boutique-edition .motion-photo img{clip-path:inset(0);transform:scale(1);transition:clip-path 650ms cubic-bezier(.22,1,.36,1),transform 650ms cubic-bezier(.22,1,.36,1)}
 .boutique-edition :is(.motion-photo.reveal-wait,.motion-photo-host.reveal-wait .motion-photo) img{clip-path:inset(0 0 100% 0);transform:scale(1.035)}
 .boutique-edition .motion-photo-host .sample-area-copy{opacity:1;transform:translateY(0);transition:opacity 500ms var(--boutique-ease),transform 500ms var(--boutique-ease)}
 .boutique-edition .motion-photo-host.reveal-wait .sample-area-copy{opacity:0;transform:translateY(12px)}
 .boutique-edition .boutique-steps article[data-reveal]{transition:opacity 550ms var(--boutique-ease),transform 550ms var(--boutique-ease),border-color 200ms var(--boutique-ease)}
 .boutique-edition .boutique-steps .sample-number{opacity:1;transform:translateY(0);transition:opacity 500ms var(--boutique-ease) var(--step-delay,0ms),transform 500ms var(--boutique-ease) var(--step-delay,0ms)}
 .boutique-edition .step-rule{transform:scaleX(1);transition:transform 540ms var(--boutique-ease) calc(var(--step-delay,0ms) + 80ms)}
 .boutique-edition .boutique-steps article.reveal-wait .sample-number{opacity:0;transform:translateY(14px)}
 .boutique-edition .boutique-steps article.reveal-wait .step-rule{transform:scaleX(0)}
 @media(min-width:1101px){
  .boutique-edition .boutique-steps article:nth-child(2){--step-delay:70ms}
  .boutique-edition .boutique-steps article:nth-child(3){--step-delay:140ms}
 }
}
.boutique-edition .motion-skip,.boutique-edition .motion-skip *{transition:none!important;animation:none!important}
.boutique-edition .motion-skip .motion-photo img,.boutique-edition .motion-photo.motion-skip img{clip-path:none;transform:none}
@media(prefers-reduced-motion:reduce){
 .boutique-edition .motion-photo img{clip-path:none;transform:none}
 .boutique-edition .step-rule{transform:scaleX(1)}
}
@media (hover:hover) and (pointer:fine){
 .boutique-edition :is(.sample-feature,.sample-secondary,.boutique-steps article).has-light::after{opacity:1}
 .boutique-edition :is(.sample-feature,.sample-secondary):hover{border-color:#c6b18a77}
}
@media (prefers-reduced-motion:no-preference){
 .boutique-edition .mirror-turn.is-in-view .turn-light{animation:turn-breathe 9s ease-in-out infinite alternate}
 .boutique-edition .editorial-ticker.is-in-view .ticker-track{animation:ticker-travel 46s linear infinite}
 .boutique-edition .editorial-ticker:is(.is-paused,:hover,:focus-within) .ticker-track{animation-play-state:paused}
 .boutique-edition :is(.sample-feature,.sample-secondary,.boutique-steps article){transition:transform 250ms var(--boutique-ease),border-color 200ms var(--boutique-ease)}
 @media(hover:hover) and (pointer:fine){.boutique-edition .boutique-steps article:hover{transform:translateY(-4px)}}
 @keyframes ticker-travel{to{transform:translateX(-50%)}}
 @keyframes turn-breathe{from{opacity:.4;transform:translateX(-2%)}to{opacity:.85;transform:translateX(2%)}}
}
@media(min-width:768px) and (max-width:1100px){
 .boutique-edition .mirror-chapter{padding-inline:6%}
 .boutique-edition .mirror-grid{gap:6%}
 .boutique-edition .boutique-steps{grid-template-columns:1fr;gap:16px}
 .boutique-edition .boutique-steps article{display:grid;grid-template-columns:140px 1fr;gap:35px}
 .boutique-edition .step-top{margin:0;align-self:start}
 .boutique-edition .sample-secondary-list{gap:16px}
 .boutique-edition .sample-secondary .sample-area-copy{padding:24px 20px}
 .boutique-edition .sample-feature .sample-area-copy{padding:28px}
}
@media(max-width:767px){
 .boutique-edition .mirror-chapter{padding:64px 6%}
 .boutique-edition .chapter-heading{margin-bottom:36px}
 .boutique-edition .chapter-heading h2{font-size:clamp(38px,10.3vw,54px);max-width:20ch}
 .boutique-edition .mirror-grid{display:block}
 .boutique-edition .mirror-sticky{position:static;padding:0;margin-bottom:36px}
 .boutique-edition .mirror-photo{aspect-ratio:1.17;border-radius:3px}
 .boutique-edition .mirror-photo img{aspect-ratio:auto;object-position:50% 44%}
 .boutique-edition .story-line{display:none}
 .boutique-edition .mirror-copy{padding-left:22px}
 .boutique-edition .mirror-copy p{font-size:1.0625rem;line-height:1.75;margin-bottom:28px}
 .boutique-edition .mirror-copy p:first-child{font-size:29px;line-height:1.3}
 .boutique-edition .mirror-pullquote{font-size:36px;line-height:1.15}
 .boutique-edition .mirror-turn{margin-top:48px;padding:36px 26px}
 .boutique-edition .mirror-turn .mirror-emphasis{font-size:37px;line-height:1.08;margin-bottom:32px}
 .boutique-edition .mirror-resolution{display:block}
 .boutique-edition .mirror-resolution p{font-size:1.0625rem;line-height:1.75;margin-bottom:24px}
 .boutique-edition .mirror-resolution p:last-child{margin-bottom:0}
 .boutique-edition .editorial-ticker{min-height:78px}
 .boutique-edition .ticker-copy{gap:28px;padding-right:28px}
 .boutique-edition .ticker-copy span{font-size:11px;gap:28px}
 .boutique-edition .ticker-toggle{margin-right:18px}
 .boutique-edition .sample-heading{display:block}
 .boutique-edition .sample-heading h2{margin-bottom:24px}
 .boutique-edition .boutique-steps{display:grid;grid-template-columns:1fr;gap:16px}
 .boutique-edition .boutique-steps article,.boutique-edition .boutique-steps article+article{padding:28px;margin:0;border:1px solid transparent}
 .boutique-edition .step-top{margin-bottom:22px}
 .boutique-edition .boutique-steps .sample-number{font-size:70px}
 .boutique-edition .boutique-steps h3{font-size:34px;max-width:20ch}
 .boutique-edition .sample-section-end{justify-content:start}
 .boutique-edition .sample-features,.boutique-edition .sample-secondary-list{display:grid;grid-template-columns:1fr;gap:22px}
 .boutique-edition .sample-feature .sample-photo,.boutique-edition .sample-feature.area-hormonal .sample-photo{aspect-ratio:1.4}
 .boutique-edition .sample-feature .sample-area-copy,.boutique-edition .sample-secondary .sample-area-copy{padding:27px}
 .boutique-edition .sample-feature h3{font-size:39px;max-width:18ch}
 .boutique-edition .sample-secondary h3{font-size:35px}
 .boutique-edition .sample-secondary .sample-photo{aspect-ratio:1.6}
 .boutique-edition .sample-secondary p{font-size:1.0625rem}
 .boutique-edition .sample-secondary a{font-size:15px}
 .boutique-edition .clinic-tour.is-enhanced{display:flex;gap:24px}
 .boutique-edition .clinic-tour.is-enhanced .gallery-item img{aspect-ratio:1.3}
 .boutique-edition .clinic-chapter{padding-top:64px}
 .boutique-edition .aesthetics-page .inner-heading-grid{display:block}
 .boutique-edition .aesthetics-page .inner-heading-photo{margin-top:32px;aspect-ratio:1.4}
 .boutique-edition .aesthetics-page .article-layout{padding:0 6% 64px}
 .boutique-edition .aesthetics-page .inner-heading{padding-bottom:40px}
}
@media(prefers-reduced-motion:reduce){
 .boutique-edition .ticker-track{width:100%;display:block;transform:none}
 .boutique-edition .ticker-copy{white-space:normal;flex-wrap:wrap;gap:16px 24px;padding:24px}
 .boutique-edition .ticker-copy span{font-size:11px;gap:20px}
 .boutique-edition .ticker-copy[aria-hidden="true"],.boutique-edition .ticker-toggle{display:none}
 .boutique-edition .ticker-window{mask-image:none}
 .boutique-edition :is(.sample-feature,.sample-secondary,.boutique-steps article)::after{display:none}
 .boutique-edition .story-line span{transform:scaleX(1)}
}
