/* LaPrin Skin Clinic — Base Stylesheet v1.0 */
/* Common styles shared across all treatment pages */

:root{--background:#ffffff;--foreground:#111827;--muted:#f9fafb;--muted-foreground:#4b5563;--primary:#2563eb;--primary-foreground:#ffffff;--secondary:#eff6ff;--secondary-foreground:#1d4ed8;--border:#e5e7eb;--card:#ffffff;--card-foreground:#111827;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:32px;--font-family-body:"Pretendard Variable","Pretendard","Inter","DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--ta:#1e3a5f;--ta-accent:#b8860b;--ta-accent-light:#d4a843;--ta-bg:rgba(30,58,95,0.08);--f4d:#d2691e;--f4d-accent:#b8860b;--f4d-bg:rgba(210,105,30,0.06);--f4d-glow:rgba(210,105,30,0.12);--f4d-warm:#fdf8f3;--fg:var(--foreground);--r-md:var(--radius-md);--philosophy-primary:#6d28d9;--philosophy-bg:rgba(109,40,217,0.08);--philosophy-light:#ede9fe;--aging-primary:#0d9488;--aging-bg:rgba(13,148,136,0.08);--scar-primary:#dc2626;--scar-bg:rgba(220,38,38,0.08);--pore-primary:#7c3aed;--pore-bg:rgba(124,58,237,0.08);--wed:#be185d;--wed-accent:#9d174d;--wed-accent-light:#f472b6;--wed-bg:rgba(190,24,93,0.06);--wed-deep:#831843;--wed-light:#fdf2f8;--wed-rose:#fce7f3;--emerald:#059669;--emerald-light:rgba(5,150,105,0.08);--gold:#b8860b;--gold-light:rgba(184,134,11,0.08);--long:#1e40af;--rose:#e11d48;--rose-bg:rgba(225,29,72,0.06);--warm:#fdf8f3;--shadow:0 1px 3px rgba(0,0,0,0.06);--radius:12px;--muted-fg:#4b5563;}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:var(--font-family-body);color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 32px;}
.py-20{padding-top:80px;padding-bottom:80px;}
.py-32{padding-top:128px;padding-bottom:128px;}
.flex{display:flex;}
.flex-col{flex-direction:column;}
.flex-wrap{flex-wrap:wrap;}
.items-center{align-items:center;}
.justify-center{justify-content:center;}
.justify-between{justify-content:space-between;}
.gap-2{gap:8px;}
.gap-3{gap:12px;}
.gap-4{gap:16px;}
.gap-6{gap:24px;}
.gap-8{gap:32px;}
.gap-12{gap:48px;}
.gap-16{gap:64px;}
.grid{display:grid;}
.grid-cols-2{grid-template-columns:1fr 1fr;}
.grid-cols-3{grid-template-columns:repeat(3,1fr);}
.grid-cols-4{grid-template-columns:repeat(4,1fr);}
.max-w-2xl{max-width:672px;}
.max-w-3xl{max-width:768px;}
.mx-auto{margin-left:auto;margin-right:auto;}
.w-full{width:100%;}
.flex-1{flex:1;}
h1{font-size:56px;font-weight:700;line-height:1.2;letter-spacing:-1.12px;}
h2{font-size:40px;font-weight:700;line-height:1.3;letter-spacing:-0.8px;margin-bottom:16px;}
h3{font-size:24px;font-weight:600;line-height:1.4;}
h4{font-size:18px;font-weight:600;line-height:1.4;}
p{line-height:1.6;}
.text-sm{font-size:14px;}
.text-base{font-size:16px;}
.text-lg{font-size:18px;}
.text-xl{font-size:20px;}
.text-muted{color:var(--muted-foreground);}
.text-primary{color:var(--primary);}
.text-center{text-align:center;}
.font-medium{font-weight:500;}
.font-semibold{font-weight:600;}
.font-bold{font-weight:700;}
.italic{font-style:italic;}
.mb-2{margin-bottom:8px;}
.mb-4{margin-bottom:16px;}
.mb-6{margin-bottom:24px;}
.mb-8{margin-bottom:32px;}
.mb-12{margin-bottom:48px;}
.mb-16{margin-bottom:64px;}
.p-4{padding:16px;}
.p-6{padding:24px;}
.p-8{padding:32px;}
.pl-4{padding-left:16px;}
.badge{display:inline-flex;align-items:center;padding:6px 12px;font-size:13px;font-weight:600;border-radius:var(--radius-xl);background:var(--secondary);color:var(--secondary-foreground);white-space:nowrap;}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;font-size:15px;font-weight:500;border-radius:var(--radius-xl);white-space:nowrap;cursor:pointer;border:none;text-decoration:none;transition:transform 0.2s,box-shadow 0.2s,background 0.2s;}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--primary);color:var(--primary-foreground);}
.btn-primary:hover{background:#1d4ed8;box-shadow:0 8px 20px rgba(37,99,235,0.3);}
.btn-outline{border:1px solid var(--border);background:var(--background);color:var(--foreground);}
.btn-outline:hover{border-color:var(--primary);color:var(--primary);}
.btn-lg{padding:16px 32px;font-size:18px;}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:transform 0.3s,box-shadow 0.3s;}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,0.08);}
.nav-header{width:100%;height:80px;display:flex;align-items:center;border-bottom:1px solid var(--border);background:rgba(255,255,255,0.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:sticky;top:0;z-index:100;}
.nav-logo{display:flex;align-items:center;}
.nav-links{display:flex;gap:20px;margin-left:32px;margin-right:16px;flex:1;white-space:nowrap;}
.nav-links a{font-size:13.5px;font-weight:500;color:var(--muted-foreground);transition:color 0.2s;}
.nav-links a:hover{color:var(--primary);}
.mobile-menu-btn{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.mobile-menu-btn span{display:block;width:24px;height:2px;background:var(--foreground);margin:5px 0;transition:0.3s;border-radius:2px;}
.lang-switch{display:none;}
.lang-dropdown{position:relative;display:inline-block}
.lang-dropbtn{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:white;color:var(--foreground);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}
.lang-dropbtn:hover{background:var(--secondary);border-color:var(--primary);color:var(--primary)}
.lang-menu{display:none;position:absolute;top:100%;right:0;margin-top:8px;background:white;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 10px 25px rgba(0,0,0,.1);z-index:1000;min-width:160px;overflow:hidden}
.lang-menu.show{display:block;animation:langFadeIn .2s ease}
.lang-menu a{display:block;padding:10px 16px;color:var(--foreground);font-size:14px;text-decoration:none;transition:background .2s;white-space:nowrap;text-align:left}
.lang-menu a:hover{background:var(--secondary);color:var(--primary)}
.lang-menu a.active{background:var(--secondary);color:var(--primary);font-weight:700;pointer-events:none}
@keyframes langFadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:767px){.lang-dropbtn span{display:none}.lang-dropbtn{padding:8px}}
.hero-image-wrapper{width:100%;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,0.05);}
.hero-image-wrapper img{width:100%;height:100%;object-fit:cover;display:block;}
.cold-ablation-box{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border:1px solid rgba(37,99,235,0.15);border-radius:var(--radius-lg);padding:32px;position:relative;overflow:hidden;}
.cold-ablation-box::before{display:none;}
.program-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;display:flex;flex-direction:column;gap:16px;transition:transform 0.3s,box-shadow 0.3s;position:relative;}
.program-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,0.08);}
.program-card .program-tag{font-size:12px;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;}
.program-card .program-link{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--primary);margin-top:auto;padding-top:16px;border-top:1px solid var(--border);transition:gap 0.2s;}
.program-card .program-link:hover{gap:10px;}
.diag-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:48px;}
.diag-card{background:var(--background);border-radius:var(--radius-md);box-shadow:0 2px 16px rgba(0,0,0,0.06);transition:transform 0.3s,box-shadow 0.3s;position:relative;overflow:hidden;padding:0;}
.diag-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px rgba(0,0,0,0.1);}
.diag-card::before{display:none;}
.diag-img-wrap{width:100%;height:200px;overflow:hidden;border-radius:var(--radius-md) var(--radius-md) 0 0;background:#f1f5f9;}
.diag-img-wrap img{width:100%;height:100%;object-fit:cover;object-position:center;}
.diag-card-body{padding:28px 32px 32px;}
.diag-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;letter-spacing:0.5px;margin-bottom:12px;}
.diag-badge-ai{background:#ede9fe;color:#7c3aed;}
.diag-badge-3d{background:#dbeafe;color:#2563eb;}
.diag-title{font-size:22px;font-weight:700;margin-bottom:8px;color:var(--foreground);}
.diag-sub{font-size:15px;color:var(--muted-foreground);margin-bottom:20px;line-height:1.6;}
.diag-features{display:flex;flex-direction:column;gap:10px;}
.diag-feat{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.6;color:var(--foreground);}
.diag-feat svg{color:var(--primary);width:18px;height:18px;flex-shrink:0;margin-top:2px;}
.timeline{position:relative;}
.timeline::before{content:'';position:absolute;left:24px;top:0;bottom:0;width:2px;background:var(--border);}
.timeline-item{display:flex;gap:24px;position:relative;padding-bottom:40px;}
.timeline-item:last-child{padding-bottom:0;}
.timeline-dot{width:48px;height:48px;border-radius:50%;background:var(--secondary);display:flex;align-items:center;justify-content:center;color:var(--primary);font-weight:700;font-size:18px;flex-shrink:0;z-index:1;border:3px solid var(--background);}
.timeline-item.active .timeline-dot{background:var(--primary);color:white;}
.review-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;display:flex;flex-direction:column;gap:16px;transition:transform 0.3s,box-shadow 0.3s;}
.review-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,0.08);}
.review-avatar{width:48px;height:48px;border-radius:50%;background:var(--secondary);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--primary);font-size:18px;flex-shrink:0;}
.stars{color:#f59e0b;letter-spacing:2px;font-size:18px;}
.faq-item{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow 0.3s;}
.faq-item:hover{box-shadow:0 4px 16px rgba(0,0,0,0.06);}
.faq-question{display:flex;justify-content:space-between;align-items:center;padding:24px;cursor:pointer;gap:16px;user-select:none;}
.faq-question h4{margin:0;font-size:18px;font-weight:600;flex:1;}
.faq-arrow{width:24px;height:24px;transition:transform 0.3s;flex-shrink:0;color:var(--muted-foreground);}
.faq-item.active .faq-arrow{transform:rotate(180deg);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.4s ease,padding 0.3s ease;}
.faq-answer-inner{padding:0 24px 24px;border-top:1px solid var(--border);padding-top:16px;}
.faq-item.active .faq-answer{max-height:300px;}
.disclaimer-section{background:#f1f5f9;border-top:2px solid var(--border);padding:48px 0 40px;}
.cta-section{background:#1e3a5f url('../img/dermatology-clinic.webp') center center / cover no-repeat;color:#fff;position:relative;overflow:hidden;}
.cta-section::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(15,30,55,0.40) 0%, rgba(20,40,70,0.35) 50%, rgba(15,30,55,0.45) 100%);z-index:1;}
.cta-section .container{position:relative;z-index:2;}
.cta-section h2{text-shadow:0 2px 16px rgba(0,0,0,0.85),0 1px 4px rgba(0,0,0,0.7);}
.cta-section p{text-shadow:0 1px 12px rgba(0,0,0,0.8),0 1px 3px rgba(0,0,0,0.6);}
.cta-section .btn{text-shadow:0 1px 4px rgba(0,0,0,0.3);}
.disc-header{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #cbd5e1;}
.disc-header h3{font-size:16px;font-weight:700;color:#334155;margin:0;}
.disc-body{display:grid;grid-template-columns:1fr 1fr;gap:24px 40px;}
.disc-block h4{font-size:13px;font-weight:700;color:#475569;margin-bottom:8px;}
.disc-block p{font-size:12.5px;line-height:1.8;color:#64748b;margin:0;}
.disc-legal{margin-top:24px;padding-top:20px;border-top:1px solid #cbd5e1;font-size:12px;color:#94a3b8;line-height:1.8;text-align:center;}
.disc-legal strong{color:#64748b;}
.kakao-float{position:fixed;bottom:24px;right:24px;z-index:200;display:flex;flex-direction:column;align-items:center;gap:8px;}
.kakao-btn{width:60px;height:60px;border-radius:50%;background:#FEE500;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,0.15);cursor:pointer;border:none;transition:transform 0.2s,box-shadow 0.2s;text-decoration:none;}
.kakao-btn:hover{transform:scale(1.1);box-shadow:0 6px 24px rgba(0,0,0,0.2);}
.kakao-label{font-size:12px;font-weight:600;color:var(--foreground);background:white;padding:4px 10px;border-radius:var(--radius-xl);box-shadow:0 2px 8px rgba(0,0,0,0.1);white-space:nowrap;}
.breadcrumb{padding:12px 0;font-size:13px;color:var(--muted-foreground);}
.breadcrumb a{color:var(--muted-foreground);text-decoration:underline;}
.breadcrumb a:hover{color:var(--primary);}
.breadcrumb span{margin:0 6px;}
.reveal{opacity:0;transform:translateY(30px);transition:opacity 0.7s ease,transform 0.7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.icon-inline{width:18px;height:18px;vertical-align:middle;display:inline-block;}
@media (max-width:767px){h1{font-size:28px;}h2{font-size:24px;}h3{font-size:20px;}.text-xl{font-size:16px;}.text-lg{font-size:15px;}.container{padding:0 16px;}.py-32{padding-top:56px;padding-bottom:56px;}.py-20{padding-top:48px;padding-bottom:48px;}.grid-cols-4,.grid-cols-3,.grid-cols-2{grid-template-columns:1fr;}.text-center>.text-lg.text-muted{display:none !important;}.gap-16{gap:32px;}.gap-8{gap:16px;}.gap-6{gap:12px;}.mb-16{margin-bottom:32px;}.mb-12{margin-bottom:24px;}.p-8{padding:20px;}.p-6{padding:16px;}.btn-lg{padding:14px 24px;font-size:16px;}.nav-header{height:60px;}.nav-header .container{padding:0 12px !important;}.nav-header .gap-4{gap:8px !important;}.nav-header .btn{display:none !important;}.nav-links{display:none;position:absolute;top:60px;left:0;right:0;flex-direction:column;background:rgba(255,255,255,0.98);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:16px 24px;gap:16px;box-shadow:0 4px 12px rgba(0,0,0,0.08);z-index:99;}.nav-links.active{display:flex;}.mobile-menu-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;padding:8px;background:none;border:none;cursor:pointer;}.nav-logo{display:flex;align-items:center;flex-shrink:0;}.nav-logo img{height:30px !important;width:auto !important;max-width:none;}.lang-dropdown{flex-shrink:0;}.hero-section-inner{padding-top:48px !important;padding-bottom:48px !important;}.diag-grid{grid-template-columns:1fr;gap:20px;}.review-grid{grid-template-columns:1fr !important;}.footer-inner{flex-direction:column;gap:16px;text-align:center;}.disc-body{grid-template-columns:1fr;gap:16px;}.kakao-float{bottom:16px;right:16px;}.kakao-btn{width:52px;height:52px;}}
@media (max-width:400px){h1{font-size:24px;}h2{font-size:22px;}.container{padding:0 12px;}}
/* Accessibility: Skip Navigation Link */
.skip-link:focus{top:0;outline:2px solid #fff;outline-offset:2px;}
.compare-table{width:100%;border-collapse:collapse;background:var(--card);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);}
.compare-table th,.compare-table td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--border);font-size:14px;line-height:1.6;}
.compare-table th{background:var(--muted);font-weight:700;font-size:13px;letter-spacing:.3px;color:var(--muted-foreground);}
.compare-table .highlight-col{background:rgba(30,58,95,0.04);}
.compare-table th.highlight-col{background:var(--ta);color:white;}
.btn-gold{background:linear-gradient(135deg,#b8860b,#d4a843);color:white;border:none;}
.btn-gold:hover{background:linear-gradient(135deg,#9a7209,#c49a35);box-shadow:0 8px 20px rgba(184,134,11,0.3);}
.badge-ta{background:rgba(30,58,95,0.1);color:var(--ta);}
.badge-gold{background:rgba(184,134,11,0.15);color:var(--ta-accent);}
.badge-f4d{background:rgba(210,105,30,0.12);color:var(--f4d);}
.badge-philosophy{background:var(--philosophy-bg);color:var(--philosophy-primary);}
.badge-blue{background:rgba(37,99,235,0.1);color:var(--primary);}
.voice-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;transition:transform 0.3s,box-shadow 0.3s;}
.voice-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.06);}
.cycle-box{text-align:center;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;}
.cycle-flow{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:16px;}
.cycle-step{padding:10px 18px;background:var(--secondary);color:var(--secondary-foreground);border-radius:var(--radius-xl);font-size:14px;font-weight:600;white-space:nowrap;}
.cycle-step.highlight{background:var(--philosophy-bg);color:var(--philosophy-primary);border:1px solid rgba(109,40,217,0.2);}
.cycle-arrow{color:var(--muted-foreground);font-size:18px;font-weight:700;}
.quote-box{text-align:center;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:48px 40px;}
.privilege-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;transition:transform 0.3s,box-shadow 0.3s;}
.privilege-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,0.08);}
.privilege-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:16px;}
.protocol-step{display:flex;gap:24px;margin-bottom:32px;}
.protocol-num{display:flex;flex-direction:column;align-items:center;flex-shrink:0;}
.protocol-dot{width:40px;height:40px;border-radius:50%;background:var(--philosophy-primary);color:white;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;z-index:1;}
.protocol-line{width:2px;flex:1;background:var(--border);margin-top:8px;}
.protocol-card{flex:1;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;transition:box-shadow 0.3s;}
.protocol-card:hover{box-shadow:0 4px 16px rgba(0,0,0,0.06);}
.comp-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.comp-card{border-radius:var(--radius-lg);padding:32px;}
.comp-old{background:var(--card);border:1px solid var(--border);}
.comp-new{background:linear-gradient(135deg,#312e81,#1e1b4b);color:white;border:1px solid rgba(167,139,250,0.3);}
.comp-list{display:flex;flex-direction:column;gap:12px;list-style:none;}
.comp-list li{padding-left:24px;position:relative;font-size:15px;line-height:1.7;color:var(--muted-foreground);}
.comp-list li::before{content:'';position:absolute;left:0;top:10px;width:8px;height:8px;border-radius:50%;background:var(--border);}
.comp-new .comp-list li::before{background:rgba(167,139,250,0.6);}
.comp-new .comp-list li{color:rgba(255,255,255,0.8);}
.promise-box{text-align:center;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:48px 40px;}
@media (max-width:767px){.comp-grid{grid-template-columns:1fr;}.protocol-step{gap:16px;}.quote-box,.promise-box{padding:32px 20px;}.cycle-flow{gap:4px;}.cycle-step{padding:8px 12px;font-size:12px;}}
/* Quick Bar - Right Side Floating Navigation */
.quick-bar{position:fixed;right:24px;top:50%;transform:translateY(-50%);z-index:200;display:flex;flex-direction:column;}
.quick-bar ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
.quick-bar li a{display:flex;flex-direction:column;align-items:center;justify-content:center;width:64px;height:64px;background:rgba(255,255,255,0.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,0.06);border-radius:16px;text-decoration:none;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);box-shadow:0 4px 20px rgba(0,0,0,0.08);}
.quick-bar li a:hover{transform:translateX(-4px);background:var(--primary);box-shadow:0 8px 28px rgba(37,99,235,0.3);}
.quick-bar li a:hover svg,.quick-bar li a:hover .quick-icon{color:#ffffff;fill:#ffffff;}
.quick-bar li a:hover .quick-text{color:#ffffff;}
.quick-icon{width:22px;height:22px;color:var(--primary);transition:color 0.3s ease;}
.quick-text{font-size:10px;font-weight:600;color:var(--foreground);margin-top:3px;transition:color 0.3s ease;letter-spacing:-0.02em;}
@media (max-width:767px){
.mobile-hide{display:none !important;}
.quick-bar{right:12px;}.quick-bar li a{width:52px;height:52px;border-radius:12px;}.quick-icon{width:18px;height:18px;}.quick-text{font-size:10px;}}
