[hidden]{display:none!important}
/* Patient reviews page (task 9539): pine hero with a gold star ring turning in its own box, a glass form, the approved list. */
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rv-hero{background:radial-gradient(120% 90% at 85% 10%,#24452E 0,var(--pine) 62%);color:#fff;padding:64px 0 84px;overflow:hidden}
.rv-hero .crumbs,.rv-hero .crumbs a{color:#C5D3C8}
.rv-hero .kick{color:var(--blossom)}
.rv-hero h1{color:#fff;font-size:clamp(32px,4.4vw,58px);max-width:640px}
.rv-hero h1 .rv-sub{display:block;margin-top:.35em;font-size:.52em;font-weight:400;line-height:1.35;color:var(--gold-l);letter-spacing:0}
.rv-hero .lede{color:#C5D3C8;margin-bottom:30px}
.rv-hero-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:40px;align-items:center}
.rv-orbit{position:relative;aspect-ratio:1;max-width:420px;width:100%;margin-inline:auto;perspective:900px}
.rv-orbit::before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle,rgba(243,223,192,.22),rgba(243,223,192,0) 66%)}
.rv-ring{position:absolute;inset:0;transform-style:preserve-3d;animation:rv-spin 18s linear infinite}
.rv-ring i{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px;transform:rotateY(calc(var(--k)*45deg)) translateZ(150px) rotateX(-8deg)}
.rv-path{position:absolute;left:50%;top:50%;width:300px;height:300px;margin:-150px;border-radius:50%;border:1.5px solid rgba(210,168,103,.55);box-shadow:0 0 22px rgba(210,168,103,.25),inset 0 0 22px rgba(210,168,103,.18);transform:rotateX(90deg)}
.rv-ring svg{width:100%;height:100%;fill:var(--gold);filter:drop-shadow(0 10px 18px rgba(0,0,0,.45));stroke:var(--gold-l);stroke-width:.6}
.rv-ring i:nth-child(odd) svg{fill:#D2A867}
.rv-core{position:absolute;left:50%;top:50%;width:150px;height:150px;margin:-75px;border-radius:50%;background:var(--cream);display:grid;place-items:center;box-shadow:0 30px 60px -20px rgba(0,0,0,.6),inset 0 0 0 6px rgba(185,140,78,.35);animation:rv-breathe 6s ease-in-out infinite}
.rv-core img{width:104px;height:104px}
@keyframes rv-spin{from{transform:rotateX(14deg) rotateY(0)}to{transform:rotateX(14deg) rotateY(360deg)}}
@keyframes rv-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@media (prefers-reduced-motion:reduce){.rv-ring,.rv-core{animation:none}}

.rv-write{background:linear-gradient(180deg,var(--cream2),var(--cream));padding:84px 0}
.rv-write-in{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px;align-items:start}
.rv-side h2{color:var(--leaf-d)}
.rv-steps{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:14px}
.rv-steps li{background:rgba(255,255,255,.7);border:1px solid var(--line);border-radius:22px;padding:18px 22px;display:grid;gap:2px}
.rv-steps b{font-family:var(--head);font-weight:400;font-size:19px;color:var(--leaf-d)}
.rv-steps span{color:var(--mute);font-size:16px}
.rv-note{color:var(--mute);font-size:15.5px;border-inline-start:3px solid var(--blossom);padding-inline-start:14px}
.rv-form,.rv-done{background:rgba(251,248,242,.86);border:1px solid rgba(185,140,78,.35);border-radius:32px;padding:38px;box-shadow:0 40px 80px -40px rgba(28,59,38,.55),inset 0 1px 0 #fff;display:grid;gap:20px}
.rv-stars{border:0;margin:0;padding:0}
.rv-stars legend,.rv-f>span{font-family:var(--head);font-size:18px;color:var(--leaf-d);margin-bottom:8px;padding:0}
.rv-starrow{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:6px}
.rv-starrow input{position:absolute;opacity:0;width:1px;height:1px}
.rv-starrow label{width:52px;height:52px;cursor:pointer;display:block;transition:transform .18s}
.rv-starrow label svg{width:100%;height:100%;fill:#E6DCCB;stroke:var(--gold);stroke-width:.8;transition:fill .15s}
.rv-starrow label:hover,.rv-starrow label:hover~label{transform:translateY(-2px)}
.rv-starrow input:checked~label svg,.rv-starrow label:hover svg,.rv-starrow label:hover~label svg{fill:var(--gold)}
.rv-starrow input:focus-visible+label{outline:2px solid var(--rose);outline-offset:3px;border-radius:10px}
.rv-f{display:grid;gap:0}
.rv-f input,.rv-f textarea{width:100%;border:1px solid rgba(47,93,58,.28);border-radius:16px;background:#fff;padding:14px 16px;color:var(--ink);line-height:1.6;resize:vertical}
.rv-f input:focus,.rv-f textarea:focus{outline:2px solid var(--leaf2);outline-offset:1px;border-color:transparent}
.rv-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rv-err{margin:0;color:var(--rose);font-weight:500}
.rv-send{justify-self:start}
.rv-send[disabled]{opacity:.6;cursor:progress}
.rv-done{text-align:center;justify-items:center}
.rv-done h2{color:var(--leaf-d);margin:0}
.rv-done p{color:var(--mute);margin:0}
.rv-done-star{width:72px;height:72px}
.rv-done-star svg{width:100%;height:100%;fill:var(--gold)}

.rv-wall{background:var(--cream);padding:80px 0 30px}
.rv-wall h2{color:var(--leaf-d)}
.rv-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;margin-top:10px}
.rv-card{background:var(--leaf-d);color:#fff;border-radius:28px;padding:30px;display:grid;gap:12px;align-content:start}
.rv-card .rv-st{color:var(--gold-l);letter-spacing:3px;font-size:20px;line-height:1}
.rv-card p{margin:0;color:#E4ECE5;white-space:pre-line}
.rv-card footer{font-family:var(--head);color:var(--blossom-l);font-size:16px}
.rv-card footer small{color:#9FB3A4;font-family:var(--body);font-size:14px;margin-inline-start:8px}
.rv-empty{background:rgba(255,255,255,.7);border:1px solid var(--line);border-radius:28px;padding:30px;max-width:760px}
.rv-empty p{color:var(--mute)}

@media (max-width:900px){
 .rv-hero{padding:40px 0 56px}
 .rv-hero-in,.rv-write-in{grid-template-columns:1fr}
 .rv-orbit{max-width:280px;order:-1}
 .rv-path{width:208px;height:208px;margin:-104px}
 .rv-ring i{width:54px;height:54px;margin:-27px;transform:rotateY(calc(var(--k)*45deg)) translateZ(104px) rotateX(-8deg)}
 .rv-core{width:110px;height:110px;margin:-55px}.rv-core img{width:76px;height:76px}
 .rv-write{padding:56px 0}
 .rv-form,.rv-done{padding:26px 20px;border-radius:26px}
 .rv-starrow label{width:46px;height:46px}
 .rv-send{justify-self:stretch}
}

/* Google reviews (task 9595): night-pine band, a gold rating coin turning with the scroll, glass review cards with her replies. */
.g-logo{width:20px;height:20px;flex:none}
.g-st{color:var(--gold-l);letter-spacing:2px;line-height:1;white-space:nowrap}.g-st .off{color:rgba(255,255,255,.22)}
.rv-gchip{display:flex;width:max-content;max-width:100%;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:18px;padding:10px 18px;border-radius:999px;
 background:rgba(255,255,255,.08);border:1px solid rgba(243,223,192,.38);color:#fff;text-decoration:none;font-size:15.5px;backdrop-filter:blur(8px)}
.rv-gchip b{font-family:var(--head);font-weight:400;font-size:19px;color:var(--gold-l)}
.rv-gchip span:last-child{color:#C5D3C8}
.rv-gchip:hover{border-color:var(--gold-l)}
.rv-g{position:relative;background:radial-gradient(80% 60% at 88% 0%,rgba(210,168,103,.22),rgba(210,168,103,0) 60%),radial-gradient(90% 80% at 10% 100%,#24452E 0,#132619 55%,#0E1D13 100%);
 color:#fff;padding:100px 0 96px;overflow:hidden}
.rv-g .kick{color:var(--blossom)}
.rv-g h2{color:#fff;max-width:620px}
.rv-g .lede{color:#C5D3C8}
.rv-g-top{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:center}
.rv-g-acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.rv-g-acts .btn.leaf .g-logo{background:#fff;border-radius:50%;padding:2px;width:24px;height:24px}
.btn.rv-g-glass{background:rgba(255,255,255,.07);border-color:rgba(243,223,192,.45);color:#fff;backdrop-filter:blur(8px)}
.btn.rv-g-glass:hover{border-color:var(--gold-l)}
.rv-g-board{display:grid;grid-template-columns:auto minmax(0,1fr);gap:30px;align-items:center;padding:34px 34px 30px;border-radius:34px;
 background:linear-gradient(150deg,rgba(255,255,255,.15),rgba(255,255,255,.04));border:1px solid rgba(243,223,192,.3);
 box-shadow:0 50px 90px -40px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.28);backdrop-filter:blur(14px)}
.rv-g-orb .p3-face{display:grid;place-items:center}
.rv-g-num{font-family:var(--head);font-size:56px;line-height:1;color:var(--p3-d);text-shadow:0 1px 0 rgba(255,255,255,.6)}
.rv-g-sum p{margin:0}
.rv-g-line{display:flex;align-items:center;gap:10px;font-family:var(--head);font-size:19px;color:#fff}
.rv-g-line .g-logo{width:26px;height:26px;background:#fff;border-radius:50%;padding:3px}
.rv-g-line .g-st{font-size:20px;margin-inline-start:4px}
.rv-g-cnt{color:#C5D3C8;font-size:16px;margin:8px 0 16px!important}
.rv-g-cnt b{font-family:var(--head);font-weight:400;color:#fff;font-size:20px}
.rv-g-bars{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.rv-g-bars li{display:grid;grid-template-columns:44px minmax(0,1fr) 26px;align-items:center;gap:10px;font-size:14.5px;color:#C5D3C8}
.rv-g-bars .k{white-space:nowrap}
.rv-g-bars .t{height:10px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden}
.rv-g-bars .t i{display:block;height:100%;width:var(--w,0%);border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--gold-l));box-shadow:0 0 12px rgba(210,168,103,.6)}
.rv-g-bars .n{text-align:end;color:#fff}
.rv-g-wall{columns:3 300px;column-gap:22px;margin-top:64px}
.rv-g-card{break-inside:avoid;display:grid;gap:12px;align-content:start;margin:0 0 22px;padding:28px 28px 24px;border-radius:28px;color:#fff;
 background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.045));border:1px solid rgba(243,223,192,.24);
 box-shadow:0 30px 60px -36px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.2);backdrop-filter:blur(10px)}
.rv-g-card .g-st{font-size:19px}
.rv-g-card>p{margin:0;color:#E8EFE9;font-size:17px;line-height:1.75;white-space:pre-line}
.rv-g-card footer{font-family:var(--head);color:var(--blossom-l);font-size:16px}
.rv-g-card footer small{color:#9FB3A4;font-family:var(--body);font-size:14px;margin-inline-start:10px}
.rv-g-reply{background:rgba(185,140,78,.13);border-inline-start:3px solid var(--gold);border-radius:14px;padding:12px 16px}
.rv-g-reply b{display:block;font-weight:500;font-size:13.5px;color:var(--gold-l);margin-bottom:4px}
.rv-g-reply p{margin:0;color:#DCE6DE;font-size:15.5px;line-height:1.6}
.rv-g-more>p{font-size:15.5px;color:#C5D3C8}
.rv-g-note{margin:18px 0 0;color:#8FA595;font-size:14px;text-align:center}
@media (max-width:900px){
 .rv-gchip{font-size:14.5px;padding:9px 14px}
 .rv-g{padding:64px 0 70px}
 .rv-g-top{grid-template-columns:1fr;gap:34px}
 .rv-g-acts .btn{flex:1 1 100%}
 .rv-g-board{grid-template-columns:1fr;justify-items:center;padding:28px 22px;border-radius:28px;text-align:center}
 .rv-g-sum{width:100%}
 .rv-g-line{justify-content:center}
 .rv-g-wall{columns:1;margin-top:44px}
 .rv-g-card{padding:24px 22px 20px;border-radius:24px}
}
