/* ==========================================================================
   Dr. med. Zorana Pravdić – Design System
   Bright · open · gold + blue
   ========================================================================== */
:root{
  --paper:#FBF9F5; --white:#FFFFFF; --blue-900:#12356B; --blue-700:#1E4A8C; --blue-600:#2F5FA8; --blue-100:#E4ECF8; --blue-50:#F1F5FC;
  --gold-800:#5F4A2D; --gold-700:#7A6040; --gold-600:#A08257; --gold-500:#BFA06E; --gold-400:#CDB38A; --gold-300:#E2D1AE; --gold-200:#ECE0C8; --gold-100:#F4ECDD; --gold-50:#FAF6EF;
  --logo-gold:#C1A272;
  --gold-grad:linear-gradient(135deg,#A88A5C 0%,#CDB184 28%,#EEE2C6 50%,#C9AD7F 72%,#A88A5C 100%);
  --gold-grad-btn:linear-gradient(135deg,#C4A676 0%,#E3D2AF 48%,#C6A979 100%);
  --gold-line:linear-gradient(90deg,transparent,#C1A272 20%,#E6D6B6 50%,#C1A272 80%,transparent);
  --ink:#1B2233; --muted:#5C6578; --line:#E6E1D6; --line-soft:#F0ECE3; --ok:#2F8F5B; --err:#C0392B;
  --font-display:"Source Serif 4","Source Serif Pro",Georgia,"Times New Roman",serif; --font-body:"Manrope","Segoe UI",Helvetica,Arial,sans-serif;
  --radius:16px; --radius-sm:10px; --radius-lg:28px;
  --shadow-sm:0 1px 2px rgba(18,53,107,.06),0 2px 8px rgba(18,53,107,.06); --shadow:0 6px 24px rgba(18,53,107,.10); --shadow-lg:0 18px 50px rgba(18,53,107,.16);
  --container:1180px; --gutter:clamp(16px,4vw,40px); --header-h:88px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--font-body);-webkit-font-smoothing:antialiased}
img,picture,svg,video{max-width:100%;display:block}
img{height:auto}
a{color:var(--blue-600);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.15;color:var(--blue-900);margin:0 0 .5em;letter-spacing:-.01em;font-variation-settings:"opsz" 60}
h1{font-size:clamp(2.2rem,5vw,3.6rem)}
h2{font-size:clamp(1.8rem,3.6vw,2.6rem)}
h3{font-size:clamp(1.25rem,2vw,1.55rem)}
h4{font-size:1.1rem;font-family:var(--font-body);font-weight:700}
p{margin:0 0 1em}
ul,ol{padding-left:1.25em;margin:0 0 1em}
button{font:inherit}
:focus-visible{outline:3px solid var(--gold-400);outline-offset:3px;border-radius:4px}
::selection{background:var(--gold-200);color:var(--blue-900)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.container{width:min(100% - 2*var(--gutter),var(--container));margin-inline:auto}
.narrow{max-width:760px;margin-inline:auto}
.section{padding-block:clamp(56px,9vw,112px)}
.section--tight{padding-block:clamp(40px,6vw,72px)}
.section--blue{background:var(--blue-50)}
.section--gold{background:linear-gradient(180deg,var(--gold-50) 0%,#FCF9F2 60%,var(--paper) 100%);position:relative}
.section--gold::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--gold-line);opacity:.7}
.section--white{background:var(--white)}
.kicker{display:inline-flex;align-items:center;gap:12px;font:700 .78rem/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-700);margin-bottom:14px}
.kicker::before{content:"";width:30px;height:1.5px;background:var(--gold-grad);border-radius:2px}
.center .kicker::after{content:"";width:30px;height:1.5px;background:var(--gold-grad);border-radius:2px}
.center h2::after{content:"";display:block;width:56px;height:2px;margin:18px auto 0;background:var(--gold-grad);border-radius:2px}
.lead{font-size:1.15rem;color:var(--muted);max-width:62ch}
.center{text-align:center}.center .kicker{justify-content:center}.center .lead{margin-inline:auto}
.grid{display:grid;gap:clamp(18px,3vw,32px)}
.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}
.hairline{height:1px;background:var(--gold-line);border:0;margin:0}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:999px;font-weight:700;font-size:1rem;line-height:1;border:2px solid transparent;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s;text-decoration:none!important;white-space:nowrap}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.btn:active{transform:translateY(0)}
.btn-gold{background:var(--gold-grad-btn);background-size:160% 100%;background-position:0 0;color:var(--blue-900);box-shadow:0 1px 0 rgba(255,255,255,.45) inset,0 6px 18px rgba(160,130,87,.28);transition:transform .2s var(--ease),box-shadow .2s var(--ease),background-position .5s var(--ease)}
.btn-gold:hover{background-position:100% 0;box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 10px 26px rgba(160,130,87,.36)}
.btn-outline-gold{background:transparent;border-color:var(--gold-400);color:var(--gold-300)}.btn-outline-gold:hover{background:rgba(226,209,174,.12);color:#fff}
.btn-blue{background:var(--blue-900);color:#fff}.btn-blue:hover{background:var(--blue-700)}
.btn-outline{background:transparent;border-color:var(--blue-900);color:var(--blue-900)}.btn-outline:hover{background:var(--blue-900);color:#fff}
.btn-white{background:#fff;color:var(--blue-900)}
.btn-ghost{background:transparent;color:var(--blue-900);padding-inline:12px}.btn-ghost:hover{box-shadow:none;background:var(--blue-50)}
.btn-sm{padding:10px 18px;font-size:.92rem}.btn-lg{padding:18px 34px;font-size:1.08rem}
.btn[disabled]{opacity:.5;pointer-events:none}
.btn .ico{width:18px;height:18px}
.arrow-link{font-weight:700;color:var(--blue-900);display:inline-flex;align-items:center;gap:8px}
.arrow-link::after{content:"→";color:var(--gold-600);transition:transform .2s}.arrow-link:hover{text-decoration:none}.arrow-link:hover::after{transform:translateX(4px)}

/* Header */
.header{position:sticky;top:0;z-index:50;border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
/* Frosted background on a pseudo-element: backdrop-filter on .header itself would make it the containing block of the
   position:fixed mobile menu (.nav), which then opened only inside the 80px header on every subpage. */
.header::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(251,249,244,.86);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);pointer-events:none}
.header.is-stuck{border-color:transparent;box-shadow:0 4px 20px rgba(18,53,107,.06)}
.header.is-stuck::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold-line);opacity:.8}
.header__inner{display:flex;align-items:center;gap:16px;height:var(--header-h)}
.logo{display:flex;align-items:center;gap:12px;color:var(--blue-900);text-decoration:none!important;flex:0 1 auto;min-width:0}
.logo__img{display:block;height:62px;width:auto;color:var(--logo-gold);flex:none;transition:height .25s var(--ease)}
.header.is-stuck .logo__img{height:54px}
.nav{margin-left:auto;display:flex;align-items:center;gap:6px}
.nav__home{display:none!important} /* desktop: the logo links home; shown in the mobile menu only */
.nav a{padding:8px 11px;border-radius:999px;color:var(--ink);font-weight:600;font-size:.9rem;white-space:nowrap;text-decoration:none!important;transition:background .2s,color .2s}
.nav a{position:relative}
.nav a:hover,.nav a.is-active{background:var(--gold-50);color:var(--blue-900)}
@media(min-width:1025px){.nav a.is-active::after{content:"";position:absolute;left:14px;right:14px;bottom:3px;height:1.5px;background:var(--gold-grad);border-radius:2px}}
.header__cta{display:flex;align-items:center;gap:8px;margin-left:auto;flex:none}
@media(min-width:1025px){.header__cta{margin-left:4px}}
.lang{font-size:.82rem;font-weight:700;letter-spacing:.06em;padding:8px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted);text-decoration:none!important}
.lang:hover{border-color:var(--gold-500);color:var(--blue-900)}
.burger{display:none;flex-direction:column;gap:5px;width:44px;height:44px;border:0;background:transparent;cursor:pointer;border-radius:12px;align-items:center;justify-content:center}
.burger span{display:block;width:22px;height:2px;background:var(--blue-900);margin:0;transition:transform .3s,opacity .3s}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.burger[aria-expanded=true] span:nth-child(2){opacity:0}.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:1024px){
  .nav{position:fixed;inset:var(--header-h) 0 0 0;background:var(--paper);flex-direction:column;align-items:stretch;padding:24px var(--gutter);gap:4px;transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;overflow:auto;z-index:49}
  .nav.is-open{opacity:1;transform:none;pointer-events:auto}
  .nav .nav__home{display:flex!important}
  .nav a{font-size:1.2rem;padding:14px 16px;border-radius:12px}
  .burger{display:flex;margin-left:auto}
  .header__cta .btn{display:none}
  .nav .nav__cta{margin-top:16px;display:inline-flex;align-self:flex-start}
}
@media(min-width:1025px){.nav .nav__cta{display:none}}
@media(max-width:1100px){.logo__img{height:54px}}
@media(max-width:1024px){:root{--header-h:76px}}
@media(max-width:480px){.logo__img,.header.is-stuck .logo__img{height:42px}.header__cta{gap:4px}.lang{padding:6px 8px}}

