500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--navy:#0d2432;--navy2:#132f40;--teal:#1d6a70;--gold:#c8a96a;--cream:#f6f3ec;--ink:#10222c;--muted:#60717b;--line:#d7dfdf;--shadow:0 24px 70px rgba(13,36,50,.14);--radius:24px;--container:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream);line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(var(--container),calc(100% - 40px));margin-inline:auto}.skip-link{position:absolute;left:-999px;top:12px;z-index:1000;background:#fff;padding:10px 14px;border-radius:8px}.skip-link:focus{left:12px}.site-header{position:sticky;top:0;z-index:100;background:rgba(13,36,50,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}.nav-wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;color:#fff}.brand-mark{width:42px;height:42px;border:1px solid rgba(200,169,106,.7);color:var(--gold);display:grid;place-items:center;border-radius:50%;font-family:Georgia,serif;font-size:24px}.brand strong{display:block;font-size:17px}.brand small{display:block;color:rgba(255,255,255,.65);font-size:11px}.main-nav{display:flex;align-items:center;gap:24px;color:rgba(255,255,255,.82);font-size:14px}.main-nav a:hover{color:#fff}.nav-cta{border:1px solid rgba(200,169,106,.55);border-radius:999px;padding:9px 14px;color:#f7e6bf!important}.menu-toggle{display:none;background:transparent;border:0;width:44px;height:44px;padding:9px}.menu-toggle span{display:block;height:2px;margin:5px 0;background:#fff;border-radius:999px}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 15% 20%,rgba(29,106,112,.36),transparent 32%),linear-gradient(120deg,#0b202d,#102c3c 62%,#173f48);color:#fff;min-height:690px;display:flex;align-items:center}.hero-shape{position:absolute;border:1px solid rgba(200,169,106,.2);border-radius:50%}.hero-shape-a{width:560px;height:560px;right:-220px;top:-160px}.hero-shape-b{width:420px;height:420px;left:-180px;bottom:-220px}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;padding-block:92px}.eyebrow,.section-kicker{color:var(--gold);text-transform:uppercase;letter-spacing:.16em;font-weight:700;font-size:12px;margin:0 0 16px}.hero h1,.section h2,.clinic-link h2,.contact h2{font-family:"Playfair Display",Georgia,serif;margin:0;line-height:1.08}.hero h1{font-size:clamp(54px,7vw,92px);max-width:780px;letter-spacing:-.03em}.hero h1 span{color:#cde4df}.hero-lead{max-width:690px;color:rgba(255,255,255,.77);font-size:19px;margin:28px 0 0}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 20px;border-radius:999px;font-weight:700;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--gold);color:#17242b;box-shadow:0 10px 30px rgba(200,169,106,.22)}.btn-secondary{border:1px solid rgba(255,255,255,.25);color:#fff;background:rgba(255,255,255,.04)}.btn-light{background:#fff;color:var(--navy)}.disabled-link{opacity:.55;pointer-events:none}.hero-trust{display:flex;gap:34px;margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12)}.hero-trust div{display:grid;gap:2px}.hero-trust strong{font-size:17px}.hero-trust span{font-size:12px;color:rgba(255,255,255,.56)}.hero-visual{position:relative;min-height:500px;display:grid;place-items:center}.portrait-frame{width:min(430px,100%);position:relative;border-radius:220px 220px 28px 28px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow);background:#dfe8ea}.portrait-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(13,36,50,.82),transparent 42%);pointer-events:none}.portrait-frame img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;filter:saturate(.88) contrast(1.02)}.portrait-card{position:absolute;left:28px;right:28px;bottom:24px;z-index:2}.portrait-card span,.portrait-card strong,.portrait-card small{display:block}.portrait-card span{color:#f7e6bf;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.portrait-card strong{font-family:"Playfair Display",Georgia,serif;font-size:30px}.portrait-card small{color:rgba(255,255,255,.7)}.legal-orbit{position:absolute;width:72px;height:72px;display:grid;place-items:center;border-radius:50%;background:rgba(11,32,45,.9);border:1px solid rgba(200,169,106,.5);color:var(--gold);font-size:28px;box-shadow:0 14px 40px rgba(0,0,0,.25)}.orbit-one{right:0;top:95px}.orbit-two{left:0;bottom:68px}.audience-strip{background:#fff;border-bottom:1px solid var(--line);padding:36px 0 42px}.audience-strip .section-kicker{text-align:center;color:var(--teal)}.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.audience-grid article{padding:18px;border-radius:18px;background:#f8faf9;border:1px solid #e6eceb}.audience-grid .icon{font-size:24px}.audience-grid h3{margin:8px 0 6px;font-size:16px}.audience-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.section{padding:100px 0}.section-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:end;margin-bottom:42px}.section-heading h2,.profile h2,.contact h2,.clinic-link h2{font-size:clamp(38px,5vw,62px)}.section-heading>p{margin:0;color:var(--muted);max-width:560px;justify-self:end}.services{background:var(--cream)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{min-height:270px;padding:28px;border-radius:var(--radius);background:#fff;border:1px solid #e1e6e4;display:flex;flex-direction:column;box-shadow:0 12px 30px rgba(25,49,57,.04)}.service-card.featured{background:linear-gradient(160deg,#143a45,#0f2b37);color:#fff;border-color:transparent}.service-number{color:var(--gold);font-weight:700;letter-spacing:.12em;font-size:12px}.service-card h3{font-size:22px;line-height:1.25;margin:28px 0 10px}.service-card p{color:var(--muted);margin:0}.service-card.featured p{color:rgba(255,255,255,.66)}.card-line{width:46px;height:2px;background:var(--gold);margin-top:auto}.profile{background:#eef3f1}.profile-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:80px;align-items:start}.profile-role{margin:8px 0 26px;color:var(--teal);font-weight:700}.profile-copy>p:not(.section-kicker):not(.profile-role){color:var(--muted)}.credentials{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}.credentials div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.credentials span,.credentials strong{display:block}.credentials span{color:var(--muted);font-size:12px}.credentials strong{margin-top:5px}.principles{display:grid;gap:14px}.principles article{display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:start;background:#fff;border-radius:20px;border:1px solid var(--line);padding:24px}.principles article>span{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:var(--navy);color:var(--gold);font-weight:700}.principles h3{margin:0 0 5px;font-size:20px}.principles p{margin:0;color:var(--muted)}.knowledge{background:#fff}.knowledge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.knowledge-card{border-radius:var(--radius);padding:28px;background:#f8faf9;border:1px solid #e3e9e7}.knowledge-card>span{display:inline-block;color:var(--teal);font-weight:700;font-size:11px;letter-spacing:.13em}.knowledge-card h3{font-size:22px;line-height:1.3;margin:16px 0 10px}.knowledge-card p{color:var(--muted)}.knowledge-card a{color:var(--teal);font-weight:700}.clinic-link{background:linear-gradient(120deg,rgba(13,36,50,.96),rgba(23,73,78,.94)),radial-gradient(circle at 85% 20%,rgba(200,169,106,.35),transparent 36%);color:#fff;padding:66px 0}.clinic-link-inner{display:grid;grid-template-columns:1fr auto;gap:42px;align-items:center}.clinic-link p:not(.section-kicker){color:rgba(255,255,255,.68);max-width:760px}.contact{background:var(--cream)}.contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:60px}.contact-intro{color:var(--muted);max-width:680px}.office-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:32px}.office-list article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;display:grid;grid-template-columns:44px 1fr;gap:12px}.office-list article>span{color:var(--gold);font-weight:700}.office-list h3{margin:0}.office-list p{margin:2px 0 0;color:var(--muted)}.contact-panel{background:var(--navy);color:#fff;padding:36px;border-radius:28px;box-shadow:var(--shadow)}.contact-symbol{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid rgba(200,169,106,.35);color:var(--gold);font-size:30px}.contact-panel h3{font-family:"Playfair Display",Georgia,serif;font-size:32px;margin:28px 0 10px}.contact-panel p{color:rgba(255,255,255,.65);margin-bottom:24px}.site-footer{background:#081922;color:rgba(255,255,255,.74);padding:60px 0 24px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:36px}.footer-brand{display:flex;gap:14px;align-items:flex-start}.footer-brand strong{color:#fff;font-size:18px}.footer-brand p{margin:3px 0}.footer-brand small{color:rgba(255,255,255,.45)}.site-footer h3{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.09em;margin:0 0 14px}.site-footer a{display:block;margin:8px 0}.site-footer a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.09);margin-top:42px;padding-top:22px;font-size:13px}@media(max-width:980px){.menu-toggle{display:block}.main-nav{position:absolute;top:78px;left:20px;right:20px;padding:18px;border-radius:18px;background:#0a1f2a;border:1px solid rgba(255,255,255,.1);display:none;flex-direction:column;align-items:stretch;gap:10px;box-shadow:var(--shadow)}.main-nav.open{display:flex}.main-nav a{padding:8px 4px}.hero-grid,.section-heading,.profile-grid,.contact-grid,.clinic-link-inner{grid-template-columns:1fr}.hero-grid{gap:34px}.hero-visual{min-height:440px}.section-heading>p{justify-self:start}.audience-grid,.service-grid,.knowledge-grid{grid-template-columns:repeat(2,1fr)}.clinic-link .btn{justify-self:start}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.container{width:min(100% - 28px,var(--container))}.brand small{display:none}.brand strong{font-size:15px}.hero{min-height:auto}.hero-grid{padding-block:62px}.hero h1{font-size:48px}.hero-lead{font-size:17px}.hero-trust{flex-direction:column;gap:16px}.hero-visual{min-height:auto}.portrait-frame{max-width:360px}.legal-orbit{display:none}.section{padding:72px 0}.section-heading{gap:18px;margin-bottom:28px}.section-heading h2,.profile h2,.contact h2,.clinic-link h2{font-size:40px}.audience-grid,.service-grid,.knowledge-grid,.credentials,.office-list,.footer-grid{grid-template-columns:1fr}.audience-strip{padding-top:30px}.service-card{min-height:230px}.profile-grid,.contact-grid{gap:36px}.clinic-link{padding:52px 0}.footer-bottom{flex-direction:column}}


