/* Homepage visit guide and clinic introduction. */
.tny-home .tny-hv-visit{--hv-wine:#642b3c;--hv-ink:#4b3a42;--hv-muted:#725f67;background:#f8f4f5;margin-block:24px 36px;padding-block:48px;color:var(--hv-ink)}
.tny-hv-visit-inner{display:grid;grid-template-columns:.85fr 2.15fr;gap:54px;align-items:start}
.tny-home .tny-hv-intro h2,.tny-home .tny-hv-clinic h2{font:400 34px/1.18 'Proxima Nova',Arial,sans-serif;letter-spacing:-.025em;color:#642b3c;margin:0;text-wrap:balance}
.tny-home .tny-hv-intro>p{font-size:17px;line-height:1.6;margin:18px 0 22px;max-width:30ch}
.tny-home .tny-hv-link{display:inline-flex;gap:14px;align-items:center;min-height:44px;color:#642b3c;font:600 15px/1.5 'Proxima Nova',Arial,sans-serif;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#c8abb6}
.tny-hv-link svg,.tny-hv-button svg{display:block;width:21px;height:21px;flex:none}.tny-hv-link>span,.tny-hv-button>span{display:flex;align-items:center;justify-content:center;flex:none}
.tny-home .tny-hv-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.tny-hv-steps li{min-width:0}.tny-home .tny-hv-step-number{display:block;color:#aa7d8d;font-size:29px;line-height:1;margin-bottom:22px}
.tny-home .tny-hv-steps h3{font:600 20px/1.3 'Proxima Nova',Arial,sans-serif;letter-spacing:-.015em;color:#642b3c;margin:0 0 13px;text-wrap:balance}
.tny-home .tny-hv-steps p{font-size:16px;line-height:1.65;margin:0;color:#66525c}
.tny-home .tny-hv-clinic{display:grid;grid-template-columns:1.12fr 1fr;grid-template-areas:'photos copy';gap:65px;align-items:center;padding-block:40px 64px;color:#4b3a42}
.tny-hv-clinic-copy{grid-area:copy;min-width:0}.tny-home .tny-hv-description{font-size:18px;line-height:1.6;margin:20px 0 27px;max-width:42ch}
.tny-hv-details{display:grid;gap:22px}.tny-home .tny-hv-details h3{font:600 17px/1.4 'Proxima Nova',Arial,sans-serif;color:#642b3c;margin:0 0 7px}.tny-home .tny-hv-details p,.tny-home .tny-hv-details address{font:400 16px/1.65 'Proxima Nova',Arial,sans-serif;margin:0;color:#66525c}.tny-hv-details address a{text-decoration:none;color:inherit}.tny-hv-details address a:hover{text-decoration:underline;text-underline-offset:4px}
.tny-hv-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:27px}.tny-home .tny-hv-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;padding:13px 23px;border-radius:6px;background:#642b3c;color:#fff;font:600 15px/1.4 'Proxima Nova',Arial,sans-serif;text-decoration:none;transition:background-color .15s}.tny-home .tny-hv-button:hover{background:#48202d}
.tny-hv-photos{grid-area:photos;display:grid;grid-template-columns:1fr 1fr;gap:14px;min-width:0}.tny-hv-photo{display:block;position:relative;min-width:0;overflow:hidden;border-radius:6px;background:#eee8e5}.tny-hv-photo:first-child{grid-column:1/-1;aspect-ratio:2}.tny-hv-photo:not(:first-child){aspect-ratio:1.65}.tny-home .tny-hv-photo img{display:block;width:100%;height:100%;object-fit:cover}.tny-hv-photo>span{position:absolute;inset-inline:12px;bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:8px;background:#fff;padding:7px 12px;color:#642b3c;font-size:14px;line-height:1.4;border-radius:6px}.tny-hv-photo>span>span{font-size:20px;line-height:1}
.tny-hv-dialog{width:min(1100px,94vw);max-width:94vw;max-height:94svh;padding:18px;border:0;border-radius:6px;background:#fff;color:#4b3a42}.tny-hv-dialog::backdrop{background:rgba(35,19,25,.8)}.tny-hv-dialog button{display:flex;gap:18px;align-items:center;justify-content:center;margin-inline-start:auto;margin-bottom:12px;min-height:44px;padding:8px 16px;border:0;border-radius:6px;background:#f5eef1;color:#642b3c;font:400 16px/1.4 'Proxima Nova',Arial,sans-serif;cursor:pointer}.tny-hv-dialog figure{margin:0}.tny-hv-dialog img{display:block;width:100%;max-height:72svh;object-fit:contain}.tny-hv-dialog figcaption{font:400 16px/1.5 'Proxima Nova',Arial,sans-serif;padding-top:12px}
.tny-home :is(.tny-hv-visit,.tny-hv-clinic) a:focus-visible,.tny-hv-dialog button:focus-visible{outline:2px solid #9d1922;outline-offset:5px}
html[dir=rtl] .tny-hv-link svg,html[dir=rtl] .tny-hv-button svg{transform:scaleX(-1)}
@media(max-width:1024px){.tny-hv-visit-inner{grid-template-columns:1fr;gap:30px}.tny-home .tny-hv-intro>p{max-width:55ch;margin-block:13px 8px}.tny-hv-steps{gap:25px}.tny-home .tny-hv-clinic{gap:32px}.tny-hv-actions{gap:15px}.tny-home .tny-hv-clinic h2{font-size:30px}.tny-hv-photo>span{inset-inline:8px;bottom:8px;padding:6px 8px;font-size:13px}}
@media(max-width:767px){.tny-home .tny-hv-visit{padding-block:32px;margin-block:12px 25px}.tny-hv-visit-inner{gap:27px}.tny-home .tny-hv-intro h2,.tny-home .tny-hv-clinic h2{font-size:29px}.tny-home .tny-hv-intro>p{font-size:16px;line-height:1.55}.tny-home .tny-hv-steps{grid-template-columns:1fr;gap:23px}.tny-hv-steps li{display:grid;grid-template-columns:25px minmax(0,1fr);gap:7px 14px}.tny-home .tny-hv-step-number{grid-column:1;grid-row:1/3;font-size:25px;margin:0;padding-top:1px}.tny-home .tny-hv-steps h3{font-size:20px;grid-column:2;margin:0;text-wrap:initial}.tny-home .tny-hv-steps p{grid-column:2;font-size:16px;line-height:1.55}.tny-home .tny-hv-clinic{grid-template-columns:1fr;grid-template-areas:'copy' 'photos';padding-block:25px 40px;gap:27px}.tny-home .tny-hv-description{font-size:17px;margin-block:16px 23px}.tny-hv-details{gap:20px}.tny-hv-actions{margin-top:22px;gap:18px}.tny-hv-photos{gap:10px}.tny-hv-photo:first-child{aspect-ratio:1.65}.tny-hv-photo:not(:first-child){aspect-ratio:1.15}.tny-hv-photo>span{font-size:13px;padding:5px 7px}.tny-hv-photo>span>span{font-size:18px}.tny-hv-dialog{padding:12px}.tny-hv-photo:not(:first-child)>span{inset-inline:6px;bottom:6px}}
@media(prefers-reduced-motion:reduce){.tny-home .tny-hv-button{transition:none}}

/* Compact clinic band: one photograph and a distinct section background. */
.tny-home .tny-hv-clinic-band{background:#f1e7eb;margin-block:24px 32px}
.tny-home .tny-hv-clinic{grid-template-columns:1fr 1fr;gap:52px;align-items:stretch;padding-block:40px}
.tny-hv-clinic-copy{align-self:center}.tny-hv-photos{grid-template-columns:minmax(0,1fr);gap:0;align-self:stretch}
.tny-hv-photo:first-child{aspect-ratio:auto;min-height:300px;height:100%}
.tny-home .tny-hv-description{margin-block:16px 22px}
.tny-hv-details{grid-template-columns:1.15fr 1fr;gap:24px}.tny-hv-actions{margin-top:22px}
@media(max-width:1024px){.tny-home .tny-hv-clinic{gap:30px;padding-block:32px}.tny-hv-details{grid-template-columns:1fr;gap:16px}.tny-hv-photo:first-child{min-height:310px}}
@media(max-width:767px){.tny-home .tny-hv-clinic-band{margin-block:18px 28px}.tny-home .tny-hv-clinic{grid-template-columns:1fr;gap:24px;padding-block:30px}.tny-hv-photo:first-child{aspect-ratio:1.8;min-height:0;height:auto}.tny-home .tny-hv-description{margin-block:15px 20px}.tny-hv-actions{gap:18px;margin-top:20px}}

/* First visit: connected milestones, horizontal on desktop and vertical on mobile. */
.tny-home .tny-hv-visit{background:#f8f4f5;padding-block:56px;border-block:1px solid #eee3e8}
.tny-home .tny-hv-visit-inner{grid-template-columns:.78fr 2.22fr;gap:58px;align-items:start}
.tny-home .tny-hv-intro{padding-top:5px}
.tny-home .tny-hv-intro>p{max-width:29ch;margin-block:16px 20px}
.tny-home .tny-hv-steps{--step-size:46px;--step-gap:30px;gap:var(--step-gap);position:relative;padding-top:0}
.tny-home .tny-hv-steps li{position:relative;display:block;isolation:isolate;padding:0;min-width:0}
.tny-home .tny-hv-steps li:not(:last-child)::after{content:"";position:absolute;z-index:-1;inset-inline-start:calc(var(--step-size) + 10px);inset-block-start:22px;width:calc(100% + var(--step-gap) - var(--step-size) - 20px);height:1px;background:#c9adb8}
.tny-home .tny-hv-step-number{display:flex;align-items:center;justify-content:center;width:var(--step-size);height:var(--step-size);box-sizing:border-box;margin:0 0 25px;padding:0;border:1px solid #642b3c;border-radius:50%;background:#642b3c;color:#fff;font:500 18px/1 'Proxima Nova',Arial,sans-serif;font-variant-numeric:tabular-nums;box-shadow:0 0 0 6px #f8f4f5}
.tny-home .tny-hv-steps h3{font-size:21px;line-height:1.3;margin:0 0 12px;text-wrap:balance}
.tny-home .tny-hv-steps p{font-size:16px;line-height:1.65;margin:0;max-width:32ch}
@media(min-width:768px) and (max-width:1100px){.tny-home .tny-hv-visit-inner{grid-template-columns:1fr;gap:30px}.tny-home .tny-hv-intro>p{max-width:55ch;margin-block:13px 8px}}
@media(max-width:767px){
 .tny-home .tny-hv-visit{padding-block:34px 38px}
 .tny-home .tny-hv-visit-inner{grid-template-columns:1fr;gap:30px}
 .tny-home .tny-hv-intro{padding-top:0}.tny-home .tny-hv-intro>p{max-width:36ch;margin-block:12px 10px}
 .tny-home .tny-hv-steps{--step-size:40px;--step-gap:28px;grid-template-columns:1fr;gap:var(--step-gap)}
 .tny-home .tny-hv-steps li{display:grid;grid-template-columns:var(--step-size) minmax(0,1fr);column-gap:19px;row-gap:9px}
 .tny-home .tny-hv-step-number{grid-column:1;grid-row:1/3;margin:0;font-size:16px}
 .tny-home .tny-hv-steps h3{grid-column:2;align-self:center;min-height:40px;display:flex;align-items:center;font-size:21px;margin:0;text-wrap:initial}
 .tny-home .tny-hv-steps p{grid-column:2;max-width:none;font-size:16px;line-height:1.6}
 .tny-home .tny-hv-steps li:not(:last-child)::after{inset-inline-start:19px;inset-block-start:50px;width:1px;height:calc(100% + var(--step-gap) - 60px)}
}
/* Compact first-visit section on phones only. */
@media(max-width:767px){
 .tny-home .tny-hv-visit{padding-block:24px;margin-block:12px 20px}
 .tny-home .tny-hv-visit-inner{gap:18px}
 .tny-home .tny-hv-intro>p{margin-block:8px 4px;max-width:none}
 .tny-home .tny-hv-steps{--step-size:32px;--step-gap:16px}
 .tny-home .tny-hv-steps li{column-gap:12px;row-gap:4px}
 .tny-home .tny-hv-step-number{font-size:14px}
 .tny-home .tny-hv-steps h3{min-height:32px;font-size:19px}
 .tny-home .tny-hv-steps p{line-height:1.5}
 .tny-home .tny-hv-steps li:not(:last-child)::after{inset-inline-start:15px;inset-block-start:40px;height:calc(100% + var(--step-gap) - 48px)}
}