/* Hero */
.hero{position:relative;overflow:hidden;padding-block:clamp(40px,7vw,96px) clamp(48px,7vw,96px)}
.hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:60vw;height:60vw;max-width:820px;max-height:820px;background:radial-gradient(closest-side,rgba(193,162,114,.22),rgba(193,162,114,0));pointer-events:none}
.hero::after{content:"";position:absolute;left:-15%;bottom:-40%;width:50vw;height:50vw;max-width:700px;max-height:700px;background:radial-gradient(closest-side,rgba(47,95,168,.14),rgba(47,95,168,0));pointer-events:none}
.hero__inner{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px);align-items:center;width:min(100% - 2*var(--gutter),var(--container));margin-inline:auto}
.hero__scroll{display:none}
.hero__scroll span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--gold-500);animation:scrollhint 1.8s infinite}
@keyframes scrollhint{0%{transform:translateY(0);opacity:1}70%{transform:translateY(14px);opacity:0}100%{opacity:0}}
@media(min-width:1025px) and (min-height:700px){.hero__scroll{display:block}}
@media(prefers-reduced-motion:reduce){.hero__scroll span{animation:none}}
.portrait__badge{text-decoration:none!important;color:var(--ink)}
.portrait__badge strong{color:var(--blue-900);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
.hero h1{font-size:clamp(2.1rem,4.2vw,3.5rem);margin-bottom:.45em;letter-spacing:-.015em}
.hero h1 em{font-style:italic;color:var(--blue-600)}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.hero__facts{display:flex;flex-wrap:wrap;gap:18px 28px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.hero__facts div{font-size:.9rem;color:var(--muted)}.hero__facts strong{display:block;color:var(--blue-900);font-family:var(--font-display);font-size:1.35rem;font-weight:500}
.portrait{position:relative;justify-self:center;width:min(100%,520px)}
.portrait img{border-radius:var(--radius-lg) var(--radius-lg) 120px 120px;aspect-ratio:4/5;object-fit:cover;width:100%;box-shadow:var(--shadow-lg)}
.portrait::before{content:"";position:absolute;inset:14px -14px -14px 14px;border:1.5px solid var(--gold-400);border-radius:var(--radius-lg) var(--radius-lg) 120px 120px;z-index:-1;opacity:.9}
.portrait--top img{object-position:50% 8%}
.portrait__badge{position:absolute;left:-10px;bottom:36px;background:#fff;border-radius:14px;padding:12px 16px;box-shadow:var(--shadow);display:flex;gap:12px;align-items:center;font-size:.9rem}
.portrait__badge .dot{width:10px;height:10px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px rgba(47,143,91,.18)}
@media(max-width:900px){.hero__inner{grid-template-columns:1fr}.portrait{width:min(100%,420px);order:-1}.portrait--top img{object-position:50% 8%}
.portrait__badge{left:8px}}

/* Cards */
.card{background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s;display:flex;flex-direction:column;overflow:hidden;color:inherit;text-decoration:none!important}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--gold-300)}
.card__media{aspect-ratio:16/10;overflow:hidden;background:var(--blue-50)}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.card:hover .card__media img{transform:scale(1.04)}
.card__body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.card__body h3{margin:0}
.card__body p{color:var(--muted);margin:0;font-size:.98rem}
.card__foot{margin-top:auto;padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.price{font-family:var(--font-display);font-size:1.5rem;color:var(--blue-900);font-weight:500}
.price small{font:600 .78rem/1 var(--font-body);color:var(--muted);margin-left:4px}
.tag{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.04em;background:var(--gold-100);color:var(--gold-800);border:1px solid var(--gold-200)}
.tag--blue{background:var(--blue-100);color:var(--blue-900)}.tag--grey{background:#EEF0F3;color:var(--muted)}
.icon-card{padding:26px 26px 28px;gap:12px}
.icon-card .ico{width:52px;height:52px;border-radius:14px;background:var(--gold-50);border:1px solid var(--gold-200);display:grid;place-items:center;color:var(--gold-700)}
.icon-card .ico svg{width:26px;height:26px}

/* About teaser */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
@media(max-width:900px){.split{grid-template-columns:1fr}}
.frame{position:relative}
.frame img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);object-fit:cover;width:100%;aspect-ratio:4/5}
.frame--wide img{aspect-ratio:5/4}
.frame::after{content:"";position:absolute;inset:auto -18px -18px auto;width:45%;height:45%;border:1.5px solid var(--gold-400);border-radius:var(--radius-lg);z-index:-1}
.quote-big{font-family:var(--font-display);font-style:italic;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.35;color:var(--blue-900);border-left:3px solid var(--gold-500);padding-left:22px;margin:0 0 1.2em;border-image:var(--gold-grad) 1}

/* Program band */
.band{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--blue-900),#1B4C98 60%,#2A66B8);color:#fff;border-radius:var(--radius-lg);padding:clamp(32px,5vw,64px);display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,56px);align-items:center}
.band::before{content:"";position:absolute;right:-10%;top:-40%;width:55%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(193,162,114,.35),transparent 70%)}
.band h2,.band h3{color:#fff}.band .kicker{color:var(--gold-300)}.band p{color:rgba(255,255,255,.86)}
.band img{border-radius:var(--radius);aspect-ratio:4/5;object-fit:cover;box-shadow:var(--shadow-lg);width:100%;max-width:420px;justify-self:center}
@media(max-width:900px){.band{grid-template-columns:1fr}.band img{max-width:340px}}

/* Testimonials */
.testi{background:#fff;border-radius:var(--radius-lg);padding:clamp(26px,4vw,44px);box-shadow:var(--shadow-sm);border:1px solid var(--line-soft);position:relative}
.testi::before{content:"“";position:absolute;top:8px;left:24px;font-family:var(--font-display);font-size:5rem;line-height:1;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.testi{border-top:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--gold-grad) border-box;border:1px solid transparent}
.testi p{font-family:var(--font-display);font-size:clamp(1.1rem,1.8vw,1.35rem);line-height:1.5;color:var(--blue-900);margin:22px 0 14px}
.testi cite{font-style:normal;font-weight:700;color:var(--muted);font-size:.9rem}
.testi cite{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}.testi__src{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.82rem;color:var(--muted)}.testi__stars{color:var(--gold-500);letter-spacing:2px;font-size:.95rem}
.testi__note{display:block;margin-top:8px;font-size:.78rem;font-style:italic;color:var(--muted)}

/* CTA band */
.cta{background:var(--blue-900);color:#fff;position:relative;overflow:hidden;border-top:1px solid transparent}
.cta::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--gold-line)}
.cta::before{content:"";position:absolute;inset:auto auto -60% -10%;width:50%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(193,162,114,.3),transparent 70%)}
.cta h2{color:#fff}.cta p{color:rgba(255,255,255,.85);max-width:56ch}
.cta .container{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}

/* Footer */
.footer{background:#0C2549;color:rgba(255,255,255,.8);padding:clamp(48px,7vw,80px) 0 28px;font-size:.95rem;position:relative}
.footer::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--gold-line)}
.footer a{color:#fff;text-decoration-color:rgba(226,209,174,.5)!important}
.footer a:hover{color:var(--gold-300)}
.footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:36px}
@media(max-width:1024px){.footer__grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.footer__grid{grid-template-columns:1fr}}
.footer .footer__h{color:var(--gold-300);font-family:var(--font-body);font-weight:700;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.h3{font-size:clamp(1.25rem,2vw,1.55rem)}
.footer ul{list-style:none;padding:0;margin:0}.footer li{margin:6px 0}
.footer .logo{margin-bottom:22px;display:inline-block}.footer .logo--footer .logo__img{height:auto;width:190px;color:var(--logo-gold)}
.footer__bottom{margin-top:40px;padding-top:20px;border-top:1px solid rgba(226,209,174,.18);display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;font-size:.85rem;color:rgba(255,255,255,.55)}
.footer p a,.footer li a{text-decoration:underline;text-underline-offset:3px}
.notice{background:rgba(193,162,114,.12);border:1px solid rgba(193,162,114,.35);border-radius:12px;padding:14px 16px;font-size:.9rem;margin-top:16px}
.notice strong{color:var(--gold-300)}
.nl-form{display:flex;flex-direction:column;gap:10px}
.nl-form input{width:100%}
.nl-form label.check{font-size:.8rem;color:rgba(255,255,255,.65)}
.nl-form .btn{align-self:flex-start}

/* Forms */
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.field label{font-weight:700;font-size:.9rem;color:var(--blue-900)}
.field small{color:var(--muted);font-size:.82rem}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=password],input[type=number],select,textarea{width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:#fff;font:inherit;color:var(--ink);transition:border-color .2s,box-shadow .2s}
select{appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2312356B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:16px;cursor:pointer}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--blue-600);box-shadow:0 0 0 4px rgba(47,95,168,.14)}
textarea{min-height:130px;resize:vertical}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--muted);cursor:pointer}
.check a,.notice a,.alert a,.prose p a,.lead a{text-decoration:underline;text-underline-offset:3px}
.check input{margin-top:4px;width:18px;height:18px;accent-color:var(--blue-900);flex:none}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}@media(max-width:600px){.form-row{grid-template-columns:1fr}}
.alert{padding:14px 18px;border-radius:12px;margin-bottom:20px;font-weight:600}
.alert--ok{background:#E6F4EC;color:#1E6B41;border:1px solid #BFE3CD}
.alert--err{background:#FCE9E6;color:#8E2A1F;border:1px solid #F3C4BD}
.alert--info{background:var(--blue-50);color:var(--blue-900);border:1px solid var(--blue-100)}
.hp{position:absolute;left:-9999px;top:-9999px;opacity:0}

/* Prose */
.prose{max-width:74ch}
.prose h2{font-size:clamp(1.5rem,2.6vw,1.95rem);margin-top:1.6em}
.prose h3{margin-top:1.4em}
.prose p,.prose li{font-size:1.06rem;line-height:1.75}
.prose blockquote{margin:1.5em 0;padding:4px 0 4px 22px;border-left:3px solid var(--gold-500);font-family:var(--font-display);font-size:1.25rem;font-style:italic;color:var(--blue-900)}
.prose img{border-radius:var(--radius);margin:1.5em 0}
.prose a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--gold-400)}
.prose .note{background:var(--gold-50);border:1px solid var(--gold-100);border-radius:12px;padding:16px 20px}
.prose .lead{font-size:1.2rem;color:var(--muted)}
.checklist{list-style:none;padding:0}.checklist li{padding-left:32px;position:relative;margin:10px 0}
.checklist li::before{content:"";position:absolute;left:0;top:4px;width:20px;height:20px;border-radius:50%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%2312356B' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M5 10.5l3.2 3L15 7'/%3E%3C/svg%3E") center/16px no-repeat,var(--gold-grad-btn)}
.checklist--no li::before{background:#EEF0F3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%235C6578' stroke-width='2.4' stroke-linecap='round' d='M6 6l8 8M14 6l-8 8'/%3E%3C/svg%3E") center/16px no-repeat}

/* Page header */
.page-head{padding-block:clamp(40px,6vw,72px) clamp(24px,4vw,40px);position:relative;overflow:hidden}
.page-head::before{content:"";position:absolute;right:-10%;top:-60%;width:40vw;max-width:560px;aspect-ratio:1;background:radial-gradient(closest-side,rgba(193,162,114,.18),transparent);pointer-events:none}
.page-head h1{max-width:20ch}
.breadcrumb{font-size:.85rem;color:var(--muted);margin-bottom:18px;display:flex;flex-wrap:wrap;gap:6px}
.breadcrumb a{color:var(--muted)}.breadcrumb span::before{content:"/";margin-right:6px;opacity:.5}

/* Service detail */
.detail{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,5vw,64px);align-items:start}
@media(max-width:900px){.detail{grid-template-columns:1fr}}
.sticky{position:sticky;top:calc(var(--header-h) + 20px)}
.buybox{background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow)}
.buybox .price{font-size:2.2rem}
.buybox dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:18px 0;font-size:.95rem}
.buybox dt{color:var(--muted)}.buybox dd{margin:0;font-weight:600}
.buybox .btn{width:100%}
.buybox .secure{font-size:.8rem;color:var(--muted);margin-top:12px;display:flex;gap:8px;align-items:flex-start}
.buybox .secure svg{width:16px;height:16px;flex:none;margin-top:2px}

