/* Editorial art direction: blush rose / powder blue. */
.premium{--hairline:color-mix(in srgb,var(--accent) 22%,transparent);background:var(--paper);font-weight:400}
.premium .demo{background:var(--tint);color:var(--ink);font-size:10px;letter-spacing:.12em;border-bottom:1px solid var(--hairline)}
.premium header{padding-top:28px;padding-bottom:28px}.premium .brand{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;letter-spacing:.12em}.premium .brand small{font-family:Arial,sans-serif;letter-spacing:.25em;margin-top:5px;color:var(--accent)}
.premium .btn{border-radius:0;padding:18px 30px;background:var(--accent);font-size:13px;letter-spacing:.08em;transition:background .3s,box-shadow .3s,transform .3s}.premium .btn:hover{filter:none;transform:translateY(-3px);box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 24%,transparent)}.premium .btn:after{transition:transform .3s}.premium .btn:hover:after{transform:translate(3px,-3px)}
.premium .hero{position:relative;isolation:isolate;max-width:1380px;padding:38px 6% 100px;grid-template-columns:1fr 1.05fr;gap:55px;background:transparent;overflow:clip}.premium .hero:before{content:'';position:absolute;z-index:-1;inset:15% 0 0 31%;background:linear-gradient(135deg,var(--tint),var(--paper));border-radius:48% 0 0 0}.premium .hero-watermark{position:absolute;left:4%;bottom:0;font-family:Georgia,serif;font-style:italic;font-size:clamp(80px,13vw,180px);line-height:1;color:var(--accent);opacity:.065;z-index:-1;pointer-events:none}.premium .hero-copy{padding-bottom:15px}.premium .hero h1{font-size:clamp(32px,3.6vw,51px);line-height:1.65;letter-spacing:.04em}.premium .hero p{font-size:14px;line-height:2.25}.premium .eyebrow{font-weight:400;letter-spacing:.16em}.premium .hero-copy>.eyebrow:before{content:'';display:inline-block;width:28px;height:1px;background:var(--accent);vertical-align:middle;margin-right:12px}
.premium .art{padding-bottom:34px}.premium .photo-frame{overflow:hidden;border-radius:48% 48% 2px 2px;box-shadow:18px 20px 0 color-mix(in srgb,var(--tint) 70%,white)}.premium .hero-photo{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transform:scale(1.04);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}.premium .photo-frame:hover .hero-photo{transform:scale(1.075)}.premium .photo-caption{position:absolute;bottom:0;left:4%;font:italic 20px Georgia,serif;letter-spacing:.03em;color:var(--accent)}.premium .art-label{right:-12px;bottom:70px;font-family:"Yu Mincho",serif;padding:16px 22px;border:1px solid var(--hairline);box-shadow:0 8px 25px #44303808;max-width:95%;background:color-mix(in srgb,var(--paper) 95%,transparent)}
.premium .ribbon{background:var(--paper);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);color:var(--accent);font-size:12px}.premium .section{padding-top:100px;padding-bottom:100px}.premium h2{font-size:clamp(27px,3vw,39px);letter-spacing:.07em}.premium .wash{background:linear-gradient(135deg,var(--tint),var(--paper))}.premium .feature{border-color:var(--hairline);padding:30px 8px}.premium .symbol{font-family:"Yu Mincho",serif;color:var(--accent);font-weight:400}.premium h3{font-family:"Yu Mincho",serif;font-weight:600}.premium .num{font-size:10px;letter-spacing:.2em}.premium .step{background:transparent;border-top:1px solid var(--hairline);border-radius:0;padding:30px 0}.premium .issues li,.premium details{border-color:var(--hairline)}.premium .cta{position:relative;background:var(--tint);color:var(--ink);overflow:clip;padding-top:85px;padding-bottom:85px}.premium .cta:before{content:'';width:350px;height:350px;position:absolute;border:1px solid var(--hairline);border-radius:50%;top:-220px;right:-80px;pointer-events:none}.premium .cta .eyebrow{color:var(--accent)}.premium .cta .btn{background:var(--accent);color:white}.premium footer{border-top:1px solid var(--hairline);font-size:10px}.premium footer span{max-width:580px}.premium dialog{box-shadow:0 25px 100px #3c263322;border:1px solid var(--hairline);border-radius:2px}.premium .choice{border-color:var(--hairline);border-radius:0}
@keyframes elegant-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes photo-in{from{opacity:0;transform:translateY(25px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:no-preference){.premium .hero-copy>*{animation:elegant-in 1s cubic-bezier(.2,.7,.2,1) both}.premium .hero-copy>*:nth-child(2){animation-delay:.14s}.premium .hero-copy>*:nth-child(3){animation-delay:.28s}.premium .hero-copy>*:nth-child(4){animation-delay:.42s}.premium .hero-copy>*:nth-child(5){animation-delay:.5s}.premium .art{animation:photo-in 1.3s .2s cubic-bezier(.2,.7,.2,1) both}.premium.motion-enabled [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .9s var(--reveal-delay,0ms),transform .9s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}.premium.motion-enabled [data-reveal].is-visible{opacity:1;transform:none}}
@media(max-width:760px){.premium header{padding:22px 7%}.premium .hero,.premium.clinic .hero{display:grid;grid-template-columns:minmax(0,1fr);padding:28px 7% 60px;gap:30px}.premium .hero-copy{padding:0}.premium .hero h1{font-size:clamp(24px,7.3vw,40px);letter-spacing:.035em}.premium .hero p{font-size:13px;line-height:2.05}.premium .hero:before{inset:45% 0 0 15%;border-radius:200px 0 0 0}.premium .hero-watermark{font-size:24vw;bottom:8px;left:3%}.premium .art{width:100%;max-width:460px;margin:0 auto;padding-bottom:33px}.premium .photo-frame{box-shadow:10px 12px 0 color-mix(in srgb,var(--tint) 70%,white)}.premium .art-label{font-size:10px;right:-8px;bottom:63px;padding:12px 14px}.premium .photo-caption{font-size:18px}.premium .hero-photo{aspect-ratio:4/5}.premium .section{padding-top:65px;padding-bottom:65px}.premium h2{font-size:clamp(21px,6.1vw,30px);letter-spacing:.02em}.premium .ribbon{font-size:12px;gap:12px;padding:24px 7%}.premium .feature{padding:24px 0}.premium .step{padding:24px 0}.premium .cta{padding:60px 7%}.premium .btn{padding:17px 24px;font-size:13px;gap:24px}.premium .demo{font-size:9px}.premium nav{display:none}}
@media(prefers-reduced-motion:reduce){.premium *{animation:none!important;transition:none!important}.premium [data-reveal]{opacity:1!important;transform:none!important}.premium .hero-photo{transform:none}}

/* Additional editorial photographs, two per LP. */
.premium .story-photo{margin:0 0 48px;overflow:hidden;position:relative}
.premium .story-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.premium .story-photo:hover img{transform:scale(1.025)}
.premium .story-photo figcaption{padding:16px 0;font-family:"Yu Mincho",serif;font-size:14px;letter-spacing:.09em;color:var(--accent);border-bottom:1px solid var(--hairline)}
.premium .photo-story{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:center;padding-top:20px;padding-bottom:50px}
.premium .photo-story .story-photo{margin:0;border-radius:2px 85px 2px 2px}
.premium .photo-story img{aspect-ratio:5/4}
.premium .story-copy p{font-size:14px;line-height:2.2}
@media(max-width:760px){.premium .story-photo{margin-bottom:32px}.premium .story-photo img{aspect-ratio:4/3}.premium .story-photo figcaption{font-size:12px;letter-spacing:.03em;line-height:1.8}.premium .photo-story{grid-template-columns:minmax(0,1fr);gap:26px;padding-top:10px;padding-bottom:35px}.premium .photo-story .story-photo{border-top-right-radius:65px}.premium .photo-story img{aspect-ratio:4/3}.premium .story-copy p{font-size:13px}.premium .photo-story h2{margin:12px 0 20px}}

.premium .caption-lead{display:block;margin-bottom:9px;font-size:17px;line-height:1.8}
.premium .caption-body{display:block;color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:14px;letter-spacing:.02em;line-height:2}
.premium .flow-intro{max-width:800px;margin:0 0 38px;font-size:14px;line-height:2.1}
@media(max-width:760px){.premium .caption-lead{font-size:15px}.premium .caption-body,.premium .flow-intro{font-size:13px}.premium .desktop-break{display:none}.premium .feature p{line-height:2}}

/* Final responsive pass: reserve image space and separate image/text layers. */
.premium .hero>*,.premium .split>*,.premium .three>*,.premium .steps>*,.premium .photo-story>*{min-width:0}
.premium .photo-frame{aspect-ratio:4/5;position:relative}
.premium .photo-frame .hero-photo{width:100%;height:100%;aspect-ratio:auto}
.premium .story-photo{overflow:visible}
.premium .story-image-frame{aspect-ratio:16/9;overflow:hidden;isolation:isolate}
.premium .story-image-frame img{width:100%;height:100%;aspect-ratio:auto}
.premium .photo-story .story-photo{border-radius:0}
.premium .photo-story .story-image-frame{aspect-ratio:5/4;border-radius:2px 85px 2px 2px}
.premium .story-photo figcaption{position:relative;z-index:1}
.premium .hero,.premium .cta{overflow:visible}
.premium .cta:before{display:none}
.premium p,.premium li,.premium summary,.premium .caption-body{word-break:normal;line-break:strict;overflow-wrap:anywhere;text-wrap:wrap}
.premium h3{text-wrap:wrap;word-break:normal;line-break:strict}
.premium .heading-line{max-width:100%;white-space:normal!important;word-break:normal;line-break:strict;overflow-wrap:anywhere}
.premium .btn{max-width:100%;white-space:normal;text-wrap:wrap;line-height:1.7}
.premium .btn:after{flex:none}
@media(max-width:900px){
.premium .hero,.premium.clinic .hero{grid-template-columns:minmax(0,1fr);gap:30px}
.premium .split,.premium .three,.premium .steps,.premium .photo-story{grid-template-columns:minmax(0,1fr)}
.premium header nav{display:none}
.premium .art{width:100%;max-width:460px;margin-inline:auto;padding-bottom:0;display:flex;flex-direction:column;gap:15px;animation:none}
.premium .photo-frame{width:100%;flex:none;box-shadow:none}
.premium .photo-caption,.premium .art-label{position:static;inset:auto;max-width:100%;margin:0;transform:none}
.premium .photo-caption{font-size:18px;line-height:1.6}
.premium .art-label{width:100%;padding:14px 16px;font-size:12px;line-height:1.9;box-shadow:none;background:var(--paper)}
.premium .hero-photo,.premium .photo-frame:hover .hero-photo,.premium .story-photo:hover img{transform:none;transition:none}
.premium .story-image-frame{aspect-ratio:4/3}
.premium .photo-story .story-image-frame{aspect-ratio:4/3;border-radius:2px 55px 2px 2px}
.premium .story-photo{border-radius:0;overflow:visible}
.premium .ribbon span,.premium .brand{white-space:normal;overflow-wrap:anywhere}
.premium .hero h1{font-size:clamp(23px,7.1vw,40px)}
.premium h2{font-size:clamp(20px,5.8vw,30px)}
.premium .copy-unit{display:inline}
.premium .hero-watermark{display:none}
.premium.motion-enabled [data-reveal]{transform:none;opacity:1;transition:none}
.premium.motion-enabled [data-reveal].is-visible{animation:mobile-reveal .65s ease-out both}
}
@keyframes mobile-reveal{from{opacity:.35}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.premium.motion-enabled [data-reveal].is-visible{animation:none}}

/* Gentle photo motion, clipped inside reserved image frames. */
@keyframes nurse-photo-float{
  0%,100%{transform:scale(1.045) translateY(3px) rotate(-.25deg)}
  50%{transform:scale(1.065) translateY(-4px) rotate(.25deg)}
}
@keyframes clinic-photo-breathe{
  0%,100%{transform:scale(1.035) translateX(-2px)}
  50%{transform:scale(1.065) translateX(2px)}
}
@media(prefers-reduced-motion:no-preference){
 .premium .photo-frame img,.premium .story-image-frame img{transition:none;animation:nurse-photo-float 7s ease-in-out infinite;animation-play-state:paused;transform-origin:center}
 .premium.clinic .photo-frame img,.premium.clinic .story-image-frame img{animation-name:clinic-photo-breathe;animation-duration:10s}
 .premium .photo-story .story-image-frame img{animation-delay:-2.5s}
 .premium .photo-motion-active img{animation-play-state:running}
}
