/* Homepage-only graphic system. Decorations never intercept links or crop photos. */
.homepage-art { overflow:hidden; --art-ink:#a6314b; }
.homepage-art>section { position:relative; isolation:isolate; }
.homepage-art>section::before,.homepage-art>section::after { pointer-events:none; z-index:-1; }
.homepage-art>section::after { content:''; position:absolute; width:460px; height:220px; background:center/contain no-repeat; opacity:.13; inset-inline-end:-120px; bottom:0; }
.homepage-art .home-hero { background:radial-gradient(ellipse at 12% 35%,#ecd2da 0,transparent 53%),linear-gradient(125deg,#fffaf8,#f9eaee); }
.homepage-art .home-hero::before { content:''; position:absolute; inset:0; background-image:radial-gradient(#a6314b26 1px,transparent 1px); background-size:23px 23px; mask-image:linear-gradient(90deg,#000,transparent 50%); }
.homepage-art .home-hero::after { width:110px; height:110px; inset-inline-end:auto; inset-inline-start:12%; top:28px; opacity:.12; border:1px solid #a6314b; clip-path:polygon(50% 0,100% 100%,0 100%); background:linear-gradient(135deg,#b0395320,transparent); }
.homepage-art .home-hero-grid { gap:70px; padding-block:72px 50px; }
.hero-art-stage { position:relative; align-self:center; min-width:0; padding:18px 12px; margin-bottom:54px; }
.hero-orbits { position:absolute; width:calc(100% + 76px); height:calc(100% + 82px); inset:-41px -38px; fill:none; stroke:#a6314b; stroke-width:1; opacity:.26; pointer-events:none; }
.homepage-art .home-media { position:relative; z-index:1; box-shadow:0 24px 60px #64213316; }
.hero-heart-mark,.hero-signal-mark { position:absolute; z-index:2; pointer-events:none; border:1px solid #e6c2ce; background:#fffaf9; box-shadow:0 10px 28px #64213310; }
.hero-heart-mark { top:-24px; inset-inline-end:-14px; width:84px; height:84px; border-radius:24px; display:grid; place-items:center; }
.hero-heart-mark svg { width:65px; height:65px; fill:none; stroke:#aa2d49; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.hero-heart-mark .heart-outline { fill:#f9e4e9; }
.hero-signal-mark { bottom:-54px; inset-inline-start:34px; width:152px; padding:10px 16px; border-radius:16px; }
.hero-signal-mark svg { display:block; width:100%; height:34px; fill:none; stroke:#a6314b; stroke-width:1.6; }
.hero-signal-mark span { display:block; direction:ltr; text-align:center; color:#864257; font:8px/1.5 Arial,sans-serif; letter-spacing:.7px; white-space:nowrap; }
.homepage-art .hero-ecg-background { opacity:.12; height:110px; bottom:0; }
.hero-signal-mark .signal-base { opacity:.25; }
.hero-signal-mark .signal-sweep { stroke:#b4233b; stroke-width:2.4; stroke-linecap:round; }
.homepage-art .trust-rail::after { opacity:.18; width:240px; height:160px; bottom:-35px; background-image:radial-gradient(#fff 1px,transparent 1px); background-size:16px 16px; mask-image:linear-gradient(90deg,transparent,#000); }
.homepage-art .trust-rail .trust-grid>div { padding-inline-start:60px; }
.homepage-art .trust-rail .trust-grid>div::before { width:40px; height:40px; top:8px; background:transparent; border:1px solid #ffffff50; border-radius:50%; }
.homepage-art .trust-grid>div::after { position:absolute; inset-inline-start:10px; top:15px; width:20px; height:24px; content:''; background:center/contain no-repeat; }
.homepage-art .trust-grid>div:nth-child(1)::after { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.5'%3E%3Cpath d='M12 21S2 15 2 8a5 5 0 0 1 10-2A5 5 0 0 1 22 8c0 7-10 13-10 13Z M3 12h5l2-4 3 8 2-4h6'/%3E%3C/svg%3E"); }
.homepage-art .trust-grid>div:nth-child(2)::after { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.5'%3E%3Crect x='2' y='3' width='20' height='14' rx='3'/%3E%3Cpath d='M8 21h8m-4-4v4m-4-11h8m-4-4v8'/%3E%3C/svg%3E"); }
.homepage-art .trust-grid>div:nth-child(3)::after { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.5'%3E%3Cpath d='M20 9c0 6-8 13-8 13S4 15 4 9a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='9' r='3'/%3E%3C/svg%3E"); }
.homepage-art .home-services { background:linear-gradient(150deg,#f9e9ee,#fff7f8 60%,#f1dfe5); padding-block:80px; }
.homepage-art .home-services::before { content:''; position:absolute; top:25px; inset-inline-start:-80px; width:230px; height:230px; border:1px solid #b05b7026; border-radius:50%; box-shadow:0 0 0 25px #b05b7008,0 0 0 50px #b05b7005; }
.homepage-art .home-services::after { background-image:url('/images/dr-roudbari/art-flow.svg'); width:600px; height:400px; opacity:.16; bottom:-80px; }
.homepage-art .home-services .service-card { background:#fffdfcf5; border-color:#ebcfd9; }
.homepage-art .care-journey { padding-block:64px; border:0; }
.homepage-art .care-journey::before { content:''; position:absolute; inset:0 calc((100% - 100vw)/2); background:#fffdfb; }
.homepage-art .care-journey::after { background-image:url('/images/dr-roudbari/art-route.svg'); width:330px; height:140px; bottom:-8px; opacity:.15; }
.homepage-art .care-journey li { padding:22px 16px; border-top:2px solid #ead0d8; background:linear-gradient(#f9edf180,transparent); border-radius:0 0 18px 18px; }
.homepage-art .care-journey li>span { color:#9f3550; }
.homepage-art .doctor-intro { overflow:visible; padding-block:84px; }
.homepage-art .doctor-intro::before { content:''; position:absolute; inset:0 calc((100% - 100vw)/2); background:radial-gradient(ellipse at 90% 50%,#eed4de,transparent 65%),#f7e9ee; }
.homepage-art .doctor-intro::after { background-image:url('/images/dr-roudbari/cardio-linework.svg'); top:18px; bottom:auto; width:430px; opacity:.18; }
.homepage-art .doctor-portrait { border:8px solid #fffafa; box-shadow:0 18px 40px #75344a12; }
.homepage-art .doctor-ecg { opacity:.08; }
.homepage-art .safety-band::after { display:none; }
.homepage-art .home-guides::before { content:''; position:absolute; inset:0 calc((100% - 100vw)/2); background:linear-gradient(120deg,#fffaf6,#fcf4f1); }
.homepage-art .home-guides::after { background-image:url('/images/dr-roudbari/art-knowledge.svg'); top:0; bottom:auto; opacity:.12; width:230px; height:150px; inset-inline-end:-60px; }
.homepage-art .home-guides .article-card:first-child .article-card__media { border:6px solid white; box-shadow:0 12px 30px #6421330c; }
.homepage-art .home-videos { background:radial-gradient(ellipse at 90% 0,#9e3552,transparent 65%),#481523; }
.homepage-art .home-videos::after { background-image:url('/images/dr-roudbari/art-video.svg'); opacity:.12; width:560px; height:240px; bottom:-40px; }
.homepage-art .home-tools { margin-block:0; padding-block:44px; border:0; border-radius:0; background:transparent; }
.homepage-art .home-tools::before { content:''; position:absolute; inset:0 calc((100% - 100vw)/2); background:#efdae2; }
.homepage-art .home-tools::after { width:200px; height:120px; opacity:.22; background-image:linear-gradient(#a6314b33 1px,transparent 1px),linear-gradient(90deg,#a6314b33 1px,transparent 1px); background-size:18px 18px; mask-image:linear-gradient(90deg,transparent,#000); }
.homepage-art .home-tool-link { background:#fffbfc; border-color:#dfbcc9; }
.homepage-art .home-testimonials-clinic::before { content:''; position:absolute; inset:0 calc((100% - 100vw)/2); background:radial-gradient(ellipse at 5% 20%,#edd6dd,transparent 60%),#fff6f8; }
.homepage-art .home-testimonials-clinic::after { background-image:url('/images/dr-roudbari/art-conversation.svg'); width:250px; height:180px; top:8px; bottom:auto; opacity:.15; inset-inline-end:-70px; }
.homepage-art .consultation { margin-block:44px; }
.homepage-art .consultation::after { background:none; opacity:.17; width:210px; height:210px; border:1px solid #fff; border-radius:50%; box-shadow:0 0 0 25px #ffffff12,0 0 0 50px #ffffff0a; inset-inline-end:-75px; bottom:-100px; }
.homepage-art .home-location { background:linear-gradient(135deg,#f2dfe6,#fff7f8); }
.homepage-art .home-location::after { background:none; inset-inline-end:auto; inset-inline-start:0; width:250px; height:180px; top:0; opacity:.1; background-image:repeating-linear-gradient(30deg,transparent 0 36px,#a6314b 37px 38px,transparent 39px 70px); mask-image:linear-gradient(#000,transparent); }
.homepage-art .home-location::before { content:''; position:absolute; inset:0; background-image:radial-gradient(#9f355020 1px,transparent 1px); background-size:24px 24px; mask-image:linear-gradient(90deg,transparent,#000); }
/* Compact lower homepage: keep the original comments and all contact links. */
.homepage-art .home-testimonials-clinic { padding-block:36px 28px; }
.homepage-art .home-testimonials-clinic .section-title { margin-bottom:20px; }
.homepage-art .home-testimonials-clinic h2 { font-size:clamp(1.3rem,2vw,1.75rem); margin-bottom:0; }
.homepage-art .testimonial-clinic-grid { gap:16px; }
.homepage-art .testimonial-clinic-card { min-height:0; padding:20px; border-radius:18px; box-shadow:0 8px 24px #3f172108; }
.homepage-art .testimonial-clinic-card>span { top:12px; inset-inline-end:16px; font-size:2.5rem; }
.homepage-art .testimonial-origin { font-size:.8rem; padding-inline-end:28px; }
.homepage-art .testimonial-clinic-card>p { font-size:1.125rem; color:#472b33; line-height:1.8; margin-block:12px; overflow-wrap:anywhere; }
.homepage-art .testimonials-carousel.is-enhanced .testimonial-clinic-card>p { -webkit-line-clamp:2; height:3.6em; min-height:3.6em; line-height:1.8; }
.homepage-art .testimonials-carousel.is-enhanced .testimonial-clinic-card.is-expanded>p { -webkit-line-clamp:unset; height:auto; }
.homepage-art .testimonial-clinic-card footer { flex-direction:row; gap:8px; padding-top:12px; }
.homepage-art .testimonial-clinic-card footer b { font-size:.9rem; }
.homepage-art .testimonial-clinic-card [data-read-comment] { flex-shrink:0; min-height:44px; }
.homepage-art .testimonial-source:empty { display:none; }
.homepage-art .testimonial-source { margin-top:4px; }
.homepage-art .testimonial-source a { font-size:.8rem; min-height:36px; }
.homepage-art .testimonial-controls { margin-top:14px; gap:8px; flex-wrap:wrap; }
.homepage-art .consultation { margin-block:20px; padding:24px 28px; gap:20px; border-radius:20px; box-shadow:0 12px 28px #b4233b16; }
.homepage-art .consultation h2 { font-size:clamp(1.25rem,2vw,1.7rem); margin-bottom:8px; }
.homepage-art .consultation p { margin-bottom:0; font-size:.95rem; }
.homepage-art .home-location { margin-top:0; padding-block:32px; }
.homepage-art .home-location-grid { gap:28px; }
.homepage-art .home-location-copy h2 { font-size:clamp(1.4rem,2.2vw,2rem); margin-bottom:12px; }
.homepage-art .office-map__preview { background:#f9f5f6; }
.homepage-art .office-map__snapshot { height:240px; aspect-ratio:auto; object-fit:contain; }
.homepage-art .office-map__caption { padding:12px 18px 4px; background:white; }
.homepage-art .office-map__caption h3 { font-size:1.1rem; margin-block:4px; }
.homepage-art .office-map__cta { padding:0 18px 12px; background:white; }
.homepage-art .office-map__embed summary { padding:10px 18px; min-height:44px; }
body:has(.homepage-art) .footer { padding-block:34px 18px; }
body:has(.homepage-art) .footer-grid { gap:24px; }
body:has(.homepage-art) .footer h2,body:has(.homepage-art) .footer .identity { margin-bottom:12px; }
body:has(.homepage-art) .footer-bottom { margin-top:22px; padding-top:16px; }
/* Distinct editorial and tool surfaces; keep all original cards, copy and links. */
.homepage-art .home-guides { padding-block:52px; }
.homepage-art .home-guides::before { background:linear-gradient(180deg,#41182e 0,#6f253e 246px,#f3e9ee 246px,#faf4f6 100%); }
.homepage-art .home-guides::after { background-image:repeating-linear-gradient(135deg,transparent 0 22px,#f0c3d540 23px 24px,transparent 25px 48px); width:280px; height:190px; top:0; opacity:.35; mask-image:linear-gradient(180deg,#000,transparent); }
.homepage-art .home-guides>.section-title { position:relative; margin-bottom:26px; }
.homepage-art .home-guides>.section-title h2 { color:#fff7fa; }
.homepage-art .home-guides>.section-title .eyebrow { color:#f2cbd8; }
.homepage-art .home-guides>.section-title .text-link { color:#fff3f7; border-color:#c68a9e; }
.homepage-art .home-guides .article-grid { gap:14px 24px; }
.homepage-art .home-guides .article-card { background:#fffcfd; border:1px solid #e7d5df; border-radius:18px; box-shadow:0 8px 24px #35152608; }
.homepage-art .home-guides .article-card:first-child { padding:18px; border-inline-end:1px solid #e7d5df; background:linear-gradient(160deg,#fff,#fbeff3); }
.homepage-art .home-guides .article-card:first-child .article-card__media { border:0; box-shadow:none; border-radius:12px; }
.homepage-art .home-guides .article-card:first-child .article-card__body { padding:22px 6px 4px; }
.homepage-art .home-guides .article-card:not(:first-child) { padding:14px; }
.homepage-art .home-guides .article-card__body h3 { color:#4b2339; }
.homepage-art .home-guides .article-card__footer { color:#86263f; }
.homepage-art .home-guides .article-card__footer b { display:grid; place-items:center; background:#f6e5ec; border-radius:50%; width:32px; height:32px; }
.homepage-art .home-tools { padding-block:32px; }
.homepage-art .home-tools::before { background:#faf4f6; }
.homepage-art .home-tools::after { display:none; }
.home-tools-panel { position:relative; isolation:isolate; overflow:hidden; padding:28px; border:1px solid #a0607744; border-radius:24px; background:radial-gradient(ellipse at 0 0,#81304d,transparent 65%),linear-gradient(120deg,#3b182e,#571d31); box-shadow:0 12px 30px #4b193718; }
.home-tools-panel::before { content:''; pointer-events:none; position:absolute; z-index:-1; width:230px; height:230px; top:-155px; inset-inline-end:12%; border:1px solid #edb7d54d; border-radius:50%; box-shadow:0 0 0 24px #f2c0d00b,0 0 0 50px #f2c0d008; }
.homepage-art .home-tools .section-title { gap:12px; margin-bottom:20px; }
.homepage-art .home-tools h2 { color:#fff7fb; }
.homepage-art .home-tools .text-link { color:#f4d5e2; border-color:#b67a92; }
.homepage-art .home-tool-link { position:relative; background:#fff9fc; border:1px solid #edcfdc; min-height:84px; padding:15px; border-radius:16px; color:#4a2036; box-shadow:0 5px 15px #1b07151a; }
.homepage-art .home-tool-link svg { box-sizing:content-box; width:24px; height:24px; flex-basis:24px; padding:10px; border-radius:13px; background:#f3e1eb; color:#85304c; }
.homepage-art .home-tool-link:nth-child(even) svg { background:#f9e1e5; color:#9b2b43; }
.homepage-art .home-tool-link:hover { background:#fff; border-color:#bd829b; }
.homepage-art .home-tool-link:focus-visible { outline-color:#f4c4da; }
.homepage-art .care-journey li { background:linear-gradient(155deg,#f7e9ef,#fffafa); border:1px solid #eddae3; border-top:3px solid #984660; border-radius:18px; }
.homepage-art .care-journey li>span { font-size:1.7rem; line-height:1.5; }
.homepage-art .service-card { box-shadow:0 10px 28px #59233e09; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .homepage-art .home-tool-link,.homepage-art .home-guides .article-card { transition:box-shadow .22s ease,border-color .22s ease; }
 .homepage-art .home-tool-link:hover,.homepage-art .home-guides .article-card:hover { box-shadow:0 12px 28px #45152d1a; border-color:#c689a1; }
}
@media(prefers-reduced-motion:no-preference) { .homepage-art .card-entered { animation:home-card-arrive .55s cubic-bezier(.22,.6,.35,1) both; } }
@keyframes home-card-arrive { from { opacity:.65; transform:translateY(12px); } to { opacity:1; transform:none; } }
@media(max-width:700px) {
 .homepage-art .home-guides { padding-block:32px; }
 .homepage-art .home-guides .section-title { align-items:flex-start; gap:14px; }
 .homepage-art .home-guides .section-title h2 { font-size:1.4rem; line-height:1.8; }
 .homepage-art .home-guides .section-title .text-link { white-space:nowrap; font-size:.8rem; min-height:44px; }
 .homepage-art .home-guides .article-grid { gap:12px; }
 .homepage-art .home-guides .article-card:first-child { padding:12px; }
 .homepage-art .home-guides .article-card:first-child .article-card__body { padding:18px 4px 6px; }
 .homepage-art .home-guides .article-card:not(:first-child) { padding:12px; }
 .homepage-art .home-guides .article-card:not(:first-child)>a { grid-template-columns:90px minmax(0,1fr); gap:12px; }
 .homepage-art .home-guides .article-card__footer { margin-top:8px; }
 .homepage-art .home-tools .home-tools-panel { padding:20px 14px; border-radius:20px; }
 .homepage-art .home-tools .home-tool-link { min-height:112px; flex-direction:column; align-items:flex-start; gap:10px; padding:14px 12px; font-size:.85rem; line-height:1.8; }
 .homepage-art .home-tool-link svg { padding:8px; border-radius:10px; }
 .homepage-art .home-tool-links { gap:10px; }
 .homepage-art .home-tools h2 { font-size:1.08rem; }
 .homepage-art .home-tools .text-link { font-size:.78rem; min-height:44px; display:flex; align-items:center; }
}
@media(max-width:360px) { .homepage-art .home-guides .section-title { flex-direction:column; gap:8px; } .homepage-art .home-tools .section-title { flex-wrap:wrap; } .homepage-art .home-guides .article-card:not(:first-child)>a { grid-template-columns:76px minmax(0,1fr); gap:10px; } }
/* Decorations move independently; content also stays readable without JavaScript. */
@media(prefers-reduced-motion:no-preference) {
 .homepage-art .art-entered::after { animation:art-line-arrive 3s ease-out both; }
 .homepage-art .art-entered .hero-orbits { animation:art-orbit-arrive 3s ease-out both; }
 .homepage-art .hero-heart-mark { animation:art-mark-float 4s ease-in-out infinite; }
 .homepage-art .hero-heart-mark svg { transform-origin:center; animation:art-heartbeat 1.8s ease-in-out infinite; }
 .homepage-art .hero-signal-mark .signal-sweep { stroke-dasharray:22 78; animation:art-signal-sweep 2.4s linear infinite; }
 .homepage-art .art-entered .trust-grid>div::before { animation:art-ring-arrive 2s ease-out both; }
}
@keyframes art-line-arrive { from { transform:translateX(28px); opacity:0; } }
@keyframes art-orbit-arrive { from { transform:scale(.92); opacity:0; } }
@keyframes art-mark-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-5px); } }
@keyframes art-heartbeat { 0%,35%,100% { transform:scale(1); } 12% { transform:scale(1.08); } 22% { transform:scale(1.015); } 28% { transform:scale(1.055); } }
@keyframes art-signal-sweep { from { stroke-dashoffset:100; } to { stroke-dashoffset:0; } }
@keyframes art-ring-arrive { from { transform:scale(.65); opacity:0; } }
@media(max-width:540px) {
 .homepage-art .home-media { padding:10px 10px 14px; }
 .homepage-art .hero-photo-caption { position:static; grid-area:2/1; max-width:none; margin-top:12px; justify-content:center; text-align:center; }
 .homepage-art .hero-photo-caption b { font-size:.85rem; }
 .homepage-art .hero-photo-caption small { font-size:.65rem; }
 .homepage-art .home-media .slider-controls { position:static; grid-area:3/1; justify-content:center; margin:12px auto 0; }
}
@media(prefers-reduced-motion:reduce) { .homepage-art *,.homepage-art *::before,.homepage-art *::after { animation:none!important; scroll-behavior:auto!important; } }
@media(max-width:900px) { .homepage-art .home-hero-grid { gap:38px; } .hero-heart-mark { width:62px; height:62px; border-radius:18px; top:-10px; inset-inline-end:0; } .hero-heart-mark svg { width:46px; height:46px; } .hero-orbits { width:calc(100% + 34px); inset-inline:-17px; } }
@media(max-width:700px) { .homepage-art .home-hero-grid { padding-block:38px 34px; } .hero-art-stage { margin-top:14px; margin-bottom:42px; padding:16px 6px; } .hero-signal-mark { width:118px; padding:5px 10px; bottom:-42px; } .hero-signal-mark svg { height:24px; } .homepage-art>section::after { width:280px; height:140px; opacity:.1; } .homepage-art .home-services,.homepage-art .doctor-intro { padding-block:52px; } .homepage-art .care-journey { padding-block:40px; } .homepage-art .care-journey li { padding:16px; } .homepage-art .doctor-intro::after { width:220px; } .homepage-art .home-tools { padding:28px 0; } .homepage-art .consultation { margin-block:26px; } .art-controls { padding-bottom:12px; } }
@media(max-width:700px) {
 .homepage-art .home-testimonials-clinic { padding-block:28px 22px; }
 .homepage-art .testimonial-clinic-card { padding:18px; }
 .homepage-art .testimonial-clinic-card>p { font-size:1.0625rem; }
 .homepage-art .consultation { margin-block:16px; padding:22px; gap:16px; }
 .homepage-art .home-location { padding-block:26px; }
 .homepage-art .home-location-grid { gap:22px; }
 .homepage-art .office-map__snapshot { height:auto; max-height:240px; aspect-ratio:4/3; }
 body:has(.homepage-art) .footer { padding-top:28px; }
}
