:root{
  --bg:#f4f8fb; --bg2:#e9f2f7; --white:#fff;
  --ink:#173a52; --ink2:#4a6478; --mute:#8aa0b0;
  --blue:#2f93b8; --blue-d:#23789a; --soft:#dcecf3; --accent2:#5bc0be;
  --line:rgba(23,58,82,.12);
  --jp:'Zen Kaku Gothic New',sans-serif; --en:'Outfit',sans-serif;
  --ease:cubic-bezier(.5,0,.15,1); --rad:14px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;interpolate-size:allow-keywords;}
body{background:var(--bg);color:var(--ink);font-family:var(--jp);line-height:1.9;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button,input,textarea,select{font:inherit;color:inherit;}
button{background:none;border:0;cursor:pointer;}
section{position:relative;}
::selection{background:var(--blue);color:#fff;}
.wrap{width:min(92%,1160px);margin-inline:auto;}
h1,h2,h3,.lead,.hero__copy p,.shead p,.phead p{word-break:auto-phrase;line-break:strict;text-wrap:pretty;}
.eyebrow{font-family:var(--en);font-weight:600;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin-bottom:14px;display:inline-flex;align-items:center;gap:10px;}
.eyebrow::before{content:"";width:24px;height:2px;background:var(--blue);border-radius:2px;}

/* header */
.hd{position:fixed;inset:0 0 auto 0;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:14px clamp(16px,4vw,44px);transition:.4s var(--ease);}
.hd.sc{background:rgba(255,255,255,.94);backdrop-filter:blur(10px);box-shadow:0 2px 18px -10px rgba(23,58,82,.4);padding-block:10px;}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:18px;letter-spacing:.02em;}
.brand .logo{width:32px;height:32px;flex:0 0 auto;}
.nav{display:flex;gap:24px;font-size:13.5px;font-weight:500;color:var(--ink2);}
.nav a{position:relative;padding:4px 0;}
.nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--blue);border-radius:2px;transition:.35s var(--ease);}
.nav a:hover{color:var(--ink);} .nav a:hover::after{width:100%;}
.nav a.cur{color:var(--ink);} .nav a.cur::after{width:100%;}
.hd__r{display:flex;align-items:center;gap:16px;}
.hd__tel{font-family:var(--en);font-weight:700;font-size:17px;color:var(--ink);display:flex;align-items:center;gap:7px;}
.hd__tel small{font-family:var(--jp);font-weight:500;font-size:10.5px;color:var(--mute);display:block;}
.hd .cta{background:var(--blue);color:#fff;font-size:13px;font-weight:700;border-radius:30px;padding:11px 22px;transition:.35s var(--ease);}
.hd .cta:hover{background:var(--blue-d);transform:translateY(-2px);}
.burger{display:none;flex-direction:column;gap:6px;width:28px;}
.burger span{height:2px;background:var(--ink);border-radius:2px;}
.mnav{position:fixed;inset:0;z-index:55;background:var(--ink);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;font-size:20px;font-weight:500;opacity:0;visibility:hidden;transition:.45s var(--ease);}
.mnav.open{opacity:1;visibility:visible;}

/* hero */
.hero{width:min(92%,1160px);margin-inline:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,60px);align-items:center;padding:clamp(116px,15vh,158px) 0 clamp(56px,7vw,84px);}
.hero__copy h1{font-weight:900;font-size:clamp(36px,5.8vw,70px);line-height:1.28;letter-spacing:.005em;margin-bottom:24px;}
.hero__copy h1 b{color:var(--blue);}
.hero__copy h1 .mk{background:linear-gradient(transparent 62%,var(--soft) 62%);padding:0 .1em;}
.hero__copy p{max-width:25em;color:var(--ink2);font-size:15.5px;margin-bottom:30px;}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.btn{position:relative;overflow:hidden;z-index:0;font-size:14px;font-weight:700;padding:16px 30px;border-radius:32px;transition:.4s var(--ease);display:inline-flex;align-items:center;gap:9px;}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;transform:translateX(-101%);transition:transform .45s var(--ease);}
.btn:hover::before{transform:translateX(0);}
.btn--fill{background:var(--blue);color:#fff;box-shadow:0 14px 28px -14px rgba(47,147,184,.7);}
.btn--fill::before{background:var(--blue-d);} .btn--fill:hover{transform:translateY(-2px);}
.btn--line{border:1.5px solid var(--blue);color:var(--blue);}
.btn--line::before{background:var(--blue);} .btn--line:hover{color:#fff;}
.hero__art{position:relative;min-height:clamp(420px,54vh,560px);border-radius:var(--rad);overflow:hidden;box-shadow:0 40px 70px -40px rgba(23,58,82,.5);}
.hero__art img{width:100%;height:100%;object-fit:cover;}
.hero__card{position:absolute;left:16px;bottom:16px;right:16px;background:rgba(255,255,255,.96);border-radius:12px;padding:14px 18px;display:flex;align-items:center;gap:14px;box-shadow:0 16px 30px -18px rgba(23,58,82,.5);}
.hero__card .ic{width:42px;height:42px;border-radius:10px;background:var(--soft);color:var(--blue);display:grid;place-content:center;flex:0 0 auto;}
.hero__card b{font-size:13.5px;} .hero__card small{display:block;color:var(--mute);font-size:11.5px;}

/* page header (sub pages) */
.phead{padding:clamp(118px,16vh,165px) 0 clamp(34px,5vw,54px);background:linear-gradient(160deg,#eaf3f8,#dcebf3);text-align:center;}
.phead .lbl{font-family:var(--en);font-weight:600;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin-bottom:10px;}
.phead h1{font-weight:900;font-size:clamp(27px,4vw,44px);}
.phead p{color:var(--ink2);font-size:14.5px;margin:14px auto 0;max-width:40em;}
.crumb{font-size:12px;color:var(--mute);margin-top:14px;}
.crumb a:hover{color:var(--blue);}

/* info bar */
.bar{background:var(--ink);color:#fff;}
.bar__in{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px clamp(18px,4vw,46px);padding:14px 16px;font-size:13.5px;}
.bar__in span{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.9);}
.bar__in b{font-family:var(--en);font-weight:600;color:var(--accent2);}

/* sections */
.sec{padding:clamp(64px,9vw,120px) 0;}
.sec--alt{background:var(--bg2);}
.sec--blue{background:linear-gradient(160deg,#27819f,#1c5e78);color:#fff;}
.shead{text-align:center;margin-bottom:clamp(34px,5vw,56px);}
.shead .lbl{font-family:var(--en);font-weight:600;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin-bottom:10px;}
.shead h2{font-weight:900;font-size:clamp(24px,3.6vw,38px);line-height:1.4;}
.shead h2 .s{font-size:.62em;color:var(--ink2);font-weight:700;}
.shead p{color:var(--ink2);margin:14px auto 0;max-width:40em;font-size:14.5px;}
.sec--blue .shead .lbl{color:#bfe8f2;} .sec--blue .shead h2{color:#fff;}

/* features */
.feat{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,22px);}
.feat__c{background:var(--white);border:1px solid var(--line);border-radius:var(--rad);padding:28px 22px;text-align:center;transition:.4s var(--ease);}
.feat__c:hover{transform:translateY(-6px);box-shadow:0 24px 44px -28px rgba(23,58,82,.4);}
.feat__ic{width:60px;height:60px;margin:0 auto 16px;border-radius:50%;background:var(--soft);color:var(--blue);display:grid;place-content:center;}
.feat__ic svg{width:28px;height:28px;}
.feat__c h3{font-size:16.5px;font-weight:700;margin-bottom:10px;}
.feat__c p{font-size:13px;color:var(--ink2);line-height:1.8;}

/* services */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,20px);}
.svc__c{background:var(--white);border:1px solid var(--line);border-radius:var(--rad);padding:26px 24px;display:flex;gap:16px;align-items:flex-start;transition:.35s var(--ease);}
.svc__c:hover{border-color:var(--blue);box-shadow:0 18px 36px -24px rgba(47,147,184,.5);}
.svc__ic{width:48px;height:48px;border-radius:12px;background:var(--soft);color:var(--blue);display:grid;place-content:center;flex:0 0 auto;}
.svc__ic svg{width:26px;height:26px;}
.svc__c h3{font-size:16px;font-weight:700;margin-bottom:6px;}
.svc__c p{font-size:13px;color:var(--ink2);line-height:1.75;}
.svc__c .pr{display:block;margin-top:8px;font-family:var(--en);font-size:13px;color:var(--blue);font-weight:600;}

/* stats (count up) */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center;}
.stat .n{font-family:var(--en);font-weight:700;font-size:clamp(40px,6vw,64px);line-height:1;color:#fff;}
.stat .n small{font-size:.4em;font-weight:600;margin-left:4px;}
.stat .l{font-size:13.5px;color:rgba(255,255,255,.85);margin-top:10px;}

/* gallery */
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:160px;gap:14px;}
.gal figure{overflow:hidden;border-radius:var(--rad);}
.gal img{width:100%;height:100%;object-fit:cover;transition:.7s var(--ease);}
.gal figure:hover img{transform:scale(1.05);}
.gal .a{grid-column:span 2;grid-row:span 2;}
.gal .b{grid-column:span 2;} .gal .c{grid-column:span 1;} .gal .d{grid-column:span 1;}
.gal .e{grid-column:span 2;} .gal .f{grid-column:span 2;}
/* captioned uniform grid (dental clinic gallery) */
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,22px);}
.cgrid figure{position:relative;border-radius:var(--rad);overflow:hidden;aspect-ratio:4/3.1;}
.cgrid img{width:100%;height:100%;object-fit:cover;transition:.6s var(--ease);}
.cgrid figure:hover img{transform:scale(1.05);}
.cgrid figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 16px 14px;color:#fff;font-size:13px;font-weight:700;letter-spacing:.02em;background:linear-gradient(transparent,rgba(23,58,82,.82));}
.cgrid figcaption small{display:block;font-family:var(--en);font-weight:500;font-size:10.5px;letter-spacing:.14em;color:var(--accent2);opacity:.9;}
@media(max-width:880px){.cgrid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.cgrid{grid-template-columns:1fr;}}

/* doctor */
.doc{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,64px);align-items:center;}
.doc__art{aspect-ratio:4/4.6;border-radius:var(--rad);overflow:hidden;box-shadow:0 30px 56px -34px rgba(23,58,82,.5);}
.doc__art img{width:100%;height:100%;object-fit:cover;}
.doc__b .role{font-family:var(--en);font-weight:600;color:var(--blue);font-size:14px;letter-spacing:.04em;}
.doc__b h3{font-size:clamp(22px,3vw,30px);font-weight:900;margin:6px 0 6px;}
.doc__b .name-en{font-family:var(--en);color:var(--mute);font-size:14px;margin-bottom:18px;}
.doc__b p{color:var(--ink2);font-size:14.5px;margin-bottom:16px;}
.doc__list{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;}
.doc__list span{background:var(--bg2);border:1px solid var(--line);border-radius:30px;padding:7px 15px;font-size:12.5px;color:var(--ink2);}

