/* ==========================================================
   Luna Theia · stratul de design final (octombrie 2026)
   Se încarcă ULTIMUL și stabilește: culori, fonturi, forme, ritm.
   Principii: echilibru și simetrie în structură. Formele neregulate
   rămân doar ca accente, pe fotografii. Fără degradeuri decorative.
   ========================================================== */

:root {
  --porcelain: #FFFFFF;   /* fundalul paginii: alb pur */
  --paper: #FFFFFF;
  --ink: #2A1A20;         /* titluri */
  --text: #46373D;        /* text */
  --muted: #6F5F65;       /* text secundar */
  --line: #EFE8E9;        /* linii fine */
  --blush: #FCF7F7;       /* roz pudrat foarte fin, doar ca accent rar */
  --wine: #7E2450;        /* ciclam adânc, culoarea principală */
  --wine-2: #8C2D5C;
  --wine-3: #5E1A3C;      /* ciclam profund, suprafețe importante */
  --wine-ink: #7E2450;
  --champagne: #B39270;   /* accent fin, doar pe linii și detalii */
  --champagne-soft: #E6D3BC; /* accent pe fundal bordo */
  --rose: #C79AA0;
  --white: var(--porcelain);

  --r-card: 20px;
  --r-btn: 999px;
  --r-small: 12px;

  --serif: "EB Garamond", "Iowan Old Style", Georgia, serif;
  --sans: "Jost", "Avenir Next", "Segoe UI", system-ui, sans-serif;
}

