/*
 * GEUNAL 3.0 — Korean Pop Editorial
 * Sky Blue × Acrylic Pink × Acid Lime
 */
:root{
  --pop-sky:#A9DCFA;
  --pop-blue:#68BDF0;
  --pop-blue-deep:#167DBE;
  --pop-pink:#FF86B8;
  --pop-pink-pale:#FFE1EF;
  --pop-lime:#E9FF00;
  --pop-ice:#F5FBFF;
  --pop-navy:#172D48;
  --pop-glass:rgba(255,255,255,.34);
  --pop-line:rgba(23,45,72,.23);
}

body{
  background:linear-gradient(135deg,#f8fcff 0%,#eef8ff 46%,#fff5fa 100%);
  color:var(--ink);
}
::selection{background:var(--pop-lime);color:var(--pop-navy)}
:focus-visible{outline:3px solid var(--pop-lime);outline-offset:4px}
.ambient-bg{
  background:
    radial-gradient(circle at 8% 14%,rgba(255,134,184,.24),transparent 30%),
    radial-gradient(circle at 88% 34%,rgba(104,189,240,.3),transparent 34%),
    linear-gradient(145deg,#f8fcff,#eef8ff 55%,#fff3f9);
}
.light-one{background:radial-gradient(circle,rgba(255,134,184,.42),transparent 68%)}
.light-two{background:radial-gradient(ellipse,rgba(89,187,242,.45),transparent 70%)}

/* Header */
.notice{
  background:var(--pop-lime);
  color:var(--pop-navy);
  font-weight:800;
  letter-spacing:.18em;
}
.header{
  border-color:rgba(255,255,255,.65);
  background:rgba(218,240,255,.72);
  box-shadow:0 1px 0 rgba(23,45,72,.12),0 12px 40px rgba(52,136,189,.08);
  backdrop-filter:blur(22px) saturate(1.35);
}
.brand{font-family:var(--display);font-weight:500;letter-spacing:.08em}
.brand small{color:var(--pop-blue-deep)}
.nav a:after{height:3px;background:var(--pop-lime)}
.reserve-link,.button.dark{
  border-color:var(--pop-navy)!important;
  background:var(--pop-lime)!important;
  color:var(--pop-navy)!important;
  box-shadow:7px 7px 0 var(--pop-pink)!important;
}
.reserve-link:hover,.button.dark:hover{
  transform:translate(4px,4px)!important;
  box-shadow:3px 3px 0 var(--pop-pink)!important;
}

/* Hero */
.hero{
  min-height:720px;
  background:var(--pop-sky);
}
.hero-slide{filter:saturate(.92) brightness(1.04)}
.hero-shade{
  background:
    linear-gradient(90deg,rgba(90,178,231,.48),rgba(144,210,247,.2) 43%,transparent 68%),
    linear-gradient(180deg,transparent 58%,rgba(94,180,231,.2));
}
.hero-copy{
  width:min(720px,49vw);
  padding-left:clamp(42px,7vw,120px);
  color:#fff;
  text-shadow:0 1px 18px rgba(15,63,98,.16);
}
.hero-copy:before{
  content:"";
  position:absolute;
  z-index:-1;
  left:clamp(22px,4vw,70px);
  top:12%;
  width:min(560px,42vw);
  height:76%;
  background:linear-gradient(145deg,rgba(255,134,184,.84),rgba(255,134,184,.44));
  border:1px solid rgba(255,255,255,.62);
  clip-path:polygon(0 8%,88% 0,100% 88%,10% 100%);
  box-shadow:inset 0 0 50px rgba(255,255,255,.24),20px 28px 70px rgba(40,125,180,.14);
  backdrop-filter:blur(10px);
  transform:rotate(-2.5deg);
}
.hero .eyebrow{color:#fff;text-shadow:none}
.hero h1{
  font-size:clamp(54px,7vw,108px);
  line-height:.98;
  letter-spacing:-.09em;
  text-wrap:balance;
}
.hero h1>span{color:var(--pop-lime);letter-spacing:.22em;text-shadow:0 1px 8px rgba(23,45,72,.2)}
.hero-text{max-width:430px;color:#fff;font-weight:600}
.hero .text-link{color:#fff;border-bottom:2px solid var(--pop-lime)}
.hero-pop-art{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.pop-kanji{
  position:absolute;
  left:-.08em;
  top:-.18em;
  color:transparent;
  font:400 clamp(220px,31vw,560px)/1 var(--display);
  -webkit-text-stroke:2px rgba(255,255,255,.9);
  transform:rotate(-7deg);
  filter:drop-shadow(0 0 1px rgba(23,45,72,.2));
}
.pop-arrow{
  position:absolute;
  left:33%;
  bottom:3%;
  color:var(--pop-lime);
  font:300 clamp(170px,25vw,430px)/.7 var(--sans);
  transform:rotate(-12deg) scaleX(1.2);
  animation:popArrow 4s ease-in-out infinite alternate;
}
.hero-pop-art i{position:absolute;border:1px solid rgba(255,255,255,.72);background:rgba(255,255,255,.07);backdrop-filter:blur(3px)}
.hero-pop-art i:first-of-type{right:9%;top:-10%;width:18%;height:95%;transform:rotate(13deg)}
.hero-pop-art i:last-of-type{right:-5%;bottom:-13%;width:28%;height:62%;transform:rotate(-19deg)}
@keyframes popArrow{to{transform:translate(18px,-10px) rotate(-8deg) scaleX(1.2)}}
.hero-word{
  left:auto;
  right:4vw;
  bottom:1vw;
  color:rgba(255,255,255,.18);
  -webkit-text-stroke:0;
  font-family:var(--display);
  letter-spacing:.02em;
}
.hero-badge{
  width:164px;height:164px;border:2px solid var(--pop-lime);border-radius:50%;
  background:rgba(73,158,211,.35);color:#fff;backdrop-filter:blur(12px);
}
.hero-badge strong{color:var(--pop-lime)}
.hero-index button{color:rgba(255,255,255,.7)}
.hero-index button.active{color:var(--pop-lime)}
.hero-index button:after{height:3px;background:var(--pop-lime)}

/* Navigation rhythm */
.trust-rail{background:var(--pop-ice);border-color:var(--pop-line)}
.trust-rail p:nth-child(2){background:var(--pop-pink-pale)}
.trust-rail span{color:var(--pop-pink);font-weight:900}
.kinetic-marquee{background:var(--pop-lime);color:var(--pop-navy);border:0}
.kinetic-marquee i{color:var(--pop-pink)}
.quick-nav{border-color:var(--pop-navy)}
.quick-nav a{background:#fff;border-color:var(--pop-line)}
.quick-nav a:nth-child(2),.quick-nav a:nth-child(5){background:var(--pop-sky)}
.quick-nav a:nth-child(3){background:var(--pop-pink-pale)}
.quick-nav a:hover{background:var(--pop-navy);color:#fff}
.quick-nav span{color:var(--pop-blue-deep)}

/* Shared editorial titles */
.section{position:relative}
.section-head h2,.machine-heading h2,.doctor-copy h2,.access-copy h2,.reservation h2{
  letter-spacing:-.09em;
}
.section-head h2 strong,.machine-heading h2 strong,.doctor-copy h2 em,.access-copy h2 strong,.reservation h2 strong{
  color:var(--pop-blue-deep);
  text-decoration:underline;
  text-decoration-color:var(--pop-lime);
  text-decoration-thickness:.12em;
  text-underline-offset:.08em;
}
.eyebrow{color:var(--pop-blue-deep)}
.section-ghost{-webkit-text-stroke-color:rgba(30,126,185,.12)}
.circle-link{border-color:var(--pop-blue-deep);color:var(--pop-blue-deep);background:rgba(255,255,255,.45)}
.circle-link:hover{background:var(--pop-lime);color:var(--pop-navy);transform:rotate(8deg)}
.button.outline{border:2px solid var(--pop-navy);background:#fff;color:var(--pop-navy);box-shadow:6px 6px 0 var(--pop-sky)}
.button.outline:hover{background:var(--pop-pink);color:#fff;transform:translate(3px,3px);box-shadow:3px 3px 0 var(--pop-lime)}

/* Campaign */
.campaign{background:linear-gradient(145deg,#fff 0%,#eef9ff 62%,#ffeaf3 100%)}
.campaign:after{content:none;display:none;pointer-events:none}
.campaign-card{border-color:var(--pop-navy);box-shadow:18px 18px 0 var(--pop-sky)}
.campaign-art:before{content:"";position:absolute;inset:auto -7% -9% 22%;height:45%;z-index:2;background:rgba(255,134,184,.55);clip-path:polygon(0 23%,100% 0,84% 100%,8% 82%);backdrop-filter:blur(5px)}
.campaign-content{background:rgba(255,255,255,.94)}
.campaign-content .mini{color:var(--pop-blue-deep)}
.campaign-content h3 em{color:var(--pop-pink)}
.price strong{color:var(--pop-blue-deep)}

/* Finder */
.concerns{
  background:
    linear-gradient(115deg,rgba(255,255,255,.24),transparent 32%),
    var(--pop-sky);
}
.concerns .section-head>p{color:var(--pop-navy)}
.search-tabs{border:2px solid var(--pop-navy);background:#fff;box-shadow:12px 12px 0 rgba(255,134,184,.68)}
.search-tabs button{border-color:var(--pop-navy);background:#fff}
.search-tabs button.active{background:var(--pop-pink);color:#fff}
.search-tabs button.active:after{background:var(--pop-lime)}
.search-tabs button.active .tab-icon{border-color:var(--pop-lime);background:var(--pop-lime);color:var(--pop-navy)}
.tab-panel-head{border-color:var(--pop-navy)}
.concern-grid{gap:3px;border:0;background:var(--pop-navy)}
.concern-card{border:0;isolation:isolate;min-height:300px}
.concern-card:after{background:linear-gradient(180deg,rgba(16,52,78,.02),rgba(19,45,71,.78))}
.concern-card:nth-child(2n):after{background:linear-gradient(180deg,rgba(255,134,184,.02),rgba(204,73,133,.73))}
.concern-card:hover:before{filter:saturate(1.05);transform:scale(1.1)}
.concern-card h3,.concern-card p{color:#fff}
.concern-card .menu-icon{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.8);color:var(--pop-blue-deep);backdrop-filter:blur(10px)}
.card-arrow{background:var(--pop-lime);color:var(--pop-navy)}
.age-tabs{border:2px solid var(--pop-navy);background:#fff}
.age-tabs p{background:var(--pop-navy);color:#fff}
.age-tabs button.active{background:var(--pop-lime);color:var(--pop-navy)}
.age-result{background:rgba(255,255,255,.86);border:2px solid var(--pop-navy);box-shadow:12px 12px 0 var(--pop-pink)}
.age-result-icon{background:var(--pop-lime);color:var(--pop-navy)}

/* Treatments */
.treatments{background:#fff}
.treatment-list{border-top:2px solid var(--pop-navy)}
.treatment-row{position:relative;border-color:var(--pop-line);transition:.45s var(--ease)}
.treatment-row:nth-child(2){margin-left:7vw;background:linear-gradient(90deg,rgba(255,225,239,.66),transparent)}
.treatment-row:nth-child(3){margin-right:7vw;background:linear-gradient(90deg,rgba(169,220,250,.5),transparent)}
.treatment-row:hover{background:var(--pop-ice);transform:translateX(10px)}
.treatment-image{border:1px solid var(--pop-navy);box-shadow:8px 8px 0 var(--pop-pink)}
.treatment-row:nth-child(2) .treatment-image{box-shadow:8px 8px 0 var(--pop-lime)}
.treatment-copy p{color:var(--pop-blue-deep)}
.treatment-price strong{color:var(--pop-blue-deep)}
.treatment-price a{border-bottom:3px solid var(--pop-lime)}

/* Machines */
.machines{
  background:
    linear-gradient(110deg,rgba(255,255,255,.42),transparent 40%),
    linear-gradient(135deg,var(--pop-sky),#e6f6ff 56%,var(--pop-pink-pale));
}
.machine-controls button{border:2px solid var(--pop-navy);background:#fff;color:var(--pop-navy);box-shadow:4px 4px 0 var(--pop-lime)}
.machine-controls button:hover:not(:disabled){background:var(--pop-pink);border-color:var(--pop-navy)}
.machine-card{border:2px solid var(--pop-navy);background:rgba(255,255,255,.68);box-shadow:14px 14px 0 rgba(255,134,184,.75);backdrop-filter:blur(14px)}
.machine-card:nth-child(2n){box-shadow:14px 14px 0 rgba(233,255,0,.85)}
.machine-photo{background:radial-gradient(circle,#fff 0 25%,rgba(255,255,255,.55) 60%,rgba(104,189,240,.25))}
.machine-number{background:var(--pop-lime);color:var(--pop-navy)}
.machine-info>p:first-child{color:var(--pop-blue-deep)}
.machine-info>div span{color:#d94b91}
.machine-info a{border:2px solid var(--pop-navy);background:var(--pop-lime);color:var(--pop-navy);box-shadow:5px 5px 0 var(--pop-pink)}
.machine-info a:hover{background:var(--pop-navy);color:#fff}

/* Cases */
.cases{background:linear-gradient(150deg,#176fa9,#65bdee 68%,#96d8f8);color:#fff}
.cases:before{content:"CASE";position:absolute;left:-.04em;bottom:.05em;color:rgba(255,255,255,.07);font:800 29vw/.8 var(--sans);letter-spacing:-.1em}
.cases .section-head h2 strong{color:var(--pop-lime)}
.cases .section-head>p{color:#fff}
.case-grid{gap:16px;background:transparent}
.case-card{border:1px solid rgba(255,255,255,.6);background:rgba(20,75,112,.55);box-shadow:10px 10px 0 rgba(233,255,0,.28);backdrop-filter:blur(8px)}
.compare-line:after{border-color:var(--pop-lime)}
.compare-line b{color:var(--pop-blue-deep)}
.case-meta>span{color:var(--pop-lime)}
.case-meta p{color:#dff3ff}

/* Doctor */
.doctor{background:linear-gradient(110deg,var(--pop-pink) 0 50%,#fff 50%)}
.doctor-portrait{border:18px solid rgba(255,255,255,.28);box-shadow:20px 20px 0 var(--pop-lime)}
.doctor-portrait>span:not(.image-wipe){background:var(--pop-lime);color:var(--pop-navy);padding:7px 12px}
.doctor-copy{background:rgba(255,255,255,.96)}
.doctor-copy:after{content:none;display:none;pointer-events:none}
.doctor-name{border-left:7px solid var(--pop-lime);padding-left:20px}

/* Reasons / Journal / Access */
.reasons{background:var(--pop-lime)}
.reasons .section-head h2 strong{color:var(--pop-blue-deep);text-decoration-color:var(--pop-pink)}
.reason-grid{gap:2px;background:var(--pop-navy);border:2px solid var(--pop-navy)}
.reason-grid article{border:0;background:#fff}
.reason-grid article:nth-child(2),.reason-grid article:nth-child(4){background:var(--pop-sky)}
.reason-grid article:before{background:var(--pop-pink)}
.journal{background:linear-gradient(145deg,var(--pop-pink-pale),#fff 52%,#e8f7ff)}
.journal-grid>a{border-bottom:3px solid var(--pop-navy)}
.journal-art{border:2px solid var(--pop-navy);box-shadow:8px 8px 0 var(--pop-sky)}
.journal-grid>a:nth-child(2) .journal-art{box-shadow:8px 8px 0 var(--pop-lime)}
.journal-grid>a:nth-child(3) .journal-art{box-shadow:8px 8px 0 var(--pop-pink)}
.access{background:var(--pop-sky)}
.access-map{border:18px solid rgba(255,255,255,.5)}
.access-map>span{color:var(--pop-lime);text-shadow:0 2px 20px rgba(20,90,140,.4)}
.access-copy{background:rgba(255,255,255,.88);backdrop-filter:blur(16px)}
.access-copy dl{border-color:var(--pop-navy)}
.access-copy dl>div{border-color:var(--pop-line)}

/* Reservation and footer */
.reservation{
  background:
    linear-gradient(115deg,rgba(255,255,255,.14),transparent 35%),
    var(--pop-pink);
  color:#fff;
}
.reservation:before{content:"↗";position:absolute;right:2vw;top:-.1em;color:var(--pop-lime);font:200 min(32vw,520px)/1 var(--sans);transform:rotate(-10deg)}
.reservation .eyebrow{color:var(--pop-lime)}
.reservation h2 strong{color:var(--pop-lime);text-decoration-color:#fff}
.reservation>p{color:#fff}
.reservation a{border:2px solid var(--pop-navy)}
.reserve-white{background:#fff;color:var(--pop-navy)}
.reserve-line{background:var(--pop-lime);color:var(--pop-navy)}
footer{background:var(--pop-navy)}
.mobile-cta a:first-child{border-color:var(--pop-pink);background:var(--pop-navy)}
.mobile-cta a:last-child{background:var(--pop-lime);color:var(--pop-navy)}
.mobile-menu{background:linear-gradient(145deg,var(--pop-sky),#fff 55%,var(--pop-pink-pale))}
.mobile-menu:before{background:radial-gradient(circle at 90% 18%,rgba(233,255,0,.55),transparent 24%)}
.mobile-menu-actions a:last-child{border-color:var(--pop-navy);background:var(--pop-lime);color:var(--pop-navy)}

/* Editorial motion */
.image-reveal.is-revealed{animation:editorialSettle .95s var(--ease) both}
@keyframes editorialSettle{from{transform:translateY(24px) rotate(.8deg);filter:saturate(.5) blur(4px)}to{transform:none;filter:none}}
.concern-card:nth-child(2n),.reason-grid article:nth-child(2n){transform:translateY(18px)}
.concern-card:nth-child(2n):hover{transform:translateY(18px) scale(.985)}

@media(max-width:1100px){
  .hero-copy{width:56vw}
  .pop-arrow{left:38%;font-size:26vw}
  .doctor{background:linear-gradient(110deg,var(--pop-pink) 0 48%,#fff 48%)}
}

@media(max-width:900px){
  .header{background:rgba(211,239,255,.88)}
  .menu-button span{color:var(--pop-blue-deep)}
  .hero{height:100svh;min-height:720px}
  .hero-shade{background:linear-gradient(180deg,rgba(100,186,235,.03) 0 36%,rgba(69,158,213,.24) 58%,rgba(29,104,151,.62) 100%)}
  .hero-copy{width:100%;padding:0 22px calc(88px + env(safe-area-inset-bottom));text-shadow:0 2px 18px rgba(12,69,105,.3)}
  .hero-copy:before{left:-8%;top:auto;bottom:4%;width:94%;height:52%;clip-path:polygon(0 10%,93% 0,100% 91%,8% 100%);transform:rotate(-1deg)}
  .hero h1{font-size:clamp(45px,13vw,62px);line-height:1}
  .hero h1>span{font-size:16px}
  .hero-text{max-width:88%;margin-block:18px 24px;line-height:1.7}
  .hero-pop-art i{display:block}
  .pop-kanji{top:4%;left:-.1em;font-size:58vw;-webkit-text-stroke-width:1px}
  .pop-arrow{left:auto;right:-8%;bottom:32%;font-size:48vw;opacity:.95}
  .hero-pop-art i:first-of-type{right:-2%;width:27%}
  .hero-pop-art i:last-of-type{display:none}
  .hero-word{right:10px;bottom:1vh;font-size:20vw}
  .hero-index{top:32%}
  .trust-rail{grid-template-columns:1fr}
  .section{padding-block:90px}
  .section-head h2,.machine-heading h2{font-size:clamp(38px,11vw,52px)}
  .campaign:after{display:none}
  .campaign-card{box-shadow:9px 9px 0 var(--pop-sky)}
  .search-tabs{box-shadow:7px 7px 0 rgba(255,134,184,.75)}
  .concern-card:nth-child(2n){transform:none}
  .concern-card:nth-child(2n):hover{transform:scale(.985)}
  .age-result{box-shadow:7px 7px 0 var(--pop-pink)}
  .treatment-row:nth-child(2),.treatment-row:nth-child(3){margin-inline:0}
  .treatment-row:hover{transform:none}
  .machine-card,.machine-card:nth-child(2n){box-shadow:8px 8px 0 rgba(255,134,184,.75)}
  .case-card{box-shadow:7px 7px 0 rgba(233,255,0,.25)}
  .doctor{background:linear-gradient(180deg,var(--pop-pink) 0 42%,#fff 42%)}
  .doctor-portrait{border-width:10px;box-shadow:10px 10px 0 var(--pop-lime)}
  .doctor-copy:after{font-size:70px}
  .reason-grid article:nth-child(2n){transform:none}
  .access-map{border-width:10px}
}

@media(max-width:600px){
  .hero .button{box-shadow:5px 5px 0 var(--pop-pink)!important}
  .hero-cta{width:100%}
  .quick-nav a{background:#fff}
  .quick-nav a:nth-child(2),.quick-nav a:nth-child(5){background:var(--pop-sky)}
  .quick-nav a:nth-child(3){background:var(--pop-pink-pale)}
  .concern-grid{gap:2px}
  .concern-card{min-height:200px}
  .campaign-art:before{height:35%}
  .doctor-copy:after{display:none}
  .reservation:before{font-size:65vw;opacity:.35}
}

/* Version 3.10 — linked mobile navigation / wrapping notice */
section[id]{scroll-margin-top:110px}
@media(max-width:900px){
  .notice{
    width:100%;
    height:auto;
    min-height:38px;
    box-sizing:border-box;
    padding:8px 16px;
    justify-content:center;
    overflow:visible;
    color:#4d504c;
    font-size:16px;
    line-height:1.5;
    letter-spacing:.06em;
    text-align:center;
    text-overflow:clip;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .mobile-menu-link{width:100%}
  .mobile-menu-link.is-child{padding-left:28px}
}

@media(prefers-reduced-motion:reduce){
  .pop-arrow,.image-reveal.is-revealed{animation:none!important}
}

/* Version 3.1 — Mature Korean editorial refinement */
:root{
  --pop-sky:#BCD7E8;
  --pop-blue:#8CBED7;
  --pop-blue-deep:#426D86;
  --pop-pink:#D79AAA;
  --pop-pink-pale:#F3E3E8;
  --pop-lime:#DCE58A;
  --pop-navy:#243746;
}
body{background:linear-gradient(135deg,#f8f7f4 0%,#f4f8f8 58%,#f7f3f2 100%);color:var(--pop-navy)}
.top-notice{background:linear-gradient(90deg,#dfe6b1,#eef0d5);color:#35433f;letter-spacing:.12em}
.header{background:rgba(247,248,246,.82);border-bottom-color:rgba(36,55,70,.12);backdrop-filter:blur(18px)}
.button,.tab-button,.age-filter,.slider-arrow{border-width:1px;box-shadow:3px 3px 0 rgba(36,55,70,.18);transition:transform .35s var(--ease),box-shadow .35s var(--ease),background-color .35s ease}
.button:hover,.tab-button:hover,.age-filter:hover,.slider-arrow:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 rgba(36,55,70,.15)}
.hero-copy:before{background:rgba(215,154,170,.72);filter:saturate(.82)}
.hero h1{font-size:clamp(50px,6vw,88px);letter-spacing:-.035em}
.pop-kanji{opacity:.48;-webkit-text-stroke-color:rgba(255,255,255,.78)}
.pop-arrow{font-size:min(25vw,380px);color:var(--pop-lime);opacity:.58;animation-duration:7s}
.hero-pop-art i{opacity:.35}
.hero-word{opacity:.32;letter-spacing:.02em}
.hero-index{border-color:rgba(255,255,255,.5);background:rgba(247,245,242,.13)}
.hero-badge{width:142px;height:142px;border-width:1px;background:rgba(36,55,70,.22);backdrop-filter:blur(8px)}
.marquee{background:#e8edbd;color:#35433f;border-color:rgba(36,55,70,.16)}
.marquee-track{animation-duration:38s}
.quick-nav a{background:rgba(255,255,255,.76)}
.quick-nav a:nth-child(2),.quick-nav a:nth-child(5){background:#dbe9ef}
.quick-nav a:nth-child(3){background:#f0e1e5}
.section-head h2 strong,.machine-heading h2 strong{text-decoration-thickness:2px;text-underline-offset:.16em}
.campaign-card{box-shadow:7px 7px 0 rgba(140,190,215,.38)}
.search-tabs{box-shadow:5px 5px 0 rgba(215,154,170,.38)}
.concern-card:nth-child(2n),.reason-grid article:nth-child(2n){transform:translateY(8px)}
.concern-card:nth-child(2n):hover{transform:translateY(8px) scale(.99)}
.age-result{box-shadow:5px 5px 0 rgba(215,154,170,.38)}
.treatment-row:nth-child(2),.treatment-row:nth-child(3){margin-inline:clamp(0px,2vw,30px)}
.treatment-row:hover{transform:translateX(4px)}
.machine-card,.machine-card:nth-child(2n){box-shadow:6px 6px 0 rgba(215,154,170,.32)}
.cases{background:linear-gradient(145deg,#426d86,#31576f 58%,#273f50)}
.case-card{box-shadow:5px 5px 0 rgba(220,229,138,.18)}
.doctor{background:linear-gradient(110deg,#d9a5b2 0 48%,#fbfaf7 48%)}
.doctor-portrait{border-width:6px;box-shadow:7px 7px 0 rgba(220,229,138,.7)}
.reasons{background:#e9edc8}
.reservation{background:linear-gradient(125deg,#bf8294,#d7a0ad)}
.reservation:before{font-size:min(26vw,400px);opacity:.42}
.reserve-line,.mobile-cta a:last-child,.mobile-menu-actions a:last-child{background:var(--pop-lime)}
.image-reveal.is-revealed{animation-duration:1.15s}
@keyframes editorialSettle{from{transform:translateY(14px);filter:saturate(.72) blur(2px)}to{transform:none;filter:none}}

@media(max-width:1100px){
  .doctor{background:linear-gradient(110deg,#d9a5b2 0 48%,#fbfaf7 48%)}
}
@media(max-width:900px){
  .header{background:rgba(247,248,246,.9)}
  .pop-arrow{right:-3%;bottom:34%;font-size:38vw;opacity:.3}
  .pop-kanji{font-size:51vw;opacity:.34}
  .campaign-card,.search-tabs,.age-result,.machine-card,.machine-card:nth-child(2n),.case-card{box-shadow:4px 4px 0 rgba(36,55,70,.13)}
  .doctor{background:linear-gradient(180deg,#d9a5b2 0 42%,#fbfaf7 42%)}
  .doctor-portrait{border-width:6px;box-shadow:6px 6px 0 rgba(220,229,138,.65)}
}
@media(max-width:600px){
  .hero .button{box-shadow:3px 3px 0 rgba(36,55,70,.22)!important}
  .hero-copy:before{background:rgba(191,130,148,.62)}
  .reservation:before{opacity:.2}
}

/* Version 3.2 — Airy veil / natural depth */
:root{
  --pop-sky:#DCE8F0;
  --pop-blue:#BFD3DF;
  --pop-blue-deep:#667D8B;
  --pop-pink:#C99791;
  --pop-pink-pale:#F2E8E5;
  --pop-lime:#B8B394;
  --pop-navy:#3F4143;
  --pop-line:rgba(63,65,67,.16);
}
body{background:linear-gradient(135deg,#fafafa 0%,#f5f8fa 48%,#f5f2ef 100%);color:#3f4143}
.top-notice{background:#eeece4;color:#5b5a54;border-bottom:1px solid rgba(63,65,67,.1)}
.header{background:rgba(250,250,249,.9);box-shadow:none;border-bottom:1px solid rgba(63,65,67,.1)}
.hero-shade{background:linear-gradient(90deg,rgba(246,248,249,.34),rgba(239,245,248,.04) 54%,rgba(255,255,255,.12))}
.hero-copy:before{background:linear-gradient(115deg,rgba(242,232,229,.84),rgba(255,255,255,.42));filter:none;border:1px solid rgba(201,151,145,.14)}
.pop-arrow{color:#b8b394;opacity:.2}
.pop-kanji{opacity:.25}
.hero-pop-art i{opacity:.18}
.hero-word{opacity:.2}
.hero-badge{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.58);box-shadow:none}
.marquee{background:#eeece4;color:#555650;border-color:rgba(63,65,67,.1)}

.button,.tab-button,.age-filter,.slider-arrow,
.campaign-card,.search-tabs,.age-result,.treatment-image,
.machine-controls button,.machine-card,.machine-card:nth-child(2n),.machine-info a,
.case-card,.doctor-portrait,.journal-art,
.journal-grid>a:nth-child(2) .journal-art,.journal-grid>a:nth-child(3) .journal-art{
  box-shadow:none;
}
.button,.tab-button,.age-filter,.slider-arrow,.machine-controls button,.machine-info a{
  border-width:1px;
}
.button:hover,.tab-button:hover,.age-filter:hover,.slider-arrow:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 24px rgba(63,65,67,.08);
}
.campaign-card,.search-tabs,.age-result,.machine-card,.case-card,.journal-art{
  border:1px solid rgba(63,65,67,.14);
}
.campaign-card,.age-result,.machine-card,.access-copy{
  box-shadow:0 16px 44px rgba(79,91,99,.07);
}
.quick-nav{border-color:rgba(63,65,67,.12)}
.quick-nav a{background:rgba(255,255,255,.82);border-color:rgba(63,65,67,.12)}
.quick-nav a:nth-child(2),.quick-nav a:nth-child(5){background:#edf3f6}
.quick-nav a:nth-child(3){background:#f4edeb}
.campaign{background:linear-gradient(145deg,#f7f9fa,#f3f5f4 58%,#f4efed)}
.finder{background:linear-gradient(150deg,#f7fafb,#f1f5f6)}
.search-tabs{background:rgba(255,255,255,.66)}
.concern-card{border-color:rgba(63,65,67,.14)}
.concern-card:after{background:linear-gradient(180deg,transparent 35%,rgba(50,53,55,.58))}
.treatments{background:#fafafa}
.treatment-list{border-top:1px solid rgba(63,65,67,.18)}
.treatment-image{border-color:rgba(63,65,67,.14)}
.machines{background:linear-gradient(135deg,#edf3f6,#f8f8f6 56%,#f3ebea)}
.machine-card{background:rgba(255,255,255,.58);backdrop-filter:blur(12px)}
.machine-photo{background:radial-gradient(circle,#fff 0 28%,rgba(255,255,255,.62) 60%,rgba(191,211,223,.2))}
.cases{background:linear-gradient(145deg,#708692,#596d77 58%,#46555d)}
.case-card{background:rgba(54,67,73,.38);backdrop-filter:blur(10px)}
.doctor{background:linear-gradient(110deg,#e2d3cf 0 48%,#fafafa 48%)}
.doctor-portrait{border-width:1px;box-shadow:0 18px 48px rgba(63,65,67,.09)}
.doctor-name{border-left:2px solid #b8b394}
.reasons{background:#eeece4}
.reason-grid{gap:1px;border-width:1px;background:rgba(63,65,67,.15)}
.reason-grid article:nth-child(2),.reason-grid article:nth-child(4){background:#edf3f6}
.journal{background:linear-gradient(145deg,#f3ecea,#fafafa 52%,#edf3f6)}
.access{background:#e5eef3}
.reservation{background:linear-gradient(125deg,#a97875,#c89b95)}
.reservation:before{opacity:.14}
.reserve-line{background:#d8d3b9}

@media(max-width:900px){
  .header{background:rgba(250,250,249,.94)}
  .hero-copy{text-shadow:0 2px 16px rgba(45,54,60,.14)}
  .hero-copy:before{background:linear-gradient(160deg,rgba(241,233,230,.74),rgba(255,255,255,.26))}
  .campaign-card,.search-tabs,.age-result,.machine-card,.machine-card:nth-child(2n),.case-card{box-shadow:none}
  .doctor{background:linear-gradient(180deg,#e2d3cf 0 42%,#fafafa 42%)}
  .doctor-portrait{border-width:1px;box-shadow:0 14px 38px rgba(63,65,67,.08)}
}
@media(max-width:600px){
  .hero .button{box-shadow:none!important}
  .pop-arrow{opacity:.12}
}

/* Version 3.3 — No-shadow system / visibility correction */
html body *,html body *::before,html body *::after{
  box-shadow:none!important;
  text-shadow:none!important;
}
.doctor-silhouette,.machine-photo img{filter:none!important}
.image-wipe:after{box-shadow:none!important}

.hero-shade{
  background:linear-gradient(90deg,rgba(247,248,247,.76) 0%,rgba(247,248,247,.42) 48%,rgba(247,248,247,.04) 72%);
}
.hero-copy{color:#34383b;text-shadow:none}
.hero-copy:before{
  background:linear-gradient(120deg,rgba(247,244,241,.94),rgba(247,248,247,.82));
  border:1px solid rgba(63,65,67,.12);
}
.hero .eyebrow{color:#5c707b;text-shadow:none}
.hero h1,.hero h1 em,.hero h1 strong{color:#34383b}
.hero h1>span{color:#8a8172;text-shadow:none}
.hero-text{color:#4b5053;font-weight:500}
.hero .button.dark{background:#3f5159;color:#fff;border:1px solid #3f5159}
.hero .button.dark:hover{background:#2f3d43;color:#fff;transform:translateY(-1px)}
.hero .button.outline,.hero .text-link{background:rgba(255,255,255,.9);color:#34383b;border:1px solid #62676a}
.hero .button.outline:hover,.hero .text-link:hover{background:#edf2f4;color:#292d2f;transform:translateY(-1px)}
.hero-index{background:rgba(247,248,247,.82);border-color:rgba(63,65,67,.22)}
.hero-index button{color:#696e71}
.hero-index button.active{color:#34383b}
.hero-badge{background:rgba(247,248,247,.78);border-color:rgba(63,65,67,.2);color:#34383b}
.pop-arrow,.pop-kanji,.hero-word{opacity:.09}

.button,.tab-button,.age-filter,.slider-arrow,.machine-controls button,.machine-info a,
.reservation a,.mobile-menu-actions a,.mobile-cta a{
  box-shadow:none!important;
}
.button:hover,.tab-button:hover,.age-filter:hover,.slider-arrow:hover,
.machine-controls button:hover,.machine-info a:hover,.reservation a:hover{
  box-shadow:none!important;
}
.button.dark,.reserve-link{background:#3f5159;color:#fff;border:1px solid #3f5159}
.button.outline{background:#fff;color:#34383b;border:1px solid #62676a}
.button.dark:hover,.reserve-link:hover{background:#2f3d43;color:#fff}
.button.outline:hover{background:#edf2f4;color:#292d2f}

.concern-card:after{background:linear-gradient(180deg,rgba(31,35,37,.08) 18%,rgba(31,35,37,.8) 100%)}
.concern-card h3{color:#fff}
.concern-card p{color:rgba(255,255,255,.94)}
.card-arrow{box-shadow:none!important;background:#e3dfcf;color:#34383b}
.campaign-art>p{color:#fff}
.cases .section-head>p{color:#eef2f3}
.case-card{background:rgba(45,56,62,.58)}
.access-map>span{color:#fff}
.access-map i{box-shadow:none!important;border:2px solid #fff}
.reservation .eyebrow,.reservation h2 strong{color:#f2eedf}
.reservation>p{color:#fff}

@media(max-width:900px){
  .hero-shade{background:linear-gradient(180deg,rgba(247,248,247,.06) 0 32%,rgba(247,248,247,.7) 55%,rgba(247,248,247,.98) 100%)}
  .hero-copy:before{background:rgba(247,245,242,.93);border-color:rgba(63,65,67,.12)}
  .hero .eyebrow{color:#526772}
  .hero h1,.hero h1 em,.hero h1 strong,.hero-text{color:#34383b}
  .hero-index{background:rgba(247,248,247,.9)}
}

/* Version 3.4 — absolute shadow prohibition.
   Repeated attribute selectors intentionally outrank legacy !important rules. */
html body [class][class][class][class][class][class],
html body [class][class][class][class][class][class]::before,
html body [class][class][class][class][class][class]::after{
  box-shadow:none!important;
  text-shadow:none!important;
}
html body .reserve-link,
html body .button,
html body .button.dark,
html body .button.outline,
html body .hero .button,
html body .hero .button.dark,
html body .hero .button.outline,
html body .text-link,
html body .slider-arrow,
html body .machine-controls button,
html body .machine-info a,
html body .reservation a,
html body .mobile-menu-actions a,
html body .mobile-cta a{
  box-shadow:none!important;
  text-shadow:none!important;
  transform:none!important;
}
html body .reserve-link:hover,
html body .button:hover,
html body .button.dark:hover,
html body .button.outline:hover,
html body .hero .button:hover,
html body .text-link:hover,
html body .slider-arrow:hover,
html body .machine-controls button:hover,
html body .machine-info a:hover,
html body .reservation a:hover{
  box-shadow:none!important;
  text-shadow:none!important;
  transform:none!important;
}
.pop-kanji,.doctor-silhouette,.machine-photo img{
  filter:none!important;
}

/* Version 3.5 — intentional hero wordmark */
.hero-pop-art{display:block!important}
.hero-pop-art .pop-kanji,.hero-pop-art i{display:none!important}
.hero-pop-art .pop-arrow{
  display:block;
  left:34%;
  right:auto;
  bottom:2%;
  z-index:2;
  color:rgba(143,139,115,.48);
  opacity:1;
  font-size:clamp(190px,26vw,420px);
  font-weight:200;
  line-height:.72;
  filter:none!important;
  text-shadow:none!important;
  animation:heroArrowDrift 7s ease-in-out infinite alternate;
}
@keyframes heroArrowDrift{
  to{transform:translate(10px,-7px) rotate(-9deg) scaleX(1.16)}
}
.hero-word{
  left:var(--pad);
  right:auto;
  bottom:28px;
  z-index:3;
  color:#50575a;
  opacity:.58;
  -webkit-text-stroke:0;
  font-family:var(--display);
  font-size:clamp(44px,6.4vw,96px);
  font-weight:400;
  line-height:1;
  letter-spacing:.14em;
  writing-mode:horizontal-tb;
}
@media(max-width:900px){
  .hero-pop-art .pop-arrow{
    left:auto;
    right:-10%;
    bottom:24%;
    color:rgba(143,139,115,.34);
    font-size:52vw;
  }
  .hero-word{
    left:22px;
    right:auto;
    top:30px;
    bottom:auto;
    color:#444b4e;
    opacity:.68;
    font-size:clamp(30px,8vw,42px);
    letter-spacing:.16em;
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-pop-art .pop-arrow{animation:none!important}
}

/* Version 3.7 — hero image without global shade */
.hero-shade{display:none!important}

/* Version 3.8 — composed hero typography */
.hero-copy{width:min(800px,58vw)}
.hero .eyebrow{
  margin-bottom:clamp(22px,3vh,38px);
  color:#51636d;
  font-size:16px;
  font-weight:700;
  line-height:1.45;
  letter-spacing:.24em;
  text-wrap:balance;
}
.hero h1{
  font-size:clamp(48px,4.8vw,72px);
  line-height:1.08;
  letter-spacing:-.055em;
}
.hero h1>.hero-kicker{
  display:block;
  margin-bottom:.72em;
  color:#8a8172;
  font-family:var(--sans);
  font-size:clamp(16px,.31em,21px);
  font-weight:700;
  line-height:1.4;
  letter-spacing:.16em;
  white-space:nowrap;
}
.hero h1>.hero-title-line{
  display:block;
  width:max-content;
  max-width:none;
  color:#34383b;
  font-family:var(--display);
  font-size:1em;
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.055em;
  white-space:nowrap;
}
.hero h1>.hero-title-line--1{
  margin-bottom:.1em;
  font-size:.82em;
  letter-spacing:-.035em;
}
.hero-text{
  max-width:680px;
  margin-top:clamp(24px,3.2vh,38px);
  color:#454b4e;
  font-size:16px;
  font-weight:500;
  line-height:1.9;
  letter-spacing:.025em;
}
.hero-text>span{
  display:block;
  text-wrap:balance;
  line-break:strict;
}
@media(max-width:900px){
  .hero-copy{width:100%}
  .hero .eyebrow{max-width:620px;letter-spacing:.19em}
  .hero h1{font-size:clamp(36px,7.6vw,58px)}
  .hero h1>.hero-kicker{margin-bottom:.55em;font-size:16px}
  .hero-text{max-width:620px;margin-block:22px 26px}
  .hero-text>span{display:block}
}
@media(max-width:600px){
  .hero .eyebrow{max-width:100%;font-size:16px;line-height:1.55;letter-spacing:.11em}
  .hero h1{font-size:clamp(26px,8.4vw,36px)}
  .hero h1>.hero-title-line--1{font-size:.88em}
  .hero-text{max-width:100%;font-size:16px;line-height:1.75;letter-spacing:0}
}