/* flow */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,22px);counter-reset:f;}
.flow__c{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--rad);padding:30px 22px 24px;}
.flow__c::before{counter-increment:f;content:"0" counter(f);position:absolute;top:-14px;left:22px;font-family:var(--en);font-weight:700;font-size:24px;color:#fff;background:var(--blue);width:42px;height:42px;border-radius:50%;display:grid;place-content:center;box-shadow:0 8px 18px -8px rgba(47,147,184,.7);}
.flow__c h3{font-size:15.5px;font-weight:700;margin:10px 0 8px;}
.flow__c p{font-size:13px;color:var(--ink2);line-height:1.75;}

/* voice (google) */
.revs{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,24px);}
.grating{display:flex;align-items:center;gap:16px 20px;flex-wrap:wrap;margin-bottom:clamp(26px,4vw,40px);background:var(--white);border:1px solid var(--line);border-radius:14px;padding:18px 24px;}
.grating__g{width:28px;height:28px;flex:0 0 auto;}
.grating__top{display:flex;align-items:baseline;gap:10px;}
.grating__score{font-family:var(--en);font-weight:700;font-size:32px;color:var(--ink);line-height:1;}
.grating__meta{font-size:12.5px;color:var(--mute);margin-top:3px;}
.grating__link{margin-left:auto;font-size:13px;font-weight:600;color:var(--blue);border:1.5px solid var(--blue);border-radius:30px;padding:9px 18px;transition:.3s;white-space:nowrap;}
.grating__link:hover{background:var(--blue);color:#fff;}
.rev{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--rad);padding:26px 24px;}
.rev__g{position:absolute;top:22px;right:22px;width:18px;height:18px;opacity:.9;}
.rev__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-right:28px;}
.stars{color:#f5b301;letter-spacing:2px;font-size:14px;}
.rev__date{font-size:11.5px;color:var(--mute);}
.rev p{font-size:14px;color:var(--ink2);line-height:1.85;margin-bottom:18px;}
.rev__who{display:flex;align-items:center;gap:12px;}
.rev__av{width:46px;height:46px;border-radius:50%;overflow:hidden;flex:0 0 auto;}
.rev__av img{width:100%;height:100%;object-fit:cover;}
.rev__who b{font-size:13.5px;} .rev__who small{display:block;color:var(--mute);font-size:11.5px;}

/* faq */
.faq{max-width:800px;margin-inline:auto;}
.faq details{background:var(--white);border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden;}
.faq summary{list-style:none;cursor:pointer;padding:20px 50px 20px 22px;position:relative;font-weight:700;font-size:15.5px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-family:var(--en);font-size:24px;color:var(--blue);transition:transform .3s var(--ease);}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg);}
.faq .ans{padding:0 22px 22px;color:var(--ink2);font-size:14px;line-height:1.85;}
.faq details::details-content{height:0;overflow:hidden;content-visibility:hidden;transition:height .42s var(--ease),content-visibility .42s allow-discrete;}
.faq details[open]::details-content{height:auto;content-visibility:visible;}