body { background: var(--porcelain); color: var(--text); }
::selection { background: #F3DCE8; color: var(--wine-3); }

/* ---------- Tipografie ---------- */
h1, h2, h3, h4 { font-family: var(--serif); font-weight: 400; color: var(--ink); letter-spacing: -.005em; }
h1 em, h2 em, h3 em { font-style: italic; font-weight: 400; color: inherit; }
.lead { font-size: 1.14rem; line-height: 1.75; }
p { text-wrap: pretty; }
h1, h2, h3 { text-wrap: balance; }

/* Etichetele mici: italic elegant, nu majuscule spațiate */
.eyebrow {
  font-family: var(--serif); font-style: italic; font-weight: 400;
  font-size: 1.22rem; letter-spacing: 0; text-transform: none; color: var(--wine);
}
.section-head { gap: 1rem; }

/* ---------- Header ---------- */
.site-header { background: rgba(255, 255, 255, .94); backdrop-filter: saturate(1.2) blur(10px); -webkit-backdrop-filter: saturate(1.2) blur(10px); }
.brand .tagline { background: none !important; color: var(--wine); font-size: 1.02rem; }
.nav a:not(.btn) { font-size: .98rem; letter-spacing: .01em; text-transform: none; font-weight: 400; }

/* ---------- Butoane ---------- */
.btn, .btn-sm {
  font-family: var(--sans); font-weight: 500; font-size: .98rem; letter-spacing: .02em; text-transform: none;
  border-radius: var(--r-btn); padding: 1rem 2rem;
  background: var(--wine); color: #FFF9F8; border: 1px solid var(--wine); box-shadow: none;
  transition: background .3s, border-color .3s, color .3s;
}
.btn-sm { padding: .7rem 1.4rem; font-size: .92rem; }
.btn:hover { background: var(--wine-3); border-color: var(--wine-3); box-shadow: none; transform: none; }
.btn::before, .btn-line::before, .btn-light::before { display: none !important; }
.btn .arrow, .link .arrow { display: none; }
.btn-line { background: transparent; color: var(--wine); border: 1px solid var(--wine); }
.btn-line:hover { background: var(--wine); color: #FFF9F8; box-shadow: none; }
.btn-light { background: var(--porcelain); color: var(--wine-3); border-color: var(--porcelain); }
.btn-light:hover { background: #FFFFFF; color: var(--wine-3); border-color: #FFFFFF; }
.link { font-size: .98rem; letter-spacing: .01em; text-transform: none; font-weight: 500; }
.site-header.on-dark:not(.scrolled) .head-cta,
.site-header.on-dark:not(.scrolled) .nav .btn,
.hero-bordo .btn, .cta-final .btn { background: var(--porcelain); color: var(--wine-3); border-color: var(--porcelain); box-shadow: none; }
.hero-bordo .btn:hover, .cta-final .btn:hover { background: #FFFFFF; }

/* ---------- Hero ---------- */
.hero-bordo .lead { font-size: 1.12rem; }
.hero-bordo .hero-facts { font-family: var(--serif); font-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem); color: #FFF6F3; }
.hero-bordo .hero-facts span:first-child { font-style: normal; color: #FFF6F3; }
.hero-bordo .hero-for { font-family: var(--serif); font-style: italic; font-size: 1.15rem; letter-spacing: 0; text-transform: none; font-weight: 400; color: var(--champagne-soft); }
.hero-bordo .link { color: #FFF6F3; }

/* ---------- Banda „Rapid / Clar / Eu preiau greul” ---------- */
.trio-lines, .bordo-band {
  background: var(--wine-3) !important; border-radius: var(--r-card);
  padding: clamp(2.5rem, 5vw, 3.75rem) clamp(1.75rem, 4vw, 3.5rem);
  gap: clamp(1.75rem, 4vw, 3.5rem);
}
.trio-lines p, .trio-lines p:nth-child(2) {
  font-family: var(--sans); font-style: normal; font-weight: 400; font-size: 1rem; line-height: 1.7;
  color: rgba(255, 246, 243, .86); border-top: 1px solid rgba(230, 211, 188, .35); padding-top: 1.5rem;
}
.trio-lines p strong {
  display: block; margin-bottom: .55rem; font-family: var(--serif); font-weight: 400; font-style: normal;
  font-size: 1.6rem; line-height: 1.2; letter-spacing: 0; text-transform: none; color: var(--champagne-soft);
}

/* ---------- Ofertele de pe Acasă ---------- */
.offers-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 2.5vw, 2rem); align-items: stretch; }
.offers-pair .offer {
  display: flex; flex-direction: column; gap: 0; padding: clamp(2.25rem, 4vw, 3.25rem);
  background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-card); box-shadow: none;
}
.offers-pair .offer:hover { transform: none; box-shadow: 0 30px 60px -50px rgba(94, 26, 60, .45); }
.offers-pair .offer h3 { font-family: var(--serif); font-size: 1.9rem; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--ink); }
.offer-price { display: flex; align-items: baseline; gap: .85rem; margin-top: 1.25rem; }
.offers-pair .offer .price { font-family: var(--serif); font-size: clamp(3rem, 2.4rem + 1.8vw, 3.8rem); line-height: 1; color: var(--ink); }
.price-tag { font-size: .92rem; color: var(--muted); margin: 0; }
.offer-meta { margin-top: 1rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--line); font-size: .98rem; line-height: 1.65; color: var(--ink); }
.offer-desc { margin-top: 1.25rem; min-height: 3.4em; }
.offers-pair .incl { margin: 1.1rem 0 2.25rem; }
.offers-pair .offer .btn { margin-top: auto; align-self: flex-start; }
.offers-pair .offer.featured { background: var(--wine-3); border-color: var(--wine-3); color: #FFF6F3; }
.offers-pair .offer.featured h3, .offers-pair .offer.featured .price, .offers-pair .offer.featured .offer-meta { color: #FFF6F3; }
.offers-pair .offer.featured .price-tag, .offers-pair .offer.featured .offer-desc, .offers-pair .offer.featured .incl li { color: rgba(255, 246, 243, .84); }
.offers-pair .offer.featured .offer-meta { border-bottom-color: rgba(230, 211, 188, .3); }
.offers-note { max-width: 44rem; margin: 1.75rem auto 0; text-align: center; font-size: .92rem; line-height: 1.7; color: var(--muted); }
.incl li::before { border-color: var(--champagne); }
.offer.featured .incl li::before { border-color: var(--champagne-soft); }
@media (max-width: 760px) { .offers-pair { grid-template-columns: 1fr; } .offer-desc { min-height: 0; } }

/* ---------- Website Signature (Acasă) ---------- */
.signature {
  display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
  margin-top: clamp(3rem, 6vw, 4.5rem); background: var(--paper);
  border: 1px solid var(--line); border-radius: var(--r-card); overflow: hidden;
}
.sig-main, .sig-side { padding: clamp(2.25rem, 4.5vw, 3.75rem); }
.sig-main { display: grid; align-content: center; gap: 1.1rem; }
.sig-main h3 { font-size: clamp(1.9rem, 1.4rem + 1.4vw, 2.6rem); line-height: 1.15; max-width: 20ch; margin: 0 0 .4rem; }
.sig-main p { margin: 0; max-width: 34rem; }
.sig-side { display: flex; flex-direction: column; background: var(--blush); border-left: 1px solid var(--line); }
.sig-side h4 { font-size: 1.45rem; font-style: italic; color: var(--wine); margin: 0; }
.sig-side .price { font-family: var(--serif); font-size: clamp(2.8rem, 2.3rem + 1.4vw, 3.4rem); line-height: 1; color: var(--ink); margin: 1rem 0 .5rem; }
.sig-side .price-tag { line-height: 1.55; }
.sig-side .incl { margin: 1.5rem 0 2rem; }
.sig-side .btn { margin-top: auto; align-self: stretch; text-align: center; justify-content: center; }
@media (max-width: 880px) { .signature { grid-template-columns: 1fr; } .sig-side { border-left: 0; border-top: 1px solid var(--line); } }

/* ---------- Proiecte ---------- */
.project, .projects.stack .project { border-radius: var(--r-card); border: 1px solid var(--line); background: var(--paper) !important; }
/* Sticla de pe proiecte: varianta inițială, semitransparentă, cu ceață (din styles.css) */
.glass { border-radius: 16px; }
.glass .sub { font-size: .95rem; letter-spacing: .01em; text-transform: none; font-weight: 400; color: var(--muted); }
.mark { background: none !important; }
.browser { border-radius: 12px; }
.phone { border-radius: 26px; }

/* ---------- Cum lucrăm ---------- */
.card { border-radius: var(--r-card); background: var(--paper) !important; border: 1px solid var(--line); box-shadow: 0 -10px 40px -30px rgba(94, 26, 60, .25); }
.card:nth-child(even) { background: #FFFFFF !important; }
.card .num { font-family: var(--serif); font-style: italic; color: var(--champagne); }
.process-note { border-left: 2px solid var(--champagne); background: var(--paper); border-radius: 0 var(--r-small) var(--r-small) 0; }

/* ---------- Dar textele? Dar SEO? ---------- */
.tk-copy h2 { font-size: clamp(2rem, 1.5rem + 1.6vw, 2.8rem); margin: .6rem 0 0; }
.tk-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 2.5rem); margin-top: 2.25rem; }
.tk-pair > div { padding-top: 1.25rem; border-top: 1px solid var(--champagne); }
.tk-pair h3 { font-size: 1.5rem; margin: 0 0 .75rem; }
.tk-pair p { font-size: 1rem; line-height: 1.75; margin: 0 0 .9rem; color: var(--text); }
.tk-pair p:last-child { color: var(--muted); font-size: .95rem; }
@media (max-width: 760px) { .tk-pair { grid-template-columns: 1fr; } }

/* ---------- Benzi și secțiuni ---------- */
.band-rose, .bg-2 { background: #FFFFFF !important; }

/* ---------- Ghid ---------- */
.guide { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-card); box-shadow: none; }
.guide h2 { font-size: clamp(1.9rem, 1.4rem + 1.6vw, 2.6rem); }
.guide-title { font-style: italic; color: var(--wine); }
.guide-form { background: var(--wine-3); border-radius: 16px; }
.guide-badge { font-family: var(--serif); font-style: italic; font-size: 1.1rem; letter-spacing: 0; text-transform: none; color: var(--champagne-soft); }
.g-field { border-radius: 10px; }
.guide-form .btn { background: var(--porcelain); color: var(--wine-3); border-color: var(--porcelain); }

/* ---------- Întrebări ---------- */
.faq-list details { background: var(--paper); border: 1px solid var(--line); border-radius: 14px; }
.faq-list summary { font-size: 1.22rem; }

/* ---------- Final de pagină ---------- */
.cta-final { background: var(--wine-3) !important; }
.cta-final .wave-in path { fill: var(--porcelain); }
.cta-final h2 { color: #FFF6F3; }
.cta-final .lead, .cta-final p { color: rgba(255, 246, 243, .86); }
.cta-prices { color: var(--champagne-soft); }

/* ---------- Footer ---------- */
.site-footer { background: var(--paper); border-top: 1px solid var(--line); }
.footer-grid h2 { font-family: var(--serif); font-style: italic; font-size: 1.15rem; letter-spacing: 0; text-transform: none; color: var(--wine); }

/* ---------- Servicii ---------- */
.plan { background: var(--paper) !important; border: 1px solid var(--line); border-radius: var(--r-card); box-shadow: none !important; }
.plan:hover { transform: none; }
.signature-plan { background: var(--blush) !important; }
.signature-plan::before, .signature-plan::after { display: none !important; }
.plan .for { font-family: var(--serif); font-style: normal; font-size: 1.28rem; line-height: 1.55; color: var(--ink); }
.group h3 { font-family: var(--sans); font-size: .98rem; font-weight: 500; letter-spacing: .01em; text-transform: none; color: var(--wine); }
.pill { border-radius: 999px; background: transparent; border: 1px solid var(--line); font-size: .86rem; color: var(--text); }
.page-toc a { border-radius: 999px; font-size: .92rem; letter-spacing: .01em; text-transform: none; color: var(--wine); background: var(--paper); border-color: var(--line); }
.compare { border-radius: var(--r-card); }
.compare thead th { background: var(--blush); }
.extra-price, .mini, .care-shell, .proof, .mid-cta { border-radius: var(--r-card); box-shadow: none !important; background: var(--paper); border: 1px solid var(--line); }
.mid-cta { background: #FFFFFF; }

/* ---------- Despre ---------- */
.ab-card { border-radius: var(--r-card); background: var(--paper) !important; border: 1px solid var(--line); box-shadow: none; }
.ab-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.ab-tiles li, .ab-tiles li:nth-child(2), .ab-tiles li:nth-child(4), .ab-tiles li:nth-child(6) {
  display: flex; align-items: center; justify-content: center; text-align: center;
  min-height: 6.5rem; padding: 1.5rem 1.75rem; border-radius: var(--r-card);
  background: var(--paper) !important; border: 1px solid var(--line); color: var(--ink) !important;
  font-family: var(--serif); font-size: 1.32rem; line-height: 1.3;
}
.ab-tiles li::before { display: none !important; }
@media (max-width: 880px) { .ab-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .ab-tiles { grid-template-columns: 1fr; } .ab-tiles li { min-height: 0; } }

.ab-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.ab-pair-img { margin: 0; }
.ab-pair-img img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: 58% 50%; border-radius: var(--r-card); }
.ab-pair-text p { margin: 0 0 1.25rem; max-width: 30rem; }
.ab-pair-text .moment { font-family: var(--serif); font-style: italic; font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); line-height: 1.3; color: var(--wine); }
@media (max-width: 880px) { .ab-pair { grid-template-columns: 1fr; } }

.ab-story { max-width: 46rem; margin-inline: auto; text-align: center; padding: clamp(2.5rem, 5vw, 4rem) clamp(1.5rem, 5vw, 4rem); background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-card); }
.ab-story h2 { font-size: clamp(1.8rem, 1.4rem + 1.2vw, 2.4rem); margin: 0 0 1.5rem; }
.ab-story p { margin: 0 auto 1rem; max-width: 38rem; }
.ab-story p:last-child { margin-bottom: 0; }
.ab-story a { color: var(--wine); }

.ab-life-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; }
.ab-life-grid p { margin: 0 0 1.1rem; }