/* Timeline */
.timeline{list-style:none;padding:0;margin:0;position:relative}
.timeline::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,var(--gold-300),var(--line))}
.timeline li{position:relative;padding:0 0 26px 36px}
.timeline li::before{content:"";position:absolute;left:2px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--gold-grad);border:3px solid var(--paper);box-shadow:0 0 0 1.5px var(--gold-400)}
.timeline time{font-weight:700;color:var(--gold-700);font-size:.85rem;letter-spacing:.04em;display:block;margin-bottom:2px}
.timeline strong{display:block;color:var(--blue-900)}
.timeline span{color:var(--muted);font-size:.95rem}

/* FAQ */
.faq details{background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius);padding:0 22px;margin-bottom:12px;transition:border-color .2s}
.faq details[open]{border-color:var(--gold-300)}
.faq summary{list-style:none;cursor:pointer;padding:18px 36px 18px 0;font-weight:700;color:var(--blue-900);position:relative;font-size:1.05rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--gold-100);color:var(--blue-900);display:grid;place-items:center;font-weight:700;transition:transform .25s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq .faq__a{padding:0 0 20px;color:var(--muted)}

/* Steps (joyful) */
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:900px){.steps{grid-template-columns:1fr}}
.step{background:#fff;border-radius:var(--radius);padding:28px 26px 28px;border:1px solid var(--line-soft);position:relative}
.step::before{counter-increment:s;content:"0" counter(s);font-family:var(--font-display);font-size:2.4rem;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;display:block;margin-bottom:12px}
.pricing{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:760px){.pricing{grid-template-columns:1fr}}
.plan{background:#fff;border:1.5px solid var(--line-soft);border-radius:var(--radius-lg);padding:32px;display:flex;flex-direction:column;gap:10px}
.plan--hi{border-color:var(--gold-500);box-shadow:var(--shadow)}
.plan .price{font-size:2.4rem}.plan .price small{font-size:.9rem}
.plan ul{margin:8px 0 16px}
.plan .btn{margin-top:auto}

/* Booking stepper */
.booking{display:grid;grid-template-columns:1fr 360px;gap:clamp(24px,4vw,48px);align-items:start}
@media(max-width:900px){.booking{grid-template-columns:1fr}}
.stepper{display:flex;gap:8px;margin-bottom:26px;flex-wrap:wrap}
.stepper span{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.85rem;font-weight:700;color:var(--muted)}
.stepper span.is-active{border-color:var(--gold-500);color:var(--blue-900);background:var(--gold-50)}
.stepper span.is-done{color:var(--ok)}
.stepper i{width:22px;height:22px;border-radius:50%;background:var(--line-soft);display:grid;place-items:center;font-style:normal;font-size:.75rem}
.stepper .is-active i{background:var(--gold-grad-btn);color:var(--blue-900)}.stepper .is-done i{background:var(--ok);color:#fff}
.cal{background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-sm)}
.cal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.cal__head strong{font-family:var(--font-display);font-size:1.3rem;font-weight:500;color:var(--blue-900)}
.cal__nav{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;display:grid;place-items:center;color:var(--blue-900)}
.cal__nav:hover{background:var(--blue-50)}.cal__nav[disabled]{opacity:.3;cursor:default}
.cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal__grid .dow{font-size:.72rem;font-weight:700;color:var(--muted);text-align:center;letter-spacing:.06em;padding:6px 0}
.cal__day{aspect-ratio:1;border-radius:12px;border:1px solid transparent;background:transparent;font-weight:600;color:#B7BCC7;cursor:default;font-size:.95rem}
.cal__day.is-avail{color:var(--blue-900);background:var(--blue-50);cursor:pointer;border-color:var(--blue-100)}
.cal__day.is-avail:hover{background:var(--gold-100);border-color:var(--gold-300)}
.cal__day.is-selected{background:var(--gold-grad-btn)!important;border-color:var(--gold-500);color:var(--blue-900)}
.cal__day.is-today{box-shadow:inset 0 0 0 1.5px var(--gold-500)}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin-top:8px}
.slot{padding:12px 8px;border-radius:12px;border:1.5px solid var(--line);background:#fff;font-weight:700;cursor:pointer;color:var(--blue-900);transition:all .15s}
.slot:hover{border-color:var(--gold-500);background:var(--gold-50)}
.slot.is-selected{background:var(--gold-grad-btn);border-color:var(--gold-500)}
.summary{background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:26px;box-shadow:var(--shadow)}
.summary h3{font-size:1.1rem;margin-bottom:14px}
.summary dl{margin:0;display:grid;gap:10px}
.summary dt{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.summary dd{margin:0 0 6px;font-weight:600}
.summary .total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line-soft);padding-top:14px;margin-top:8px}
.summary .total .price{font-size:1.8rem}
.booking-form{margin-top:26px;background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:26px;box-shadow:var(--shadow-sm)}
.plan-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}
@media(max-width:600px){.plan-choice{grid-template-columns:1fr}}
.plan-choice label{border:1.5px solid var(--line);border-radius:14px;padding:16px;cursor:pointer;display:flex;gap:12px;align-items:flex-start}
.plan-choice label:has(input:checked){border-color:var(--gold-500);background:var(--gold-50)}
.plan-choice input{margin-top:4px;accent-color:var(--blue-900)}
.plan-choice strong{display:block;color:var(--blue-900)}
.plan-choice small{color:var(--muted)}

/* Events & blog */
.event{display:grid;grid-template-columns:120px 1fr;gap:22px;background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius);padding:22px;margin-bottom:14px;align-items:center;color:inherit;text-decoration:none!important;transition:border-color .2s,box-shadow .2s}
.event:hover{border-color:var(--gold-300);box-shadow:var(--shadow)}
.event.is-past{opacity:.8}
.date-badge{background:var(--blue-900);color:#fff;border-radius:14px;text-align:center;padding:14px 8px;line-height:1.1}
.date-badge b{display:block;font-family:var(--font-display);font-size:2rem;font-weight:600;color:var(--gold-300)}
.date-badge{border-bottom:3px solid var(--gold-500)}
.date-badge span{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.event h3{margin:0 0 4px}.event p{margin:0;color:var(--muted)}
.event__meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.88rem;color:var(--muted);margin-top:8px}
@media(max-width:600px){.event{grid-template-columns:1fr}.date-badge{max-width:120px}}
.post-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:.88rem;color:var(--muted);margin-bottom:22px}
.article-cover{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);margin-bottom:34px}
.article-cover img{aspect-ratio:2/1;object-fit:cover;width:100%}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,5vw,64px)}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}
.info-list{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:14px}
.info-list li{display:flex;gap:14px;align-items:flex-start}
.info-list .ico{width:42px;height:42px;border-radius:12px;background:var(--gold-50);border:1px solid var(--gold-200);display:grid;place-items:center;flex:none;color:var(--gold-700)}
.info-list .ico svg{width:20px;height:20px}
.info-list strong{display:block;color:var(--blue-900)}
.map{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line-soft);aspect-ratio:16/9;background:var(--blue-50)}
.map--consent{display:grid;place-items:center;text-align:center;padding:20px}.map__consent{max-width:420px}.map__consent svg{width:36px;height:36px;color:var(--gold-600);margin:0 auto 10px}.map__consent p{font-size:.9rem;color:var(--muted)}.map__consent .btn{margin:4px}

