﻿/* hero */
.hero{padding:60px 0 160px;overflow:hidden;background:radial-gradient(900px 600px at 78% 30%,rgba(220,235,227,.9),transparent 65%),radial-gradient(600px 400px at 0 100%,rgba(196,161,90,.18),transparent 70%),var(--ivory)}
.hero .ghost{display:none}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:center}
.hl{position:relative;z-index:4}
.hero h1{font-size:clamp(30px,3.8vw,46px);line-height:1.2;margin-bottom:20px;clip-path:inset(0 0 100% 0);animation:rv 1.4s .35s var(--e) forwards}
.hero h1 em{display:block;font-style:normal;font-weight:700;font-size:clamp(20px,2.4vw,32px);line-height:1.25;color:var(--green);margin-top:8px}
.hero .lead{font-size:16.5px;line-height:1.65;margin-bottom:28px;opacity:0;animation:fi 1s 1s var(--e) forwards}
.hero .cta{opacity:0;animation:fi 1s 1.2s var(--e) forwards}.hero .kick{opacity:0;animation:fi 1s .2s forwards}
.gline{position:absolute;left:0;right:0;bottom:120px;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 20%,var(--gold) 80%,transparent);transform:scaleX(0);transform-origin:0;animation:dl 2s .6s var(--e) forwards;z-index:1}
@keyframes rv{to{clip-path:inset(-10% -20% -10% 0)}}@keyframes fi{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes dl{to{transform:scaleX(1)}}
.portrait{position:relative;justify-self:center;width:100%;max-width:520px;z-index:2;transform:translate3d(var(--mx,0),var(--my,0),0);transition:transform .8s var(--e)}
.portrait .mask{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:44px 44px 16px 44px;background:var(--green);box-shadow:0 50px 90px rgba(6,36,30,.3);animation:zo 1.8s .1s var(--e) both}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 48%;transform:scale(var(--sc,1.02)) translateY(var(--py,0));transition:transform .2s linear}
@keyframes zo{from{opacity:0;transform:scale(1.05)}}
.portrait::before{content:"";position:absolute;inset:-6% -7% 8% 14%;border:1.5px solid var(--gold);border-radius:48px 48px 18px 48px;transform:rotate(4deg);z-index:-1}
.portrait::after{content:"";position:absolute;width:62%;aspect-ratio:1;right:-18%;bottom:-8%;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--gold-l),var(--gold) 60%,#8a6a2b);opacity:.92;z-index:-1;filter:blur(.3px)}
.lab{position:absolute;z-index:3;padding:9px 16px;border-radius:999px;background:rgba(251,248,242,.94);backdrop-filter:blur(10px);font:700 12px var(--sans);letter-spacing:.04em;color:var(--green);box-shadow:0 12px 30px rgba(6,36,30,.18);opacity:0;animation:fi .9s var(--e) forwards}
.lab.l1{left:-6%;top:16%;animation-delay:1.5s}.lab.l2{right:-4%;top:46%;animation-delay:1.75s}.lab.l3{left:-3%;bottom:12%;animation-delay:2s;background:var(--green);color:#fff}
@media(max-width:960px){.hero{padding:40px 0 140px}.hero .wrap{grid-template-columns:1fr;gap:44px;text-align:center}.hero h1{margin-right:0}.hero h1 em{margin-inline:auto}.hero .lead{margin-inline:auto}.cta{justify-content:center}.portrait{max-width:360px}.lab.l1{left:-2%}.lab.l2{right:-2%}.gline{bottom:90px}}
/* stats */
.stats{padding:0 0 80px;margin-top:-90px;z-index:5}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{position:relative;padding:28px 24px 0 0}
.stat::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:0;transition:transform 1.4s var(--e) var(--d,0s)}
.stat.in::before{transform:scaleX(1)}
.stat::after{content:"";position:absolute;top:-4px;left:0;width:9px;height:9px;border-radius:50%;background:var(--gold);transition:transform .5s var(--e)}
.stat:hover::after{transform:scale(1.8)}
.stat b{display:block;font:700 clamp(32px,3.6vw,44px)/1.1 var(--sans);letter-spacing:-.02em;color:var(--green);transition:color .5s,transform .7s var(--e)}
.stat:hover b{color:var(--gold);transform:translateX(6px)}
.stat span{display:block;margin-top:8px;font:600 12.5px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--mu)}
@media(max-width:760px){.stats .wrap{grid-template-columns:1fr 1fr;gap:28px 16px}.stat{padding-right:0}}
/* treatments */
#treatments{background:var(--paper);padding-top:100px;border-radius:var(--arc) var(--arc) 0 0;margin-top:calc(var(--arc) * -1);z-index:4;overflow:hidden}
#treatments .ghost{display:none}
.tgrid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;position:relative;z-index:2}
.treat{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:300px;padding:32px;border-radius:28px;text-decoration:none;overflow:hidden;background:var(--mint)}
.treat:nth-child(1){grid-column:span 7;min-height:420px;background:var(--green);color:#fff}
.treat:nth-child(2){grid-column:span 5;background:var(--ivory);border:1px solid var(--ln)}
.treat:nth-child(3){grid-column:span 5;background:var(--mint)}
.treat:nth-child(4){grid-column:span 7;background:linear-gradient(135deg,#efe3c4,var(--gold-l));}
.treat::before{content:"";position:absolute;inset:0;background:radial-gradient(500px circle at var(--sx,80%) var(--sy,0),rgba(196,161,90,.45),transparent 60%);opacity:0;transition:opacity .7s}
.treat:hover{translate:0 -6px;box-shadow:0 30px 60px rgba(6,36,30,.18)}.treat:hover::before{opacity:1}
.treat .ic{position:absolute;top:30px;left:32px;width:72px;height:72px;border-radius:50%;background:#fff;display:grid;place-items:center;transition:transform .8s var(--e);box-shadow:0 10px 24px rgba(6,36,30,.12)}
.treat:nth-child(1) .ic{width:84px;height:84px;top:32px;left:32px}
.treat img{width:46%;height:46%;object-fit:contain;transition:transform .8s var(--e)}
.treat:hover .ic{transform:translate(6px,-6px) rotate(-8deg)}.treat:hover .ic img{transform:scale(1.1)}
.treat h3{position:relative;font-size:clamp(19px,1.9vw,23px);margin-bottom:8px;line-height:1.3;transition:transform .7s var(--e)}.treat:nth-child(1) h3{font-size:clamp(21px,2.1vw,26px);color:#fff}
.treat:hover h3{transform:translateY(-4px)}
.treat p{position:relative;max-width:36ch;font-size:15px;line-height:1.6;opacity:.85}
.treat span{position:relative;margin-top:20px;font:700 13.5px var(--sans);display:inline-flex;gap:10px;align-items:center}
.treat span::after{content:"\2192";display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1.5px solid currentColor;transition:transform .5s var(--e),background .4s,color .4s}
.treat:hover span::after{transform:translateX(6px) rotate(-45deg);background:var(--gold);border-color:var(--gold);color:#1a1405}
@media(max-width:900px){.treat:nth-child(n){grid-column:span 12;min-height:260px;padding:26px}.treat:nth-child(1){min-height:340px}.treat .ic{top:24px;left:26px}}
/* about */
.about{background:linear-gradient(180deg,var(--deep),#08302a 60%,var(--deep));padding-top:calc(var(--arc) + 34px);overflow:hidden;border-radius:var(--arc) var(--arc) 0 0;margin-top:calc(var(--arc) * -1);z-index:5;color:#cfe4db}
.about::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 500px at 90% 20%,rgba(196,161,90,.18),transparent 65%),url("img/comment-02.html") center/cover;opacity:.2;mix-blend-mode:luminosity}
.about .ghost{display:none}
.about .wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.about .side{position:sticky;top:130px}
.about h2{color:#fff;font-size:clamp(26px,2.8vw,36px);line-height:1.25}
.about p{font-size:15.5px;line-height:1.65;margin-bottom:16px;max-width:48ch;color:#b6d1c6}.about .btn{margin-top:12px}
.tl{list-style:none;position:relative;padding-left:48px;display:grid;gap:48px}
.tl::before,.tl::after{content:"";position:absolute;left:8px;top:6px;width:2px;background:rgba(255,255,255,.14);bottom:6px}
.tl::after{background:linear-gradient(var(--gold-l),var(--gold));height:var(--h,0);bottom:auto;box-shadow:0 0 18px var(--gold)}
.tl li{position:relative;opacity:.25;transform:translateY(20px);transition:opacity .9s var(--e),transform .9s var(--e)}
.tl li.in{opacity:1;transform:none}
.tl li::before{content:"";position:absolute;left:-48px;top:8px;width:16px;height:16px;border-radius:50%;background:var(--deep);border:2px solid rgba(255,255,255,.3);transition:.6s var(--e)}
.tl li.in::before{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 8px rgba(196,161,90,.2)}
.tl li.in:hover::before{transform:scale(1.2);box-shadow:0 0 0 12px rgba(196,161,90,.25)}
.tl b{display:block;font:700 clamp(17px,1.7vw,20px)/1.35 var(--sans);color:#fff;margin-bottom:6px;transition:color .4s,transform .6s var(--e)}.tl li.in:hover b{color:var(--gold-l);transform:translateX(6px)}
.tl span{font-size:14.5px;line-height:1.6;color:#a9c6bb;max-width:48ch;display:block}
@media(max-width:900px){.about .wrap{grid-template-columns:1fr;gap:56px}.about .side{position:static}.tl{padding-left:44px;gap:44px}.tl li::before{left:-44px}}
/* cases */
.cases{background:linear-gradient(180deg,var(--deep),#0a3a31);padding-top:48px;padding-bottom:36px;overflow:hidden}
.cases .ghost{display:none}
.scr{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.scr::-webkit-scrollbar{display:none}
.scr.drag{scroll-snap-type:none;cursor:grabbing}.scr.drag *{pointer-events:none}
.ctl{display:flex;gap:12px;justify-content:flex-end;margin-top:34px}
.cb{width:52px;height:52px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);background:transparent;color:#fff;font-size:16px;cursor:pointer;transition:.4s var(--e)}.cb:hover{background:var(--gold);border-color:var(--gold);color:#1a1405;transform:scale(1.06)}.cb:active{transform:scale(.94)}
.chead{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap;margin-bottom:26px;position:relative;z-index:2}
.chead .sec-head{margin:0}
.cnt{display:flex;align-items:center;gap:24px}
.cnum{font:700 clamp(20px,2vw,26px)/1 var(--sans);color:#fff;font-variant-numeric:tabular-nums}.cnum small{font-size:.6em;color:#7fa093;margin-left:4px}
.chead .ctl{margin:0}
.cprog{position:relative;height:2px;background:rgba(255,255,255,.14);margin-bottom:30px;border-radius:2px;overflow:hidden}
.cprog i{position:absolute;left:0;top:0;bottom:0;width:16%;background:linear-gradient(90deg,var(--gold),var(--gold-l));border-radius:2px;transition:width .5s var(--e)}
.cases .scr{gap:24px;padding:8px max(32px,calc((100vw - 1360px)/2)) 32px;counter-reset:c;scroll-padding-inline:max(32px,calc((100vw - 1360px)/2))}
.case{position:relative;flex:0 0 min(78vw,560px);scroll-snap-align:start;counter-increment:c;padding:12px;border-radius:26px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);overflow:hidden;transition:translate .7s var(--e),border-color .5s,background .5s,box-shadow .7s}
.case:hover{translate:0 -8px;border-color:rgba(196,161,90,.65);background:rgba(255,255,255,.08);box-shadow:0 36px 70px rgba(0,0,0,.35)}
.case::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-l));transform:scaleX(0);transform-origin:0;transition:transform .8s var(--e);border-radius:3px 3px 0 0}
.case:hover::after{transform:scaleX(1)}
.cimg{position:relative;aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:#e8f1ec;clip-path:inset(0 round 18px)}
.cimg img{width:100%;height:100%;object-fit:contain;transition:transform 1.2s var(--e)}.case:hover .cimg img{transform:scale(1.05)}
.chip{position:absolute;left:12px;top:12px;z-index:2;padding:6px 14px;border-radius:999px;background:var(--deep);color:#fff;font:700 11px var(--sans);letter-spacing:.12em;text-transform:uppercase;transition:background .4s,color .4s,transform .6s var(--e)}
.chip::before{content:"Case " counter(c,decimal-leading-zero)}
.case:hover .chip{background:var(--gold);color:#1a1405;transform:translateY(-2px)}
.cbody{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 10px 10px}
.cbody h3{font-size:clamp(17px,1.6vw,20px);font-weight:700;margin-bottom:4px;transition:transform .6s var(--e)}.case:hover .cbody h3{transform:translateX(4px)}
.cbody small{font:500 13.5px var(--sans);color:#8fb0a3}
.cbody .go{flex:none;width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);display:grid;place-items:center;color:#fff;transition:transform .6s var(--e),background .4s,border-color .4s,color .4s}
.case:hover .go{transform:rotate(-45deg) scale(1.08);background:var(--gold);border-color:var(--gold);color:#1a1405}
@media(max-width:700px){.cases .scr{padding:8px 18px 24px;gap:14px;scroll-padding-inline:18px}.case{flex-basis:86vw;padding:10px;border-radius:22px}.cimg{border-radius:16px;clip-path:inset(0 round 16px)}.cb{width:46px;height:46px}.chead{align-items:flex-start}.cnt{width:100%;justify-content:space-between}}
/* videos */
#videos{background:linear-gradient(180deg,#0a3a31,var(--deep));padding-top:36px;padding-bottom:calc(var(--arc) + 30px)}
#videos .ghost{display:none}
.vgrid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;position:relative;z-index:2}
.vid{position:relative;grid-column:span 4;display:flex;flex-direction:column;padding:10px;border-radius:26px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);overflow:hidden;isolation:isolate;transition:translate .7s var(--e),border-color .5s,box-shadow .7s}
.vid:hover{translate:0 -8px;border-color:rgba(196,161,90,.6);box-shadow:0 36px 70px rgba(0,0,0,.35)}
.vframe{position:relative;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:#04140f;clip-path:inset(0 round 20px)}
.vframe video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:transform 1.2s var(--e)}
.vid:hover video{transform:scale(1.03)}
.vid .pl{position:absolute;inset:0;z-index:2;border:0;cursor:pointer;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:linear-gradient(180deg,rgba(6,36,30,.1),rgba(6,36,30,.7));transition:background .5s,opacity .5s}
.vid .pl i{position:relative;width:68px;height:68px;border-radius:50%;border:1.5px solid #fff;display:grid;place-items:center;font-style:normal;font-size:20px;padding-left:4px;backdrop-filter:blur(6px);background:rgba(255,255,255,.1);transition:transform .6s var(--e),background .4s,color .4s,border-color .4s}
.vid .pl i::before{content:"";position:absolute;inset:-1.5px;border-radius:50%;border:1.5px solid #fff;animation:ring 2.4s ease-out infinite}
@keyframes ring{from{transform:scale(1);opacity:.7}to{transform:scale(1.7);opacity:0}}
.vid .pl span{font:700 11px var(--sans);letter-spacing:.25em}
.vid:hover .pl i{transform:scale(1.15);background:var(--gold);border-color:var(--gold);color:#1a1405}
.vcap{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 10px 10px}
.vcap h3{font-size:clamp(16px,1.5vw,19px);font-weight:700;color:#fff;transition:transform .6s var(--e)}.vid:hover .vcap h3{transform:translateX(4px)}
.vcap span{display:inline-flex;align-items:center;gap:8px;flex:none;padding:6px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.2);font:700 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#a9c6bb;transition:border-color .4s,color .4s}
.vcap span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);transition:background .4s,box-shadow .4s}
.vid:hover .vcap span{border-color:var(--gold);color:var(--gold-l)}
.vid.on .vcap span{color:#fff}.vid.on .vcap span::before{background:#3ddc84;box-shadow:0 0 0 4px rgba(61,220,132,.25)}
.vid.on .pl{opacity:0;pointer-events:none}
@media(max-width:800px){.vid{grid-column:span 12}.vid .pl i{width:60px;height:60px}}
/* reviews */
.reviews{background:var(--paper);overflow:hidden;border-radius:var(--arc) var(--arc) 0 0;margin-top:calc(var(--arc) * -1);z-index:6;padding-top:calc(var(--arc) + 24px);padding-bottom:24px;background:linear-gradient(180deg,var(--paper),#efe8d6)}
.reviews::before{display:none}
.sec-head.rh{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.rbar{display:flex;align-items:center;gap:18px;padding:12px 22px 12px 18px;border:1px solid var(--ln);border-radius:20px;background:#fff;box-shadow:0 18px 40px rgba(6,36,30,.06);transition:translate .6s var(--e),box-shadow .6s}
.rbar:hover{translate:0 -3px;box-shadow:0 26px 50px rgba(6,36,30,.12)}
.rbar b{font:700 34px/1 var(--sans);color:var(--green);letter-spacing:-.02em}
.rbar div{display:grid;gap:2px}.rbar div span{font-size:13.5px;color:var(--mu)}
.stars{font-style:normal;color:var(--gold);letter-spacing:2px}
.reviews .sec-head{margin-bottom:12px}.reviews .sec-head h2{font-size:clamp(26px,2.8vw,36px);margin-bottom:12px}.reviews .scr{gap:18px;padding:10px max(32px,calc((100vw - 1360px)/2)) 14px;scroll-padding-inline:max(32px,calc((100vw - 1360px)/2))}
.reviews .sl{flex:0 0 min(86vw,460px);scroll-snap-align:start;opacity:.55;transform:scale(.97);transition:opacity .8s var(--e),transform .8s var(--e)}
.reviews .sl.act{opacity:1;transform:none}
.rc{position:relative;display:flex;flex-direction:column;height:100%;padding:24px 26px 20px;border-radius:24px;background:#fff;border:1px solid var(--ln);box-shadow:0 24px 50px rgba(6,36,30,.06);overflow:hidden;transition:translate .7s var(--e),border-color .5s,box-shadow .7s}
.rc::after{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--gold),var(--green));transform:scaleX(0);transform-origin:0;transition:transform .9s var(--e)}
.reviews .sl.act .rc{border-color:rgba(196,161,90,.55)}.reviews .sl.act .rc::after{transform:scaleX(1)}
.rc:hover{translate:0 -6px;box-shadow:0 36px 70px rgba(6,36,30,.14)}
.rtop{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}
.rc .tag{display:inline-block;font:700 11px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--green);background:var(--mint);padding:6px 12px;border-radius:999px;transition:background .4s,color .4s}
.rc:hover .tag{background:var(--green);color:#fff}
.qm{font:700 32px/1 var(--serif);color:var(--gold);opacity:.6;height:22px;transition:opacity .5s,transform .7s var(--e)}
.rc:hover .qm{opacity:1;transform:rotate(-6deg) scale(1.1)}
.rc blockquote{flex:1;font:400 15px/1.65 var(--sans);color:var(--ink);margin-bottom:16px}
.rc footer{display:flex;align-items:center;gap:12px;border-top:1px solid var(--ln);padding-top:14px}
.rc footer .av{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--green),#17705c);color:#fff;font:700 14px var(--sans);letter-spacing:.04em;transition:transform .6s var(--e),background .4s}
.rc:hover footer .av{transform:rotate(-6deg) scale(1.08);background:linear-gradient(135deg,var(--gold),#a8853f);color:#1a1405}
.rc footer div{display:flex;flex-direction:column;line-height:1.35;min-width:0}.rc footer b{font:700 15px var(--sans);color:var(--green)}.rc footer div span{font-size:13px;color:var(--mu)}
.rc footer .stars{margin-left:auto;font-size:14px;letter-spacing:2px;white-space:nowrap}
.reviews .ctl{align-items:center;justify-content:space-between;width:min(1360px,100% - 64px);margin:0 auto}
.reviews .cb{width:46px;height:46px;border-color:var(--ln);color:var(--green)}
.rdots{display:flex;gap:8px;align-items:center}
.rdots button{width:9px;height:9px;border-radius:999px;border:0;background:rgba(13,74,61,.22);cursor:pointer;padding:0;transition:width .6s var(--e),background .4s}
.rdots button:hover{background:rgba(13,74,61,.5)}.rdots button.on{width:32px;background:var(--gold)}
.reviews .ctl .arrows{display:flex;gap:10px}
@media(max-width:700px){.reviews .scr{padding:10px 18px 12px;scroll-padding-inline:18px}.reviews .sl{flex-basis:88vw}.rc{padding:22px 18px 18px}.reviews .ctl{width:calc(100% - 36px)}.rbar b{font-size:30px}.rc footer .stars{display:none}}
/* associated */
.assoc{background:linear-gradient(180deg,#efe8d6,var(--mint));padding:10px 0 48px}
.abar{display:grid;grid-template-columns:minmax(260px,.75fr) 2fr;gap:36px;align-items:center;padding:22px 0 22px 36px;border-radius:28px;background:linear-gradient(120deg,#fff 0%,#fbf4e1 55%,#dcebe3 100%);border:1px solid var(--ln);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overflow:hidden;transition:box-shadow .7s var(--e),background .5s}
.abar:hover{box-shadow:0 30px 60px rgba(6,36,30,.12)}
.abar h2{font-size:clamp(22px,2.2vw,28px);line-height:1.25;margin-bottom:10px}
.abar .lead{font-size:14.5px;max-width:34ch;line-height:1.55}
.lgwin{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 100%);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 100%);padding:8px 0}
.lgtrk{display:flex;align-items:center;width:max-content;animation:mq var(--dur,40s) linear infinite}
.lgtrk img{flex:none;width:160px;height:90px;margin-right:14px;object-fit:contain;background:#fff;border-radius:18px;padding:12px;box-shadow:0 12px 28px rgba(6,36,30,.06);border:1px solid rgba(196,161,90,.3);transition:transform .6s var(--e),box-shadow .6s,border-color .4s}
.lgtrk img:hover{transform:translateY(-6px) scale(1.04);box-shadow:0 22px 40px rgba(6,36,30,.15);border-color:var(--gold)}.abar:hover .lgtrk{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
@media(max-width:900px){.abar{grid-template-columns:1fr;gap:20px;padding:26px 0 22px 20px}.abar .lead{max-width:44ch;padding-right:20px}}
@media(max-width:700px){.lgtrk img{width:130px;height:76px;margin-right:12px;padding:9px}.assoc{padding:6px 0 38px}}
/* booking */
.book{background:radial-gradient(700px 500px at 100% 0,rgba(196,161,90,.28),transparent 60%),linear-gradient(135deg,var(--deep),#0b4a3f);border-radius:var(--arc) var(--arc) 0 0;margin-top:calc(var(--arc) * -1);z-index:7;padding-top:calc(var(--arc) + 34px);overflow:hidden;color:#cfe4db}
.book .ghost{display:none}
.book .wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.book h2{font-size:clamp(26px,2.8vw,36px);color:#fff;line-height:1.25}
.book ul{list-style:none;margin-top:32px;border-top:1px solid rgba(255,255,255,.18)}
.book li{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.18);color:#fff;font-size:15px;transition:padding .5s var(--e),color .4s}.book li::before{content:"\2713";color:var(--gold-l);font-weight:800}.book li:hover{padding-left:10px;color:var(--gold-l)}
.book form{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:22px 20px;padding:38px 36px 32px;border-radius:28px;background:var(--paper);color:var(--ink);box-shadow:0 50px 100px rgba(0,0,0,.4);overflow:hidden}
.fp{position:absolute;inset:0 0 auto;height:5px;background:rgba(16,36,31,.08)}.fp i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--green));transition:width .8s var(--e)}
.fh{font-size:22px!important;font-weight:700;color:var(--green)!important}
.book label{position:relative;display:grid;gap:4px;font:700 11.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mu);transition:color .3s}
.book label:focus-within{color:var(--gold)}
.book label::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:0;transition:transform .6s var(--e)}.book label:focus-within::after{transform:scaleX(1)}
.full{grid-column:1/-1}
.book input,.book select,.book textarea{font:500 15px var(--sans);letter-spacing:0;text-transform:none;width:100%;padding:8px 0 10px;border:0;border-bottom:1.5px solid var(--ln);border-radius:0;background:transparent;color:var(--ink);outline:0}
.book textarea{resize:vertical}
.book .btn{width:100%;padding:15px;font-size:15px}
.book small{display:block;text-align:center;margin-top:12px;color:var(--mu);font-size:13px}
@media(max-width:900px){.book{padding-top:80px}.book .wrap{grid-template-columns:1fr;gap:44px}.book form{grid-template-columns:1fr;padding:34px 20px 24px}.book input,.book select,.book textarea{font-size:15px}}
/* faq */
.faq{background:var(--ivory);border-radius:var(--arc) var(--arc) 0 0;margin-top:calc(var(--arc) * -1);z-index:8;padding-top:calc(var(--arc) + 34px);overflow:hidden}
.faq .ghost{display:none}
.faq .wrap{display:grid;grid-template-columns:.9fr 1.3fr;gap:64px;align-items:start}
.faq .side{position:sticky;top:130px}.faq h2{font-size:clamp(26px,2.8vw,36px);line-height:1.25}
.help{margin-top:28px;padding:28px;border-radius:24px;background:var(--green);color:#fff}.help h3{font-size:20px;font-weight:700;color:#fff;margin-bottom:8px}.help p{color:#b9d6cb;font-size:14.5px;line-height:1.6;margin-bottom:18px}
.qa{border-top:1px solid var(--ln)}
details{border-bottom:1px solid var(--ln);position:relative;transition:padding .5s var(--e)}
details::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold);transform:scaleY(0);transition:transform .6s var(--e)}
details:not([open]):hover{padding-left:12px}details:not([open]):hover::before{transform:scaleY(.5)}
details[open]::before{transform:scaleY(1)}details[open]{padding-left:18px}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;font:600 clamp(16px,1.5vw,18px)/1.4 var(--sans);transition:color .3s}
summary::-webkit-details-marker{display:none}summary:hover,details[open] summary{color:var(--green)}
summary::after{content:"+";flex:none;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--ln);display:grid;place-items:center;font:400 18px var(--sans);transition:transform .6s var(--e),background .4s,border-color .4s}
summary:hover::after{border-color:var(--gold)}
details[open] summary::after{transform:rotate(135deg);background:var(--gold);border-color:var(--gold)}
details p{overflow:hidden;color:var(--mu);font-size:14.5px;line-height:1.65;padding-bottom:20px;max-width:56ch}
@media(max-width:900px){.faq{padding-top:80px}.faq .wrap{grid-template-columns:1fr;gap:36px}.faq .side{position:static}}
/* opd */
#opd{background:var(--mint);border-radius:var(--arc) var(--arc) 0 0;margin-top:calc(var(--arc) * -1);z-index:9;padding-top:calc(var(--arc) + 30px);padding-bottom:calc(var(--arc) + 16px);overflow:hidden}
#opd .sec-head{margin-bottom:22px}#opd .sec-head h2{font-size:clamp(26px,2.8vw,36px);margin-bottom:0}
#opd .ghost{display:none}
.ogrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;position:relative;z-index:2}
.clinic{position:relative;display:flex;flex-direction:column;padding:10px;border-radius:28px;overflow:hidden;background:var(--green);color:#d4e6de}
.clinic:nth-child(2){background:var(--paper);color:var(--ink);border:1px solid var(--ln)}
.clinic:hover{translate:0 -6px;box-shadow:0 36px 70px rgba(6,36,30,.2)}
.mapf{position:relative;height:260px;border-radius:20px;overflow:hidden;background:#cfe0d8;clip-path:inset(0 round 20px)}
.mapf iframe{width:100%;height:100%;border:0;filter:grayscale(.6) contrast(1.05);transition:filter .7s,transform 1.2s var(--e)}
.clinic:hover .mapf iframe{filter:none;transform:scale(1.02)}
.mchip{position:absolute;left:12px;top:12px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:rgba(251,248,242,.95);color:var(--green);font:700 11.5px var(--sans);letter-spacing:.04em;box-shadow:0 8px 20px rgba(6,36,30,.18)}
.cbd{display:flex;flex-direction:column;flex:1;padding:20px 16px 12px}
.clinic h3{font-size:clamp(19px,1.9vw,23px);font-weight:700;color:#fff;margin-bottom:10px;max-width:18em}.clinic:nth-child(2) h3{color:var(--green)}
.clinic address{font-style:normal;margin-bottom:14px;max-width:44ch;line-height:1.6;font-size:14.5px}
.clinic dl{display:grid;grid-template-columns:auto 1fr;gap:8px 24px;margin-bottom:16px;padding:14px 0;border-block:1px solid rgba(255,255,255,.2)}.clinic:nth-child(2) dl{border-color:var(--ln)}
.clinic dt{font:700 11.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-l);padding-top:2px}.clinic:nth-child(2) dt{color:var(--gold)}.clinic dd{overflow-wrap:anywhere;font-size:14px}
.clinic .cta{margin-top:auto}.clinic .btn-line{color:#fff}.clinic:nth-child(2) .btn-line{color:var(--green)}.clinic:nth-child(2) .btn-line:hover{color:#fff}
.clinic:first-child .btn-green{background:var(--gold);color:#1a1405}
@media(max-width:900px){.ogrid{grid-template-columns:1fr}.cbd{padding:18px 10px 10px}.mapf{height:210px}.clinic .btn{flex:1}}

/* Live PHP homepage compatibility */
.docs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}.docs span{display:grid;gap:2px;padding:10px 16px;border:1px solid var(--ln);border-radius:14px;background:rgba(255,255,255,.78);box-shadow:0 8px 24px rgba(7,27,85,.06)}.docs b{font-size:13.5px;color:var(--deep)}.docs small{font-size:11.5px;color:var(--mu)}
.tchips{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:30px}.tchips a{padding:9px 17px;border:1px solid rgba(23,62,170,.17);border-radius:999px;background:#fff;color:var(--green);font:600 13px var(--sans);text-decoration:none;transition:.35s var(--e)}.tchips a:hover{background:var(--green);border-color:var(--green);color:#fff;transform:translateY(-2px)}
#conditions{background:linear-gradient(180deg,#f5f7ff,#fff);padding-top:calc(var(--arc) + 30px);border-radius:var(--arc) var(--arc) 0 0;margin-top:calc(var(--arc) * -1);z-index:5}#blog{background:linear-gradient(180deg,#fff,#f4f7ff);padding-top:calc(var(--arc) + 28px);border-radius:var(--arc) var(--arc) 0 0;margin-top:calc(var(--arc) * -1);z-index:7}
@media(max-width:960px){.docs{justify-content:center}}@media(max-width:760px){.home #treatments{padding-bottom:calc(var(--arc) + 76px)!important}}


/* Guaranteed breathing room below View All Services */
.home #treatments .more{margin-top:36px!important;margin-bottom:clamp(72px,7vw,108px)!important}
@media(max-width:760px){.home #treatments .more{margin-bottom:64px!important}}

/* Phone layout refinements */
@media(max-width:520px){
 .hero{padding:34px 0 126px}
 .hero .wrap{width:calc(100% - 28px);gap:38px}
 .hero .hl,.portrait{min-width:0;width:100%}
 .hero .kick{font-size:10.5px;line-height:1.65;letter-spacing:.16em;margin-bottom:14px;overflow-wrap:anywhere}
 .hero h1{font-size:clamp(30px,10vw,38px);line-height:1.08;margin-bottom:16px;overflow-wrap:anywhere}
 .hero h1 em{font-size:clamp(19px,6.4vw,25px);line-height:1.25;margin-top:10px}
 .hero .lead{font-size:15px;line-height:1.6;margin-bottom:22px}
 .docs{display:grid;grid-template-columns:1fr;gap:8px;width:100%;margin-bottom:20px}
 .docs span{width:100%;padding:9px 12px}
 .hero .cta{display:grid;grid-template-columns:1fr;width:100%;gap:10px}
 .hero .cta .btn{width:100%;padding:12px 16px}
 .portrait{max-width:100%;padding-inline:5px}
 .portrait .mask{border-radius:32px 32px 12px 32px}
 .portrait::before{inset:-5% -2% 7% 10%;border-radius:36px 36px 14px 36px}
 .portrait::after{right:-7%;bottom:-10%;width:48%}
 .portrait img{object-position:center 48%;transform:scale(var(--sc,1.01)) translateY(var(--py,0))}
 .lab{max-width:62%;padding:7px 10px;font-size:10px;line-height:1.35;white-space:normal;text-align:center}
 .lab.l1{left:0;top:10%}.lab.l2{right:0;top:43%}.lab.l3{left:0;bottom:8%}
 .stats{margin-top:-78px;padding-bottom:66px}
 .stats .wrap{gap:22px 12px}
 .stat{min-width:0;padding-top:22px}
 .stat b{font-size:30px}.stat span{font-size:10.5px;line-height:1.35;letter-spacing:.05em;overflow-wrap:anywhere}
 #treatments{padding-top:76px}
 .tgrid{gap:14px}
 .treat:nth-child(n){display:block;min-height:0;padding:106px 22px 24px;border-radius:24px}
 .treat:nth-child(1){min-height:0}
 .treat .ic,.treat:nth-child(1) .ic{top:22px;left:22px;width:64px;height:64px}
 .treat h3,.treat:nth-child(1) h3{font-size:21px;line-height:1.2;margin-bottom:10px}
 .treat p{font-size:14.5px;line-height:1.55;max-width:none}
 .treat span{margin-top:18px}
 .tchips{display:grid;grid-template-columns:1fr;width:100%;gap:8px;margin-top:24px}
 .tchips a{display:block;width:100%;max-width:100%;padding:10px 12px;line-height:1.35;text-align:center;white-space:normal;overflow-wrap:anywhere}
 .about .wrap,.book .wrap,.faq .wrap{gap:38px}
 .case{flex-basis:calc(100vw - 36px)}
 .reviews .sl{flex-basis:calc(100vw - 36px)}
 .rbar{width:100%;padding:11px 14px;gap:12px}
 .rbar b{font-size:28px}
 .abar{padding:24px 0 20px 16px}
 .book form{padding:30px 16px 22px;border-radius:22px}
 .clinic{border-radius:22px}.clinic dl{grid-template-columns:1fr;gap:4px}.clinic dd{margin-bottom:7px}
}