Strona dla gabinetu stomatologicznego

<!– ===================================================================== FlowFlex — Landing STOMATOLOGIA — WKLEJKA DO WORDPRESS Wklej CALOSC ponizej do jednego bloku "Niestandardowy HTML" (Gutenberg) na pelnoszerokiej stronie z wylaczonym naglowkiem/stopka Kadence (per-page). Fonty ladowane przez @import na gorze @import url(’https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,340;9..144,440;9..144,540&family=Hanken+Grotesk:wght@400;500;600;700&display=swap’); /* ============================================================ FlowFlex — Stomatologia — Landing „Spokój Premium” Wszystkie style scoped pod .landing — bezpieczne do wklejenia jako blok HTML w WordPressie bez wycieku na resztę strony. Tokeny (kolory, fonty, promienie) przeniesione 1:1 z: branze/stomatologia/demo-strona/index.html ============================================================ */ .landing{ /* Kolory marki — zrodlo prawdy: brand/kolory-marki.css (2026-08-10). Stare nazwy zostaja jako aliasy, zeby nie przepisywac osmiu sekcji regul. */ –ff-tlo:#F8F0E3; –ff-karta:#FFF9EF; –ff-piasek:#EADCC8; –ff-zielen:#244634; –ff-zielen-2:#2E523E; –ff-zloto:#C99C4F; –ff-tekst:#26342C; –ff-szalwia:#4C6956; –ff-szalwia-ciemna:#2F4D3B; –ff-zloto-ciemne:#A87829; –ff-biel:#FFFFFF; –ff-na-zieleni-2:#EFE0C9; –ff-tlo-rgb:248,240,227; –ff-zielen-rgb:36,70,52; –ff-szampan-rgb:226,207,181; –porcelain:var(–ff-tlo); –linen:var(–ff-karta); –mist:var(–ff-piasek); –sage:var(–ff-szalwia); –sage-deep:var(–ff-szalwia-ciemna); –pine:var(–ff-zielen); –brass:var(–ff-zloto); –brass-deep:var(–ff-zloto-ciemne); –ink-soft:var(–ff-tekst); –max:1120px; background:var(–porcelain); color:var(–pine); font-family:’Hanken Grotesk’,system-ui,sans-serif; font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased; overflow-x:hidden; } .landing *{box-sizing:border-box} .landing h1,.landing h2,.landing h3{ font-family:’Fraunces’,Georgia,serif; font-weight:440; line-height:1.1; letter-spacing:-.01em; margin:0; } .landing p{margin:0} .landing a{color:inherit; text-decoration:none} .landing ul{list-style:none; margin:0; padding:0} .landing img{max-width:100%; display:block} .landing .wrap{max-width:var(–max); margin:0 auto; padding:0 20px} .landing .eyebrow{ font-size:.72rem; text-transform:uppercase; letter-spacing:.2em; font-weight:600; color:var(–sage-deep); } .landing .btn{ display:inline-flex; align-items:center; justify-content:center; gap:.55rem; font-weight:600; font-size:1rem; letter-spacing:.01em; background:var(–brass); color:var(–ff-biel); padding:1rem 1.8rem; border-radius:999px; border:none; cursor:pointer; transition:background .25s ease, transform .25s ease; min-height:48px; } .landing .btn:hover{background:var(–brass-deep); transform:translateY(-1px)} .landing .btn-ghost{background:transparent; color:var(–pine); padding:.9rem .4rem; min-height:auto} .landing .btn-ghost:hover{color:var(–sage-deep); background:transparent; transform:none} .landing .btn-quiet{ display:inline-flex; align-items:center; gap:.4rem; color:var(–sage-deep); font-weight:600; font-size:.98rem; border-bottom:1px solid transparent; transition:border-color .2s ease; } .landing .btn-quiet:hover{border-color:var(–sage-deep)} /* ———- topbar ———- */ .landing .topbar{ position:sticky; top:0; z-index:30; background:rgba(var(–ff-tlo-rgb),.86); backdrop-filter:blur(10px); border-bottom:1px solid var(–mist); } .landing .topbar .nav{ display:flex; align-items:center; justify-content:space-between; padding:14px 20px; max-width:var(–max); margin:0 auto; gap:12px; } .landing .brand{font-family:’Fraunces’; font-size:1.25rem; font-weight:540; letter-spacing:.02em; white-space:nowrap} .landing .brand span{color:var(–sage-deep)} .landing .topbar .btn{padding:.65rem 1.1rem; font-size:.88rem; min-height:40px} /* ———- hero ———- */ .landing .hero{position:relative; padding:56px 0 48px; overflow:hidden} .landing .halo{ position:absolute; inset:-30% 0 auto 50%; transform:translateX(-50%); width:min(760px,130vw); height:640px; z-index:0; pointer-events:none; background:radial-gradient(closest-side, rgba(var(–ff-szampan-rgb),.42), rgba(var(–ff-szampan-rgb),0) 70%); animation:landing-breathe 11s ease-in-out infinite; } @keyframes landing-breathe{0%,100%{transform:translateX(-50%) scale(1); opacity:.9}50%{transform:translateX(-50%) scale(1.08); opacity:1}} .landing .hero-inner{position:relative; z-index:1; max-width:640px} .landing .hero h1{font-size:clamp(2.1rem,8vw,3.6rem); margin:.6rem 0 0} .landing .hero .lede{font-size:1.1rem; color:var(–ink-soft); max-width:38ch; margin:1.2rem 0 1.9rem} .landing .hero-cta{display:flex; flex-direction:column; align-items:flex-start; gap:1rem} .landing .hero-cta .btn{width:100%; max-width:360px} .landing .hero-cta .btn-quiet{font-size:1rem} /* ———- section shell ———- */ .landing section{padding:52px 0} .landing .sec-head{max-width:620px; margin-bottom:32px} .landing .sec-head h2{font-size:clamp(1.7rem,6vw,2.5rem)} .landing .sec-head p{color:var(–ink-soft); margin-top:.8rem} /* ———- pain ———- */ .landing .pain{background:var(–porcelain)} .landing .pain-cards{display:grid; gap:16px} .landing .pain-card{ background:var(–linen); border:1px solid var(–mist); border-radius:20px; padding:24px; display:flex; flex-direction:column; gap:.5rem; } .landing .pain-card .tag{ font-size:.7rem; text-transform:uppercase; letter-spacing:.14em; font-weight:700; color:var(–brass-deep); } .landing .pain-card h3{font-family:’Fraunces’; font-size:1.2rem; font-weight:440} .landing .pain-card p{color:var(–ink-soft); font-size:.98rem} .landing .pain-close{ margin-top:28px; font-family:’Fraunces’; font-size:1.2rem; font-weight:440; color:var(–pine); max-width:46ch; line-height:1.5; } /* ———- dream ———- */ .landing .dream{ background:linear-gradient(180deg,var(–linen),var(–porcelain)); } .landing .dream-inner{ max-width:640px; text-align:left; } .landing .dream .eyebrow{color:var(–sage-deep)} .landing .dream p.big{ font-family:’Fraunces’,Georgia,serif; font-weight:440; font-size:clamp(1.35rem,4.6vw,1.85rem); line-height:1.5; color:var(–pine); margin-top:.7rem; } /* ———- engine ———- */ .landing .engine{background:var(–porcelain)} .landing .engine-list{display:grid; gap:16px; margin-bottom:28px} .landing .engine-item{ display:flex; gap:16px; align-items:flex-start; background:var(–linen); border:1px solid var(–mist); border-radius:20px; padding:22px; } .landing .engine-item .no{ font-family:’Fraunces’; font-size:1.4rem; color:var(–sage-deep); min-width:2rem; flex:0 0 auto; } .landing .engine-item h3{font-size:1.1rem; margin-bottom:.3rem; font-weight:600; font-family:’Hanken Grotesk’} .landing .engine-item p{color:var(–ink-soft); font-size:.96rem} .landing .engine-diff{ background:var(–pine); color:var(–porcelain); border-radius:20px; padding:26px 22px; font-family:’Fraunces’; font-size:clamp(1.05rem,4vw,1.3rem); line-height:1.55; text-align:left; } .landing .engine-diff b{color:var(–ff-biel)} /* ———- proof ———- */ .landing .proof{background:var(–porcelain)} .landing .proof-anchors{display:grid; gap:14px; margin-bottom:36px} .landing .anchor{ background:var(–linen); border:1px solid var(–mist); border-radius:20px; padding:24px; } .landing .anchor .big{ font-family:’Fraunces’,Georgia,serif; font-size:clamp(1.5rem,6vw,2rem); color:var(–brass-deep); line-height:1.15; } .landing .anchor .lab{color:var(–ink-soft); margin-top:.6rem; font-size:.98rem} .landing .phones{display:grid; gap:24px; margin-bottom:36px} .landing .phone-frame{ background:var(–pine); border-radius:34px; padding:12px; max-width:230px; margin:0 auto; box-shadow:0 20px 40px -18px rgba(var(–ff-zielen-rgb),.45); } .landing .phone-frame .screen{ background:var(–linen); border-radius:24px; overflow:hidden; aspect-ratio:9/19.5; display:flex; align-items:center; justify-content:center; } .landing .phone-frame .screen img{width:100%; height:100%; object-fit:cover} .landing .phone-cap{ text-align:center; margin-top:.7rem; font-size:.85rem; color:var(–ink-soft); max-width:230px; margin-left:auto; margin-right:auto; } .landing .demo-block{ background:var(–pine); border-radius:24px; padding:36px 24px; text-align:center; } .landing .demo-block p.lead{ font-family:’Fraunces’,Georgia,serif; font-size:clamp(1.3rem,5vw,1.7rem); color:var(–ff-biel); line-height:1.4; margin-bottom:1.4rem; } .landing .demo-block .btn{background:var(–brass)} .landing .demo-block .btn:hover{background:var(–brass-deep)} /* ———- flow (model kroków) ———- */ .landing .flow{background:var(–porcelain)} .landing .flow-steps{display:grid; gap:16px; margin-bottom:20px} .landing .flow-step{ display:flex; gap:16px; align-items:flex-start; background:var(–linen); border:1px solid var(–mist); border-radius:20px; padding:22px; } .landing .flow-step .fno{ width:2.2rem; height:2.2rem; border-radius:50%; background:var(–sage); color:var(–ff-biel); display:flex; align-items:center; justify-content:center; font-family:’Fraunces’; font-size:1.05rem; flex:0 0 auto; } .landing .flow-step h3{font-size:1.1rem; font-family:’Hanken Grotesk’; font-weight:600; margin-bottom:.25rem} .landing .flow-step p{color:var(–ink-soft); font-size:.96rem} .landing .flow-caption{color:var(–sage-deep); font-weight:600; font-size:.98rem; max-width:44ch} /* ———- why ———- */ .landing .why{ background:var(–pine); color:var(–porcelain); } .landing .why .eyebrow{color:var(–sage)} .landing .why h2{color:var(–ff-biel)} .landing .why-text{ font-family:’Fraunces’,Georgia,serif; font-size:clamp(1.2rem,4.4vw,1.5rem); line-height:1.6; color:var(–ff-na-zieleni-2); max-width:52ch; } .landing .why-text b{color:var(–ff-biel)} /* ———- cta-final ———- */ .landing .cta-final{ background:var(–porcelain); text-align:center; padding:60px 0 56px; scroll-margin-top:70px; } .landing .cta-final h2{font-size:clamp(1.8rem,6.5vw,2.6rem); max-width:18ch; margin:0 auto} .landing .cta-final p{ color:var(–ink-soft); max-width:42ch; margin:1.2rem auto 2rem; font-size:1.02rem; } .landing .cta-final .btn{margin:0 auto; max-width:320px; width:100%} /* ———- footer ———- */ .landing .foot{ padding:36px 0 44px; border-top:1px solid var(–mist); color:var(–ink-soft); font-size:.9rem; } .landing .foot .foot-inner{ display:flex; flex-direction:column; gap:18px; } .landing .foot .brand{font-size:1.05rem} .landing .foot .foot-link{color:var(–sage-deep); font-weight:600} /* ———- mock phone screens (proof) — żywe makiety w ramkach ———- */ .landing .screen .mock{ width:100%; height:100%; overflow:hidden; display:flex; flex-direction:column; text-align:left; background:var(–porcelain); color:var(–pine); font-size:11px; line-height:1.4; } .landing .mock .m-bar{background:var(–linen); border-bottom:1px solid var(–mist); padding:10px 12px} .landing .mock .m-bar .t{font-family:’Fraunces’; font-weight:540; font-size:13px} .landing .mock .m-bar .s{font-size:9px; color:var(–ink-soft); letter-spacing:.04em; text-transform:uppercase} .landing .mock .m-body{flex:1; padding:12px; display:flex; flex-direction:column; gap:9px; min-height:0} .landing .mock .eyb{font-size:8.5px; text-transform:uppercase; letter-spacing:.14em; color:var(–sage-deep); font-weight:600} .landing .mock–rez .opts{display:flex; flex-wrap:wrap; gap:6px} .landing .mock–rez .opt{font-size:10px; padding:5px 9px; border-radius:999px; border:1px solid var(–mist); background:var(–linen)} .landing .mock–rez .opt.sel{background:var(–brass); color:var(–ff-biel); border-color:var(–brass)} .landing .mock–rez .slots{display:grid; grid-template-columns:1fr 1fr; gap:6px} .landing .mock–rez .slot{font-size:10px; padding:6px; text-align:center; border-radius:8px; border:1px solid var(–mist); background:var(–linen)} .landing .mock–rez .slot.sel{border-color:var(–sage); background:var(–mist); color:var(–sage-deep); font-weight:600} .landing .mock–rez .cta{margin-top:auto; background:var(–brass); color:var(–ff-biel); text-align:center; padding:9px; border-radius:999px; font-size:11px; font-weight:600} .landing .mock–sms .bub{background:var(–linen); border:1px solid var(–mist); border-radius:12px 12px 12px 4px; padding:9px 10px; font-size:10.5px; box-shadow:0 6px 14px -12px rgba(var(–ff-zielen-rgb),.5)} .landing .mock–sms .bub .lnk{color:var(–sage-deep); font-weight:600} .landing .mock–sms .bub .tm{display:block; margin-top:5px; font-size:8.5px; color:var(–ink-soft)} .landing .mock–sms .m-tag{margin-top:auto; align-self:center; font-size:8.5px; color:var(–ink-soft); background:var(–mist); padding:5px 10px; border-radius:999px} .landing .mock–sms .m-tag b{color:var(–sage-deep)} .landing .mock–rap{background:linear-gradient(180deg,var(–linen),var(–porcelain))} .landing .mock–rap .m-body{justify-content:center} .landing .mock–rap h4{font-family:’Fraunces’; font-weight:440; font-size:15px; line-height:1.12; margin:4px 0 10px} .landing .mock–rap .rl{display:flex; gap:8px; align-items:flex-start; background:var(–linen); border:1px solid var(–mist); border-radius:10px; padding:8px 9px; font-size:10px} .landing .mock–rap .rl .dot{width:6px; height:6px; border-radius:50%; margin-top:5px; flex:0 0 auto} .landing .mock–rap .rl b{font-family:’Fraunces’; font-weight:540} .landing .mock–rap .d1{background:var(–sage)} .landing .mock–rap .d2{background:var(–brass)} .landing .mock–rap .d3{background:var(–sage-deep)} /* ============================================================ Media queries — mobile-first: base styles above target 375px. From 560px / 720px / 960px we open up to multi-column layouts. ============================================================ */ @media(min-width:560px){ .landing .phones{grid-template-columns:repeat(3,1fr)} .landing .hero-cta{flex-direction:row; align-items:center; flex-wrap:wrap} .landing .hero-cta .btn{width:auto} } @media(min-width:720px){ .landing .pain-cards{grid-template-columns:repeat(3,1fr)} .landing .engine-list{grid-template-columns:repeat(2,1fr)} .landing .flow-steps{grid-template-columns:repeat(3,1fr)} .landing .proof-anchors{grid-template-columns:repeat(2,1fr)} .landing .hero{padding:96px 0 72px} .landing section{padding:80px 0} .landing .cta-final{padding:88px 0 72px} } @media(min-width:960px){ .landing .flow-step{flex-direction:column} .landing .flow-step .fno{margin-bottom:.4rem} .landing .foot .foot-inner{flex-direction:row; align-items:center; justify-content:space-between} } @media(prefers-reduced-motion:reduce){ .landing .halo{animation:none} }

FlowFlex dla gabinetów stomatologicznych

Lata studiów, żeby leczyć ludzi. Nie żeby pilnować kalendarza.

Bądź dentystą, nie recepcjonistką. Rejestrację, przypomnienia i obecność pacjentów prowadzimy za Ciebie — Ty leczysz.

Codzienność gabinetu

Znasz to?

Telefon

Umawianie w środku zabiegu

Telefon dzwoni w trakcie zabiegu — i musisz wybierać między pacjentem na fotelu a pacjentem na linii. Umawianie, przekładanie, przypominanie.

Pusty fotel

Puste okienka w grafiku

Pacjent nie przyszedł i nie uprzedził. Godzina, którą mógł zająć ktoś inny, znika bezpowrotnie.

Druga rola

Recepcja, której nie uczą na studiach

Druga praca, której studia nie obejmują — a i tak wykonujesz ją codziennie, zamiast w pełni skupić się na leczeniu.

To nie znak, że źle prowadzisz gabinet. To znak, że rejestracja zjada czas, który należy się pacjentom.

Wyobraź sobie inaczej

Pacjent umawia się w 30 sekund z telefonu, o każdej porze. Nieodebrane telefony same wracają SMS-em z linkiem do rezerwacji. Puste okienka się domykają. A Ty jesteś przy fotelu, nie przy słuchawce.

Rozwiązanie

To nie strona. To Silnik, który prowadzimy za Ciebie.

01

Jeden kalendarz, jedna rezerwacja

Rezerwacja z telefonu w 30 sekund — bez dzwonienia, bez czekania na odpowiedź.

02

Żaden telefon nie przepada

Nieodebrany telefon sam wraca do pacjenta SMS-em z linkiem do rezerwacji. Nikt nie przepada między jednym a drugim zabiegiem.

03

Właściwi pacjenci na właściwe zabiegi

Zabiegi, na których Ci zależy, są wyeksponowane — dopasowane do Twojego gabinetu, nie z szablonu.

04

Raport po ludzku

Trzy zdania podsumowania miesiąca — nie dashboard, który trzeba umieć czytać.

To nie program, który obsługujesz sam. To nie agencja od ruchu i raportów. Całą pętlę bierzemy na siebie.

Dowód

Policz, ile realnie odzyskujesz.

Kilkadziesiąt tysięcy złotych rocznie

Tyle potrafią kosztować puste okienka w przeciętnym gabinecie. Tyle wraca, gdy grafik się domyka.

Godziny, nie tylko złotówki

Policz nie tylko złotówki — policz godziny na słuchawce zamiast przy fotelu.

Rezerwacja w 30 sekund

Potwierdzenie i przypomnienie SMS

Raport po ludzku

Nie opowiemy Ci spokoju. Wejdź i poczuj.

Otwórz żywe demo →

Jak pracujemy

Model Flow — krok po kroku

1

Fundament

Silnik: rezerwacja online i odzyskiwanie nieodebranych telefonów. To wdrażamy pierwsze — i od razu widać to w grafiku.

2

Widoczność

Porządna, aktywnie prowadzona Wizytówka Google — żeby nowi pacjenci z okolicy Cię znajdowali.

3

Sprzedaż i skala

Powroty pacjentów i opinie — budujemy stały ruch, nie jednorazowy skok.

Zaczynasz od jednego kroku. Widzisz zwrot z odzyskanych wizyt, zanim dołożysz kolejny.

Dlaczego FlowFlex

Prowadzimy, a nie sprzedajemy stronę.

Nie znikamy po oddaniu projektu — to my prowadzimy Silnik. Rozmawiasz bezpośrednio z człowiekiem, nie przez formularz. Każdy gabinet dostaje własny system, nie szablon. 20 lat w IT to wiarygodność — ale sedno w tym, że prowadzimy, a nie sprzedajemy stronę.

Umów spokojną, bezpłatną rozmowę

15 minut. Policzymy razem Twoje puste okienka — zobaczysz, ile realnie odzyskasz. Bez zobowiązań.

Zadzwoń — 792 023 811