/* Reveal */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}*{scroll-behavior:auto!important}}

/* Misc */
.pill-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.pill-list a{padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.9rem;font-weight:600;color:var(--blue-900);text-decoration:none!important}
.pill-list a:hover,.pill-list a.is-active{border-color:var(--gold-500);background:var(--gold-50)}
.message-page{min-height:50vh;display:grid;place-items:center;text-align:center;padding-block:60px}
.message-page .mark{width:200px;height:auto;margin:0 auto 26px;color:var(--logo-gold)}
table.simple{width:100%;border-collapse:collapse;font-size:.95rem}
table.simple th,table.simple td{padding:10px 12px;border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top}
table.simple th{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.status{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:700}
.status--confirmed,.status--paid{background:#E6F4EC;color:#1E6B41}.status--pending,.status--partially_paid{background:var(--gold-100);color:var(--gold-800)}.status--cancelled{background:#FCE9E6;color:#8E2A1F}.status--completed{background:#EEF0F3;color:var(--muted)}
.skip{position:absolute;left:-9999px;top:8px;background:var(--gold-300);padding:10px 16px;border-radius:8px;z-index:100}.skip:focus{left:8px}

/* Dark hero (home) */
.hero--dark{background:radial-gradient(120% 90% at 50% 0%,#17407E 0%,var(--blue-900) 45%,#0D2A55 100%);color:#fff;padding:0;overflow:visible;position:relative}
.hero--dark::before,.hero--dark::after{content:none}
.hero__bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero__bg::before{content:"";position:absolute;right:-12%;bottom:-35%;width:62vw;max-width:940px;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(193,162,114,.28),transparent 70%)}
.hero__bg::after{content:"";position:absolute;left:-15%;top:-20%;width:40vw;max-width:600px;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(47,95,168,.35),transparent 70%)}
.hero__center{position:relative;z-index:1;text-align:center;max-width:860px;padding-top:clamp(40px,7vh,84px)}
.hero--dark h1{color:#fff;font-size:clamp(2.2rem,4.6vw,3.9rem);line-height:1.08;font-weight:600;letter-spacing:-.02em;margin:0 auto .5em;max-width:24ch}
.hero--dark h1 em{display:block;font-style:italic;font-weight:500;background:linear-gradient(100deg,#D6BF95 0%,#F2E7D0 45%,#C9AB7B 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.04em}
.kicker--light{color:var(--gold-300)}.kicker--light::before,.kicker--light::after{background:var(--gold-grad)}
.lead--light{color:rgba(255,255,255,.82);margin:0 auto;font-size:clamp(1.05rem,1.5vw,1.25rem);max-width:56ch}
.hero--dark .hero__actions{justify-content:center;align-items:center;gap:18px;margin-top:28px}
.hero__alt{color:var(--gold-300);font-weight:600;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(226,209,174,.45)}.hero__alt:hover{color:#fff;text-decoration-color:#fff}
.hero__stage{position:relative;z-index:2;max-width:1180px;margin-top:clamp(36px,6vh,64px);margin-bottom:calc(-1 * var(--overlap,180px));padding-inline:clamp(0px,4vw,60px)}
.hero__card{position:relative;border-radius:22px;overflow:visible}
.hero__card::before{content:"";position:absolute;inset:-14px 16px -14px -16px;background:var(--gold-grad);border-radius:22px;transform:rotate(-2deg);z-index:0}
.hero__card::after{content:"";position:absolute;inset:12px -18px -14px 22px;background:transparent;border:1.5px solid rgba(226,209,174,.7);border-radius:22px;transform:rotate(1.4deg);z-index:0}
.hero__card picture,.hero__card img{position:relative;z-index:1;border-radius:22px;overflow:hidden;width:100%;aspect-ratio:2.15/1;object-fit:cover;object-position:50% 22%;box-shadow:0 30px 70px rgba(14,42,85,.35);display:block}
.hero__card .portrait__badge{z-index:2;left:auto;right:28px;bottom:28px}
.hero--dark + .help{padding-top:calc(var(--overlap,180px) + clamp(56px,8vw,96px))}
.help__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
@media(max-width:1024px){.help__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.help__grid{grid-template-columns:1fr;gap:12px}}
.help__tile{display:grid;grid-template-columns:52px 1fr auto;gap:16px;align-items:center;padding:20px 22px;background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:inherit;text-decoration:none!important;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s;min-height:96px}
.help__tile:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--gold-300)}
.help__ico{width:52px;height:52px;border-radius:14px;background:var(--gold-50);border:1px solid var(--gold-200);display:grid;place-items:center;color:var(--gold-700);transition:background .25s,color .25s}
.help__tile:hover .help__ico{background:var(--gold-grad-btn);color:var(--blue-900);border-color:transparent}.help__ico svg{width:26px;height:26px}
.help__body{display:flex;flex-direction:column;gap:3px;min-width:0}.help__body strong{color:var(--blue-900);font-size:1.05rem;line-height:1.3}.help__body span{color:var(--muted);font-size:.9rem;line-height:1.45}
.help__arrow{color:var(--gold-600);font-size:1.3rem;transition:transform .2s}.help__tile:hover .help__arrow{transform:translateX(4px)}
.hero__deco{position:absolute;pointer-events:none;z-index:0;opacity:.85}.hero__deco svg{width:100%;height:100%}
.hero__deco--1{left:8%;top:30%;width:34px;height:34px}.hero__deco--2{right:9%;top:22%;width:24px;height:24px}.hero__deco--3{right:14%;top:44%;width:14px;height:14px;opacity:.6}.hero__deco--4{left:14%;top:52%;width:12px;height:12px;opacity:.5}
@media(prefers-reduced-motion:no-preference){.hero__deco{animation:twinkle 5s ease-in-out infinite}.hero__deco--2{animation-delay:1.2s}.hero__deco--3{animation-delay:2.4s}.hero__deco--4{animation-delay:3.3s}}
@keyframes twinkle{0%,100%{transform:scale(1) rotate(0);opacity:.85}50%{transform:scale(.8) rotate(15deg);opacity:.45}}
@media(min-width:1025px) and (min-height:700px){.hero--dark.hero--full{min-height:calc(72vh - var(--header-h))}.hero--dark.hero--full .hero__center{padding-top:clamp(40px,9vh,110px)}}
@media(max-width:900px){:root{--overlap:110px}.hero__card::before,.hero__card::after{inset:-8px 8px -8px -8px}.hero__card::after{inset:8px -8px -6px 10px}.hero__card picture,.hero__card img{aspect-ratio:4/3;border-radius:16px}.hero__card .portrait__badge{right:12px;bottom:12px;padding:8px 12px;font-size:.8rem}.hero__deco{display:none}.hero--dark .hero__actions{flex-direction:column}}
/* Header over dark hero */
.header--dark:not(.is-stuck){border-bottom-color:rgba(226,209,174,.18)}.header--dark:not(.is-stuck)::before{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
body.is-home .hero--dark{margin-top:calc(-1 * var(--header-h));padding-top:var(--header-h)}
.header--dark:not(.is-stuck) .logo,.header--dark:not(.is-stuck) .nav a,.header--dark:not(.is-stuck) .lang,.header--dark:not(.is-stuck) .burger span{color:#fff}
.header--dark:not(.is-stuck) .burger span{background:#fff}
.header--dark:not(.is-stuck) .nav a:hover,.header--dark:not(.is-stuck) .nav a.is-active{background:rgba(255,255,255,.12);color:#fff}
.header--dark:not(.is-stuck) .lang{border-color:rgba(226,209,174,.45)}
.header--dark:not(.is-stuck) .logo__img{color:var(--logo-gold)}
@media(max-width:1024px){.header--dark:not(.is-stuck) .nav a{color:var(--ink)}.header--dark:not(.is-stuck) .nav.is-open{background:var(--paper)}}
body.is-home{background:var(--blue-900)}body.is-home main{background:var(--paper)}

@media(max-width:600px){.kicker--light::before,.kicker--light::after{display:none}.kicker--light{letter-spacing:.12em;line-height:1.5;justify-content:center}}

/* JOYFUL LIFE page */
.jl-hero .hero__inner{align-items:center}
.jl-brand{font:700 .95rem/1 var(--font-body);letter-spacing:.32em;color:var(--gold-700);margin:0 0 14px}
.jl-hero h1{font-size:clamp(2rem,4vw,3.2rem);max-width:18ch}
.jl-hero h1 em{display:block;font-style:italic;font-weight:500;color:var(--gold-700)}
.jl-intro{color:var(--muted);max-width:60ch}
.jl-chips{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.jl-chips li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--gold-200);font-size:.9rem;font-weight:600;color:var(--blue-900)}
.jl-chips svg{width:17px;height:17px;color:var(--gold-600)}
.jl-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.jl-ctas--dark{justify-content:center}
.jl-know{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(28px,5vw,64px);align-items:center}
@media(max-width:900px){.jl-know{grid-template-columns:1fr}}
.jl-pain{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px}
.jl-pain li{position:relative;padding:14px 18px 14px 46px;background:var(--paper);border-radius:14px;border:1px solid var(--line-soft)}
.jl-pain li::before{content:"";position:absolute;left:18px;top:22px;width:14px;height:2px;background:var(--gold-grad);border-radius:2px}
.jl-answer{background:var(--blue-900);color:#fff;border-radius:var(--radius-lg);padding:clamp(26px,4vw,40px);position:relative;overflow:hidden;box-shadow:var(--shadow-lg)}
.jl-answer::before{content:"";position:absolute;right:-30%;top:-40%;width:80%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(193,162,114,.3),transparent 70%)}
.jl-answer__q{position:relative;font-family:var(--font-display);font-style:italic;font-size:1.25rem;line-height:1.45;color:var(--gold-300);margin-bottom:18px}
.jl-answer__a{position:relative;font-size:1.05rem;line-height:1.65;margin:0}
.jl-visible{padding:30px}
.jl-visible h3{font-size:1.15rem;font-family:var(--font-body);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-700)}
.jl-visible__outro{border-top:1px solid var(--line-soft);padding-top:16px;margin-top:6px}.jl-visible__outro p{font-size:.98rem}
.jl-process{list-style:none;padding:0;margin:40px 0 0;position:relative}
.jl-process::before{content:"";position:absolute;left:23px;top:24px;bottom:24px;width:2px;background:linear-gradient(180deg,var(--gold-300),var(--gold-100))}
.jl-process li{position:relative;display:grid;grid-template-columns:48px 1fr;gap:20px;padding-bottom:30px}
.jl-process__n{width:48px;height:48px;border-radius:50%;background:var(--gold-grad-btn);color:var(--blue-900);display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:1.25rem;box-shadow:0 0 0 6px var(--white);position:relative}
.jl-process__label{display:block;font:700 .76rem/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-700);margin:6px 0 8px}
.jl-process h3{margin:0 0 6px}.jl-process p{color:var(--muted);margin:0}
.jl-compare{display:grid;gap:12px;margin-top:38px;max-width:980px;margin-inline:auto}
.jl-compare__row{display:grid;grid-template-columns:1fr 40px 1fr;align-items:stretch;gap:0}
.jl-compare__before,.jl-compare__after{padding:16px 20px;border-radius:14px;font-size:1rem;line-height:1.5}
.jl-compare__before{background:#F1F0EC;color:var(--muted)}
.jl-compare__after{background:#fff;border:1px solid var(--gold-200);color:var(--blue-900);font-weight:600}
.jl-compare__before span,.jl-compare__after span{display:block;font:700 .7rem/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.jl-compare__before span{color:#9A9FA9}.jl-compare__after span{color:var(--gold-700)}
.jl-compare__arrow{display:grid;place-items:center;color:var(--gold-600);font-size:1.3rem}
@media(max-width:700px){.jl-compare__row{grid-template-columns:1fr}.jl-compare__arrow{transform:rotate(90deg);height:32px}}
.jl-facts{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,5vw,64px);align-items:start}
@media(max-width:900px){.jl-facts{grid-template-columns:1fr}}
.jl-dl{margin:24px 0 0;border-top:1px solid var(--line-soft)}
.jl-dl div{display:grid;grid-template-columns:170px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line-soft)}
.jl-dl dt{font:700 .78rem/1.6 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-700)}
.jl-dl dd{margin:0;color:var(--blue-900);font-weight:600}
@media(max-width:560px){.jl-dl div{grid-template-columns:1fr;gap:2px}}
.jl-facts__cta{background:var(--blue-900);color:#fff;border-radius:var(--radius-lg);padding:32px;text-align:center;box-shadow:var(--shadow-lg);position:sticky;top:calc(var(--header-h) + 20px)}
.jl-facts__cta h3{color:#fff}.jl-facts__cta p{color:rgba(255,255,255,.82)}
.jl-facts__sym{width:170px;height:auto;margin:0 auto 18px;color:var(--logo-gold)}
.jl-final{text-align:center;padding-block:clamp(64px,9vw,110px)}
.jl-final .container{display:block}
.jl-final__inner{max-width:760px;margin:0 auto;position:relative}
.jl-final__sym{width:200px;height:auto;margin:0 auto 22px;color:var(--logo-gold)}
.jl-final h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}.jl-final p{margin-inline:auto}
.jl-final__contact{margin-top:22px;font-size:.95rem}.jl-final__contact a{color:var(--gold-300);text-decoration:underline;text-underline-offset:3px}

.book-title{font-size:clamp(1.9rem,3.6vw,2.8rem);max-width:24ch}
/* grid children must not grow past the viewport; long button labels wrap on phones */
.jl-facts > *,.jl-know > *,.split > *,.detail > *,.booking > *,.contact-grid > *{min-width:0}
@media(max-width:560px){.btn{white-space:normal;text-align:center;line-height:1.25}.jl-ctas .btn,.jl-facts__cta .btn{width:100%}}
/* Doctolib website button (as on the previous site: Doctolib "option 8"), logo self-hosted – no request to Doctolib before a click */
.doctolib-float{position:fixed;top:200px;right:0;z-index:40;width:80px;padding:5px;background:#107ACA;color:#fff;text-align:center;font:13px/1.4 var(--font-body);border-radius:4px 0 0 4px;box-shadow:1px 2px 4px rgba(0,0,0,.2);opacity:.85;transition:opacity .2s}
.doctolib-float:hover,.doctolib-float:focus-within{opacity:1}
.doctolib-float img{display:block;height:18px;width:auto;margin:3px auto}
.doctolib-float a{display:block;margin-top:5px;padding:6px 4px;background:#fff;color:#107ACA;border-radius:4px;text-decoration:none;font-weight:600}
.doctolib-float a:hover{background:#EAF3FB}
.doctolib-float a:focus-visible{outline:2px solid #fff;outline-offset:2px}
/* phones: compact, bottom right – at 200px from the top it covered headings and body text */
@media(max-width:640px){.doctolib-float{top:auto;bottom:18px;width:70px;padding:4px;font-size:12px;opacity:.95}.doctolib-float img{height:15px}.doctolib-float a{padding:5px 2px;margin-top:4px}}
@media print{.doctolib-float{display:none}}