/* ===== MOBILE-FIRST FINOMHANGOLÁS – 2026-08 ===== */
html { -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; }
img, svg, video { max-width: 100%; height: auto; }
a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }

@media (max-width: 980px) {
  .site-header { position: sticky; top: 0; }
  .nav-wrap { min-height: 68px; }
  .brand { min-width: 0; }
  .brand > span:last-child { min-width: 0; }
  .brand strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 58vw; }
  .menu-toggle {
    display: block;
    flex: 0 0 auto;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
  }
  .main-nav {
    top: 74px;
    left: 12px;
    right: 12px;
    max-height: calc(100vh - 92px);
    overflow-y: auto;
    padding: 14px;
    border-radius: 16px;
  }
  .main-nav a {
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 10px 12px;
    border-radius: 10px;
  }
  .main-nav a:hover { background: rgba(255,255,255,.06); }
  .nav-cta { justify-content: center; }

  .hero-grid {
    grid-template-columns: 1fr;
    padding-block: 56px 42px;
    gap: 32px;
  }
  .hero-copy { order: 1; }
  .hero-visual { order: 2; min-height: auto; }
  .hero h1 { max-width: 100%; }
  .hero-lead { max-width: 100%; }
  .hero-actions .btn { flex: 1 1 220px; }

  .section,
  .legal-wrap,
  .form-section,
  .service-wrap { padding-top: 64px; padding-bottom: 72px; }

  .section-heading,
  .profile-grid,
  .contact-grid,
  .clinic-link-inner,
  .practice-audit-grid,
  .legal-grid,
  .form-layout,
  .service-grid {
    grid-template-columns: 1fr !important;
  }

  .audience-grid,
  .service-grid,
  .knowledge-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .office-list,
  .credentials {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .legal-aside,
  .info-card,
  .side { position: static !important; }

  .footer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 640px) {
  .container { width: min(100% - 24px, var(--container)); }
  .site-header { backdrop-filter: blur(10px); }
  .nav-wrap { min-height: 64px; gap: 10px; }
  .brand-mark { width: 38px; height: 38px; font-size: 21px; }
  .brand strong { font-size: 14px; max-width: 64vw; }
  .brand small { display: none !important; }

  .hero { min-height: auto; }
  .hero-grid { padding-block: 42px 36px; gap: 26px; }
  .eyebrow, .section-kicker { font-size: 10px; letter-spacing: .13em; }
  .hero h1 {
    font-size: clamp(42px, 13vw, 58px);
    line-height: 1.02;
    word-break: normal;
  }
  .hero-lead { font-size: 16px; line-height: 1.55; margin-top: 20px; }
  .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 26px;
  }
  .btn {
    width: 100%;
    min-height: 48px;
    padding-inline: 18px;
    text-align: center;
  }
  .hero-trust {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 28px;
    padding-top: 18px;
  }

  .hero-visual { display: block; }
  .portrait-frame {
    width: 100%;
    max-width: 390px;
    margin-inline: auto;
    border-radius: 180px 180px 24px 24px;
  }
  .portrait-frame img {
    aspect-ratio: 4/5;
    object-position: 50% 28%;
  }
  .portrait-card { left: 20px; right: 20px; bottom: 18px; }
  .portrait-card strong { font-size: 26px; }
  .legal-orbit { display: none !important; }

  .audience-strip { padding: 28px 0 34px; }
  .audience-grid,
  .service-grid,
  .knowledge-grid,
  .office-list,
  .credentials,
  .footer-grid,
  .form-grid {
    grid-template-columns: 1fr !important;
  }

  .audience-grid article,
  .service-card,
  .knowledge-card,
  .legal-card,
  .form-card,
  .info-card,
  .service-card,
  .practice-audit-card,
  .contact-panel {
    border-radius: 18px !important;
  }

  .section { padding: 58px 0; }
  .section-heading { gap: 14px; margin-bottom: 24px; }
  .section-heading h2,
  .profile h2,
  .contact h2,
  .clinic-link h2,
  .practice-audit h2,
  .legal-hero h1,
  .contact-hero h1,
  .service-hero h1 {
    font-size: clamp(34px, 10vw, 44px) !important;
    line-height: 1.08 !important;
  }

  .service-card {
    min-height: unset;
    padding: 22px;
  }
  .service-card h3 { margin-top: 18px; font-size: 20px; }

  .profile-grid, .contact-grid, .practice-audit-grid { gap: 28px; }
  .principles article {
    grid-template-columns: 46px 1fr;
    gap: 12px;
    padding: 18px;
  }
  .principles article > span { width: 42px; height: 42px; }

  .practice-audit-card { min-height: 290px !important; padding: 24px !important; }
  .practice-audit-card strong { font-size: 28px !important; }
  .audit-symbol { width: 58px !important; height: 58px !important; font-size: 28px !important; right: 20px !important; top: 18px !important; }

  .clinic-link { padding: 46px 0; }
  .clinic-link-inner { gap: 24px; }

  .contact-panel, .legal-card, .form-card, .info-card { padding: 22px !important; }

  .legal-data { grid-template-columns: 1fr !important; gap: 3px !important; }
  .legal-data dd { margin-bottom: 12px !important; overflow-wrap: anywhere; }
  .data-table, .data-table tbody, .data-table tr, .data-table td { width: 100%; }

  input, select, textarea {
    font-size: 16px !important; /* iOS zoom elkerülése */
    min-height: 46px;
  }
  textarea { min-height: 180px; }
  .checkbox { grid-template-columns: 22px 1fr !important; }

  .footer-grid { gap: 24px; }
  .site-footer { padding-top: 46px; }
  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  /* Telefonon a főoldali kapcsolat blokk legyen könnyen használható */
  .contact-panel a[href^="tel:"],
  .contact-panel .btn,
  .info-card a[href^="tel:"],
  .info-card a[href^="mailto:"] {
    overflow-wrap: anywhere;
  }
}

