  :root{
    --bg:#FAF7FC;          /* lavanda alb */
    --ink:#2E1F3D;          /* violet foarte închis, pt text */
    --lilac:#C7A9EA;        /* LILA principal */
    --lilac-deep:#8158C0;   /* lila principal, butoane */
    --lilac-dark:#6B44A8;
    --lilac-soft:#F2EBFB;   /* fundal delicat */
    --lilac-line:#E4D6F5;   /* borduri */
    --mauve:#7E6A99;        /* text secundar */
    --blush:#F3D9E8;        /* roz pudrat, accente mici */
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{
    scroll-behavior:smooth;
    -webkit-text-size-adjust:100%;   /* Safari pe iOS nu mai umflă textul în peisaj */
    text-size-adjust:100%;
  }
  img{max-width:100%}
  a,button{-webkit-tap-highlight-color:rgba(129,88,192,.15)}
  body{
    font-family:'Karla',sans-serif;
    background:var(--bg);
    color:var(--ink);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  .wrap{max-width:980px;margin:0 auto;padding:0 20px}

  /* ---------- top bar ---------- */
  header{
    position:sticky;top:0;z-index:50;
    background:rgba(250,247,252,.9);
    -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
    border-bottom:1px solid var(--lilac-line);
  }
  .bar{display:flex;align-items:center;justify-content:space-between;padding:8px 0;gap:10px}
  .brand img{height:84px;width:auto;display:block}
  .topright{display:flex;align-items:center;gap:14px}
  .topsoc{display:flex;align-items:center;gap:4px}
  .topsoc a{
    display:flex;align-items:center;justify-content:center;
    width:34px;height:34px;border-radius:50%;
    color:var(--lilac-deep);transition:background .18s;
  }
  .topsoc a svg{width:18px;height:18px;fill:currentColor}
  .topsoc a:hover{background:var(--lilac-soft)}
  .lang{display:flex;border:1px solid var(--lilac-deep);border-radius:99px;overflow:hidden;flex-shrink:0}
  .lang button{
    font-family:'Karla',sans-serif;font-weight:700;font-size:.78rem;
    letter-spacing:.08em;padding:7px 12px;border:none;cursor:pointer;
    background:transparent;color:var(--lilac-deep);
    display:flex;align-items:center;gap:6px;
  }
  .lang button svg{width:17px;height:12px;border-radius:2.5px;display:block}
  .lang button.on{background:var(--lilac-deep);color:#fff}
  .lang button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
  @media (max-width:640px){
    .brand img{height:52px}
    .topright{gap:8px}
    .topsoc a{width:30px;height:30px}
    .topsoc a svg{width:16px;height:16px}
    .topsoc .hide-sm{display:none}   /* pe ecrane mici rămân Instagram, TikTok și WhatsApp */
    .lang button{padding:6px 9px}
  }

  /* ---------- hero ---------- */
  .hero{
    display:grid;grid-template-columns:1.1fr .9fr;gap:40px;
    align-items:center;padding:64px 0 56px;
  }
  .hero h1{
    font-family:'Fraunces',serif;font-weight:500;
    font-size:clamp(2.2rem,5.5vw,3.5rem);
    line-height:1.07;letter-spacing:-.01em;
  }
  .hero h1 .shine{
    font-style:italic;display:inline-block;
    padding:0 .06em .14em 0;margin-bottom:-.14em;  /* loc pentru codițele literelor (y, g), tăiate altfel de clip */
    background:linear-gradient(105deg,var(--lilac-deep) 38%,var(--lilac) 50%,var(--lilac-deep) 62%);
    background-size:250% 100%;
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;
    animation:gloss 5.5s ease-in-out infinite;
  }
  @keyframes gloss{0%,55%{background-position:120% 0}78%{background-position:-20% 0}100%{background-position:-20% 0}}
  @media (prefers-reduced-motion:reduce){.hero h1 .shine{animation:none}}
  .hero p{margin-top:18px;max-width:50ch;font-size:1.03rem;color:#54426B}
  .cta{
    display:inline-block;margin-top:24px;
    background:var(--lilac-deep);color:#fff;text-decoration:none;
    font-weight:700;font-size:.84rem;letter-spacing:.045em;
    padding:11px 24px;border-radius:99px;
    box-shadow:0 4px 14px rgba(129,88,192,.22);
    transition:background .2s, transform .15s;
  }
  .cta:hover{background:var(--lilac-dark);transform:translateY(-1px)}
  .hero .loc{display:block;margin-top:16px;font-size:.85rem;color:var(--mauve)}

  /* poza hero în arc de migdală — semnătura paginii */
  .arch{
    width:100%;aspect-ratio:3/4;overflow:hidden;
    border-radius:999px 999px 26px 26px;   /* forma de unghie migdală */
    border:1px solid var(--lilac-line);
    background:linear-gradient(160deg,var(--lilac) 0%,var(--blush) 55%,var(--lilac-soft) 100%);
    box-shadow:0 24px 60px rgba(129,88,192,.18);
  }
  .arch img{width:100%;height:100%;object-fit:cover;display:block}

  /* ---------- included strip ---------- */
  .included{
    background:linear-gradient(120deg,var(--lilac-deep),#7A44B8);
    color:var(--lilac-soft);padding:26px 0;
  }
  .included .wrap{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;justify-content:center}
  .included span{font-size:.86rem;font-weight:500;white-space:nowrap}
  .included span::before{content:"✓";margin-right:7px;color:var(--lilac)}

  /* ---------- sections ---------- */
  section.svc{padding:52px 0 8px}
  .eyebrow{
    font-size:.74rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
    color:var(--lilac-deep);margin-bottom:8px;
  }
  .svc h2{
    font-family:'Fraunces',serif;font-weight:500;font-size:1.85rem;
    letter-spacing:-.01em;margin-bottom:6px;
  }
  .svc .sub{font-size:.94rem;color:var(--mauve);margin-bottom:22px;max-width:62ch}

  .card{
    background:#fff;border:1px solid var(--lilac-line);border-radius:18px;
    padding:20px 20px 18px;margin-bottom:12px;
    position:relative;overflow:hidden;
    box-shadow:0 3px 14px rgba(129,88,192,.05);
    transition:box-shadow .2s, transform .2s;
  }
  .card:hover{box-shadow:0 10px 30px rgba(129,88,192,.12);transform:translateY(-2px)}
  .card::after{
    content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;
    background:linear-gradient(100deg,transparent,rgba(239,231,248,.9),transparent);
    transform:skewX(-18deg);transition:left .55s ease;pointer-events:none;
  }
  .card:hover::after{left:130%}
  @media (prefers-reduced-motion:reduce){
    .card::after{display:none}
    .card:hover{transform:none}
  }
  .row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
  .row h3{font-family:'Fraunces',serif;font-weight:600;font-size:1.12rem;line-height:1.25}
  .price{font-family:'Fraunces',serif;font-weight:600;font-size:1.2rem;color:var(--lilac-deep);white-space:nowrap}
  .meta{font-size:.8rem;color:var(--mauve);margin-top:3px}
  .desc{font-size:.91rem;color:#54426B;margin-top:9px;max-width:60ch}
  .book{
    display:inline-block;margin-top:14px;
    color:var(--lilac-deep);border:1.5px solid var(--lilac-deep);
    text-decoration:none;font-weight:700;font-size:.82rem;letter-spacing:.05em;
    padding:9px 22px;border-radius:99px;transition:all .18s;
  }
  .book:hover{background:var(--lilac-deep);color:#fff}

  .note{
    font-size:.85rem;color:#54426B;background:var(--lilac-soft);
    border:1px solid var(--lilac-line);
    border-radius:14px;padding:15px 17px;margin:14px 0 6px;
  }
  .addons{list-style:none;margin-top:6px}
  .addons li{
    display:flex;justify-content:space-between;gap:10px;
    font-size:.9rem;padding:9px 2px;border-bottom:1px dashed var(--lilac-line);
  }
  .addons li:last-child{border-bottom:none}
  .addons b{color:var(--lilac-deep);font-weight:700;white-space:nowrap}

  /* ---------- galerie ---------- */
  .gallery{padding:56px 0 10px;text-align:center}
  .gallery h2{font-family:'Fraunces',serif;font-weight:500;font-size:1.85rem;margin-bottom:6px}
  .gallery .sub{font-size:.94rem;color:var(--mauve);margin-bottom:26px}
  .ggrid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  }
  .gitem{
    aspect-ratio:3/4;overflow:hidden;
    border-radius:999px 999px 20px 20px;
    border:1px solid var(--lilac-line);
    background:linear-gradient(160deg,var(--lilac-soft),var(--blush));
    box-shadow:0 8px 24px rgba(129,88,192,.08);
    transition:transform .25s;
  }
  .gitem img{width:100%;height:100%;object-fit:cover;display:block}
  .gitem:hover{transform:scale(1.02)}
  .gallery .ig{display:inline-block;margin-top:24px;color:var(--lilac-deep);font-weight:700;font-size:.9rem;text-decoration:none}
  .gallery .ig:hover{text-decoration:underline}

  /* ---------- testimoniale ---------- */
  .testi{padding:56px 0 8px;text-align:center}
  .testi h2{font-family:'Fraunces',serif;font-weight:500;font-size:1.85rem;margin-bottom:6px}
  .testi .sub{font-size:.94rem;color:var(--mauve);margin-bottom:24px}
  .tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;text-align:left}
  .tcard{
    background:#fff;border:1px solid var(--lilac-line);border-radius:16px;
    padding:20px;box-shadow:0 3px 14px rgba(129,88,192,.05);
    display:flex;flex-direction:column;
  }
  .tstars{color:#E8A33D;font-size:.95rem;letter-spacing:2px;margin-bottom:8px}
  .tcard p{font-size:.9rem;color:#54426B;flex:1}
  .tcard .tname{margin-top:12px;font-weight:700;font-size:.85rem;color:var(--lilac-deep)}
  .testi .rcta{
    display:inline-block;margin-top:24px;
    color:var(--lilac-deep);border:1.5px solid var(--lilac-deep);
    text-decoration:none;font-weight:700;font-size:.86rem;letter-spacing:.04em;
    padding:12px 26px;border-radius:99px;transition:all .18s;
  }
  .testi .rcta:hover{background:var(--lilac-deep);color:#fff}
  @media (max-width:720px){.tgrid{grid-template-columns:1fr}}

  /* ---------- quiz: ce ti se potriveste ---------- */
  .quiz{
    margin-top:52px;background:linear-gradient(150deg,#fff, var(--lilac-soft));
    border:1px solid var(--lilac-line);border-radius:20px;padding:30px 26px;
    box-shadow:0 3px 14px rgba(129,88,192,.05);
  }
  .quiz h2{font-family:'Fraunces',serif;font-weight:500;font-size:1.55rem;margin-bottom:6px}
  .quiz .sub{font-size:.92rem;color:var(--mauve);margin-bottom:18px}
  .qq{margin-bottom:16px}
  .qq .qt{font-weight:700;font-size:.95rem;margin-bottom:9px}
  .qopts{display:flex;flex-wrap:wrap;gap:8px}
  .qopts button{
    font-family:'Karla',sans-serif;font-size:.86rem;font-weight:500;
    padding:10px 16px;border-radius:99px;cursor:pointer;
    border:1.5px solid var(--lilac-line);background:#fff;color:#54426B;
    transition:all .15s;
  }
  .qopts button:hover{border-color:var(--lilac-deep)}
  .qopts button.sel{background:var(--lilac-deep);border-color:var(--lilac-deep);color:#fff}
  .qresult{
    margin-top:20px;background:#fff;border:1.5px solid var(--lilac-deep);
    border-radius:16px;padding:20px;display:none;
  }
  .qresult.show{display:block;animation:qin .3s ease}
  @keyframes qin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
  .qresult .qlabel{
    font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
    color:var(--lilac-deep);margin-bottom:6px;
  }
  .qresult h3{font-family:'Fraunces',serif;font-weight:600;font-size:1.2rem}
  .qresult .qprice{font-family:'Fraunces',serif;color:var(--lilac-deep);font-weight:600;font-size:1.15rem}
  .qresult .qnote{font-size:.87rem;color:var(--mauve);margin-top:8px}
  .qresult .book{margin-top:14px}

  /* ---------- aftercare ---------- */
  .aftercare{
    margin-top:52px;background:#fff;border:1px solid var(--lilac-line);
    border-radius:20px;padding:30px 26px;
    box-shadow:0 3px 14px rgba(129,88,192,.05);
  }
  .aftercare h2{font-family:'Fraunces',serif;font-weight:500;font-size:1.55rem;margin-bottom:6px}
  .aftercare .sub{font-size:.92rem;color:var(--mauve);margin-bottom:14px}
  .aftercare ul{list-style:none}
  .aftercare li{
    font-size:.92rem;color:#54426B;padding:7px 0 7px 24px;position:relative;
  }
  .aftercare li::before{content:"✓";position:absolute;left:2px;color:var(--lilac-deep);font-weight:700}
  .aftercare .guar{
    margin-top:14px;background:var(--lilac-soft);border-radius:12px;
    padding:13px 16px;font-size:.9rem;color:#3D2650;
  }
  .aftercare .dl{
    display:inline-block;margin-top:16px;
    background:var(--lilac-deep);color:#fff;text-decoration:none;
    font-weight:700;font-size:.86rem;letter-spacing:.04em;
    padding:12px 26px;border-radius:99px;transition:background .2s;
  }
  .aftercare .dl:hover{background:var(--lilac-dark)}

  /* ---------- offer ---------- */
  .offer{margin:52px 0 0;padding:36px 26px;border-radius:20px;
    background:linear-gradient(135deg,var(--lilac-deep),#8A50C7 60%,var(--lilac));
    color:#fff;text-align:center;
    box-shadow:0 10px 28px rgba(129,88,192,.18)}
  .offer h2{font-family:'Fraunces',serif;font-weight:500;font-size:1.55rem;margin-bottom:8px}
  .offer p{font-size:.96rem;color:#F0E6FB;max-width:48ch;margin:0 auto}

  /* ---------- footer ---------- */
  footer{padding:96px 0 60px;text-align:center}
  /* linie subțire care desparte conținutul paginii de subsol, ca logoul
     să nu mai stea lipit de ultimul rând de text */
  footer::before{
    content:"";display:block;width:72px;height:1px;
    background:var(--lilac-line);margin:0 auto 56px;
  }
  footer .fbrand{margin:0 0 28px}
  footer .fbrand img{height:120px;width:auto;margin:0 auto;display:block;max-width:100%;object-fit:contain}
  footer p{font-size:.88rem;color:var(--mauve)}
  footer a{color:var(--lilac-deep);font-weight:700;text-decoration:none}
  footer a:hover{text-decoration:underline}
  .flinks{margin-top:14px;display:flex;justify-content:center;gap:22px;flex-wrap:wrap}
  .socials{margin-top:20px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
  .socials a{
    display:flex;align-items:center;justify-content:center;
    width:46px;height:46px;border-radius:50%;
    color:var(--lilac-deep);border:1.5px solid var(--lilac-line);
    background:#fff;transition:all .18s;
  }
  .socials a svg{width:21px;height:21px;fill:currentColor}
  .socials a:hover{border-color:var(--lilac-deep);background:var(--lilac-deep);color:#fff}
  /* reper invizibil: când ajunge în ecran, bara de jos se retrage */
  #footer-end{height:1px;width:100%}
  .legal{
    margin-top:28px;padding-top:20px;border-top:1px solid var(--lilac-line);
    font-size:.76rem;color:var(--mauve);line-height:1.6;max-width:64ch;
    margin-left:auto;margin-right:auto;
  }
  .legal .disc{margin-top:8px}

  @media (max-width:720px){
    .hero{grid-template-columns:1fr;gap:28px;padding:44px 0 40px}
    .arch{max-width:320px;margin:0 auto}
    .ggrid{grid-template-columns:repeat(2,1fr)}
    .row{flex-wrap:wrap}
    .book{padding:12px 26px;font-size:.88rem}   /* buton mai ușor de atins cu degetul */
    footer{padding-top:88px;padding-bottom:56px}
    footer::before{margin-bottom:48px}
    footer .fbrand{margin-bottom:24px}
    footer .fbrand img{height:96px}
  }

  /* ---------- bara fixă de booking, doar pe mobil ---------- */
  .stickybar{
    position:fixed;left:0;right:0;bottom:0;z-index:60;
    display:none;padding:12px 16px;
    padding-bottom:calc(12px + env(safe-area-inset-bottom));
    background:rgba(250,247,252,.94);
    -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
    border-top:1px solid var(--lilac-line);
    transform:translateY(110%);transition:transform .3s ease;
  }
  .stickybar.show{transform:translateY(0)}
  .stickybar a{
    display:block;text-align:center;
    background:var(--lilac-deep);color:#fff;text-decoration:none;
    font-weight:700;font-size:.95rem;letter-spacing:.04em;
    padding:12px;border-radius:99px;font-size:.86rem;
    box-shadow:0 4px 16px rgba(129,88,192,.24);
  }
  @media (max-width:720px){.stickybar{display:block}}
  @media (prefers-reduced-motion:reduce){.stickybar{transition:none}}

  /* ============ MENIU: butoane mici, mereu vizibile ============ */
  .brand{display:block}
  .mainnav{
    display:flex;flex-wrap:wrap;align-items:center;
    padding:2px 0 4px;
  }
  .mainnav a{
    font-size:.82rem;font-weight:500;letter-spacing:.02em;
    color:var(--lilac-deep);text-decoration:none;
    padding:8px 15px;border-radius:99px;margin:0 8px 8px 0;
    background:#fff;border:1px solid var(--lilac-line);
    transition:background .18s,border-color .18s,color .18s;
  }
  .mainnav a:hover{background:var(--lilac-soft);border-color:var(--lilac)}
  .mainnav a[aria-current]{
    background:var(--lilac-soft);border-color:var(--lilac);
    color:var(--lilac-dark);font-weight:700;
  }
  .mainnav a:focus-visible{outline:2px solid var(--lilac-deep);outline-offset:2px}

  @media (max-width:720px){
    /* pe telefon meniul se poate trage cu degetul, fara sa se rupa in randuri */
    .mainnav{
      flex-wrap:nowrap;overflow-x:auto;
      -webkit-overflow-scrolling:touch;scrollbar-width:none;
      padding:2px 20px 4px;margin:0 -20px;
    }
    .mainnav::-webkit-scrollbar{display:none}
    .mainnav a{flex:none;font-size:.8rem;padding:8px 14px}
  }

  /* ============ CAP DE PAGINĂ INTERIOARĂ ============ */
  .pagehead{padding:44px 0 4px}
  .pagehead h1{
    font-family:'Fraunces',serif;font-weight:500;
    font-size:clamp(2.35rem,8vw,3rem);line-height:1.08;
  }
  /* prima secțiune de sub titlu nu mai are nevoie de spațiul ei obișnuit de sus */
  #services section.svc:first-child{padding-top:22px}
  .pagehead + .gallery{padding-top:22px}
  .pagehead + .aftercare{margin-top:24px}   /* e cutie cu chenar: mutăm marginea, nu padding-ul dinăuntru */
  .pagehead + .stops{margin-top:24px}
  .pagehead p{margin-top:14px;max-width:56ch;color:#54426B}
  .pagelinks{padding:10px 0 40px}
  .pagelinks a{
    color:var(--lilac-deep);font-weight:700;font-size:.92rem;text-decoration:none;
  }
  .pagelinks a:hover{text-decoration:underline}

  /* ============ ADRESA ============ */
  .addrcard{
    display:flex;flex-wrap:wrap;align-items:baseline;
    background:var(--lilac-soft);border:1px solid var(--lilac-line);
    border-radius:16px;padding:20px 22px;margin-top:26px;
  }
  .addrcard > *{margin:0 16px 6px 0}
  .addrcard strong{font-family:'Fraunces',serif;font-size:1.3rem;font-weight:500}
  .addrcard span{color:var(--mauve)}
  .addrcard a{margin-left:auto;color:var(--lilac-deep);font-weight:700;font-size:.9rem;text-decoration:none}
  .addrcard a:hover{text-decoration:underline}
  .faddr{margin-top:4px}
  .faddr strong{display:block;font-family:'Fraunces',serif;font-size:1.05rem;font-weight:500}
  .faddr span{color:var(--mauve);font-size:.92rem}

  /* ============ PLANIFICATOR DE DRUM ============ */
  .planner{
    background:#fff;border:1px solid var(--lilac-line);
    border-radius:18px;padding:24px;margin-top:26px;
    box-shadow:0 10px 30px rgba(129,88,192,.06);
  }
  .planner h2{font-family:'Fraunces',serif;font-weight:500;font-size:1.5rem}
  .planner .sub{color:var(--mauve);margin-top:8px;font-size:.95rem}
  .planner label{
    display:block;margin-top:20px;margin-bottom:8px;
    font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mauve);
  }
  .planner input{
    width:100%;font-family:'Karla',sans-serif;font-size:1rem;
    padding:14px 16px;border:1px solid var(--lilac-line);border-radius:12px;
    background:var(--bg);color:var(--ink);
  }
  .planner input:focus{outline:2px solid var(--lilac-deep);outline-offset:1px}
  .planner .btnrow{display:flex;flex-wrap:wrap;margin-top:14px}
  .planner .btnrow button{margin:0 10px 10px 0}
  .planner button{
    font-family:'Karla',sans-serif;font-weight:700;font-size:.92rem;
    letter-spacing:.04em;padding:14px 26px;border-radius:99px;cursor:pointer;border:none;
  }
  #plan-go{background:var(--lilac-deep);color:#fff;flex:1 1 200px}
  #plan-go:hover{background:var(--lilac-dark)}
  #plan-here{background:transparent;color:var(--lilac-deep);border:1px solid var(--lilac-line);flex:1 1 180px}
  #plan-here:hover{border-color:var(--lilac-deep)}
  .planner .pnote{margin-top:12px;font-size:.88rem;color:var(--mauve);min-height:1.2em}

  /* ============ CELE DOUĂ STAȚII ============ */
  .stops{margin-top:34px}
  .stops h2{font-family:'Fraunces',serif;font-weight:500;font-size:1.5rem}
  .stops .sub{color:var(--mauve);margin-top:8px;font-size:.95rem}
  .stop{display:flex;align-items:flex-start;padding:16px 0}
  .stop .no{margin-right:14px}
  .stop .no{
    flex:none;width:52px;height:34px;border-radius:99px;
    background:var(--lilac-deep);color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-weight:700;font-size:.82rem;letter-spacing:.03em;
  }
  .stop .no.alt{background:var(--lilac)}
  .stop b{display:block;font-weight:700;font-size:1rem}
  .stop p{color:var(--mauve);font-size:.93rem;margin-top:2px}
  .tarmac{
    position:relative;height:26px;
    background:
      repeating-linear-gradient(90deg,var(--lilac-line) 0 14px,transparent 14px 28px)
      center/100% 2px no-repeat;
  }
  .tarmac span{
    position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    background:var(--bg);padding:0 12px;
    font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--mauve);
  }
  .walkline{
    margin-top:14px;padding-left:16px;border-left:3px solid var(--blush);
    color:#54426B;font-size:.95rem;
  }
  .kv{list-style:none;margin-top:24px}
  .kv li{
    display:flex;padding:12px 0;border-top:1px solid var(--lilac-line);
    font-size:.95rem;
  }
  .kv .k{margin-right:16px}
  .kv .k{
    flex:none;width:96px;color:var(--mauve);
    font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding-top:3px;
  }
  .kv a{color:var(--lilac-deep)}
  @media (max-width:520px){
    .kv li{flex-direction:column}
    .kv .k{width:auto;margin:0 0 4px}
  }

  /* ============ PLASE DE SIGURANȚĂ PENTRU TELEFOANE MAI VECHI ============ */

  /* aspect-ratio a apărut abia în Safari 15. Fără ea, pozele ar avea
     înălțime zero, așa că le ținem cu vechiul truc cu padding. */
  @supports not (aspect-ratio: 3 / 4){
    .arch, .gitem{position:relative;height:0;padding-top:133.33%}
    .arch img, .gitem img{position:absolute;top:0;left:0}
  }

  /* ============ TITLURI ============
     Pornim de la lila plin, care se vede oriunde. Doar dacă browserul
     chiar știe să decupeze fundalul pe litere, punem gradientul lucios
     peste. Așa nu rămâne niciun titlu invizibil pe telefoane vechi. */
  .pagehead h1,
  .svc h2, .gallery h2, .testi h2, .quiz h2,
  .aftercare h2, .planner h2, .stops h2,
  .hero h1 .shine{
    color:var(--lilac-dark);
  }
  .pagehead h1,
  .svc h2, .gallery h2, .testi h2, .quiz h2,
  .aftercare h2, .planner h2, .stops h2{
    width:-moz-fit-content;width:fit-content;max-width:100%;
  }
  @supports (-webkit-background-clip: text) or (background-clip: text){
    .pagehead h1,
    .svc h2, .gallery h2, .testi h2, .quiz h2,
    .aftercare h2, .planner h2, .stops h2{
      background:linear-gradient(105deg,var(--lilac-dark) 34%,var(--lilac) 50%,var(--lilac-dark) 66%);
      background-size:250% 100%;
      background-position:42% 0;
      -webkit-background-clip:text;background-clip:text;
      -webkit-text-fill-color:transparent;
      padding-bottom:.1em;
    }
    .pagehead h1{animation:gloss 5.5s ease-in-out infinite}
  }
  /* titlurile centrate rămân centrate */
  .testi h2, .gallery h2{margin-left:auto;margin-right:auto}
  @media (prefers-reduced-motion:reduce){
    .pagehead h1{animation:none}
  }

  /* ============ ECRANE FOARTE MICI ============ */
  @media (max-width:380px){
    .brand img{height:46px}
    footer::before{margin-bottom:40px}
    footer .fbrand img{height:82px}
    .wrap{padding:0 16px}
    .mainnav{padding-left:16px;padding-right:16px;margin:0 -16px}
    .hero h1{font-size:1.9rem}
    .pagehead h1{font-size:2rem}
    .addrcard{padding:16px}
    .planner{padding:18px}
  }

  /* ============ TABLETE ȘI LAPTOPURI ============ */
  @media (min-width:721px) and (max-width:1024px){
    .ggrid{gap:12px}
    .hero{gap:32px}
  }
  @media (min-width:1200px){
    .wrap{max-width:1060px}
  }

  /* pe ecrane late galeria stă mai bine pe trei coloane egale, deja e așa;
     aici doar lăsăm pozele să nu devină uriașe pe monitoare mari */
  @media (min-width:1400px){
    .arch{max-width:460px;margin-left:auto}
  }