/* Sublinieri de tip „marker”: mai discrete */
.draw { background-image: linear-gradient(transparent 60%, rgba(199, 154, 160, .16) 60%, rgba(199, 154, 160, .16) 92%, transparent 92%) !important; }
.moment { color: var(--wine); }

/* ---------- Formular ---------- */
.talk .choice, .field, .choices .choice span { border-radius: 12px; }

/* --- balance fixes, pass 2 --- */
.process-title .btn { justify-self: start; }
.process-note { border: 1px solid var(--line); border-left: 1px solid var(--line); border-radius: var(--r-small); background: var(--paper); padding: 1.5rem 1.75rem; }
.cta-final h2 { max-width: 24ch; text-wrap: balance; }
h1, h2, h3 { text-wrap: balance; }
.lead, .cta-final .lead { text-wrap: pretty; }
.hero-facts { max-width: 30rem; }
@media (max-width: 480px) { .site-header .tagline { display: none; } }
.ab-tiles li, .ab-tiles > * { text-wrap: balance; }
.plan .for { font-weight: 400; font-size: 1.32rem; }
.cta-final h2 { max-width: 32ch; }

/* ---------- Paleta: hero și suprafețe închise legate de variabile ---------- */
:root { --hero-bg: #480B21; --hero-shade: 52, 6, 26; }
.hero-bordo { background: var(--hero-bg); }
.hero-bordo::after { background: linear-gradient(180deg, rgba(var(--hero-shade), .4) 0, rgba(var(--hero-shade), 0) 150px), linear-gradient(90deg, rgba(var(--hero-shade), .35), rgba(var(--hero-shade), .12) 45%, transparent 62%); }
@media (max-width: 880px) {
  .hero-bordo { background: var(--hero-bg); }
  .hero-bordo .bg::after { background: linear-gradient(180deg, transparent, var(--hero-bg)); }
  .hero-bordo::after { background: linear-gradient(180deg, rgba(var(--hero-shade), .45) 0, transparent 130px); }
}
.thanks-card { background: var(--wine-3); box-shadow: none; }
.talk-progress span { background: var(--wine); }

/* ==========================================================
   Strat diafan: mătase, dantelă și lumină
   Doar pe suprafețele de culoare. Albul rămâne alb.
   ========================================================== */
:root {
  --lace: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cg fill='none' stroke='%23fff' stroke-width='.55'%3E%3Ccircle cx='22' cy='22' r='8.5'/%3E%3Ccircle cx='22' cy='22' r='4'/%3E%3Cpath d='M0 22C7 20 11 15 11 11S15 2 22 0M22 0c7 2 11 7 11 11s4 9 11 11M44 22c-7 2-11 7-11 11s-4 9-11 11M22 44c-7-2-11-7-11-11S7 24 0 22'/%3E%3C/g%3E%3Cg fill='%23fff'%3E%3Ccircle cx='22' cy='22' r='1'/%3E%3Ccircle cx='0' cy='0' r='1.1'/%3E%3Ccircle cx='44' cy='0' r='1.1'/%3E%3Ccircle cx='0' cy='44' r='1.1'/%3E%3Ccircle cx='44' cy='44' r='1.1'/%3E%3Ccircle cx='22' cy='13.5' r='.6'/%3E%3Ccircle cx='22' cy='30.5' r='.6'/%3E%3Ccircle cx='13.5' cy='22' r='.6'/%3E%3Ccircle cx='30.5' cy='22' r='.6'/%3E%3C/g%3E%3C/svg%3E");
}

/* Mătase: lumină care alunecă foarte lent pe ciclam */
.trio-lines, .offers-pair .offer.featured, .guide-form, .cta-final, .thanks-card {
  position: relative; isolation: isolate; overflow: hidden;
  background-color: var(--wine-3) !important;
  background-image:
    radial-gradient(38% 55% at 18% 12%, rgba(255, 218, 236, .13), transparent 72%),
    radial-gradient(45% 60% at 86% 88%, rgba(236, 214, 190, .10), transparent 72%),
    radial-gradient(30% 45% at 55% 45%, rgba(255, 255, 255, .05), transparent 70%) !important;
  background-size: 170% 170% !important;
  animation: lt-silk 26s ease-in-out infinite alternate;
}
@keyframes lt-silk {
  0%   { background-position: 0% 0%, 100% 100%, 50% 50%; }
  50%  { background-position: 55% 35%, 40% 70%, 20% 80%; }
  100% { background-position: 100% 90%, 0% 20%, 80% 10%; }
}

/* Dantelă: vizibilă doar spre margini, ca tivul unui voal */
.trio-lines::before, .offers-pair .offer.featured::before, .guide-form::before, .cta-final::before, .thanks-card::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: var(--lace) center / 44px 44px repeat; opacity: .085;
  -webkit-mask-image: radial-gradient(ellipse 75% 70% at 50% 50%, transparent 40%, #000 100%);
          mask-image: radial-gradient(ellipse 75% 70% at 50% 50%, transparent 40%, #000 100%);
}
.trio-lines > *, .offers-pair .offer.featured > *, .guide-form > *, .cta-final > .inner, .thanks-card > * { position: relative; z-index: 1; }
.cta-final .wave-in { z-index: 2; }
.offers-pair .offer.featured { display: flex; }


/* Fir de perlă: o linie fină care sclipește pe cardurile albe importante */
.offers-pair .offer:not(.featured), .guide, .signature, .ab-story { position: relative; }
.offers-pair .offer:not(.featured)::after, .guide::after, .signature::after, .ab-story::after {
  content: ""; position: absolute; top: -1px; left: 14%; right: 14%; height: 1px; pointer-events: none;
  background: linear-gradient(90deg, transparent 0%, rgba(179, 146, 112, .0) 20%, rgba(179, 146, 112, .7) 42%, rgba(196, 120, 160, .55) 50%, rgba(179, 146, 112, .7) 58%, rgba(179, 146, 112, 0) 80%, transparent 100%);
  background-size: 250% 100%; animation: lt-pearl 11s ease-in-out infinite;
}
@keyframes lt-pearl { 0% { background-position: 120% 0; } 100% { background-position: -20% 0; } }

/* Hero: un voal de lumină care respiră lent peste fotografie */
.hero-bordo .bg::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: radial-gradient(40% 55% at 28% 30%, rgba(255, 210, 232, .14), transparent 70%);
  animation: lt-breathe 14s ease-in-out infinite alternate;
}
@keyframes lt-breathe { from { opacity: .35; transform: translate3d(-2%, -1%, 0); } to { opacity: 1; transform: translate3d(3%, 2%, 0); } }

@media (prefers-reduced-motion: reduce) {
  .trio-lines, .offers-pair .offer.featured, .guide-form, .cta-final, .thanks-card,
  .offers-pair .offer::after, .guide::after, .signature::after, .ab-story::after, .hero-bordo .bg::before { animation: none !important; }
}
.cta-final::before { opacity: .07; }
@media (max-width: 880px) { .hero-bordo { background: radial-gradient(90% 45% at 30% 100%, rgba(126, 36, 80, .55), transparent 75%), var(--hero-bg); } }

/* ---------- Proiecte: „Nu pornesc de la un șablon” ---------- */
.how-head { max-width: 44rem; margin: 0 auto; text-align: center; display: grid; gap: 1rem; justify-items: center; }
.how-head h2 { font-size: clamp(2rem, 1.5rem + 1.6vw, 2.8rem); margin: 0; }
.how-head .lead { margin: .25rem 0 0; max-width: 38rem; }
.how-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 2.5rem); margin-top: clamp(2.5rem, 5vw, 3.5rem); }
.how-cols > div { padding-top: 1.4rem; border-top: 1px solid var(--champagne); text-align: center; }
.how-cols h3 { font-size: 1.5rem; margin: 0 0 .7rem; }
.how-cols p { margin: 0 auto; max-width: 20rem; font-size: 1rem; line-height: 1.75; }
@media (max-width: 760px) { .how-cols { grid-template-columns: 1fr; } }