/* access */
.acc{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(26px,5vw,56px);align-items:start;}
.map{position:relative;border-radius:var(--rad);overflow:hidden;min-height:360px;background:repeating-linear-gradient(0deg,transparent 0 38px,rgba(23,58,82,.05) 38px 40px),repeating-linear-gradient(90deg,transparent 0 38px,rgba(23,58,82,.05) 38px 40px),#dce8ef;}
.map::before{content:"";position:absolute;left:-10%;top:46%;width:120%;height:24px;background:#c4d8e2;transform:rotate(-6deg);}
.map::after{content:"";position:absolute;left:32%;top:-10%;width:22px;height:120%;background:#c4d8e2;transform:rotate(5deg);}
.map__pin{position:absolute;left:46%;top:42%;transform:translate(-50%,-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:6px;}
.map__pin span{width:16px;height:16px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 7px rgba(47,147,184,.25);}
.map__pin b{background:var(--ink);color:#fff;font-size:11px;padding:4px 10px;border-radius:20px;font-weight:500;white-space:nowrap;}
.map__note{position:absolute;right:12px;bottom:12px;z-index:3;font-size:10.5px;color:var(--mute);background:rgba(255,255,255,.85);padding:4px 9px;border-radius:5px;}
.htbl{width:100%;border-collapse:collapse;font-size:13.5px;margin-bottom:22px;background:var(--white);border-radius:12px;overflow:hidden;}
.htbl th,.htbl td{border:1px solid var(--line);padding:9px 6px;text-align:center;}
.htbl th{background:var(--bg2);font-weight:700;font-size:12.5px;}
.htbl td{color:var(--ink2);}
.info-list{font-size:14px;color:var(--ink2);line-height:2;margin-bottom:20px;}
.info-list b{color:var(--ink);}

/* form */
.form{max-width:760px;margin-inline:auto;background:var(--white);border:1px solid var(--line);border-radius:var(--rad);padding:clamp(26px,4vw,46px);}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.field{margin-bottom:18px;}
.field label{display:block;font-size:13px;color:var(--ink2);margin-bottom:7px;font-weight:500;}
.field label .req{color:#e2574c;font-size:11px;margin-left:6px;}
.field input,.field select,.field textarea{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:13px 14px;font-size:14.5px;transition:.3s;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,147,184,.13);}
.field textarea{resize:vertical;min-height:104px;}
.form .submit{width:100%;justify-content:center;margin-top:6px;}
.form__priv{font-size:12px;color:var(--mute);text-align:center;margin-top:14px;}
.form__ok{display:none;text-align:center;padding:30px 10px;}
.form__ok.show{display:block;}
.form__ok .ic{width:60px;height:60px;border-radius:50%;background:var(--soft);color:var(--blue);display:grid;place-content:center;margin:0 auto 12px;font-size:30px;}

/* cta band */
.cta-band{background:linear-gradient(160deg,#27819f,#1c5e78);color:#fff;text-align:center;padding:clamp(50px,7vw,82px) 0;}
.cta-band h2{font-weight:900;font-size:clamp(22px,3vw,32px);margin-bottom:12px;}
.cta-band p{color:rgba(255,255,255,.85);font-size:14.5px;margin-bottom:24px;max-width:36em;margin-inline:auto;}
.cta-band .btn--fill{background:#fff;color:var(--blue);}
.cta-band .btn--fill:hover{background:var(--soft);color:var(--blue-d);}

/* footer */
/* dental footer — light, clinic style (distinct from dark footers) */
.ft{background:linear-gradient(180deg,#fff,var(--bg2));color:var(--ink2);padding:clamp(52px,6vw,76px) 0 76px;border-top:3px solid var(--blue);}
.ft__top{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:32px;margin-bottom:30px;align-items:start;}
.ft .brand{color:var(--ink);margin-bottom:14px;}
.ft p{font-size:13px;line-height:1.95;max-width:26em;color:var(--ink2);}
.ft h4{color:var(--blue-d);font-size:12px;letter-spacing:.12em;margin-bottom:14px;}
.ft ul{list-style:none;font-size:13.5px;display:grid;gap:9px;}
.ft ul a:hover{color:var(--blue);}
.ft__btm{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--mute);}

.demo-flag{position:fixed;right:14px;bottom:14px;z-index:80;background:var(--ink);color:#fff;font-size:11.5px;padding:8px 14px;border-radius:30px;box-shadow:0 12px 28px -12px rgba(0,0,0,.5);opacity:.94;}
.demo-flag a{color:var(--accent2);text-decoration:underline;}

.js [data-rv]{opacity:0;transform:translateY(26px);transition:opacity .85s var(--ease),transform .85s var(--ease);}
.js [data-rv].in{opacity:1;transform:none;}
.js [data-rv].d1{transition-delay:.08s;}.js [data-rv].d2{transition-delay:.16s;}.js [data-rv].d3{transition-delay:.24s;}

@media(max-width:980px){.feat,.flow{grid-template-columns:repeat(2,1fr);} .svc{grid-template-columns:repeat(2,1fr);}}
@media(max-width:880px){
  .nav,.hd__tel{display:none;} .burger{display:flex;}
  .hero{grid-template-columns:1fr;gap:28px;} .hero__art{min-height:auto;aspect-ratio:4/3.2;order:-1;}
  .doc{grid-template-columns:1fr;} .doc__art{order:-1;aspect-ratio:4/3.4;max-width:380px;}
  .acc{grid-template-columns:1fr;}
  .stats{grid-template-columns:1fr;gap:30px;}
  .revs{grid-template-columns:1fr;}
  .ft__top{grid-template-columns:1fr;gap:26px;}
  .gal{grid-template-columns:repeat(2,1fr);grid-auto-rows:140px;} .gal .a,.gal .b,.gal .c,.gal .d,.gal .e,.gal .f{grid-column:span 1;grid-row:span 1;}
}
@media(max-width:560px){.feat,.svc,.flow{grid-template-columns:1fr;} .form .row{grid-template-columns:1fr;} .grating__link{margin-left:0;}}
/* ===== modern refresh add-ons ===== */
.loader{position:fixed;inset:0;z-index:200;background:var(--blue);display:grid;place-content:center;gap:18px;justify-items:center;transition:opacity .7s var(--ease),visibility .7s var(--ease);}
.loader.done{opacity:0;visibility:hidden;}
.loader__logo{width:56px;height:56px;animation:lpulse 1.4s var(--ease) infinite;}
.loader__bar{width:150px;height:2px;background:rgba(255,255,255,.25);overflow:hidden;border-radius:2px;}
.loader__bar i{display:block;height:100%;width:40%;background:#fff;border-radius:2px;animation:lslide 1.1s var(--ease) infinite;}
@keyframes lpulse{50%{transform:scale(.86);opacity:.7;}}
@keyframes lslide{0%{transform:translateX(-130%);}100%{transform:translateX(330%);}}
.js .rv-clip{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--ease);}
.js .rv-clip.in{clip-path:inset(0 0 0 0);}
.marquee{background:var(--blue);color:#fff;padding:20px 0;overflow:hidden;}
.marquee__row{display:flex;width:max-content;animation:mq 34s linear infinite;}
.marquee:hover .marquee__row{animation-play-state:paused;}
.marquee span{font-weight:700;font-size:clamp(17px,2.2vw,26px);padding:0 .7em;color:rgba(255,255,255,.95);display:inline-flex;align-items:center;gap:.7em;letter-spacing:.02em;}
.marquee span::after{content:"●";color:var(--accent2);font-size:.42em;}
@keyframes mq{to{transform:translateX(-50%);}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;} .js [data-rv]{opacity:1;transform:none;transition:none;} .js .rv-clip{clip-path:none;} .marquee__row{animation:none;}}

/* ===== top-page extras ===== */
/* troubles (症状から探す) */
.troubles{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,18px);}
.troubles a{display:flex;align-items:center;gap:14px;background:var(--white);border:1px solid var(--line);border-radius:var(--rad);padding:20px 22px;transition:.35s var(--ease);}
.troubles a:hover{border-color:var(--blue);transform:translateY(-4px);box-shadow:0 18px 36px -24px rgba(47,147,184,.5);}
.troubles .ic{width:46px;height:46px;border-radius:50%;background:var(--soft);color:var(--blue);display:grid;place-content:center;flex:0 0 auto;}
.troubles .ic svg{width:24px;height:24px;}
.troubles .tx b{font-size:14.5px;font-weight:700;display:block;line-height:1.4;}
.troubles .tx small{font-size:12px;color:var(--mute);}
.troubles .arr{margin-left:auto;color:var(--blue);font-family:var(--en);font-weight:600;}
/* greeting (ごあいさつ) */
.greet{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,5vw,64px);align-items:center;}
.greet__art{aspect-ratio:4/4.3;border-radius:var(--rad);overflow:hidden;box-shadow:0 30px 56px -34px rgba(23,58,82,.5);}
.greet__art img{width:100%;height:100%;object-fit:cover;}
.greet__b .lbl{font-family:var(--en);font-weight:600;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin-bottom:12px;}
.greet__b h2{font-weight:900;font-size:clamp(21px,3vw,32px);line-height:1.5;margin-bottom:20px;}
.greet__b h2 b{color:var(--blue);}
.greet__b p{color:var(--ink2);font-size:14.5px;margin-bottom:15px;}
.greet__sign{font-size:13px;color:var(--mute);margin-top:18px;}
.greet__sign b{font-size:19px;color:var(--ink);font-weight:900;margin-left:8px;}
/* news (お知らせ) */
.news{max-width:820px;margin-inline:auto;}
.news a{display:flex;gap:16px;align-items:baseline;padding:17px 8px;border-bottom:1px solid var(--line);transition:.25s var(--ease);}
.news a:hover{background:var(--white);}
.news time{font-family:var(--en);font-size:13px;color:var(--mute);flex:0 0 auto;width:90px;}
.news .cat{font-size:11px;background:var(--soft);color:var(--blue-d);border-radius:20px;padding:4px 11px;flex:0 0 auto;font-weight:600;}
.news .tt{font-size:14px;color:var(--ink);}
@media(max-width:880px){.greet{grid-template-columns:1fr;} .greet__art{order:-1;max-width:360px;aspect-ratio:4/3.4;}}
@media(max-width:700px){.troubles{grid-template-columns:1fr;} .news a{flex-wrap:wrap;gap:6px 12px;} .news time{width:auto;}}
/* equipment */
.equip{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,22px);}
.equip__c{background:var(--white);border:1px solid var(--line);border-radius:var(--rad);overflow:hidden;transition:.35s var(--ease);}
.equip__c:hover{box-shadow:0 20px 40px -26px rgba(23,58,82,.4);transform:translateY(-4px);}
.equip__img{aspect-ratio:16/10;overflow:hidden;}
.equip__img img{width:100%;height:100%;object-fit:cover;}
.equip__b{padding:18px 20px 22px;}
.equip__b .yr{font-family:var(--en);font-size:12px;color:var(--blue);font-weight:600;}
.equip__b h3{font-size:16px;font-weight:700;margin:4px 0 8px;}
.equip__b p{font-size:13px;color:var(--ink2);line-height:1.75;}
/* staff */
.staff{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,20px);}
.staff__c{background:var(--white);border:1px solid var(--line);border-radius:var(--rad);padding:24px 20px;text-align:center;}
.staff__av{width:74px;height:74px;border-radius:50%;background:var(--soft);color:var(--blue);display:grid;place-content:center;margin:0 auto 14px;font-weight:900;font-size:25px;overflow:hidden;}
.staff__av img{width:100%;height:100%;object-fit:cover;}
.staff__c .role{font-family:var(--en);font-size:12px;color:var(--blue);font-weight:600;letter-spacing:.04em;}
.staff__c h3{font-size:16px;font-weight:700;margin:4px 0 8px;}
.staff__c p{font-size:12.5px;color:var(--ink2);line-height:1.7;}
/* price table */
.ptbl{width:100%;border-collapse:collapse;font-size:13.5px;background:var(--white);border-radius:12px;overflow:hidden;margin-bottom:14px;}
.ptbl th,.ptbl td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top;}
.ptbl th{background:var(--bg2);font-weight:700;font-size:12.5px;white-space:nowrap;}
.ptbl td{color:var(--ink2);}
.ptbl .price{font-family:var(--en);font-weight:600;color:var(--ink);white-space:nowrap;}
.note{font-size:12px;color:var(--mute);line-height:1.7;}
@media(max-width:880px){.equip,.staff{grid-template-columns:repeat(2,1fr);} .ptbl{font-size:12.5px;} .ptbl th,.ptbl td{padding:9px 10px;}}
@media(max-width:560px){.equip,.staff{grid-template-columns:1fr;}}
