/* Ewelina Fryc v4 FINAL */
:root{--teal:#1a939b;--teal-dark:#0f766e;--gold:#fdc649;--gold-dark:#d4a017;--ink:#123a37;--text:#17242b;--muted:#667085;--bg:#f8fafc;--soft:#ecfdf8;--white:#fff;--line:#d7ebe7;--shadow:0 20px 60px rgba(15,118,110,.14);--shadow-strong:0 30px 90px rgba(15,118,110,.22);--radius:30px;--container:1180px}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,Arial,sans-serif;color:var(--text);background:radial-gradient(circle at 5% 10%,rgba(253,198,73,.11),transparent 28rem),radial-gradient(circle at 92% 3%,rgba(26,147,155,.13),transparent 26rem),var(--bg);line-height:1.7;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}button{font:inherit}.container{width:min(var(--container),calc(100% - 40px));margin:auto}.section{padding:104px 0}.narrow{max-width:880px}.skip-link{position:absolute;left:-999px;top:10px;background:#fff;padding:12px;z-index:9999}.skip-link:focus{left:10px}.scroll-progress{position:fixed;top:0;left:0;height:4px;width:0;background:linear-gradient(90deg,var(--teal),var(--gold));z-index:3000}
h1,h2,h3{font-family:Poppins,Inter,sans-serif;line-height:1.08;color:var(--ink)}h1{font-size:clamp(2.85rem,6.4vw,5.5rem);letter-spacing:-.07em}h2{font-size:clamp(2rem,4.2vw,3.55rem);letter-spacing:-.05em}h3{font-size:1.24rem}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--teal);font-weight:900;font-size:.82rem;margin-bottom:14px}p{color:var(--muted)}.lead{font-size:1.22rem;margin:26px 0 32px;max-width:690px}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(26,147,155,.1);transition:.25s}.site-header.is-scrolled{box-shadow:0 14px 34px rgba(0,0,0,.08)}.nav{height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;transition:.25s}.site-header.is-scrolled .nav{height:82px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none}.site-logo{height:56px;width:auto}.site-header.is-scrolled .site-logo{height:50px}.brand-title{display:grid;line-height:1.1;white-space:nowrap}.brand-title strong{font-family:Poppins,Inter,sans-serif;color:var(--ink);font-size:1rem}.brand-title small{color:var(--teal);font-weight:900}
.menu{display:flex;align-items:center;gap:23px}.menu a{text-decoration:none;font-weight:850;color:var(--text)}.menu a:hover{color:var(--teal)}.menu-toggle{display:none}.btn,.nav-button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 24px;text-decoration:none;font-weight:900;border:0;cursor:pointer;transition:.25s;position:relative;overflow:hidden}.btn::after,.nav-button::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);transform:translateX(-120%);transition:.45s}.btn:hover::after,.nav-button:hover::after{transform:translateX(120%)}.btn-primary,.nav-button{background:linear-gradient(135deg,var(--teal),var(--teal-dark));color:#fff}.btn-primary:hover,.nav-button:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.btn-ghost{background:#fff;color:var(--teal);border:1px solid var(--line)}.btn-link{background:transparent;color:var(--teal);padding-inline:8px}
.hero{min-height:calc(100vh - 92px);display:flex;align-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 78% 18%,rgba(26,147,155,.18),transparent 30%),radial-gradient(circle at 8% 88%,rgba(253,198,73,.19),transparent 32%),linear-gradient(135deg,#fbfffe,#fff 48%,#edfffb)}.organic-shapes span{position:absolute;border:1px solid rgba(26,147,155,.16);animation:floatShape 13s ease-in-out infinite}.organic-shapes span:nth-child(1){width:420px;height:420px;right:-140px;top:70px;border-radius:46% 54% 40% 60%/48% 42% 58% 52%}.organic-shapes span:nth-child(2){width:240px;height:240px;left:4%;bottom:7%;border-radius:60% 40% 54% 46%/44% 58% 42% 56%;background:rgba(253,198,73,.07);animation-delay:2s}.organic-shapes span:nth-child(3){width:92px;height:92px;right:42%;bottom:18%;border-radius:44% 56% 59% 41%/48% 50% 50% 52%;animation-delay:4s}@keyframes floatShape{50%{transform:translateY(-18px) rotate(8deg)}}.hero-grid,.two-col,.contact-grid,.reviews-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.hero-copy{position:relative;z-index:2}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-trust{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-trust span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 13px;color:var(--teal);font-weight:900;font-size:.9rem}.hero-visual{position:relative;min-height:560px}.portrait-card{position:absolute;inset:0 44px 42px 20px;background:#fff;border-radius:46px 22px 46px 22px;box-shadow:var(--shadow-strong);padding:18px;overflow:hidden;transform:rotate(-2deg)}.portrait-card img{width:100%;height:100%;object-fit:cover;border-radius:34px 16px 34px 16px}.portrait-fallback{display:none;height:100%;place-items:center;text-align:center;color:var(--teal);font-size:1.4rem}.portrait-fallback span{display:block;color:var(--muted);font-size:1rem}.signature-card{position:absolute;right:0;bottom:0;max-width:340px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border:1px solid rgba(253,198,73,.45);border-radius:34px 18px 34px 18px;box-shadow:var(--shadow);padding:22px;animation:softPulse 4.7s ease-in-out infinite}.signature-card span{display:block;color:var(--teal);font-weight:900;font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}.signature-card strong{font-family:Poppins;color:var(--ink)}@keyframes softPulse{50%{transform:translateY(-8px)}}
.rail{background:var(--ink);color:#fff;overflow:hidden;padding:15px 0}.rail-track{display:flex;gap:36px;white-space:nowrap;animation:railMove 27s linear infinite}.rail-track span{font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#b7fff4}@keyframes railMove{to{transform:translateX(-50%)}}
.about{background:#fff}.image-panel,.map-card{min-height:520px;border-radius:42px 22px 42px 22px;background:#fff;box-shadow:var(--shadow);padding:16px;overflow:hidden;border:1px solid var(--line)}.image-panel img{width:100%;height:100%;object-fit:cover;border-radius:30px 14px 30px 14px}.image-placeholder{display:none;height:100%;place-items:center;text-align:center;color:var(--teal);font-weight:900}.tilt-card{transition:transform .25s,box-shadow .25s}.tilt-card:hover{transform:translateY(-6px) rotate(.4deg);box-shadow:var(--shadow-strong)}.content p{margin-bottom:16px}.value-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:26px}.value-grid div{background:var(--soft);border:1px solid var(--line);border-radius:24px 14px 24px 14px;padding:16px}.value-grid b{display:block;color:var(--gold-dark);font-size:1.2rem}.value-grid span{font-weight:900;color:var(--teal)}
.help{background:var(--bg)}.section-head{text-align:center;max-width:820px;margin:0 auto 48px}.section-head p{margin-top:14px}.section-head.light h2,.section-head.light p{color:#fff}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card,.offer-grid article,.review-card,.faq-item,.contact-cards a{background:#fff;border:1px solid var(--line);border-radius:34px 18px 34px 18px;padding:28px;box-shadow:0 10px 30px rgba(0,0,0,.04);transition:.28s;position:relative;overflow:hidden}.service-card:hover,.offer-grid article:hover,.contact-cards a:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.line-icon{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:20px 12px 20px 12px;color:var(--teal);background:linear-gradient(135deg,rgba(26,147,155,.12),rgba(253,198,73,.14));margin-bottom:18px;position:relative}.line-icon::before,.line-icon::after{content:"";position:absolute;border:2px solid currentColor}[data-icon=weight]::before{width:26px;height:26px;border-radius:8px;top:17px;left:16px}[data-icon=weight]::after{width:10px;height:2px;border:0;background:currentColor;top:24px;left:24px}[data-icon=glucose]::before{width:16px;height:30px;border-radius:12px;top:13px;left:21px;transform:rotate(20deg)}[data-icon=glucose]::after{width:14px;height:14px;border-radius:50%;bottom:13px;right:14px}[data-icon=hormones]::before,[data-icon=thyroid]::before{width:30px;height:30px;border-radius:50%;top:14px;left:14px}[data-icon=hormones]::after,[data-icon=thyroid]::after{width:20px;height:2px;border:0;background:currentColor;top:28px;left:19px}[data-icon=gut]::before{width:28px;height:30px;border-radius:16px;top:14px;left:15px}[data-icon=gut]::after{width:16px;height:18px;border-radius:10px;top:20px;left:21px}[data-icon=education]::before{width:32px;height:22px;top:17px;left:13px;transform:skewY(-8deg)}[data-icon=education]::after{width:18px;height:2px;border:0;background:currentColor;top:28px;left:20px}.service-card h3{margin-bottom:10px}
.process{background:linear-gradient(135deg,var(--teal-dark),var(--ink));color:#fff;position:relative;overflow:hidden}.process::before{content:"";position:absolute;width:520px;height:520px;border-radius:46% 54% 40% 60%;border:1px solid rgba(255,255,255,.12);right:-140px;top:-140px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.process-grid article{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:34px 18px 34px 18px;padding:26px;backdrop-filter:blur(10px);transition:.25s}.process-grid article:hover{transform:translateY(-6px);background:rgba(255,255,255,.16)}.process-grid b{display:block;color:var(--gold);font-size:1.7rem;margin-bottom:12px}.process-grid h3{color:#fff}.process-grid p{color:rgba(255,255,255,.84)}
.offer{background:#fff}.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.offer-grid article span{height:4px;width:78px;border-radius:999px;background:linear-gradient(90deg,var(--teal),var(--gold));display:block;margin-bottom:20px}.text-link{display:inline-flex;margin-top:18px;color:var(--teal);font-weight:900;text-decoration:none}.text-link::after{content:"→";margin-left:8px;transition:.25s}.text-link:hover::after{transform:translateX(4px)}
.reviews{background:var(--soft)}.reviews-layout{align-items:start}.reviews .content p{font-size:1.05rem}.reviews-widget{background:#fff;border:1px solid var(--line);border-radius:42px 22px 42px 22px;box-shadow:var(--shadow);padding:28px;position:relative}.reviews-widget::before{content:"Google";position:absolute;right:24px;top:24px;color:var(--muted);font-weight:900;opacity:.55}.reviews-summary{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:0 84px 16px 0;margin-bottom:16px}.stars{color:var(--gold-dark);letter-spacing:.08em;font-weight:900}.reviews-summary strong{font-size:2rem;color:var(--teal)}.reviews-summary small{font-weight:900;color:var(--muted)}.reviews-list{display:grid;gap:12px;max-height:430px;overflow-y:auto;padding-right:8px}.reviews-list::-webkit-scrollbar{width:7px}.reviews-list::-webkit-scrollbar-thumb{background:var(--teal);border-radius:999px}.review-card{padding:16px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(236,253,248,.72))}.review-card header{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:4px}.review-card p{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;font-size:.92rem}.review-card time{font-size:.78rem;color:var(--muted)}.skeleton{height:105px;background:linear-gradient(90deg,#f2f6f7,#fff,#f2f6f7);background-size:220% 100%;animation:skeleton 1.2s linear infinite}@keyframes skeleton{to{background-position:-220% 0}}.google-reviews-link::before{content:"G";display:inline-grid;place-items:center;width:24px;height:24px;margin-right:8px;border-radius:50%;background:#fff;color:var(--teal);font-weight:900}
.booking{background:#fff}.booking-box{text-align:center;background:linear-gradient(135deg,#fff,var(--soft));border:1px solid var(--line);border-radius:48px 24px 48px 24px;box-shadow:var(--shadow);padding:58px;overflow:hidden;position:relative}.booking-box h2{max-width:820px;margin:auto}.booking-box p{max-width:760px;margin:18px auto 0}.booking-options{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:32px auto;max-width:920px;text-align:left}.booking-options article{background:rgba(255,255,255,.84);border:1px solid var(--line);border-radius:28px 16px 28px 16px;padding:22px}.booking-options b{display:block;color:var(--teal);font-size:1.1rem}.booking-options span{color:var(--muted);font-weight:700}
.faq{background:var(--bg)}.faq-list{display:grid;gap:14px}.faq-item{padding:0;overflow:hidden}.faq-item button{width:100%;padding:22px;border:0;background:#fff;text-align:left;display:flex;justify-content:space-between;gap:20px;cursor:pointer;font-weight:900;color:var(--ink);font-size:1.05rem}.faq-item button span{width:22px;height:22px;border-radius:50%;background:var(--soft);position:relative;flex:0 0 22px}.faq-item button span::before,.faq-item button span::after{content:"";position:absolute;background:var(--teal);left:6px;right:6px;top:10px;height:2px}.faq-item button span::after{transform:rotate(90deg)}.faq-item div{display:none;padding:0 22px 22px}.faq-item.active div{display:block}.faq-item.active button span::after{transform:rotate(0)}
.contact{background:#fff}.contact-grid{align-items:start}.contact-cards{display:grid;gap:14px;margin-top:26px}.contact-cards a{text-decoration:none;display:grid;gap:4px;background:var(--soft)}.contact-cards span{color:var(--muted);font-weight:900}.contact-cards b{color:var(--teal)}.map-card{padding:0}.map-card iframe{border:0;width:100%;height:520px;display:block}
.floating-booking{position:fixed;right:22px;bottom:22px;z-index:900;background:var(--gold-dark);color:#fff;text-decoration:none;border-radius:999px;padding:14px 20px;font-weight:900;box-shadow:0 14px 36px rgba(212,160,23,.35)}.footer{background:var(--ink);color:#fff;padding:32px 0}.footer-grid{display:flex;justify-content:space-between;gap:20px;align-items:center}.footer p{color:#fff}.footer-brand{display:flex;align-items:center;gap:16px}.footer-brand img{width:92px;background:#fff;border-radius:18px;padding:8px}.footer-link{background:transparent;border:0;color:#fff;text-decoration:underline;cursor:pointer}
.privacy-modal,.cookie-settings-modal{border:0;border-radius:24px;max-width:820px;width:calc(100% - 32px);padding:0;margin:auto}.privacy-modal::backdrop,.cookie-settings-modal::backdrop{background:rgba(0,0,0,.55)}.modal-content{padding:34px;max-height:86vh;overflow:auto}.modal-close{float:right;border:0;background:var(--teal);color:#fff;border-radius:999px;padding:10px 16px;cursor:pointer}.legal-content h3{margin-top:22px;color:var(--teal);font-size:1.18rem}.legal-note{padding:12px;background:#fff7df;border:1px solid rgba(253,198,73,.45);border-radius:14px}.cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:1800;display:none;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:18px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-strong)}.cookie-banner.show{display:grid}.cookie-banner p{margin:0}.cookie-actions,.modal-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.cookie-options{display:grid;gap:14px;margin:20px 0}.cookie-options label{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--bg)}
[data-reveal]{opacity:0;transform:translateY(30px);transition:.78s cubic-bezier(.2,.8,.2,1)}[data-reveal].is-visible{opacity:1;transform:none}
@media(max-width:1050px){.cards-grid,.offer-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}.hero-grid,.two-col,.contact-grid,.reviews-layout{gap:38px}}
@media(max-width:820px){.container{width:calc(100% - 28px)}.section{padding:72px 0}.nav{height:76px}.site-header.is-scrolled .nav{height:74px}.site-logo,.site-header.is-scrolled .site-logo{height:44px}.brand-title strong{font-size:.9rem}.brand-title small{font-size:.78rem}.menu-toggle{display:grid;gap:4px;width:44px;height:44px;border:0;border-radius:14px;background:var(--teal);padding:12px;cursor:pointer}.menu-toggle span{height:2px;background:#fff}.menu{display:none;position:absolute;top:78px;left:14px;right:14px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:16px;flex-direction:column;align-items:stretch}.menu.active{display:flex}.menu a{padding:10px 12px}.hero{min-height:auto;padding:56px 0}.hero-grid,.two-col,.contact-grid,.reviews-layout{grid-template-columns:1fr}.hero-visual{min-height:430px}.portrait-card{inset:0 20px 42px 0}.hero-actions{display:grid}.btn,.nav-button{width:100%}.value-grid,.cards-grid,.offer-grid,.process-grid,.booking-options{grid-template-columns:1fr}.booking-box{padding:36px 20px}.footer-grid{display:grid;text-align:center}.footer-brand{display:grid;justify-items:center}.cookie-banner{grid-template-columns:1fr}.cookie-actions .btn{width:100%}.floating-booking{left:14px;right:14px;text-align:center}}
@media(max-width:520px){h1{font-size:2.45rem}.brand-title{display:none}.hero-visual{min-height:380px}.signature-card{left:0;right:0}.portrait-card{right:0}.reviews-summary{display:grid;padding-right:0}.reviews-widget::before{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* ============================== V5 Clinical Premium upgrades ============================== */
.clinical-hero h1{max-width:900px}.clinical-hero .lead{max-width:780px}.proof-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px;max-width:860px}.proof-strip strong{display:flex;align-items:center;justify-content:center;min-height:58px;padding:12px 14px;border-radius:22px 12px 22px 12px;background:rgba(255,255,255,.86);border:1px solid var(--line);color:var(--teal);text-align:center;font-size:.92rem;box-shadow:0 10px 28px rgba(15,118,110,.08)}.premium-frame{border:1px solid rgba(253,198,73,.48)}.clinical-card{max-width:380px}.authority{background:radial-gradient(circle at 12% 18%,rgba(253,198,73,.11),transparent 30rem),#fff}.credentials-panel{display:grid;gap:16px}.credentials-panel article{background:linear-gradient(135deg,#fff,var(--soft));border:1px solid var(--line);border-radius:30px 16px 30px 16px;padding:22px;box-shadow:0 12px 34px rgba(15,118,110,.08);transition:transform .25s ease,box-shadow .25s ease}.credentials-panel article:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.credentials-panel b{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin-bottom:12px;border-radius:15px 9px 15px 9px;background:linear-gradient(135deg,var(--teal),var(--gold));color:#fff}.credentials-panel h3{margin-bottom:8px}.microbiome{background:linear-gradient(135deg,var(--ink),var(--teal-dark));color:#fff;overflow:hidden;position:relative}.microbiome::before{content:"";position:absolute;width:620px;height:620px;right:-160px;top:-220px;border:1px solid rgba(255,255,255,.13);border-radius:46% 54% 40% 60%/48% 42% 58% 52%}.microbiome-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center;position:relative;z-index:1}.microbiome h2,.microbiome h3{color:#fff}.microbiome p{color:rgba(255,255,255,.82)}.microbiome .eyebrow{color:var(--gold)}.microbiome-card{max-width:760px}.system-map{position:relative;min-height:520px}.system-map::before{content:"mikrobiom";position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:178px;height:178px;display:grid;place-items:center;border-radius:48% 52% 42% 58%/51% 45% 55% 49%;background:linear-gradient(135deg,var(--gold),#fff2ad);color:var(--ink);font-weight:1000;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 25px 80px rgba(253,198,73,.28)}.system-map span{position:absolute;width:174px;min-height:74px;display:grid;place-items:center;text-align:center;padding:12px;border-radius:28px 14px 28px 14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff;font-weight:900;backdrop-filter:blur(10px)}.system-map span:nth-child(1){left:50%;top:2%;transform:translateX(-50%)}.system-map span:nth-child(2){right:0;top:22%}.system-map span:nth-child(3){right:6%;bottom:16%}.system-map span:nth-child(4){left:50%;bottom:0;transform:translateX(-50%)}.system-map span:nth-child(5){left:0;bottom:16%}.system-map span:nth-child(6){left:0;top:22%}.specializations{background:var(--bg)}.clinical-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.clinical-service{min-height:276px;padding:25px;border-radius:32px 16px 32px 16px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 34px rgba(0,0,0,.045);transition:transform .25s ease,box-shadow .25s ease;position:relative;overflow:hidden}.clinical-service::after{content:"";position:absolute;width:130px;height:130px;right:-58px;top:-58px;border-radius:50%;background:rgba(26,147,155,.08)}.clinical-service:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.clinical-service span{display:inline-flex;margin-bottom:16px;padding:7px 11px;border-radius:999px;background:var(--soft);color:var(--teal);font-weight:900;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.clinical-service h3{margin-bottom:12px}.hero-service{grid-column:span 2;background:radial-gradient(circle at 90% 0%,rgba(253,198,73,.18),transparent 20rem),linear-gradient(135deg,#fff,#effffb)}.clinical-process article{min-height:260px}.locations{background:#fff}.locations-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:52px;align-items:center}.location-tags{display:flex;flex-wrap:wrap;gap:12px}.location-tags span{background:linear-gradient(135deg,#fff,var(--soft));border:1px solid var(--line);border-radius:999px;padding:12px 16px;color:var(--teal);font-weight:900;box-shadow:0 8px 24px rgba(15,118,110,.07)}.clinical-booking{background:radial-gradient(circle at 8% 15%,rgba(253,198,73,.15),transparent 24rem),radial-gradient(circle at 90% 20%,rgba(26,147,155,.12),transparent 24rem),linear-gradient(135deg,#fff,var(--soft))}.authority .content p,.microbiome-card p,.locations p{font-size:1.06rem}.portrait-fallback{padding:28px}.rail-track span{color:#fff}@media(max-width:1100px){.clinical-grid{grid-template-columns:repeat(2,1fr)}.microbiome-grid,.locations-grid{grid-template-columns:1fr}.system-map{min-height:470px}}@media(max-width:820px){.proof-strip{grid-template-columns:1fr}.clinical-grid{grid-template-columns:1fr}.hero-service{grid-column:span 1}.system-map{min-height:auto;display:grid;grid-template-columns:1fr;gap:12px}.system-map::before{position:relative;inset:auto;transform:none;width:auto;height:auto;min-height:92px;border-radius:30px 16px 30px 16px;margin-bottom:6px}.system-map span{position:static;width:auto;transform:none!important}}@media(max-width:520px){.clinical-service,.credentials-panel article{padding:20px}}


/* --- Patch v5.1: hero cleanup, second portrait, clearer booking --- */
.proof-strip {
  display: none !important;
}

.second-portrait {
  background:
    radial-gradient(circle at 88% 20%, rgba(253,198,73,.12), transparent 28rem),
    linear-gradient(135deg, #fff, var(--soft));
}

.second-photo-panel {
  min-height: 500px;
}

.reverse-on-mobile {
  grid-template-columns: .95fr 1.05fr;
}

.location-tags span:nth-last-child(-n+2) {
  background: linear-gradient(135deg, var(--teal), var(--teal-dark));
  color: #fff;
  border-color: rgba(255,255,255,.2);
}

.legal-content h3 {
  margin-top: 24px;
}

.legal-content p {
  margin-bottom: 10px;
}

@media(max-width: 820px) {
  .reverse-on-mobile {
    grid-template-columns: 1fr;
  }
}


/* --- Patch v5.2: clearer second portrait, booking cards, microbiome map --- */

.second-portrait .content p {
  font-size: 1.06rem;
}

.clinical-booking .booking-options {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 680px;
}

/* 7-point microbiome influence map */
.system-map span:nth-child(1) { left: 50%; top: 0; transform: translateX(-50%); }
.system-map span:nth-child(2) { right: 0; top: 15%; }
.system-map span:nth-child(3) { right: 0; bottom: 28%; }
.system-map span:nth-child(4) { right: 22%; bottom: 0; transform: none; }
.system-map span:nth-child(5) { left: 22%; bottom: 0; transform: none; }
.system-map span:nth-child(6) { left: 0; bottom: 28%; }
.system-map span:nth-child(7) { left: 0; top: 15%; }

@media(max-width: 820px) {
  .clinical-booking .booking-options {
    grid-template-columns: 1fr;
    max-width: 100%;
  }

  .system-map span:nth-child(n) {
    position: static;
    width: auto;
    transform: none !important;
  }
}


/* --- Patch v5.3: second portrait order and fixed microbiome map --- */

.second-portrait-grid {
  grid-template-columns: .95fr 1.05fr;
}

.second-portrait .content h2 {
  max-width: 760px;
}

.second-portrait .content p {
  font-size: 1.06rem;
}

/* Reset older microbiome map rules that used pseudo-elements */
.system-map.microbiome-map {
  position: relative;
  min-height: 560px;
  display: block;
}

.system-map.microbiome-map::before {
  content: none !important;
}

.microbiome-center {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 178px;
  height: 178px;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  border-radius: 48% 52% 42% 58% / 51% 45% 55% 49%;
  background: linear-gradient(135deg, var(--gold), #fff2ad);
  color: var(--ink);
  font-weight: 1000;
  text-transform: uppercase;
  letter-spacing: .08em;
  box-shadow: 0 25px 80px rgba(253,198,73,.28);
  z-index: 2;
}

.system-map.microbiome-map .map-item {
  position: absolute;
  width: 176px;
  min-height: 76px;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 12px;
  border-radius: 28px 14px 28px 14px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.22);
  color: #fff;
  font-weight: 900;
  backdrop-filter: blur(10px);
  z-index: 1;
}

/* 7 stable positions around center */
.microbiome-map .map-item-1 {
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}

.microbiome-map .map-item-2 {
  right: 0;
  top: 16%;
}

.microbiome-map .map-item-3 {
  right: 0;
  bottom: 26%;
}

.microbiome-map .map-item-4 {
  right: 22%;
  bottom: 0;
}

.microbiome-map .map-item-5 {
  left: 50%;
  bottom: 9%;
  transform: translateX(-50%);
  background: rgba(253,198,73,.22);
  border-color: rgba(253,198,73,.45);
}

.microbiome-map .map-item-6 {
  left: 0;
  bottom: 26%;
}

.microbiome-map .map-item-7 {
  left: 0;
  top: 16%;
}

@media(max-width: 1100px) {
  .system-map.microbiome-map {
    min-height: 520px;
  }
}

@media(max-width: 820px) {
  .second-portrait-grid {
    grid-template-columns: 1fr;
  }

  .system-map.microbiome-map {
    min-height: auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .microbiome-center,
  .system-map.microbiome-map .map-item {
    position: static;
    transform: none !important;
    width: auto;
    min-height: 70px;
  }

  .microbiome-center {
    height: 92px;
    border-radius: 30px 16px 30px 16px;
    margin-bottom: 4px;
  }
}


/* --- Patch v5.4: stable premium microbiome diagram --- */

/* Full reset of older absolute map rules */
.system-map.microbiome-grid-map,
.system-map.microbiome-map.microbiome-grid-map {
  min-height: 0 !important;
  height: auto !important;
  position: relative !important;
  display: grid !important;
  grid-template-columns: 190px 1fr 1fr !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.system-map.microbiome-grid-map::before,
.system-map.microbiome-grid-map::after {
  content: none !important;
}

.system-map.microbiome-grid-map .microbiome-center {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: 190px !important;
  height: auto !important;
  min-height: 100% !important;
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
  border-radius: 42px 22px 42px 22px !important;
  background: linear-gradient(135deg, var(--gold), #fff2ad) !important;
  color: var(--ink) !important;
  font-weight: 1000 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  box-shadow: 0 25px 80px rgba(253,198,73,.28) !important;
  z-index: 1 !important;
}

.system-map.microbiome-grid-map .map-column {
  display: grid !important;
  gap: 14px !important;
}

.system-map.microbiome-grid-map .map-item {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: auto !important;
  min-height: 74px !important;
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
  padding: 14px 18px !important;
  border-radius: 28px 14px 28px 14px !important;
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.23) !important;
  color: #fff !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  backdrop-filter: blur(10px) !important;
  z-index: 1 !important;
}

.system-map.microbiome-grid-map .map-item.highlight {
  background: rgba(253,198,73,.24) !important;
  border-color: rgba(253,198,73,.48) !important;
  color: #fff !important;
  box-shadow: 0 16px 42px rgba(253,198,73,.13) !important;
}

@media(max-width: 1100px) {
  .system-map.microbiome-grid-map,
  .system-map.microbiome-map.microbiome-grid-map {
    grid-template-columns: 1fr !important;
  }

  .system-map.microbiome-grid-map .microbiome-center {
    width: auto !important;
    min-height: 110px !important;
  }
}

@media(max-width: 820px) {
  .system-map.microbiome-grid-map,
  .system-map.microbiome-map.microbiome-grid-map {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .system-map.microbiome-grid-map .map-column {
    grid-template-columns: 1fr !important;
  }

  .system-map.microbiome-grid-map .microbiome-center,
  .system-map.microbiome-grid-map .map-item {
    width: auto !important;
    min-height: 72px !important;
    position: relative !important;
    transform: none !important;
  }
}


/* --- Patch v5.5: final stable microbiome visual --- */

/* Hide/neutralize all earlier diagram systems if any old markup survives */
.system-map,
.system-map.microbiome-map,
.system-map.microbiome-grid-map {
  display: none !important;
}

.microbiome-visual-premium {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
  width: 100%;
  max-width: 560px;
  margin-left: auto;
}

.microbiome-core-card {
  min-height: 170px;
  display: grid;
  align-content: center;
  gap: 10px;
  padding: 32px;
  border-radius: 44px 22px 44px 22px;
  background:
    radial-gradient(circle at 88% 0%, rgba(255,255,255,.55), transparent 16rem),
    linear-gradient(135deg, var(--gold), #fff1a8);
  box-shadow: 0 26px 80px rgba(253,198,73,.26);
  color: var(--ink);
  text-align: center;
}

.microbiome-core-card span {
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: .82rem;
  font-weight: 1000;
  color: var(--teal-dark);
}

.microbiome-core-card strong {
  font-family: Poppins, Inter, sans-serif;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  line-height: 1.12;
  letter-spacing: -.04em;
}

.microbiome-impact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.microbiome-impact-grid span {
  min-height: 76px;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 15px 18px;
  border-radius: 28px 14px 28px 14px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.25);
  color: #fff;
  font-weight: 950;
  line-height: 1.25;
  backdrop-filter: blur(10px);
  box-shadow: 0 14px 36px rgba(0,0,0,.08);
}

.microbiome-impact-grid span.highlight {
  background: rgba(253,198,73,.24);
  border-color: rgba(253,198,73,.55);
  color: #fff;
}

@media(max-width: 1100px) {
  .microbiome-visual-premium {
    max-width: 100%;
    margin-left: 0;
  }
}

@media(max-width: 520px) {
  .microbiome-impact-grid {
    grid-template-columns: 1fr;
  }

  .microbiome-core-card {
    min-height: 150px;
    padding: 26px 20px;
  }
}


/* --- Final graphic integration: microbiome infographic as real asset --- */

.microbiome-grid {
  align-items: center;
}

.microbiome-graphic-card {
  margin: 0;
  position: relative;
  border-radius: 42px 22px 42px 22px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.06);
  box-shadow: 0 30px 90px rgba(0,0,0,.18);
}

.microbiome-graphic-card::before {
  content: "";
  position: absolute;
  inset: -1px;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(253,198,73,.28), rgba(255,255,255,.08), rgba(26,147,155,.18));
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  padding: 1px;
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.microbiome-graphic-card picture,
.microbiome-graphic-card img {
  display: block;
  width: 100%;
}

.microbiome-graphic-card img {
  height: auto;
  object-fit: contain;
}

/* neutralize previous diagram code in case any leftover classes exist */
.system-map,
.microbiome-visual-premium {
  display: none !important;
}

.microbiome .btn-primary {
  box-shadow: 0 14px 34px rgba(26,147,155,.24);
}

@media(max-width: 1100px) {
  .microbiome-graphic-card {
    max-width: 760px;
    margin: 18px auto 0;
  }
}

@media(max-width: 620px) {
  .microbiome-graphic-card {
    border-radius: 28px 14px 28px 14px;
  }
}
