.topbar { display: none; }
.topbar .container--wide { height: 100%; display: flex; justify-content: flex-end; align-items: center; gap: 26px; }
.site-header { position: absolute; z-index: 100; top: 0; left: 0; right: 0; height: var(--header-h); background: #8b6f4b; color: var(--white); border-bottom: 1px solid rgba(255,255,255,.22); box-shadow: 0 8px 28px rgba(60,60,59,.14); -webkit-backdrop-filter: blur(12px) saturate(115%); backdrop-filter: blur(12px) saturate(115%); transition: .35s var(--ease); }
.site-header.is-sticky { position: fixed; top: 0; background: #8b6f4b; color: var(--white); border-color: rgba(255,255,255,.22); box-shadow: 0 8px 30px rgba(60,60,59,.16); backdrop-filter: blur(14px); }
.header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.site-logo { width: 96px; flex: 0 0 auto; }
.site-logo img { width: 100%; height: 68px; object-fit: contain; }
.logo-light { display: block; }
.logo-dark { display: none; }
.site-header .logo-dark[style] { display: block !important; filter: brightness(0) invert(1); }
.primary-nav ul { display: flex; align-items: center; gap: clamp(20px, 2.5vw, 38px); list-style: none; }
.primary-nav a { position: relative; padding: 31px 0; font-family: var(--font-gotham); font-size: .69rem; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.primary-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 23px; height: 1px; background: currentColor; transition: right .3s; }
.primary-nav a:hover::after, .primary-nav a[aria-current="page"]::after { right: 0; }
.nav-cta { padding: 12px 17px !important; border: 1px solid var(--white); background: var(--white); color: var(--bronze); }
.nav-cta:hover, .nav-cta:focus-visible { border-color: var(--bronze-pale); background: var(--bronze-pale); color: var(--bronze); }
.nav-cta::after { display: none; }
.menu-toggle { display: none; width: 46px; height: 46px; border: 0; background: transparent; color: currentColor; }
.menu-toggle span, .menu-toggle::before, .menu-toggle::after { content: ""; display: block; width: 26px; height: 1px; margin: 6px auto; background: currentColor; transition: .3s; }
.menu-open .menu-toggle span { opacity: 0; }
.menu-open .menu-toggle::before { transform: translateY(7px) rotate(45deg); }
.menu-open .menu-toggle::after { transform: translateY(-7px) rotate(-45deg); }
.hero { min-height: 820px; display: grid; align-items: center; position: relative; overflow: hidden; background: #37302a; color: white; }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(99,81,58,.9) 0%, rgba(139,111,75,.6) 43%, rgba(190,143,119,.12) 78%); }
.hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 58% center; }
.hero__content { position: relative; z-index: 2; max-width: 750px; padding-top: 110px; }
.hero .eyebrow { display: table; padding: 5px 8px; background: rgba(248,245,240,.88); color: var(--bronze); }
.hero h1, .hero h1 em { color: var(--white); }
.hero h1 em { font-weight: 400; }
.hero p { max-width: 600px; margin-top: 24px; color: rgba(255,255,255,.82); font-size: 1.12rem; }
.hero__scroll { position: absolute; z-index: 2; right: 36px; bottom: 35px; writing-mode: vertical-rl; font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; }
.intro-split { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(55px, 9vw, 130px); align-items: start; }
.intro-split__mark { width: min(250px, 75%); margin-top: 30px; opacity: .16; }
.intro-split__copy p + p { margin-top: 22px; }
.philosophy-label { margin-bottom: 30px; }
.philosophy-layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(58px,8vw,112px); align-items: start; }
.philosophy-heading { max-width: 500px; }
.philosophy-heading h2 { max-width: 500px; font-size: clamp(2.55rem, 3.1vw, 3.3rem); line-height: 1.08; }
.philosophy-heading h2 span, .philosophy-heading h2 em { display: block; }
.philosophy-heading h2 em { margin-top: .12em; }
.philosophy-heading h2 em { color: var(--bronze); font-weight: 400; }
.philosophy-copy { max-width: 610px; }
.philosophy-body { display: grid; grid-template-columns: minmax(220px,.55fr) minmax(0,1.45fr); gap: clamp(55px,9vw,130px); align-items: start; margin-top: 70px; }
.philosophy-body .intro-split__mark { width: min(210px,80%); margin: 10px auto 0; }
.signature { margin-top: 36px; color: var(--bronze); font-family: var(--font-serif); font-size: 1.5rem; font-style: italic; }
.medical-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.medical-card { min-height: 260px; padding: 38px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: white; display: flex; flex-direction: column; transition: .35s var(--ease); }
.medical-card:hover, .medical-card:focus-visible { background: var(--bronze); color: white; transform: translateY(-4px); box-shadow: var(--shadow); }
.medical-card__mark { position: relative; width: 40px; height: 28px; overflow: hidden; flex: 0 0 auto; opacity: 0; transform: translateY(-6px); transition: opacity .3s var(--ease), transform .3s var(--ease); }
.medical-card__mark img { position: absolute; top: -20px; right: 0; width: 150px; max-width: none; height: auto; filter: brightness(0) invert(1); }
.medical-card:hover .medical-card__mark, .medical-card:focus-visible .medical-card__mark { opacity: 1; transform: none; }
.medical-card h3 { margin: auto 0 18px; font-family: var(--font-serif); font-size: clamp(1.55rem,2vw,2rem); }
.medical-card p { color: var(--ink-soft); font-size: .9rem; }
.medical-card:hover p, .medical-card:focus-visible p { color: var(--white); }
.medical-card:hover h3, .medical-card:focus-visible h3 { color: var(--white); }
.longevity-band { overflow: hidden; background: #e7ded2; }
.longevity-band__inner { display: grid; grid-template-columns: .9fr 1.1fr; min-height: 680px; }
.longevity-band__visual { position: relative; min-height: 560px; }
.longevity-band__visual img { width: 100%; height: 100%; object-fit: cover; }
.longevity-band__content { padding: clamp(70px, 9vw, 130px); display: flex; flex-direction: column; justify-content: center; }
.longevity-band__logo { width: 270px; margin-bottom: 26px; mix-blend-mode: multiply; }
.longevity-band h2 { font-size: clamp(2.6rem, 4.4vw, 4.6rem); }
.longevity-band p { max-width: 530px; margin-top: 26px; color: var(--ink-soft); }
.tech-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.tech-card { position: relative; min-height: 520px; overflow: hidden; background: var(--ink); color: white; border: 1px solid rgba(139,111,75,.18); }
.tech-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.tech-card:hover img { transform: scale(1.04); }
.gallery { display: grid; grid-template-columns: 1.45fr .75fr .8fr; grid-template-rows: 290px 290px; gap: 14px; }
.gallery figure { overflow: hidden; }
.gallery figure:first-child { grid-row: 1 / 3; }
.gallery figure:nth-child(4) { grid-column: 2 / 4; }
.gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s; }
.gallery figure:hover img { transform: scale(1.035); }
.article-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.article-card { background: white; border: 1px solid var(--line); transition: .35s var(--ease); }
.article-card:hover { transform: translateY(-8px); box-shadow: var(--shadow); }
.article-card__image { height: 245px; overflow: hidden; }
.article-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.article-card:hover img { transform: scale(1.04); }
.article-card__body { padding: 30px; }
.article-card__meta { color: var(--bronze); font-size: .68rem; font-weight: 400; letter-spacing: .12em; text-transform: uppercase; }
.article-card h3 { margin: 15px 0 20px; min-height: 3.1em; font-family: var(--font-serif); }
.text-link { display: inline-flex; gap: 12px; color: var(--bronze-dark); font-size: .7rem; font-weight: 400; letter-spacing: .14em; text-transform: uppercase; }
.text-link::after { content: "→"; transition: transform .25s; }
.text-link:hover::after { transform: translateX(5px); }
.cta-panel { position: relative; isolation: isolate; min-height: 240px; overflow: hidden; padding: clamp(34px, 4.5vw, 56px); background: url('../img/clinic/cta-placeholder.jpg') center 48%/cover no-repeat; color: white; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 36px; align-items: center; }
.cta-section { padding: 0; }
.cta-section > .container { width: 100%; max-width: none; }
.cta-section .cta-panel { min-height: 280px; grid-template-columns: 1fr; justify-items: center; align-content: center; gap: 24px; padding: 42px 28px; text-align: center; }
.cta-panel::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,rgba(99,81,58,.74),rgba(181,131,110,.24)); }
.cta-panel h2 { max-width: 760px; font-size: clamp(1.8rem, 3vw, 2.8rem); }
.cta-panel h2 { color: var(--white); text-shadow: 0 2px 18px rgba(0,0,0,.3); }
.cta-panel .btn { border-color: var(--white); background: var(--white); color: var(--bronze); }
.cta-panel .btn:hover { border-color: var(--bronze-pale); background: var(--bronze-pale); color: var(--bronze); }
.site-footer { background: var(--bronze); color: rgba(248,245,240,.84); padding: 78px 0 24px; }
.footer-grid { display: grid; grid-template-columns: 1.35fr .8fr .8fr 1.05fr; gap: 55px; }
.footer-logo { width: 118px; margin-bottom: 22px; }
.footer-about { max-width: 330px; font-size: .9rem; }
.site-footer h2 { margin-bottom: 20px; color: var(--bronze-pale); font-family: var(--font-sans); font-size: .72rem; font-weight: 400; letter-spacing: .16em; text-transform: uppercase; }
.footer-links { list-style: none; }
.footer-links li + li { margin-top: 10px; }
.footer-links a:hover, .footer-contact a:hover { color: var(--white); }
.footer-contact a { display: block; margin-bottom: 11px; }
.footer-socials { display: flex; gap: 10px; margin-top: 22px; }
.footer-socials a { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(248,245,240,.55); color: var(--bronze-pale); transition: .25s var(--ease); }
.footer-socials a:hover, .footer-socials a:focus-visible { border-color: var(--white); background: var(--white); color: var(--bronze); transform: translateY(-2px); }
.social-icon { display: block; width: 18px; height: 18px; }
.social-icon--instagram { position: relative; border: 1.5px solid currentColor; border-radius: 5px; }
.social-icon--instagram::before { content: ""; position: absolute; width: 6px; height: 6px; left: 4.5px; top: 4.5px; border: 1.5px solid currentColor; border-radius: 50%; }
.social-icon--instagram::after { content: ""; position: absolute; width: 2.5px; height: 2.5px; right: 2.5px; top: 2.5px; border-radius: 50%; background: currentColor; }
.social-icon--facebook { display: grid; place-items: end center; font-family: Arial, sans-serif; font-size: 1.35rem; font-weight: 700; line-height: .88; }
.social-icon--linkedin { display: grid; place-items: center; font-family: Arial, sans-serif; font-size: .78rem; font-weight: 700; letter-spacing: -.04em; }
.social-icon--youtube { position: relative; width: 20px; height: 14px; border: 1.5px solid currentColor; border-radius: 4px; }
.social-icon--youtube::before { content: ""; position: absolute; left: 7px; top: 3px; border-left: 6px solid currentColor; border-top: 3px solid transparent; border-bottom: 3px solid transparent; }
.footer-bottom { display: flex; justify-content: space-between; gap: 30px; margin-top: 60px; padding-top: 22px; border-top: 1px solid rgba(248,245,240,.22); font-size: .72rem; }
.footer-legal { display: flex; gap: 22px; }
.whatsapp-fab { position: fixed; z-index: 90; right: 22px; bottom: 22px; width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; background: #267e5a; color: white; box-shadow: 0 10px 30px rgba(0,0,0,.22); font-size: 1.3rem; }