@media (max-width: 390px) {
  .container { width: calc(100% - 20px); }
  .hero h1 { font-size: 40px; }
  .portrait-card strong { font-size: 23px; }
  .brand strong { max-width: 60vw; }
}

/* Safe area támogatás iPhone-on */
@supports (padding: max(0px)) {
  .site-header .nav-wrap {
    padding-left: max(0px, env(safe-area-inset-left));
    padding-right: max(0px, env(safe-area-inset-right));
  }
  .site-footer {
    padding-bottom: max(24px, env(safe-area-inset-bottom));
  }
}


/* ===== KONTRASZTOS GOMBOK – az eredeti arculat szerint ===== */
.btn,
button.btn,
a.btn {
  border: 1px solid transparent;
  font-weight: 700;
  text-decoration: none;
}

.btn-primary,
button.btn-primary,
a.btn-primary {
  background: #c8a96a !important;
  color: #10222c !important;
  border-color: #c8a96a !important;
  box-shadow: 0 10px 28px rgba(200,169,106,.28);
}

.btn-primary:hover,
button.btn-primary:hover,
a.btn-primary:hover {
  background: #e0c58e !important;
  color: #0d2432 !important;
  border-color: #e0c58e !important;
  box-shadow: 0 14px 34px rgba(200,169,106,.34);
}

