/*!
 * ───────────────────────────────────────────────
 *  Crafted by CNCTECH Digital Agency
 *  https://cnctech.gr · hello@cnctech.gr
 *  Custom build — © CNCTECH. All rights reserved.
 * ───────────────────────────────────────────────
 */
  :root{
    --c-primary:#00529C;
    --c-primary-dark:#003D75;
    --c-secondary:#0089CF;
    --c-accent:#E8F2FB;
    --c-ink:#0E1A2B;
    --c-ink-soft:#3A4A5E;
    --c-muted:#5F6C80;
    --c-line:#E3EAF2;
    --c-bg:#FFFFFF;
    --c-bg-soft:#F7FAFD;
    --c-warm:#F5EFE6;
    --c-warm-deep:#A89274;
    --shadow-sm: 0 1px 2px rgba(14,26,43,.04), 0 1px 3px rgba(14,26,43,.06);
    --shadow-md: 0 4px 12px rgba(14,26,43,.06), 0 8px 24px rgba(14,26,43,.08);
    --shadow-lg: 0 12px 32px rgba(0,82,156,.10), 0 24px 64px rgba(0,82,156,.08);
    --radius-sm: 8px;
    --radius-md: 16px;
    --radius-lg: 24px;
    --radius-xl: 32px;
    --font-sans: 'Inter', system-ui, -apple-system, sans-serif;
    --font-serif: 'Times New Roman', Times, serif;
    --container: 1240px;
  }
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;scroll-padding-top:90px;}
  body{
    font-family:var(--font-sans);
    color:var(--c-ink);
    background:var(--c-bg);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  button{font-family:inherit;cursor:pointer;border:none;background:none;}

  .container{max-width:var(--container);margin:0 auto;padding:0 24px;}

  /* === NAV === */
  .nav{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:rgba(255,255,255,.85);
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    border-bottom:1px solid rgba(227,234,242,.6);
    transition: all .3s ease;
  }
  .nav-inner{
    display:flex;align-items:center;justify-content:space-between;
    height:72px;
  }
  .logo{display:flex;align-items:center;}
  .logo svg.full-logo{height:56px;width:auto;display:block;}
  .logo-mark-only{
    width:46px;height:46px;flex-shrink:0;
  }
  .logo-mark-only svg{width:100%;height:100%;display:block;}
  .nav-links{display:flex;gap:36px;list-style:none;}
  .nav-links a{font-size:14px;font-weight:500;color:var(--c-ink-soft);transition:color .2s;}
  .nav-links a:hover{color:var(--c-primary);}
  .nav-right{display:flex;align-items:center;gap:20px;}
  .lang-switch{
    display:flex;font-size:12px;font-weight:600;color:var(--c-muted);
    border:1px solid var(--c-line);border-radius:999px;padding:4px;
  }
  .lang-switch button,.lang-switch a{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;color:var(--c-muted);text-decoration:none;line-height:1;}
  .lang-switch button.active,.lang-switch a.active{background:var(--c-primary);color:#fff;}
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    font-weight:600;font-size:14px;
    padding:12px 22px;border-radius:999px;
    transition: all .25s ease;
    cursor:pointer;
  }
  .btn-primary{background:var(--c-primary);color:#fff;box-shadow:var(--shadow-sm);}
  .btn-primary:hover{background:var(--c-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md);}
  .btn-ghost{color:var(--c-primary);border:1.5px solid var(--c-line);}
  .btn-ghost:hover{border-color:var(--c-primary);background:var(--c-accent);}

  /* === MOBILE MENU === */
  .nav-burger{
    display:none;
    width:44px;height:44px;
    border:1px solid var(--c-line);border-radius:12px;
    background:#fff;cursor:pointer;
    align-items:center;justify-content:center;
    flex-direction:column;gap:5px;
    transition: all .25s;
  }
  .nav-burger span{
    display:block;width:18px;height:2px;
    background:var(--c-primary);border-radius:2px;
    transition: all .3s cubic-bezier(.4,0,.2,1);
    transform-origin:center;
  }
  .nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-burger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
  .nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  .mobile-drawer{
    position:fixed;top:0;right:0;bottom:0;
    width:min(380px, 88vw);
    background:#fff;
    z-index:200;
    transform:translateX(100%);
    transition: transform .45s cubic-bezier(.6,.05,.2,1);
    box-shadow: -20px 0 60px rgba(0,30,80,.15);
    display:flex;flex-direction:column;
    overflow-y:auto;
  }
  .mobile-drawer.open{transform:translateX(0);}
  .mobile-drawer-header{
    display:flex;justify-content:space-between;align-items:center;
    padding:24px;border-bottom:1px solid var(--c-line);
  }
  .mobile-drawer-close{
    width:40px;height:40px;border-radius:50%;
    background:var(--c-bg-soft);
    display:grid;place-items:center;color:var(--c-ink);
    cursor:pointer;font-size:22px;
    transition: all .2s;
  }
  .mobile-drawer-close:hover{background:var(--c-accent);color:var(--c-primary);}
  .mobile-drawer nav{padding:24px;flex:1;}
  .mobile-drawer nav ul{list-style:none;display:flex;flex-direction:column;gap:4px;}
  .mobile-drawer nav a{
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 16px;
    color:var(--c-ink);font-size:16px;font-weight:500;
    border-radius:12px;
    transition: all .2s;
  }
  .mobile-drawer nav a:hover{background:var(--c-accent);color:var(--c-primary);transform:translateX(4px);}
  .mobile-drawer nav a::after{
    content:'';width:18px;height:1.5px;background:currentColor;opacity:.3;
    transition: opacity .2s, width .2s;
  }
  .mobile-drawer nav a:hover::after{opacity:1;width:24px;}
  .mobile-drawer-footer{
    padding:24px;border-top:1px solid var(--c-line);
    background:var(--c-bg-soft);
  }
  .mobile-drawer-footer .btn{width:100%;justify-content:center;}
  .mobile-drawer-lang{
    display:flex;align-items:center;justify-content:space-between;
    gap:12px;margin-bottom:16px;
  }
  .mobile-drawer-lang-label{
    font-size:12px;font-weight:600;color:var(--c-muted);
    text-transform:uppercase;letter-spacing:.06em;
  }
  .mobile-drawer-lang .lang-switch{
    display:flex;gap:4px;background:#fff;border:1px solid var(--c-line);
    border-radius:999px;padding:4px;
  }
  .mobile-drawer-lang .lang-switch a,
  .mobile-drawer-lang .lang-switch button{
    padding:8px 18px;font-size:14px;border-radius:999px;min-width:48px;text-align:center;
  }
  .mobile-drawer-contact{
    margin-top:20px;font-size:13px;color:var(--c-muted);
    display:flex;flex-direction:column;gap:6px;
  }
  .mobile-drawer-contact strong{color:var(--c-ink);}

  .drawer-backdrop{
    position:fixed;inset:0;
    background:rgba(10,21,37,.5);
    backdrop-filter: blur(4px);
    z-index:150;
    opacity:0;pointer-events:none;
    transition: opacity .35s ease;
  }
  .drawer-backdrop.open{opacity:1;pointer-events:auto;}

  @media (max-width: 900px){
    .nav-links{display:none;}
    .nav-burger{display:flex;}
    /* Ο EL/EN switcher παραμένει ΟΡΑΤΟΣ στην μπάρα και στο κινητό (δίπλα στο burger). */
    .nav-right .lang-switch{display:inline-flex;}
  }
  @media (max-width: 600px){
    .nav-right .btn{display:none;}
    .nav-right{gap:10px;}
  }

  /* === HERO === */
  .hero{
    position:relative;padding:160px 0 100px;
    background:
      radial-gradient(ellipse at top right, rgba(0,137,207,.08), transparent 50%),
      radial-gradient(ellipse at bottom left, rgba(0,82,156,.05), transparent 50%),
      linear-gradient(180deg, #fff 0%, var(--c-bg-soft) 100%);
    overflow:hidden;
  }
  .hero::before{
    content:'';position:absolute;top:-200px;right:-100px;
    width:600px;height:600px;border-radius:50%;
    background:radial-gradient(circle, rgba(0,137,207,.06), transparent 70%);
    pointer-events:none;
  }
  .hero-grid{
    display:grid;grid-template-columns: 1.1fr .9fr;gap:80px;align-items:center;
    position:relative;
  }
  .hero-eyebrow{
    display:inline-flex;align-items:center;gap:10px;
    background:#fff;border:1px solid var(--c-line);
    padding:8px 16px;border-radius:999px;
    font-size:13px;font-weight:500;color:var(--c-ink-soft);
    box-shadow:var(--shadow-sm);
    margin-bottom:32px;
  }
  .hero-eyebrow .dot{
    width:8px;height:8px;border-radius:50%;
    background:#E30613;
    box-shadow:0 0 0 4px rgba(0,92,170,.20);
    animation: pulse 2s infinite;
  }
  @keyframes pulse{0%,100%{opacity:1;}50%{opacity:.6;}}
  .hero h1{
    font-family:var(--font-serif);
    /* Κλιμακώνεται με το πλάτος ώστε το «MEDICAL EXCELLENCE» να χωράει ΠΑΝΤΑ σε
       μία γραμμή (3 σειρές συνολικά) χωρίς να κόβεται/τυλίγεται. */
    font-size: clamp(30px, 4vw, 50px);
    font-weight:400;
    line-height:1.18;     /* χώρος για τις ουρίτσες (g/y) στην τελευταία γραμμή */
    letter-spacing:-.01em;
    color:var(--c-ink);
    margin-bottom:28px;
    padding-bottom:.14em; /* extra χώρος ώστε οι ουρίτσες να ΜΗΝ κόβονται */
  }
  .hero h1 em{
    font-style:italic;
    color:var(--c-primary);
    font-weight:500;
  }
  .hero p.lead{
    font-size:19px;color:var(--c-ink-soft);
    max-width:540px;margin-bottom:40px;
    line-height:1.65;
  }
  .hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:48px;}
  .hero-trust{
    display:flex;align-items:center;gap:24px;
    padding-top:28px;border-top:1px solid var(--c-line);
  }
  .hero-trust-item{display:flex;flex-direction:column;}
  .hero-trust-item strong{font-size:20px;font-weight:700;color:var(--c-primary);font-family:var(--font-serif);}
  .hero-trust-item span{font-size:12px;color:var(--c-muted);letter-spacing:.04em;text-transform:uppercase;}
  .hero-trust-divider{width:1px;height:36px;background:var(--c-line);}

  .hero-visual{
    position:relative;
    aspect-ratio: 4/5;
    border-radius:var(--radius-xl);
    background-image: url('../images/oncotherapy-exterior.jpg');
    background-size: cover;
    background-position: center 30%;
    overflow:hidden;
    box-shadow:var(--shadow-lg);
  }
  .hero-visual::before{
    content:'';position:absolute;inset:0;
    background: linear-gradient(180deg, rgba(0,82,156,.0) 0%, rgba(0,61,117,.4) 100%);
  }
  .hero-visual-content{
    position:absolute;inset:0;
    display:flex;flex-direction:column;justify-content:flex-end;
    padding:40px;color:#fff;
    background: linear-gradient(180deg, transparent 40%, rgba(0,61,117,.85) 100%);
  }
  .hero-visual-badge{
    position:absolute;top:32px;left:32px;
    background:rgba(255,255,255,.95);
    backdrop-filter:blur(10px);
    padding:14px 18px;border-radius:14px;
    display:flex;align-items:center;gap:12px;
    box-shadow:var(--shadow-md);
  }
  .hero-visual-badge .icon{
    width:36px;height:36px;border-radius:10px;
    background:var(--c-accent);
    display:grid;place-items:center;
    color:var(--c-primary);
  }
  .hero-visual-badge-text strong{
    display:block;font-size:13px;color:var(--c-ink);font-weight:600;
  }
  .hero-visual-badge-text span{
    font-size:11px;color:var(--c-muted);
  }
  .hero-visual h3{
    font-family:var(--font-serif);
    font-size:28px;font-weight:500;line-height:1.2;
    margin-bottom:8px;
  }
  .hero-visual p{font-size:14px;opacity:.9;}

  @media (max-width:960px){
    .hero{padding:130px 0 70px;}
    .hero-grid{grid-template-columns:1fr;gap:48px;}
    .hero-grid > *{min-width:0;}
    .hero-visual{aspect-ratio:1/1;}
  }
  @media (max-width:480px){
    .hero-trust{flex-wrap:wrap;gap:18px 20px;}
    .hero-trust-divider{display:none;}
    /* Σε πολύ μικρές οθόνες, μικρότερος τίτλος ώστε «MEDICAL EXCELLENCE» = μία γραμμή. */
    .hero h1{font-size:clamp(22px, 7vw, 30px);}
  }

  /* === SECTION === */
  section{padding:120px 0;}
  .section-head{
    max-width:720px;margin:0 auto 72px;text-align:center;
  }
  .section-eyebrow{
    display:inline-block;
    font-size:12px;font-weight:600;
    color:var(--c-secondary);
    letter-spacing:.16em;text-transform:uppercase;
    margin-bottom:20px;
  }
  .section-eyebrow::before{
    content:'';display:inline-block;width:28px;height:1px;
    background:var(--c-secondary);vertical-align:middle;margin-right:14px;
  }
  .section-eyebrow::after{
    content:'';display:inline-block;width:28px;height:1px;
    background:var(--c-secondary);vertical-align:middle;margin-left:14px;
  }
  h2{
    font-family:var(--font-serif);
    font-size: clamp(34px, 4vw, 52px);
    font-weight:400;
    line-height:1.1;letter-spacing:-.02em;
    color:var(--c-ink);
    margin-bottom:20px;
  }
  h2 em{font-style:italic;color:var(--c-primary);font-weight:500;}
  .section-head p{
    font-size:18px;color:var(--c-ink-soft);max-width:600px;margin:0 auto;
  }

  /* === ABOUT === */
  .about-section{padding-top:100px;padding-bottom:100px;}
  .about-grid{
    display:grid;grid-template-columns: 1.4fr 1fr;gap:80px;align-items:flex-start;
  }
  .about-content .section-eyebrow{margin-bottom:18px;}
  .about-content h2{margin-bottom:28px;}
  .about-content p{
    font-size:16px;line-height:1.75;color:var(--c-ink-soft);margin-bottom:20px;
  }
  .about-content p.about-lead{
    font-size:19px;line-height:1.6;color:var(--c-ink);margin-bottom:24px;
    font-weight:400;
  }
  .about-content strong{color:var(--c-ink);font-weight:600;}
  .about-aside{display:flex;flex-direction:column;gap:16px;position:sticky;top:90px;}
  .about-aside-card{
    background:var(--c-bg-soft);
    border:1px solid var(--c-line);
    border-radius:var(--radius-md);
    padding:28px;
    transition: all .25s ease;
  }
  .about-aside-card:hover{
    border-color:var(--c-secondary);
    box-shadow:var(--shadow-md);
    background:#fff;
  }
  .about-aside-icon{
    width:48px;height:48px;border-radius:12px;
    background:var(--c-accent);color:var(--c-primary);
    display:grid;place-items:center;
    margin-bottom:18px;
  }
  .about-aside-card h4{
    font-size:16px;font-weight:600;color:var(--c-ink);margin-bottom:8px;
  }
  .about-aside-card p{
    font-size:14px;color:var(--c-muted);line-height:1.6;margin:0;
  }
  @media (max-width:900px){
    .about-grid{grid-template-columns:1fr;gap:48px;}
    .about-aside{position:static;}
  }

  /* === PILLARS (Why us) === */
  .pillars{background:var(--c-bg-soft);}
  .pillars-grid{
    display:grid;grid-template-columns:repeat(4, 1fr);gap:20px;
  }
  .pillar{
    background:#fff;
    padding:36px 28px;border-radius:var(--radius-md);
    border:1px solid var(--c-line);
    transition: all .3s ease;
    position:relative;overflow:hidden;
  }
  .pillar::before{
    content:'';position:absolute;inset:0;
    background: linear-gradient(135deg, transparent 60%, var(--c-accent) 100%);
    opacity:0;transition: opacity .3s;
  }
  .pillar:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:transparent;}
  .pillar:hover::before{opacity:1;}
  .pillar-icon{
    width:52px;height:52px;border-radius:14px;
    background:linear-gradient(135deg, var(--c-primary), var(--c-secondary));
    color:#fff;
    display:grid;place-items:center;margin-bottom:22px;
    position:relative;z-index:1;
  }
  .pillar h3{
    font-size:18px;font-weight:600;margin-bottom:10px;color:var(--c-ink);
    position:relative;z-index:1;
  }
  .pillar p{font-size:14px;color:var(--c-ink-soft);line-height:1.6;position:relative;z-index:1;}

  @media (max-width:900px){.pillars-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:520px){.pillars-grid{grid-template-columns:1fr;}}
  .pillars-closing{
    max-width:820px;margin:64px auto 0;text-align:center;
    padding-top:48px;border-top:1px solid var(--c-line);
  }
  .pillars-closing p{
    font-size:17px;line-height:1.7;color:var(--c-ink-soft);margin-bottom:14px;
  }
  .pillars-closing p:last-child{margin-bottom:0;}
  .pillars-closing strong{color:var(--c-primary);font-weight:600;}

  /* === THERAPIES === */
  .therapies-layout{
    display:grid;grid-template-columns: .8fr 1.2fr;gap:64px;align-items:center;
  }
  .therapies-image{
    aspect-ratio:4/5;border-radius:var(--radius-xl);
    background-image: url('../images/oncotherapy-treatment.jpg');
    background-size: cover;
    background-position: center;
    position:relative;
    box-shadow: var(--shadow-lg);
    overflow:hidden;
  }
  .therapies-image::after{
    content:'';position:absolute;bottom:-1px;left:-1px;right:-1px;height:50%;
    background: linear-gradient(180deg, transparent, rgba(0,61,117,.6));
  }
  .therapies-image-label{
    position:absolute;bottom:32px;left:32px;right:32px;color:#fff;z-index:2;
  }
  .therapies-image-label small{
    text-transform:uppercase;letter-spacing:.14em;font-size:11px;opacity:.9;
  }
  .therapies-image-label h4{
    font-family:var(--font-serif);font-size:24px;font-weight:500;margin-top:6px;line-height:1.2;
  }
  .therapy-list{display:flex;flex-direction:column;gap:4px;}
  .therapy-item{
    display:grid;grid-template-columns:auto 1fr auto;gap:24px;
    padding:24px 0;border-bottom:1px solid var(--c-line);
    align-items:center;
    transition: all .25s ease;
    cursor:pointer;
  }
  .therapy-item:hover{padding-left:8px;}
  .therapy-num{
    font-family:var(--font-serif);font-size:32px;font-weight:400;
    color:var(--c-secondary);min-width:40px;
  }
  .therapy-body h4{
    font-size:18px;font-weight:600;color:var(--c-ink);margin-bottom:4px;
  }
  .therapy-body p{font-size:14px;color:var(--c-muted);}
  .therapy-arrow{
    width:40px;height:40px;border-radius:50%;
    border:1px solid var(--c-line);
    display:grid;place-items:center;
    color:var(--c-primary);
    transition: all .25s ease;
  }
  .therapy-item:hover .therapy-arrow{background:var(--c-primary);color:#fff;border-color:var(--c-primary);}

  @media (max-width:900px){.therapies-layout{grid-template-columns:1fr;gap:40px;}}

  /* === PRECISION === */
  .precision{
    background: linear-gradient(180deg, #fff 0%, var(--c-bg-soft) 100%);
    position:relative;
    overflow:hidden;
  }
  .precision::before{
    content:'';position:absolute;top:10%;right:-200px;
    width:500px;height:500px;border-radius:50%;
    background:radial-gradient(circle, rgba(0,137,207,.08), transparent 70%);
  }
  .precision-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;
    position:relative;
  }
  .precision-content h2{margin-bottom:24px;}
  .precision-content p{color:var(--c-ink-soft);font-size:16px;margin-bottom:32px;line-height:1.7;}
  .precision-closing{
    margin-top:32px;padding-top:28px;border-top:1px solid var(--c-line);
    font-size:15px;color:var(--c-ink-soft);line-height:1.7;
  }
  .precision-closing strong{color:var(--c-primary);font-weight:600;}
  .precision-features{display:flex;flex-direction:column;gap:18px;margin-top:32px;}
  .precision-feature{
    display:flex;gap:18px;align-items:flex-start;
  }
  .precision-feature-icon{
    flex-shrink:0;width:36px;height:36px;border-radius:50%;
    background:var(--c-accent);color:var(--c-primary);
    display:grid;place-items:center;
    font-weight:700;font-size:14px;
  }
  .precision-feature strong{
    display:block;color:var(--c-ink);font-weight:600;font-size:15px;margin-bottom:2px;
  }
  .precision-feature span{font-size:14px;color:var(--c-muted);}

  .precision-visual{
    position:relative;aspect-ratio:1/1;
  }
  .precision-circle{
    position:absolute;border-radius:50%;
    border:1px solid var(--c-line);
  }
  .pc-1{inset:0;}
  .pc-2{inset:12%;border-color:rgba(0,137,207,.2);}
  .pc-3{inset:24%;border-color:rgba(0,82,156,.3);}
  .pc-4{
    inset:30%;
    background: transparent;
    border:none;
    display:grid;place-items:center;
    filter: drop-shadow(0 20px 40px rgba(0,82,156,.35));
  }
  .pc-4 svg{width:100%;height:100%;}
  .precision-dot{
    position:absolute;width:14px;height:14px;border-radius:50%;
    background:var(--c-secondary);
    box-shadow: 0 0 0 6px rgba(0,137,207,.15);
  }
  .pd-1{top:8%;left:50%;transform:translateX(-50%);}
  .pd-2{top:50%;right:8%;transform:translateY(-50%);}
  .pd-3{bottom:8%;left:50%;transform:translateX(-50%);}
  .pd-4{top:50%;left:8%;transform:translateY(-50%);}

  @media (max-width:900px){.precision-grid{grid-template-columns:1fr;}.precision-visual{max-width:400px;margin:0 auto;}}

  /* === PHARMA === */
  .pharma{
    background:var(--c-primary-dark);
    color:#fff;
    position:relative;overflow:hidden;
  }
  .pharma::before{
    content:'';position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg, transparent, rgba(0,137,207,.5), transparent);
  }
  .pharma::after{
    content:'';position:absolute;top:-50%;left:-20%;
    width:80%;height:200%;
    background: radial-gradient(ellipse, rgba(0,137,207,.15), transparent 60%);
  }
  .pharma .container{position:relative;z-index:1;}
  .pharma .section-eyebrow{color:#7FBEEC;}
  .pharma .section-eyebrow::before,.pharma .section-eyebrow::after{background:#7FBEEC;}
  .pharma h2{color:#fff;}
  .pharma h2 em{color:#7FBEEC;}
  .pharma .section-head p{color:rgba(255,255,255,.75);}
  .pharma-stages{
    display:grid;grid-template-columns:repeat(2,1fr);gap:24px;
    margin-top:40px;
  }
  .pharma-stage{
    display:flex;gap:20px;
    padding:32px 28px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(127,190,236,.18);
    border-radius:var(--radius-md);
    backdrop-filter: blur(10px);
    transition: all .3s ease;
  }
  .pharma-stage:hover{
    background:rgba(255,255,255,.07);
    border-color:rgba(127,190,236,.4);
    transform:translateY(-2px);
  }
  .pharma-stage-num{
    font-family:var(--font-serif);font-size:36px;font-weight:400;
    color:#7FBEEC;line-height:1;flex-shrink:0;
    min-width:50px;
  }
  .pharma-stage-body h4{
    font-size:16px;font-weight:600;color:#fff;margin-bottom:10px;
    line-height:1.3;
  }
  .pharma-stage-body p{
    font-size:14px;color:rgba(255,255,255,.75);line-height:1.65;
  }
  .pharma-closing{
    max-width:780px;margin:48px auto 0;text-align:center;
    font-size:17px;line-height:1.7;color:rgba(255,255,255,.85);
    padding:28px 32px;
    border-top:1px solid rgba(127,190,236,.2);
  }
  .pharma-closing strong{color:#7FBEEC;font-weight:600;}

  @media (max-width:860px){
    .pharma-stages{grid-template-columns:1fr;}
  }

  /* === SPACE === */
  .space-gallery{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr;
    grid-template-rows:280px 280px;
    gap:16px;
  }
  .space-tile{
    border-radius:var(--radius-md);
    background-size:cover;background-position:center;
    position:relative;overflow:hidden;
    cursor:pointer;
    transition: transform .4s ease;
  }
  .space-tile:hover{transform:scale(1.01);}
  .space-tile::after{
    content:'';position:absolute;inset:0;
    background: linear-gradient(180deg, transparent 40%, rgba(0,30,60,.85));
    transition: opacity .3s;
  }
  .space-tile.tile-1{grid-row:span 2;background-image:url('../images/oncotherapy-reception.jpg');}
  .space-tile.tile-2{background-image:url('../images/oncotherapy-treatment.jpg');background-position:left center;}
  .space-tile.tile-3{background-image:url('../images/oncotherapy-treatment.jpg');background-position:right center;}
  .space-tile.tile-4{background:linear-gradient(135deg, #d1c8b8, #e8e0d0);}
  .space-tile.tile-5{background:linear-gradient(135deg, #b8cce0, #d4e4f5);}
  .space-tile.tile-4::after,.space-tile.tile-5::after{
    background: linear-gradient(180deg, transparent 50%, rgba(0,61,117,.7));
  }
  .space-tile-label{
    position:absolute;bottom:24px;left:24px;right:24px;color:#fff;z-index:2;
  }
  .space-tile-label small{
    font-size:11px;text-transform:uppercase;letter-spacing:.12em;opacity:.9;
  }
  .space-tile-label h4{
    font-family:var(--font-serif);font-size:22px;font-weight:500;margin-top:4px;line-height:1.2;
  }

  @media (max-width:760px){
    .space-gallery{grid-template-columns:1fr;grid-template-rows:auto;}
    .space-tile.tile-1{grid-row:auto;aspect-ratio:16/10;}
    .space-tile{aspect-ratio:4/3;}
  }

  /* === TEAM === */
  .team{background:var(--c-bg-soft);}
  .team-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  }
  .team-card{
    background:#fff;border-radius:var(--radius-md);
    padding:40px 32px;border:1px solid var(--c-line);
    transition: all .3s;
  }
  .team-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
  .team-icon{
    width:64px;height:64px;border-radius:50%;
    background:var(--c-accent);
    display:grid;place-items:center;color:var(--c-primary);
    margin-bottom:24px;
  }
  .team-card h3{
    font-family:var(--font-serif);font-size:24px;font-weight:500;
    color:var(--c-ink);margin-bottom:12px;
  }
  .team-card p{font-size:14px;color:var(--c-ink-soft);line-height:1.6;}
  @media (max-width:900px){.team-grid{grid-template-columns:1fr;}}

  /* === HOLISTIC === */
  .holistic{
    background: linear-gradient(180deg, #fff 0%, var(--c-accent) 100%);
    position:relative;overflow:hidden;
    padding:100px 0;
  }
  .holistic::before{
    content:'';position:absolute;
    top:-100px;left:50%;transform:translateX(-50%);
    width:600px;height:600px;border-radius:50%;
    background:radial-gradient(circle, rgba(0,137,207,.08), transparent 70%);
    pointer-events:none;
  }
  .holistic-inner{
    max-width:760px;margin:0 auto;text-align:center;
    position:relative;
  }
  .holistic-icon-wrap{display:flex;justify-content:center;margin-bottom:32px;}
  .holistic-icon{
    width:84px;height:84px;border-radius:50%;
    background: linear-gradient(135deg, var(--c-primary), var(--c-secondary));
    color:#fff;
    display:grid;place-items:center;
    box-shadow: 0 20px 40px rgba(0,82,156,.25);
  }
  .holistic h2{margin-bottom:24px;}
  .holistic-lead{
    font-size:21px;line-height:1.5;color:var(--c-ink);
    font-family:var(--font-serif);font-style:italic;font-weight:400;
    margin-bottom:20px;
    max-width:600px;margin-left:auto;margin-right:auto;
  }
  .holistic-body{
    font-size:16px;line-height:1.75;color:var(--c-ink-soft);
    max-width:620px;margin:0 auto;
  }

  /* === IATROPOLIS === */
  .iatropolis{
    background:
      linear-gradient(135deg, var(--c-warm) 0%, #fdf9f3 100%);
    position:relative;overflow:hidden;
  }
  .iatropolis-inner{
    display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;
  }
  .iatropolis-eyebrow{
    color:var(--c-warm-deep);
  }
  .iatropolis-eyebrow::before,.iatropolis-eyebrow::after{background:var(--c-warm-deep);}
  .iatropolis-logo{height:84px;width:auto;display:block;margin-bottom:24px;}
  .iatropolis h2{margin-bottom:20px;}
  .iatropolis h2 em{color:var(--c-warm-deep);}
  .iatropolis p{font-size:16px;color:var(--c-ink-soft);margin-bottom:24px;line-height:1.7;}
  .iatropolis-sub{font-weight:600;color:var(--c-ink) !important;font-size:15px !important;margin-bottom:18px !important;}
  .iatropolis-checks{display:flex;flex-direction:column;gap:14px;}
  .iatropolis-check{display:flex;align-items:flex-start;gap:14px;font-size:15px;color:var(--c-ink);}
  .iatropolis-check-icon{
    flex-shrink:0;width:24px;height:24px;border-radius:50%;
    background:var(--c-warm-deep);color:#fff;
    display:grid;place-items:center;
    font-size:14px;
  }
  .iatropolis-card{
    background:#fff;border-radius:var(--radius-xl);
    padding:48px 40px;
    box-shadow:var(--shadow-lg);
    border:1px solid rgba(168,146,116,.15);
    position:relative;
  }
  .iatropolis-card-mark{
    font-family:var(--font-serif);font-size:120px;line-height:.8;
    color:var(--c-warm-deep);opacity:.2;
    position:absolute;top:24px;left:32px;
  }
  .iatropolis-card blockquote{
    font-family:var(--font-serif);
    font-size:22px;font-weight:400;font-style:italic;
    line-height:1.5;color:var(--c-ink);
    margin:48px 0 32px;position:relative;
  }
  .iatropolis-card cite{
    display:flex;align-items:center;gap:14px;
    font-style:normal;font-size:14px;color:var(--c-muted);
  }
  .iatropolis-card cite strong{display:block;font-weight:600;color:var(--c-ink);font-size:15px;}

  @media (max-width:900px){.iatropolis-inner{grid-template-columns:1fr;gap:40px;}}

  /* === FAQ === */
  .faq-grid{max-width:820px;margin:0 auto;}
  .faq-item{
    border-bottom:1px solid var(--c-line);
    padding:28px 0;
  }
  .faq-q{
    display:flex;justify-content:space-between;align-items:center;gap:24px;
    cursor:pointer;
  }
  .faq-q h3{
    font-size:18px;font-weight:500;color:var(--c-ink);
    font-family:var(--font-sans);
  }
  .faq-toggle{
    flex-shrink:0;width:32px;height:32px;border-radius:50%;
    border:1px solid var(--c-line);
    display:grid;place-items:center;
    color:var(--c-primary);font-size:18px;font-weight:300;
    transition: all .3s;
  }
  .faq-item.open .faq-toggle{
    background:var(--c-primary);color:#fff;border-color:var(--c-primary);transform:rotate(45deg);
  }
  .faq-a{
    max-height:0;overflow:hidden;
    transition: max-height .4s ease, padding .4s ease;
    color:var(--c-ink-soft);font-size:15px;line-height:1.7;
  }
  .faq-item.open .faq-a{
    max-height:300px;padding-top:18px;
  }

  /* === CTA SECTION === */
  .cta-section{
    background: linear-gradient(135deg, var(--c-primary) 0%, var(--c-primary-dark) 100%);
    color:#fff;text-align:center;
    position:relative;overflow:hidden;
  }
  .cta-section::before{
    content:'';position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent);
  }
  .cta-section::after{
    content:'';position:absolute;inset:0;
    background:
      radial-gradient(circle at 20% 50%, rgba(0,137,207,.3), transparent 50%),
      radial-gradient(circle at 80% 50%, rgba(127,190,236,.15), transparent 50%);
    pointer-events:none;
  }
  .cta-section .container{position:relative;z-index:1;}
  .cta-section h2{color:#fff;font-size:clamp(36px,4.5vw,56px);}
  .cta-section h2 em{color:#7FBEEC;}
  .cta-section p{color:rgba(255,255,255,.8);font-size:18px;max-width:560px;margin:20px auto 40px;}
  .cta-section .btn-primary{
    background:#fff;color:var(--c-primary);
  }
  .cta-section .btn-primary:hover{background:#f0f7fd;}

  .contact-head{
    text-align:center;max-width:720px;margin:0 auto 64px;
  }
  .contact-head p{color:rgba(255,255,255,.8);font-size:17px;max-width:620px;margin:20px auto 0;}

  .contact-grid{
    display:grid;grid-template-columns:.85fr 1.15fr;gap:32px;
    align-items:stretch;
    text-align:left;
  }

  .contact-side-title{
    font-family:var(--font-serif);font-size:24px;font-weight:500;
    color:#fff;margin-bottom:24px;
  }
  .contact-side-title-dark{color:var(--c-ink);}

  /* LEFT: Info side */
  .contact-info-side{
    display:flex;flex-direction:column;
    padding:40px 36px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.12);
    border-radius:var(--radius-md);
    backdrop-filter: blur(10px);
  }
  .contact-info-block{
    display:flex;align-items:flex-start;gap:16px;
    padding:20px 0;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .contact-info-block:last-of-type{border-bottom:none;}
  .contact-info-icon{
    width:42px;height:42px;border-radius:12px;
    background:rgba(127,190,236,.15);color:#7FBEEC;
    display:grid;place-items:center;flex-shrink:0;
  }
  .contact-info-block > div small{
    display:block;font-size:11px;color:rgba(255,255,255,.6);
    letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;
  }
  .contact-info-block > div strong{
    font-size:15px;font-weight:500;color:#fff;display:block;
  }
  .contact-info-hint{
    font-size:13px;color:rgba(255,255,255,.6);display:block;margin-top:2px;
  }

  .contact-trust{
    margin-top:auto;padding-top:20px;
    display:flex;gap:12px;align-items:flex-start;
    font-size:12px;line-height:1.55;color:rgba(255,255,255,.6);
  }
  .contact-trust-icon{
    flex-shrink:0;color:#7FBEEC;margin-top:1px;
  }

  /* RIGHT: Form side */
  .contact-form-side{}
  .appointment-form{
    background:#fff;
    border-radius:var(--radius-md);
    padding:40px 36px;
    color:var(--c-ink);
    box-shadow: 0 30px 60px rgba(0,0,0,.25);
  }
  .form-intro{
    color:var(--c-muted) !important;
    font-size:14px !important;
    margin: -16px 0 24px !important;
    max-width:none !important;
  }

  .form-row{margin-bottom:16px;}
  .form-row-double{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .form-group{display:flex;flex-direction:column;}
  .form-group label{
    font-size:12px;font-weight:600;color:var(--c-ink);
    margin-bottom:8px;letter-spacing:.02em;
  }
  .form-group .req{color:#D4304D;font-weight:400;}
  .form-group input,
  .form-group select,
  .form-group textarea{
    width:100%;
    padding:13px 14px;
    border:1.5px solid var(--c-line);
    border-radius:10px;
    font-family:inherit;font-size:14px;
    color:var(--c-ink);
    background:#fff;
    transition: all .2s ease;
    outline:none;
  }
  .form-group input::placeholder,
  .form-group textarea::placeholder{color:#A8B2BF;}
  .form-group input:focus,
  .form-group select:focus,
  .form-group textarea:focus{
    border-color:var(--c-primary);
    box-shadow: 0 0 0 4px rgba(0,82,156,.08);
  }
  .form-group textarea{resize:vertical;min-height:90px;font-family:inherit;}
  .form-group select{cursor:pointer;}

  .form-consent{
    display:flex;gap:12px;align-items:flex-start;
    margin:20px 0 24px;
    padding:16px;
    background:var(--c-bg-soft);
    border-radius:10px;
  }
  .form-consent input[type="checkbox"]{
    margin-top:2px;flex-shrink:0;
    width:18px;height:18px;
    accent-color: var(--c-primary);
    cursor:pointer;
  }
  .form-consent label{
    font-size:12.5px;line-height:1.55;color:var(--c-ink-soft);
    cursor:pointer;
  }
  .form-consent a{color:var(--c-primary);text-decoration:underline;font-weight:500;}

  .form-submit{
    width:100%;justify-content:center;
    padding:16px 24px !important;
    font-size:15px !important;
  }

  .form-success{
    display:none;
    align-items:center;gap:12px;
    margin-top:16px;padding:14px 18px;
    background:#E6F7EC;color:#1B7544;
    border:1px solid #B5E5C5;border-radius:10px;
    font-size:14px;font-weight:500;
  }

  @media (max-width:960px){
    .contact-grid{grid-template-columns:1fr;}
    .form-row-double{grid-template-columns:1fr;}
  }
  @media (max-width:520px){
    .appointment-form,.contact-info-side{padding:28px 22px;}
  }

  /* === FOOTER === */
  footer{
    background:#0A1525;color:rgba(255,255,255,.7);
    padding:80px 0 0;
    position:relative;overflow:hidden;
  }
  footer::before{
    content:'';position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg, transparent, rgba(0,137,207,.4), transparent);
  }
  footer::after{
    content:'';position:absolute;
    top:-50%;right:-10%;
    width:600px;height:600px;border-radius:50%;
    background: radial-gradient(circle, rgba(0,137,207,.06), transparent 70%);
    pointer-events:none;
  }
  footer .container{position:relative;z-index:1;}

  .footer-top{
    display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:64px;
    margin-bottom:56px;
    padding-bottom:56px;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .footer-brand{}
  .footer-logo{display:flex;align-items:center;gap:14px;margin-bottom:24px;}
  .footer-logo-mark{width:58px;height:58px;flex-shrink:0;}
  .footer-logo-mark svg{width:100%;height:100%;display:block;}
  .footer-logo-text{display:flex;flex-direction:column;line-height:1.2;}
  .footer-logo-text strong{font-size:19px;font-weight:700;color:#fff;letter-spacing:-.01em;}
  .footer-logo-text span{font-size:11px;color:rgba(255,255,255,.55);letter-spacing:.06em;text-transform:uppercase;margin-top:5px;}
  .footer-brand p{
    font-size:14px;line-height:1.75;color:rgba(255,255,255,.65);
    max-width:380px;margin-bottom:24px;
  }
  .footer-iatropolis-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
  .footer-iatropolis-logo{
    display:inline-flex;align-items:center;
    background:#fff;border-radius:12px;padding:10px 14px;flex-shrink:0;
  }
  .footer-iatropolis-logo img{height:48px;width:auto;display:block;}
  .footer-iatropolis-badge{
    display:inline-flex;align-items:center;gap:10px;
    padding:10px 16px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.1);
    border-radius:999px;
    font-size:12px;color:rgba(255,255,255,.7);
  }
  .footer-iatropolis-badge::before{
    content:'';width:6px;height:6px;border-radius:50%;flex-shrink:0;
    background:#E30613;
    box-shadow:0 0 0 3px rgba(0,92,170,.30);
    animation: pulse 2s infinite;
  }
  .footer-socials{
    display:flex;gap:10px;margin-top:28px;
  }
  .footer-socials a{
    width:42px;height:42px;border-radius:50%;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.1);
    display:grid;place-items:center;
    color:rgba(255,255,255,.75);
    transition: all .25s ease;
  }
  .footer-socials a:hover{
    background:var(--c-primary);
    border-color:var(--c-primary);
    color:#fff;
    transform:translateY(-2px);
  }
  .footer-socials svg{width:17px;height:17px;}

  .footer-col h5{
    font-size:12px;color:#fff;text-transform:uppercase;letter-spacing:.14em;
    margin-bottom:24px;font-weight:600;
  }
  .footer-contact-list{
    display:flex;flex-direction:column;gap:18px;
  }
  .footer-contact-item{
    display:flex;align-items:flex-start;gap:14px;
  }
  .footer-contact-icon{
    width:34px;height:34px;border-radius:8px;
    background:rgba(127,190,236,.1);color:#7FBEEC;
    display:grid;place-items:center;flex-shrink:0;
  }
  .footer-contact-item small{
    display:block;font-size:11px;color:rgba(255,255,255,.5);
    letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px;
  }
  .footer-contact-item strong{
    font-size:14px;font-weight:500;color:#fff;
  }
  .footer-contact-item a{color:#fff;transition:color .2s;}
  .footer-contact-item a:hover{color:#7FBEEC;}
  .footer-contact-hint{display:block;font-size:13px;color:rgba(255,255,255,.6);margin-top:2px;}

  .footer-legal-list{
    list-style:none;display:flex;flex-direction:column;gap:14px;
  }
  .footer-legal-list a{
    font-size:14px;color:rgba(255,255,255,.65);
    transition:color .2s;
    display:inline-flex;align-items:center;gap:8px;
  }
  .footer-legal-list a:hover{color:#fff;}
  .footer-legal-list a::before{
    content:'';width:4px;height:4px;border-radius:50%;
    background:rgba(127,190,236,.4);
  }

  .footer-bottom{
    padding:28px 0;
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;
    font-size:13px;color:rgba(255,255,255,.45);
  }
  .footer-bottom a{color:rgba(255,255,255,.65);transition:color .2s;}
  .footer-bottom a:hover{color:#fff;}
  .footer-bottom-credit{font-size:12px;}

  @media (max-width:900px){
    .footer-top{grid-template-columns:1fr;gap:48px;}
  }

  /* === CUSTOM CURSOR === */
  @media (hover: hover) and (pointer: fine){
    body{cursor:none;}
    a, button, .therapy-item, .faq-q, .pillar, .team-card, .space-tile, .nav-burger, input, textarea, select, label, .lang-switch, .mobile-drawer-close, .faq-toggle{cursor:none;}
  }
  .cursor-ring{
    position:fixed;top:0;left:0;
    width:40px;height:40px;border-radius:50%;
    border:1.5px solid var(--c-primary);
    pointer-events:none;
    z-index:9999;
    transform: translate(-50%, -50%);
    transition: width .3s cubic-bezier(.22,.61,.36,1),
                height .3s cubic-bezier(.22,.61,.36,1),
                background .3s,
                border-color .3s,
                opacity .3s;
    mix-blend-mode: difference;
    border-color:#fff;
    will-change: transform;
    display:none;
  }
  .cursor-dot{
    position:fixed;top:0;left:0;
    width:6px;height:6px;border-radius:50%;
    background:var(--c-primary);
    pointer-events:none;
    z-index:9999;
    transform: translate(-50%, -50%);
    transition: opacity .2s, transform .15s;
    will-change: transform;
    display:none;
  }
  @media (hover: hover) and (pointer: fine){
    .cursor-ring, .cursor-dot{display:block;}
  }
  .cursor-ring.hover-link{
    width:48px;height:48px;
    background:transparent;
    border-color:var(--c-primary);
    border-width:2px;
    mix-blend-mode:normal;
  }
  .cursor-ring.hover-button{
    width:52px;height:52px;
    background:transparent;
    border-color:var(--c-primary);
    border-width:2px;
    mix-blend-mode:normal;
    opacity:1;
  }
  .cursor-ring.hover-image{
    width:90px;height:90px;
    background:rgba(255,255,255,.08);
    border-color:rgba(255,255,255,.65);
    border-width:2px;
    mix-blend-mode:normal;
  }
  .cursor-ring.hidden{opacity:0;}
  .cursor-dot.hidden{opacity:0;}

  /* === SCROLL PROGRESS BAR === */
  .scroll-progress{
    position:fixed;top:0;left:0;right:0;height:3px;
    z-index:101;pointer-events:none;
    background:transparent;
  }
  .scroll-progress-bar{
    height:100%;
    background: linear-gradient(90deg, var(--c-primary), var(--c-secondary));
    width:0%;
    box-shadow: 0 0 12px rgba(0,137,207,.5);
    transition: width .15s linear;
  }

  /* === HERO WORD ANIMATION === */
  .word-reveal{
    display:inline-block;overflow:hidden;
    vertical-align:top;
  }
  .word-reveal > span{
    display:inline-block;
    transform:translateY(110%);
    animation: wordUp 1s cubic-bezier(.22,.61,.36,1) forwards;
  }
  @keyframes wordUp{
    to{transform:translateY(0);}
  }

  /* === ANIMATIONS === */
  @keyframes fadeUp{
    from{opacity:0;transform:translateY(30px);}
    to{opacity:1;transform:translateY(0);}
  }
  @keyframes fadeIn{
    from{opacity:0;}
    to{opacity:1;}
  }
  @keyframes scaleIn{
    from{opacity:0;transform:scale(.92);}
    to{opacity:1;transform:scale(1);}
  }
  @keyframes slideRight{
    from{opacity:0;transform:translateX(-40px);}
    to{opacity:1;transform:translateX(0);}
  }
  @keyframes slideLeft{
    from{opacity:0;transform:translateX(40px);}
    to{opacity:1;transform:translateX(0);}
  }
  @keyframes kenBurns{
    from{transform:scale(1);}
    to{transform:scale(1.08);}
  }
  @keyframes float{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(-10px);}
  }
  @keyframes pulseRing{
    0%{transform:scale(.95);opacity:1;}
    100%{transform:scale(1.5);opacity:0;}
  }
  @keyframes rotateSlow{
    from{transform:rotate(0deg);}
    to{transform:rotate(360deg);}
  }
  @keyframes shimmer{
    0%{background-position:-200% 0;}
    100%{background-position:200% 0;}
  }

  /* Reveal base — invisible initially */
  [data-anim]{opacity:0;will-change:transform,opacity;}
  [data-anim].in-view{
    animation-duration: .9s;
    animation-timing-function: cubic-bezier(.22,.61,.36,1);
    animation-fill-mode: forwards;
  }
  [data-anim="fade-up"].in-view{animation-name:fadeUp;}
  [data-anim="fade-in"].in-view{animation-name:fadeIn;}
  [data-anim="scale-in"].in-view{animation-name:scaleIn;}
  [data-anim="slide-right"].in-view{animation-name:slideRight;}
  [data-anim="slide-left"].in-view{animation-name:slideLeft;}

  /* Stagger delays */
  [data-anim][data-delay="100"]{animation-delay:.1s;}
  [data-anim][data-delay="200"]{animation-delay:.2s;}
  [data-anim][data-delay="300"]{animation-delay:.3s;}
  [data-anim][data-delay="400"]{animation-delay:.4s;}
  [data-anim][data-delay="500"]{animation-delay:.5s;}
  [data-anim][data-delay="600"]{animation-delay:.6s;}

  /* Hero entrance (on page load) */
  .hero-eyebrow{opacity:0;animation: fadeUp .8s cubic-bezier(.22,.61,.36,1) .1s forwards;}
  .hero h1{opacity:0;animation: fadeUp 1s cubic-bezier(.22,.61,.36,1) .25s forwards;}
  .hero p.lead{opacity:0;animation: fadeUp .9s cubic-bezier(.22,.61,.36,1) .5s forwards;}
  .hero-actions{opacity:0;animation: fadeUp .9s cubic-bezier(.22,.61,.36,1) .7s forwards;}
  .hero-trust{opacity:0;animation: fadeUp .9s cubic-bezier(.22,.61,.36,1) .9s forwards;}
  .hero-visual{opacity:0;animation: scaleIn 1.2s cubic-bezier(.22,.61,.36,1) .4s forwards;}
  .hero-visual-badge{opacity:0;animation: fadeUp .7s cubic-bezier(.22,.61,.36,1) 1.1s forwards;}

  /* Hero ken burns on image */
  .hero-visual{
    background-size: 110% auto;
    background-position: center 30%;
  }
  .hero-visual::after{
    content:'';position:absolute;inset:0;z-index:0;
    background-image: inherit;
    background-size:cover;background-position:center 30%;
    animation: kenBurns 18s ease-in-out infinite alternate;
  }
  .hero-visual{background-image:none !important;}
  .hero-visual::after{background-image: url('../images/oncotherapy-exterior.jpg') !important;}

  /* Pulse rings on hero badge dot */
  .hero-eyebrow .dot{position:relative;}
  .hero-eyebrow .dot::before{
    content:'';position:absolute;inset:-4px;
    border-radius:50%;background:#005CAA;
    animation: pulseRing 2s ease-out infinite;
  }

  /* Precision circle rotation */
  .precision-visual .pc-1{animation: rotateSlow 60s linear infinite;}
  .precision-visual .pc-2{animation: rotateSlow 45s linear infinite reverse;}
  .precision-visual .pc-3{animation: rotateSlow 30s linear infinite;}

  /* Floating dots in precision */
  .precision-dot{animation: float 4s ease-in-out infinite;}
  .pd-1{animation-delay:0s;}
  .pd-2{animation-delay:1s;}
  .pd-3{animation-delay:2s;}
  .pd-4{animation-delay:3s;}

  /* Pillar hover lift enhancement */
  .pillar{transition: transform .4s cubic-bezier(.22,.61,.36,1), box-shadow .4s, border-color .4s;}
  .pillar:hover{transform:translateY(-8px) scale(1.02);}
  .pillar-icon{transition: transform .4s cubic-bezier(.22,.61,.36,1);}
  .pillar:hover .pillar-icon{transform:scale(1.1) rotate(-5deg);}

  /* Therapy item richer hover */
  .therapy-item{transition: all .35s cubic-bezier(.22,.61,.36,1);}
  .therapy-num{transition: color .35s, transform .35s;}
  .therapy-item:hover .therapy-num{color:var(--c-primary);transform:scale(1.1);}

  /* Team card hover */
  .team-card{transition: all .4s cubic-bezier(.22,.61,.36,1);}
  .team-icon{transition: transform .4s cubic-bezier(.22,.61,.36,1), background .3s;}
  .team-card:hover .team-icon{transform:scale(1.08) rotate(5deg);background:var(--c-primary);color:#fff;}

  /* Section reveal — legacy */
  .reveal{opacity:0;transform:translateY(20px);transition: opacity .8s ease, transform .8s ease;}
  .reveal.visible{opacity:1;transform:translateY(0);}

  /* Pharma stages stagger */
  .pharma-stage{transition: all .4s cubic-bezier(.22,.61,.36,1);}

  /* Smooth focus transitions on buttons */
  .btn{transition: all .3s cubic-bezier(.22,.61,.36,1);}

  /* === IMAGE REVEAL MASK === */
  .img-reveal{
    position:relative;overflow:hidden;
  }
  .img-reveal::before{
    content:'';position:absolute;inset:0;z-index:5;
    background: var(--c-primary);
    transform-origin: left;
    transform: scaleX(1);
    transition: transform 1.2s cubic-bezier(.85,0,.15,1);
  }
  .img-reveal.revealed::before{
    transform: scaleX(0);
    transform-origin: right;
  }

  /* === 3D TILT === */
  .tilt{
    transform-style: preserve-3d;
    transition: transform .15s cubic-bezier(.22,.61,.36,1);
  }
  .tilt-inner{
    transform: translateZ(40px);
    transition: transform .15s;
  }

  /* === MAGNETIC BUTTONS === */
  .magnetic{
    display:inline-flex;
    will-change: transform;
    transition: transform .35s cubic-bezier(.22,.61,.36,1);
  }

  /* === COUNTER NUMBERS === */
  .counter{
    display:inline-block;
    font-variant-numeric: tabular-nums;
  }

  /* === GRADIENT TEXT SHIMMER === */
  .shimmer-text{
    background: linear-gradient(
      90deg,
      var(--c-primary) 0%,
      var(--c-secondary) 25%,
      var(--c-primary) 50%,
      var(--c-secondary) 75%,
      var(--c-primary) 100%
    );
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: shimmer 6s linear infinite;
  }

  /* === HERO VISUAL TILT === */
  .hero-visual{
    transform-style: preserve-3d;
    transition: transform .4s cubic-bezier(.22,.61,.36,1);
  }

  /* === BUTTON RIPPLE === */
  .btn{position:relative;overflow:hidden;}
  .btn::after{
    content:'';position:absolute;
    top:50%;left:50%;
    width:0;height:0;border-radius:50%;
    background:rgba(255,255,255,.4);
    transform: translate(-50%, -50%);
    transition: width .6s ease, height .6s ease;
  }
  .btn:active::after{
    width:300px;height:300px;
    transition: width .3s ease, height .3s ease;
  }

  /* === SECTION DIVIDERS (gradient lines) === */
  section + section:not(.cta-section):not(.pharma):not(.holistic):not(.iatropolis):not(.team):not(.pillars){
    position:relative;
  }

  /* Reduced motion respect */
  @media (prefers-reduced-motion: reduce){
    *,*::before,*::after{
      animation-duration:.01ms !important;
      animation-iteration-count:1 !important;
      transition-duration:.01ms !important;
    }
  }


/* ===== Accessibility fixes (Lighthouse) ===== */
.footer-bottom-credit a{text-decoration:underline;}
.footer-legal-list a{text-decoration:underline;}

/* ===== Φωτογραφίες ΜΟΝΟ από ACF ως πραγματικά <img> (alt + SEO) — κενό = placeholder ===== */
.hero-visual,.therapies-image,.space-tile{background-image:none !important;background-color:#E8F2FB !important;}
.hero-visual::after{background-image:none !important;}
.onco-cover-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;border-radius:inherit;}
.hero-visual::before{z-index:1;}
.hero-visual-content{z-index:2;}
.hero-visual-badge{z-index:3;}
.therapies-image::after,.space-tile::after{z-index:1;}

/* ===== 404 ===== */
.onco-404{min-height:72vh;display:flex;align-items:center;text-align:center;padding:180px 0 120px;background:radial-gradient(ellipse at top, rgba(0,137,207,.07), transparent 55%),linear-gradient(180deg,#fff,var(--c-bg-soft));}
.onco-404-inner{max-width:620px;margin:0 auto;}
.onco-404-num{font-family:var(--font-serif);font-weight:600;line-height:1;font-size:clamp(96px,18vw,180px);background:linear-gradient(135deg,var(--c-primary),var(--c-secondary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--c-primary);}
.onco-404 h1{font-family:var(--font-serif);font-weight:500;font-size:clamp(26px,4vw,38px);color:var(--c-ink);margin:8px 0 14px;}
.onco-404 p{color:var(--c-muted);font-size:18px;margin-bottom:30px;}
.onco-404-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:36px;}
.onco-404-links{display:flex;gap:10px 26px;justify-content:center;flex-wrap:wrap;font-size:14px;}
.onco-404-links a{color:var(--c-primary);font-weight:500;text-decoration:underline;}
.onco-404-links a:hover{color:var(--c-primary-dark);}

/* ===== PAGE (νομικά / γενικές σελίδες) ===== */
.onco-page{}
/* Hero header */
.onco-page-hero{padding:140px 0 56px;background:linear-gradient(135deg,var(--c-primary) 0%,var(--c-secondary) 100%);position:relative;overflow:hidden;}
.onco-page-hero::before{content:'';position:absolute;top:-120px;right:-80px;width:500px;height:500px;border-radius:50%;background:rgba(255,255,255,.06);pointer-events:none;}
.onco-page-hero::after{content:'';position:absolute;bottom:-60px;left:-40px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.04);pointer-events:none;}
.onco-page-hero-inner{display:flex;align-items:flex-start;gap:28px;}
.onco-page-hero-icon{flex-shrink:0;width:68px;height:68px;border-radius:20px;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);display:grid;place-items:center;color:#fff;margin-top:4px;box-shadow:0 4px 20px rgba(0,0,0,.15);}
.onco-page-brand{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:10px;}
.onco-page-brand::before,.onco-page-brand::after{content:'';display:block;width:24px;height:1.5px;background:rgba(255,255,255,.4);}
.onco-page-hero h1{font-family:var(--font-serif);font-weight:500;font-size:clamp(28px,4.5vw,52px);color:#fff;line-height:1.1;margin:0 0 12px;}
.onco-page-date{font-size:13px;color:rgba(255,255,255,.6);}
/* Content */
.onco-page-body{background:linear-gradient(180deg,var(--c-bg-soft),#fff);padding:0 0 100px;}
.onco-page-content{background:#fff;border:1px solid var(--c-line);border-top:none;border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:56px clamp(28px,5vw,72px) 64px;box-shadow:var(--shadow-md);color:var(--c-ink-soft);font-size:17px;line-height:1.8;}
.onco-page-content h2{font-family:var(--font-serif);font-weight:500;font-size:26px;color:var(--c-ink);margin:40px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--c-line);}
.onco-page-content h3{font-size:19px;font-weight:600;color:var(--c-ink);margin:30px 0 10px;}
.onco-page-content p{margin-bottom:20px;}
.onco-page-content ul,.onco-page-content ol{margin:0 0 20px 1.4em;}
.onco-page-content li{margin-bottom:10px;}
.onco-page-content a{color:var(--c-primary);text-decoration:underline;}
.onco-page-content strong{color:var(--c-ink);font-weight:600;}
/* Back link */
.onco-page-back{margin:24px 0 0;}
.onco-page-back a{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--c-muted);transition:color .2s;}
.onco-page-back a:hover{color:var(--c-primary);}
@media(max-width:600px){.onco-page-hero{padding:110px 0 40px;}.onco-page-hero-inner{flex-direction:column;gap:16px;}.onco-page-content{padding:32px 22px 40px;}}