/* ---------- Pagina Ghid gratuit ---------- */
.gp-hero { padding: clamp(8rem, 12vw, 10rem) 0 clamp(3rem, 6vw, 5rem); }
.gp-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(2.5rem, 6vw, 5.5rem); align-items: center; }
.gp-copy h1 { font-size: clamp(2.6rem, 1.8rem + 2.8vw, 4.2rem); line-height: 1.06; margin: .9rem 0 1.4rem; max-width: 14ch; }
.gp-copy .lead { max-width: 34rem; margin: 0 0 1.8rem; }
.gp-copy .incl { margin: 0; }
.gp-form { padding: clamp(2rem, 4vw, 2.75rem); border-radius: var(--r-card); }
.gp-form-title { font-family: var(--serif); font-size: 1.75rem; line-height: 1.2; color: #FFF6F3; margin: .4rem 0 1.4rem; }
.gp-why { padding-top: 0; }
@media (max-width: 880px) { .gp-grid { grid-template-columns: 1fr; } .gp-copy h1 { max-width: none; } }
.gp-hero { padding-bottom: clamp(4rem, 8vw, 6.5rem); }
.gp-copy h1 { max-width: none; }
.gp-why { padding-top: clamp(1rem, 3vw, 2rem); }

/* Întrebări: fără triunghiul implicit, cu un semn fin în dreapta */
.faq-list summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; font-weight: 400; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; font-family: var(--sans); font-weight: 300; font-size: 1.5rem; line-height: 1; color: var(--champagne); transition: transform .3s; flex: none; }
.faq-list details[open] summary::after { transform: rotate(45deg); }
.faq-list details p { margin: .9rem 0 0; }
/* formularul ghidului: lipicios pe desktop doar pe Acasă / Servicii, fără decalaj */
.guide-form { position: sticky; top: 6rem; }
.gp-form { position: relative; top: auto; }
@media (max-width: 880px) { .guide-form { position: relative; top: auto; } }
.proof-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.proof-grid span small { display: block; font-family: var(--sans); font-size: .85rem; margin-top: .15rem; }
@media (max-width: 1000px) { .proof-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .proof-grid { grid-template-columns: 1fr; } }
.example-note { margin-top: 1.25rem; padding: 1rem 1.25rem; border: 1px solid var(--line); border-radius: var(--r-small); font-size: .95rem; }
.example-note a { color: var(--wine); }
.proof-grid a { align-content: start; }

/* ---------- Proiecte: animația inițială, lentă și curgătoare ---------- */
.js .r.pre { opacity: 0; transform: translateY(30px); }
.js .r-scale.pre, .js .project.r.pre, .js .project.r.pre:nth-child(even) { opacity: 0; transform: translateY(30px) scale(.975); }
.projects.stack .project:nth-child(4) { --n: 3; }
@media (prefers-reduced-motion: reduce) { .js .r.pre, .js .r-scale.pre, .js .project.r.pre { opacity: 1 !important; transform: none !important; } }