.btn-secondary,
button.btn-secondary,
a.btn-secondary {
  background: #ffffff !important;
  color: #0d2432 !important;
  border-color: rgba(255,255,255,.92) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.10);
}

.btn-secondary:hover,
button.btn-secondary:hover,
a.btn-secondary:hover {
  background: #f6f3ec !important;
  color: #0d2432 !important;
  border-color: #f6f3ec !important;
}

.btn-light,
button.btn-light,
a.btn-light {
  background: #ffffff !important;
  color: #0d2432 !important;
  border: 1px solid #ffffff !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.10);
}

.btn-light:hover,
button.btn-light:hover,
a.btn-light:hover {
  background: #f6f3ec !important;
  color: #0d2432 !important;
}

.nav-cta {
  background: #c8a96a !important;
  color: #10222c !important;
  border-color: #c8a96a !important;
}

.nav-cta:hover {
  background: #e0c58e !important;
  color: #0d2432 !important;
}

/* Sötét blokkokban minden CTA maradjon erős kontrasztú */
.hero .btn-primary,
.practice-audit .btn-primary,
.contact-panel .btn-primary,
.info-card .btn-primary,
.side .btn-primary,
.clinic-link .btn-primary {
  background: #c8a96a !important;
  color: #10222c !important;
}

.hero .btn-secondary,
.practice-audit .btn-secondary,
.contact-panel .btn-secondary,
.info-card .btn-secondary,
.side .btn-secondary {
  background: #ffffff !important;
  color: #0d2432 !important;
  border-color: #ffffff !important;
}

/* Világos felületeken a másodlagos gomb kapjon sötét keretet */
.section:not(.practice-audit) .btn-secondary,
.form-card .btn-secondary,
.legal-card .btn-secondary {
  background: #ffffff !important;
  color: #0d2432 !important;
  border-color: #0d2432 !important;
}

/* Mobilon is maradjon jól látható */
@media (max-width: 640px) {
  .btn,
  button.btn,
  a.btn {
    min-height: 50px;
    font-size: 15px;
  }
}
