/*
 * Pagina de prezentare a aplicației (prima pagină de pe domeniu). Fără biblioteci și fără CDN:
 * fontul din public/fonts, iconițele SVG în pagină, animația din SVG + CSS (landing.js doar pentru „Sari” și apariția la derulare).
 */
@import url('/fonts/plus-jakarta-sans/index.css');
@import url('/vendor/agrofleet/glio-palette.css');

/* nume scurte, legate de paleta Glio; tema = data-theme pe <html> (aceeași alegere ca în aplicație, implicit închisă) */
:root {
    --green: var(--glio-accent);
    --green-dark: var(--glio-accent-strong);
    --green-deep: #0a231e;
    --teal: var(--glio-teal);
    --gold: var(--glio-gold);
    --gold-dark: #8a6400;
    --ink: #0a1822;
    --header-bg: rgb(246 245 241 / 0.86);
    --band-1: #0a231e;
    --band-2: #1f6b5a;
    --band-3: #3a8c79;
    --text: var(--glio-text);
    --muted: var(--glio-text-muted);
    --bg: var(--glio-bg);
    --card: var(--glio-surface);
    --line: var(--glio-border);
    --shadow: var(--glio-shadow);
    --radius: 22px;
}

[data-theme='dark'] {
    --ink: #f3f0ea;
    --gold-dark: var(--glio-gold);
    --header-bg: rgb(10 24 34 / 0.82);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    color: var(--text);
    background: var(--bg);
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}

img {
    max-width: 100%;
    display: block;
}

a {
    color: inherit;
}

.wrap {
    width: min(1180px, 100% - 2.5rem);
    margin-inline: auto;
}

.skip-link {
    position: absolute;
    left: -999px;
    top: 0.5rem;
    z-index: 200;
    background: var(--card);
    padding: 0.5rem 1rem;
    border-radius: 999px;
}

.skip-link:focus {
    left: 0.5rem;
}

/* ---------------------------------------------------------------- butoane */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 3rem;
    padding: 0.7rem 1.35rem;
    border-radius: 14px;
    font-weight: 800;
    font-size: 1rem;
    text-decoration: none;
    transition: transform 0.15s, box-shadow 0.15s, background-color 0.15s;
    white-space: nowrap;
}

.btn:hover {
    transform: translateY(-1px);
}

.btn:focus-visible {
    outline: 3px solid var(--gold);
    outline-offset: 2px;
}

.btn-primary {
    background: var(--green);
    color: var(--glio-on-accent);
    box-shadow: 0 10px 24px -12px color-mix(in srgb, var(--green) 80%, transparent);
}

.btn-primary:hover {
    background: var(--green-dark);
}

.btn-outline {
    background: var(--card);
    color: var(--ink);
    box-shadow: inset 0 0 0 2px var(--gold);
}

.btn-outline:hover {
    background: var(--glio-surface-2);
}

.btn-light {
    background: #fff;
    color: #17574a;
}

.btn-ghost {
    color: #fff;
    box-shadow: inset 0 0 0 2px rgb(255 255 255 / 0.7);
}

.btn-ghost:hover {
    background: rgb(255 255 255 / 0.1);
}

.btn svg {
    width: 1.2rem;
    height: 1.2rem;
}

/* ---------------------------------------------------------------- antet */

.site-header {
    position: sticky;
    top: 0;
    z-index: 40;
    background: var(--header-bg);
    backdrop-filter: saturate(1.4) blur(10px);
    -webkit-backdrop-filter: saturate(1.4) blur(10px);
    border-bottom: 1px solid var(--line);
}

.site-header .wrap {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    min-height: 4.25rem;
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    text-decoration: none;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--ink);
}

.brand img {
    height: 2.1rem;
    width: auto;
}

/* logoul plat după temă (meniu, subsol) */
.brand-logo-dark,
[data-theme='dark'] .brand-logo-light {
    display: none;
}

[data-theme='dark'] .brand-logo-dark {
    display: block;
}

.brand b {
    font-weight: 800;
}

.brand span {
    color: var(--green);
}

.site-nav {
    display: none;
    gap: 0.25rem;
    margin-left: 1rem;
}

.site-nav a {
    padding: 0.5rem 0.85rem;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 600;
    color: var(--muted);
}

.site-nav a:hover {
    background: var(--glio-accent-soft);
    color: var(--glio-accent-text);
}

.header-actions {
    margin-left: auto;
    display: flex;
    gap: 0.5rem;
}

.header-actions .btn {
    min-height: 2.6rem;
    padding: 0.5rem 0.95rem;
    font-size: 0.92rem;
}

@media (min-width: 900px) {
    .site-nav {
        display: flex;
    }
}

@media (max-width: 480px) {
    .header-actions .btn-outline {
        display: none;
    }
}

/* ---------------------------------------------------------------- hero */

.hero {
    position: relative;
    overflow: hidden;
    padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(2.5rem, 5vw, 4rem);
    background:
        radial-gradient(60% 70% at 78% 45%, color-mix(in srgb, var(--glio-accent) 12%, transparent), transparent 70%),
        radial-gradient(70% 80% at 0% 0%, color-mix(in srgb, var(--glio-teal) 10%, transparent), transparent 65%),
        var(--bg);
}

.hero .wrap {
    position: relative;
    display: grid;
    gap: 2rem;
    align-items: center;
}

@media (min-width: 1000px) {
    .hero .wrap {
        grid-template-columns: 1.1fr 0.9fr;
    }
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.8rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--gold) 16%, transparent);
    color: var(--gold-dark);
    font-weight: 800;
    font-size: 0.82rem;
    letter-spacing: 0.02em;
}

.hero h1 {
    margin: 1rem 0 0;
    font-size: clamp(2.2rem, 5.2vw, 3.75rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
    font-weight: 800;
    color: var(--ink);
}

.hero h1 em {
    font-style: normal;
    background: linear-gradient(100deg, var(--green) 10%, var(--teal) 90%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.hero p.lead {
    margin: 1.1rem 0 0;
    font-size: clamp(1.05rem, 1.6vw, 1.22rem);
    color: var(--muted);
    max-width: 36rem;
}

.hero-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.75rem;
}

.hero-note {
    margin-top: 1rem;
    font-size: 0.92rem;
    color: var(--muted);
}

.hero-note a {
    color: var(--glio-accent-text);
    font-weight: 700;
}

/* logoul 3D, transparent, cu lumina verde (închis) / umbra moale (alb) în spate – ca la autentificare */
.hero-logo {
    position: relative;
    display: flex;
    justify-content: center;
    isolation: isolate;
}

.hero-logo::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 78%;
    width: 70%;
    height: 22%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: radial-gradient(closest-side, rgb(37 48 51 / 0.16), transparent);
    filter: blur(16px);
    z-index: -1;
}

[data-theme='dark'] .hero-logo::before {
    top: 50%;
    width: 90%;
    height: 80%;
    background: radial-gradient(closest-side, rgb(62 227 156 / 0.16), rgb(62 227 156 / 0.05) 55%, transparent);
    filter: blur(28px);
}

.hero-logo img {
    width: min(100%, 26rem);
    height: auto;
}

.hero-logo-dark,
[data-theme='dark'] .hero-logo-light {
    display: none;
}

[data-theme='dark'] .hero-logo-dark {
    display: block;
}

@media (max-width: 999px) {
    .hero-logo {
        order: -1;
    }

    .hero-logo img {
        width: min(62vw, 15rem);
    }
}

/* ---------------------------------------------------------------- cadrele de laptop și telefon */

.laptop {
    position: relative;
    filter: drop-shadow(0 30px 40px rgb(15 23 42 / 0.22));
}

.laptop-screen {
    background: #0f1512;
    border-radius: 18px 18px 6px 6px;
    padding: 2.2% 2.2% 3%;
    position: relative;
}

.laptop-screen::before {
    content: '';
    position: absolute;
    top: 0.9%;
    left: 50%;
    width: 6px;
    height: 6px;
    border-radius: 99px;
    background: #334155;
    transform: translateX(-50%);
}

.laptop-screen img {
    background: var(--glio-surface-2);
    width: 100%;
    height: auto;
    border-radius: 4px;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    object-position: top;
}

.laptop-base {
    height: 14px;
    margin: 0 -5%;
    background: linear-gradient(#e2e8f0, #94a3b8);
    border-radius: 0 0 22px 22px;
    position: relative;
}

.laptop-base::before {
    content: '';
    position: absolute;
    left: 42%;
    right: 42%;
    top: 0;
    height: 5px;
    border-radius: 0 0 8px 8px;
    background: #64748b;
}

.phone {
    position: relative;
    border-radius: 34px;
    padding: 9px;
    background: #0b0f0d;
    box-shadow: 0 30px 50px -18px rgb(15 23 42 / 0.45), inset 0 0 0 2px #2a332e;
}

.phone::before {
    content: '';
    position: absolute;
    top: 15px;
    left: 50%;
    width: 30%;
    height: 14px;
    border-radius: 99px;
    background: #0b0f0d;
    transform: translateX(-50%);
    z-index: 2;
}

.phone img {
    background: var(--glio-surface-2);
    width: 100%;
    height: auto;
    border-radius: 26px;
    aspect-ratio: 390 / 844;
    object-fit: cover;
    object-position: top;
}

/* ---------------------------------------------------------------- secțiuni */

.section {
    padding: 4.5rem 0;
}

.section-head {
    max-width: 44rem;
    margin-bottom: 2.25rem;
}

.section-head .kicker {
    display: inline-block;
    font-weight: 800;
    font-size: 0.85rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--green);
}

.section-head h2 {
    margin: 0.5rem 0 0;
    font-size: clamp(1.75rem, 3.6vw, 2.6rem);
    line-height: 1.12;
    letter-spacing: -0.03em;
    font-weight: 800;
    color: var(--ink);
}

.section-head p {
    margin: 0.85rem 0 0;
    color: var(--muted);
    font-size: 1.08rem;
}

.grid {
    display: grid;
    gap: 1rem;
}

@media (min-width: 640px) {
    .grid-2 {
        grid-template-columns: repeat(2, 1fr);
    }

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

@media (min-width: 1000px) {
    .grid-3 {
        grid-template-columns: repeat(3, 1fr);
    }

    .grid-4 {
        grid-template-columns: repeat(4, 1fr);
    }
}

.card {
    background: var(--card);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 1.4rem;
}

.card h3 {
    margin: 0.9rem 0 0.35rem;
    font-size: 1.12rem;
    font-weight: 800;
    color: var(--ink);
    letter-spacing: -0.01em;
}

.card p {
    margin: 0;
    color: var(--muted);
    font-size: 0.98rem;
}

.icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 15px;
}

.icon svg {
    width: 1.55rem;
    height: 1.55rem;
}

/* ---------------------------------------------------------------- modulele: ferma interactivă */

/*
 * partials/farm.blade.php: zonele (.farm-zone) se luminează la mouse, la atingere și cu tastatura (doar opacity și
 * transform); celelalte se estompează. Culorile desenului, pe teme, în variabilele de mai jos.
 */
.modules {
    background: var(--card);
}

.farm {
    --farm-sky-1: #d6ece3;
    --farm-sky-2: #f3f1ea;
    --farm-sun: #f5c542;
    --farm-hill: #b7d3c1;
    --farm-hill-2: #cfe2d5;
    --farm-ground: #c6d9ad;
    --farm-field: #88ad62;
    --farm-field-2: #dcc06a;
    --farm-furrow: rgb(52 72 34 / 0.28);
    --farm-road: #6c7876;
    --farm-road-line: #f6f5f1;
    --farm-lane: #e2d6b8;
    --farm-building: #ece8de;
    --farm-roof: #3a8c79;
    --farm-door: #c7c0b0;
    --farm-line: rgb(37 48 51 / 0.18);
    --farm-window: #8fc3d6;
    --farm-machine: #e0a400;
    --farm-wheel: #253033;
    --farm-truck: #ffffff;
    --farm-crate: #c08a4a;
    --farm-awning-1: #1f6b5a;
    --farm-awning-2: #f6f5f1;
    --farm-person-1: #1f6b5a;
    --farm-person-2: #e0a400;
    --farm-person-3: #3a8c79;
    --farm-skin: #e9c4a0;
    --farm-label-bg: #0a1822;
    --farm-label-fg: #ffffff;
    --farm-glow: #1f6b5a;
    display: grid;
    gap: 1.25rem;
    align-items: center;
    margin-bottom: 2rem;
}

[data-theme='dark'] .farm {
    --farm-sky-1: #0c2233;
    --farm-sky-2: #143047;
    --farm-sun: #f5d27a;
    --farm-hill: #183a4b;
    --farm-hill-2: #12304a;
    --farm-ground: #15342a;
    --farm-field: #23573f;
    --farm-field-2: #5f5326;
    --farm-furrow: rgb(0 0 0 / 0.3);
    --farm-road: #2c4050;
    --farm-road-line: #a5b2ae;
    --farm-lane: #2a4a3c;
    --farm-building: #213d52;
    --farm-roof: #3ee39c;
    --farm-door: #2f4b60;
    --farm-line: rgb(238 235 228 / 0.14);
    --farm-window: #f5d27a;
    --farm-wheel: #0a1822;
    --farm-truck: #dfe7ea;
    --farm-crate: #a87a42;
    --farm-awning-2: #dfe7ea;
    --farm-person-1: #3ee39c;
    --farm-person-3: #8fd6c1;
    --farm-label-bg: #3ee39c;
    --farm-label-fg: #0a1822;
    --farm-glow: #3ee39c;
}

@media (min-width: 1000px) {
    .farm {
        grid-template-columns: 1fr 17rem;
    }
}

.farm-svg {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden;
    font-family: inherit;
}

.farm-sun { fill: var(--farm-sun); }
.farm-cloud { fill: #ffffff; opacity: 0.75; }
[data-theme='dark'] .farm-cloud { opacity: 0.07; }
.farm-hill { fill: var(--farm-hill); }
.farm-hill-2 { fill: var(--farm-hill-2); }
.farm-ground { fill: var(--farm-ground); }
.farm-lane { fill: none; stroke: var(--farm-lane); stroke-width: 14; stroke-linecap: round; }
.farm-field { fill: var(--farm-field); }
.farm-field-2 { fill: var(--farm-field-2); }
.farm-furrows path { fill: none; stroke: var(--farm-furrow); stroke-width: 3; }
.farm-tractor rect { fill: var(--farm-machine); }
.farm-tractor .farm-cab { fill: none; stroke: var(--farm-machine); stroke-width: 4; }
.farm-wheel, .farm-wheel circle { fill: var(--farm-wheel); }
.farm-road { fill: var(--farm-road); }
.farm-road-line { fill: none; stroke: var(--farm-road-line); stroke-width: 3; stroke-dasharray: 14 12; }
.farm-trailer { fill: var(--farm-truck); }
.farm-truck-cab { fill: var(--farm-machine); }
.farm-window, .farm-window rect { fill: var(--farm-window); }
.farm-building { fill: var(--farm-building); }
.farm-roof { fill: var(--farm-roof); }
.farm-door { fill: var(--farm-door); }
.farm-door-lines, .farm-wall-lines { fill: none; stroke: var(--farm-line); stroke-width: 2; }
.farm-belt { fill: none; stroke: var(--farm-wheel); stroke-width: 5; stroke-linecap: round; }
.farm-crate rect { fill: var(--farm-crate); }
.farm-awning-edge { fill: none; stroke: var(--farm-awning-1); stroke-width: 3; }
.farm-person-1 path { fill: var(--farm-person-1); }
.farm-person-2 path { fill: var(--farm-person-2); }
.farm-person-3 path { fill: var(--farm-person-3); }
.farm-person-1 circle, .farm-person-2 circle, .farm-person-3 circle { fill: var(--farm-skin); }
.farm-pole { fill: var(--farm-wheel); }
.farm-clock { fill: var(--farm-truck); stroke: var(--farm-wheel); stroke-width: 4; }
.farm-clock-hands { fill: none; stroke: var(--farm-wheel); stroke-width: 3; stroke-linecap: round; }

.farm-zone {
    cursor: pointer;
    outline: none;
    transform-box: fill-box;
    transform-origin: center bottom;
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.farm-glow {
    fill: var(--farm-glow);
    fill-opacity: 0.16;
    stroke: var(--farm-glow);
    stroke-width: 3;
    opacity: 0;
    transition: opacity 0.25s ease;
}

.farm-label {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

.farm-label rect {
    fill: var(--farm-label-bg);
}

.farm-label text {
    fill: var(--farm-label-fg);
    font-size: 15px;
    font-weight: 800;
}

.farm-zone:hover,
.farm-zone:focus-visible,
.farm-zone.is-active {
    transform: translateY(-4px);
}

.farm-zone:hover .farm-glow,
.farm-zone:focus-visible .farm-glow,
.farm-zone.is-active .farm-glow,
.farm-zone:hover .farm-label,
.farm-zone:focus-visible .farm-label,
.farm-zone.is-active .farm-label {
    opacity: 1;
}

.farm-svg:has(.farm-zone:hover, .farm-zone:focus-visible, .farm-zone.is-active) .farm-zone:not(:hover, :focus-visible, .is-active) {
    opacity: 0.5;
}

/* caseta de lângă desen */
.farm-info {
    background: var(--bg);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 1.25rem 1.35rem;
    min-height: 9rem;
}

.farm-info-hint {
    margin: 0;
    color: var(--muted);
}

.farm-info h3 {
    margin: 0.6rem 0 0.3rem;
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--ink);
}

.farm-info p {
    margin: 0;
    color: var(--muted);
}

.farm-info a {
    display: inline-block;
    margin-top: 0.75rem;
    font-weight: 700;
    color: var(--glio-accent-text);
}

/* cardurile modulelor */
.module-grid {
    gap: 1rem;
}

@media (min-width: 640px) {
    .module-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1000px) {
    .module-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.module-card {
    background: var(--bg);
    border: 1.5px solid transparent;
    box-shadow: none;
    transition: border-color 0.25s ease;
}

.module-card.is-soon {
    background: transparent;
    border: 1.5px dashed color-mix(in srgb, var(--muted) 45%, transparent);
}

.module-card.is-highlighted {
    border-color: var(--glio-accent);
}

.module-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.module-card .icon {
    background: var(--glio-accent-soft);
    color: var(--glio-accent-text);
}

.module-card.is-soon .icon {
    background: color-mix(in srgb, var(--gold) 16%, transparent);
    color: var(--gold-dark);
}

.module-summary {
    margin: 0 0 0.6rem !important;
}

.module-card ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.45rem;
}

.module-card li {
    position: relative;
    padding-left: 1.1rem;
    color: var(--text);
    font-size: 0.93rem;
}

.module-card li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: var(--glio-accent);
}

.module-card.is-soon li::before {
    background: transparent;
    box-shadow: inset 0 0 0 2px var(--gold);
}

.module-note {
    margin-top: 0.75rem !important;
    font-size: 0.85rem !important;
    font-style: italic;
}

/* ---------------------------------------------------------------- de ce Glio */

.reasons {
    background: linear-gradient(120deg, var(--band-1) 0%, var(--band-2) 60%, var(--band-3) 130%);
    color: #fff;
}

.reasons .section-head h2,
.reasons .section-head .kicker {
    color: #fff;
}

.reason-grid {
    gap: 1rem;
}

.reason {
    padding: clamp(1.25rem, 3vw, 1.75rem);
    border-radius: var(--radius);
    background: rgb(255 255 255 / 0.07);
    box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.14);
}

.reason-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 15px;
    background: rgb(62 227 156 / 0.16);
    color: #3ee39c;
}

.reason-icon svg {
    width: 1.6rem;
    height: 1.6rem;
}

.reason h3 {
    margin: 0.9rem 0 0.4rem;
    font-size: clamp(1.35rem, 2.6vw, 1.75rem);
    line-height: 1.15;
    letter-spacing: -0.02em;
    font-weight: 800;
}

.reason p {
    margin: 0;
    color: rgb(255 255 255 / 0.82);
}

/* ---------------------------------------------------------------- pașii */

.steps {
    list-style: none;
    margin: 0;
    padding: 0;
}

.step {
    position: relative;
}

.step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 999px;
    background: var(--green);
    color: var(--glio-on-accent);
    font-weight: 800;
    font-size: 1.15rem;
    box-shadow: 0 0 0 6px var(--glio-accent-soft);
}

@media (min-width: 1000px) {
    .steps .step:not(:last-child)::after {
        content: '';
        position: absolute;
        top: 2.75rem;
        left: calc(1.4rem + 3.1rem);
        right: -1rem;
        height: 3px;
        background: repeating-linear-gradient(90deg, var(--gold) 0 12px, transparent 12px 22px);
        opacity: 0.8;
    }
}

/* ---------------------------------------------------------------- capturi (tema închisă) */

.shots-section {
    background: var(--card);
}

.shots {
    display: grid;
    gap: 2rem;
    align-items: end;
}

.shots figure {
    margin: 0;
}

@media (min-width: 1000px) {
    .shots {
        grid-template-columns: 1fr 1fr;
    }

    .shots-phones {
        grid-column: 1 / -1;
    }
}

.shots-phones {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 13rem));
    justify-content: center;
    gap: 1.5rem;
}

.shot-caption {
    margin-top: 0.75rem;
    text-align: center;
    font-size: 0.9rem;
    color: var(--muted);
    font-weight: 600;
}

/* ---------------------------------------------------------------- comutatorul de temă (subsol) */

.footer-about {
    margin: 0.75rem 0 1rem;
    max-width: 26rem;
}

.theme-switch {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding: 0.45rem 1rem;
    border: 0;
    border-radius: 999px;
    background: var(--bg);
    box-shadow: inset 0 0 0 1.5px var(--line);
    color: var(--ink);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.theme-switch span {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.theme-switch svg {
    width: 1.2rem;
    height: 1.2rem;
}

.theme-switch:focus-visible {
    outline: 3px solid var(--gold);
    outline-offset: 2px;
}

/* butonul arată tema în care trece */
.theme-switch-light,
[data-theme='dark'] .theme-switch-dark {
    display: none !important;
}

[data-theme='dark'] .theme-switch-light {
    display: inline-flex !important;
}

/* final */
.final {
    padding: 0 0 4.5rem;
}

.final-card {
    border-radius: 28px;
    padding: clamp(1.75rem, 4vw, 3rem);
    background: linear-gradient(120deg, var(--band-1) 0%, var(--band-2) 60%, var(--band-3) 130%);
    color: #fff;
    display: grid;
    gap: 1.5rem;
    align-items: center;
    box-shadow: 0 30px 60px -30px rgb(10 35 30 / 0.7);
}

@media (min-width: 900px) {
    .final-card {
        grid-template-columns: 1.3fr 1fr;
    }
}

.final-card h2 {
    margin: 0;
    font-size: clamp(1.7rem, 3.5vw, 2.5rem);
    line-height: 1.1;
    letter-spacing: -0.03em;
}

.final-card p {
    margin: 0.6rem 0 0;
    color: rgb(255 255 255 / 0.85);
}

.final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

@media (min-width: 900px) {
    .final-actions {
        justify-content: flex-end;
    }
}

/* subsol */
.site-footer {
    border-top: 1px solid var(--line);
    background: var(--card);
    padding: 2.25rem 0;
    font-size: 0.95rem;
    color: var(--muted);
}

.site-footer .wrap {
    display: grid;
    gap: 1.5rem;
    align-items: start;
}

@media (min-width: 800px) {
    .site-footer .wrap {
        grid-template-columns: 1.4fr 1fr 1fr;
    }
}

.site-footer h4 {
    margin: 0 0 0.5rem;
    color: var(--ink);
    font-size: 0.95rem;
}

.site-footer ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.35rem;
}

.site-footer a {
    text-decoration: none;
}

.site-footer a:hover {
    color: var(--glio-accent-text);
    text-decoration: underline;
}

.copyright {
    margin-top: 1.5rem;
    font-size: 0.85rem;
}

/* ---------------------------------------------------------------- apariția la derulare (doar cu JavaScript) */

.js .reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
    transition-delay: var(--delay, 0s);
}

.js .reveal.is-in {
    opacity: 1;
    transform: none;
}

/* ---------------------------------------------------------------- deschiderea animată */

/*
 * „De la tradiție la tehnologie” (~7,4 s; partials/intro.blade.php): plugul sepia pe brazde → brazdele devin liniile
 * „O”-ului rețea, sepia → verde, hârtia → albastru-petrol → „GLI” + sloganul → logoul zboară în antet.
 * Se animă doar transform și opacity (în afară de desenarea liniilor plugului, stroke-dashoffset, o singură dată).
 * Ținta zborului (--fly-*) o calculează landing.js; fără el, logoul pleacă spre stânga sus, aproximativ.
 */
.intro {
    display: none;
}

.af-intro-on .intro {
    --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    position: fixed;
    inset: 0;
    z-index: 100;
    display: block;
    overflow: hidden;
    animation: intro-gone 0.01s linear 7.4s forwards;
}

.af-intro-done .intro {
    animation: fade-out 0.3s ease forwards;
    pointer-events: none;
}

.intro-bg {
    position: absolute;
    inset: 0;
    background: radial-gradient(90% 75% at 50% 48%, #12283a 0%, #0a1822 62%, #06111a 100%);
    animation: fade-out 0.6s ease 6.75s forwards;
}

/* hârtia veche (scena 1), cu granulație */
.intro-paper {
    position: absolute;
    inset: 0;
    background: radial-gradient(85% 75% at 50% 50%, #f1e6cf 0%, #e7d6b5 68%, #cdb48b 100%);
    animation: fade-out 1.1s ease 2.6s forwards;
}

.intro-paper::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: var(--grain);
    background-size: 180px 180px;
    opacity: 0.16;
    mix-blend-mode: multiply;
}

.intro-stage {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    transform-origin: var(--fly-ox, 50%) var(--fly-oy, 50%);
    animation: intro-fly 0.8s cubic-bezier(0.65, 0, 0.25, 1) 6.5s forwards, fade-out 0.25s ease 7.15s forwards;
}

@keyframes intro-fly {
    to {
        transform: translate(var(--fly-x, -36vw), var(--fly-y, -44vh)) scale(var(--fly-s, 0.22));
    }
}

/* orizontul */
.intro-horizon {
    stroke: #8a6d47;
    stroke-width: 1.5;
    opacity: 0.6;
    transform-box: fill-box;
    transform-origin: center;
    transform: scaleX(0);
    animation: grow-x 1.3s cubic-bezier(0.2, 0.7, 0.2, 1) 0.1s forwards, fade-out 0.6s ease 2.5s forwards;
}

/* brazdele și liniile rețelei: segmente (0,0)–(1,0) așezate doar prin transform */
.intro-net {
    transform-box: view-box;
    transform: var(--net-from);
    animation: net-settle 0.9s cubic-bezier(0.65, 0, 0.3, 1) 4.15s forwards;
}

@keyframes net-settle {
    to {
        transform: translate(0px, 0px) scale(1);
    }
}

.intro-line {
    stroke-linecap: butt;
    transform-box: view-box;
    transform-origin: 0 0;
    transform: var(--f0);
}

.intro-furrows .intro-line {
    stroke: #6e5232;
}

.intro-chords .intro-line {
    stroke: #3ee39c;
}

.intro-line.is-morph {
    animation: furrow-draw 0.9s cubic-bezier(0.3, 0.6, 0.2, 1) var(--d) both, furrow-morph 1.15s cubic-bezier(0.65, 0, 0.3, 1) var(--md) forwards;
}

.intro-line.is-fade {
    animation: furrow-draw 0.9s cubic-bezier(0.3, 0.6, 0.2, 1) var(--d) both, fade-out 0.5s ease 2.5s forwards;
}

@keyframes furrow-draw {
    from { transform: var(--f0); }
    to { transform: var(--f1); }
}

@keyframes furrow-morph {
    from { transform: var(--f1); }
    to { transform: var(--c); }
}

/* sepia → verde: aceleași linii, în două culori, care se înlocuiesc */
.intro-furrows {
    animation: fade-out 0.9s ease 2.85s forwards;
}

.intro-chords {
    opacity: 0;
    animation: fade-in 0.9s ease 2.8s forwards;
}

.intro-glow {
    opacity: 0;
    animation: fade-in 1.2s ease 3.1s forwards;
}

.intro-ring {
    fill: none;
    stroke: #3ee39c;
    opacity: 0;
    transform-box: fill-box;
    transform-origin: center;
    transform: scale(0.82);
    animation: ring-in 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) 3.2s forwards;
}

@keyframes ring-in {
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.intro-nodes circle {
    fill: #3ee39c;
    transform-box: fill-box;
    transform-origin: center;
    transform: scale(0);
    animation: pop 0.45s cubic-bezier(0.3, 1.6, 0.5, 1) calc(3.35s + var(--i) * 0.045s) forwards;
}

@keyframes pop {
    to { transform: scale(1); }
}

/* plugul: desenat cu linie, înaintează pe brazde, apoi se retrage */
.intro-plough-exit {
    transform-box: view-box;
    transform-origin: 500px 470px;
    animation: plough-exit 0.7s cubic-bezier(0.5, 0, 0.75, 0) 2.45s forwards;
}

@keyframes plough-exit {
    to {
        opacity: 0;
        transform: translateY(-12px) scale(0.82);
    }
}

.intro-plough {
    transform-box: view-box;
    animation: plough-drift 2.4s linear 0.3s both;
}

@keyframes plough-drift {
    from { transform: translateX(-18px); }
    to { transform: translateX(22px); }
}

.intro-plough path {
    fill: none;
    stroke: #5e4529;
    stroke-width: 3.4;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 1 1;
    stroke-dashoffset: 1;
    animation: draw 1.2s cubic-bezier(0.4, 0, 0.2, 1) var(--pd, 0.4s) forwards;
}

.intro-plough .intro-hatch,
.intro-plough .intro-soil {
    stroke-width: 2.2;
}

/* interiorul formelor (culoarea hârtiei) apare după contur și acoperă brazdele */
.intro-plough-fill {
    fill: #eadbbd;
    opacity: 0;
    animation: fade-in 0.5s ease 0.9s forwards;
}

.intro-plough .intro-plough-fill path,
.intro-plough .intro-plough-fill circle {
    fill: #eadbbd;
    stroke: none;
    animation: none;
}

/* pe ecranele înguste (telefon, în picioare) plugul e mai mare */
.intro-plough-size {
    transform-box: view-box;
    transform-origin: 480px 560px;
}

@media (max-aspect-ratio: 3/4) {
    .intro-plough-size {
        transform: scale(1.4);
    }
}

.intro-sun {
    animation: fade-out 0.6s ease 2.5s forwards;
}

.intro-sun path {
    fill: none;
    stroke: #8a6d47;
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-dasharray: 1 1;
    stroke-dashoffset: 1;
    animation: draw 1.1s cubic-bezier(0.4, 0, 0.2, 1) 0.5s forwards;
}

.intro-sun path + path {
    animation-delay: 0.9s;
}

/* „GLI”: argintiu, ca în logoul 3D, lângă „O”-ul verde */
.intro-letter {
    fill: none;
    stroke: #e9e5dc;
    stroke-width: 8.5;
    opacity: 0;
    transform: translateX(-8px);
    animation: letter-in 0.6s cubic-bezier(0.2, 0.7, 0.2, 1) calc(4.5s + var(--i) * 0.12s) forwards;
}

@keyframes letter-in {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.intro-slogan {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(50% + 125 * min(0.1vw, 0.125vh));
    margin: 0;
    padding: 0 1.5rem;
    text-align: center;
    color: rgb(238 235 228 / 0.92);
    font-weight: 600;
    font-size: clamp(1.05rem, 2.2vw, 1.5rem);
    letter-spacing: -0.01em;
    opacity: 0;
    transform: translateY(10px);
    animation: brand-in 0.6s cubic-bezier(0.2, 0.7, 0.2, 1) 5.15s forwards, fade-out 0.3s ease 6.3s forwards;
}

.intro-skip {
    position: absolute;
    top: max(1rem, env(safe-area-inset-top));
    right: 1rem;
    z-index: 3;
    border: 0;
    border-radius: 999px;
    padding: 0.55rem 1.1rem;
    background: rgb(10 24 34 / 0.55);
    color: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.22);
}

.intro-skip:hover,
.intro-skip:focus-visible {
    background: rgb(10 24 34 / 0.8);
    outline: 3px solid var(--glio-gold);
    outline-offset: 2px;
}

/* logoul din antet apare când ajunge logoul deschiderii */
.af-intro-on .site-header .brand {
    opacity: 0;
    animation: fade-in 0.4s ease 7.05s forwards;
}

.af-intro-done .site-header .brand {
    opacity: 1;
    animation: none;
}

@keyframes draw {
    to { stroke-dashoffset: 0; }
}

@keyframes grow-x {
    to { transform: scaleX(1); }
}

@keyframes fade-in {
    to { opacity: 1; }
}

@keyframes fade-out {
    to { opacity: 0; }
}

@keyframes brand-in {
    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes intro-gone {
    to {
        visibility: hidden;
        pointer-events: none;
    }
}

/* ---------------------------------------------------------------- etichete */

.badge {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.22rem 0.65rem;
    border-radius: 999px;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.01em;
}

.badge-ready {
    background: var(--glio-ok-soft);
    color: var(--glio-ok);
}

.badge-soon {
    background: color-mix(in srgb, var(--gold) 16%, transparent);
    color: var(--gold-dark);
}

.badge-demo {
    background: var(--glio-info-soft);
    color: var(--glio-info);
}

/* ---------------------------------------------------------------- drumul de la sămânță la raft */

/*
 * Pe calculator (landing.js adaugă .is-pinned): secțiunea e mai înaltă decât ecranul, iar banda etapelor rămâne fixă
 * și se mută spre stânga pe măsură ce derulezi (doar transform). Fără JavaScript: banda se derulează pe orizontală.
 * Pe telefon: etapele una sub alta.
 */
.journey {
    position: relative;
    background: var(--bg);
    border-top: 1px solid var(--line);
}

.journey-sticky {
    padding: 4rem 0 3.5rem;
}

.journey-head {
    display: grid;
    gap: 1.25rem;
    align-items: end;
}

@media (min-width: 900px) {
    .journey-head {
        grid-template-columns: 1fr auto;
    }
}

.journey-head .section-head {
    margin-bottom: 0;
}

.crop-picker {
    border: 0;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 34rem;
}

.crop-picker legend {
    float: left;
    width: 100%;
    margin-bottom: 0.5rem;
    padding: 0;
    font-weight: 700;
    font-size: 0.85rem;
    color: var(--muted);
}

.crop-option {
    position: relative;
}

.crop-option input {
    position: absolute;
    inset: 0;
    margin: 0;
    opacity: 0;
    cursor: pointer;
}

.crop-option span {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 2.75rem;
    padding: 0.35rem 1rem 0.35rem 0.5rem;
    border-radius: 999px;
    background: var(--card);
    box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--muted) 35%, transparent);
    font-weight: 700;
    color: var(--ink);
    transition: box-shadow 0.15s, background-color 0.15s;
}

.crop-icon {
    width: 1.75rem;
    height: 1.75rem;
    flex: none;
}

.crop-option input:checked + span {
    background: color-mix(in srgb, var(--c) 16%, var(--card));
    box-shadow: inset 0 0 0 2px var(--c);
}

.crop-option input:focus-visible + span {
    outline: 3px solid var(--gold);
    outline-offset: 2px;
}

.journey-viewport {
    margin-top: 2rem;
}

.journey-track {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    width: min(1180px, 100% - 2.5rem);
    display: grid;
    gap: 1rem;
}

.stage {
    position: relative;
    background: var(--card);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 1.2rem 1.25rem 1.25rem;
    border: 1.5px solid transparent;
    transition: border-color 0.25s, background-color 0.25s;
}

.stage.is-soon {
    background: color-mix(in srgb, var(--card) 55%, transparent);
    box-shadow: none;
    border: 1.5px dashed color-mix(in srgb, var(--muted) 45%, transparent);
}

.stage.is-current {
    border-color: var(--crop);
}

/* legătura dintre etape: pe telefon în jos, pe calculator spre dreapta */
.stage:not(:last-child)::after {
    content: '';
    position: absolute;
    left: 2.3rem;
    top: 100%;
    width: 2px;
    height: 1rem;
    background: repeating-linear-gradient(var(--crop) 0 5px, transparent 5px 9px);
}

.stage-top {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.stage-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 999px;
    font-weight: 800;
    font-size: 0.95rem;
    color: var(--ink);
    box-shadow: inset 0 0 0 2px var(--crop);
}

.stage-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 14px;
    background: color-mix(in srgb, var(--crop) 18%, transparent);
    color: var(--ink);
}

.stage-icon svg {
    width: 1.4rem;
    height: 1.4rem;
}

.stage h3 {
    margin: 0.85rem 0 0.3rem;
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--ink);
}

.stage p {
    margin: 0;
    color: var(--muted);
    font-size: 0.95rem;
}

.stage-modules {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.85rem;
}

.journey-progress {
    display: none;
}

@media (min-width: 900px) {
    .journey-viewport {
        overflow-x: auto;
        scrollbar-width: thin;
    }

    .journey-track {
        display: flex;
        gap: 1.5rem;
        width: max-content;
        margin: 0;
        padding: 0.5rem max(1.25rem, calc((100vw - 1180px) / 2)) 1rem;
    }

    .stage {
        flex: none;
        width: 18.5rem;
    }

    .stage:not(:last-child)::after {
        left: 100%;
        top: 2.25rem;
        width: 1.5rem;
        height: 2px;
        background: repeating-linear-gradient(90deg, var(--crop) 0 6px, transparent 6px 11px);
    }

    /* landing.js pune --pin-top: banda stă centrată pe ecran (dar sub antet) cât timp se mută */
    .journey.is-pinned .journey-sticky {
        position: sticky;
        top: var(--pin-top, 4.5rem);
        padding: 2.5rem 0 2rem;
        overflow: hidden;
    }

    .journey.is-pinned .journey-viewport {
        overflow: visible;
    }

    .journey.is-pinned .journey-track {
        transform: translate3d(var(--shift, 0px), 0, 0);
        will-change: transform;
    }

    .journey.is-pinned .journey-progress {
        display: block;
        margin-top: 1.25rem;
        height: 4px;
        border-radius: 99px;
        background: var(--line);
        overflow: hidden;
    }

    .journey-progress span {
        display: block;
        height: 100%;
        background: linear-gradient(90deg, var(--crop), var(--green));
        transform-origin: left;
        transform: scaleX(var(--p, 0));
    }
}

/* ---------------------------------------------------------------- „Scanează sacul” (exemplu cu date fictive) */

.scan {
    background: var(--card);
}

.scan-grid {
    display: grid;
    gap: 2.5rem;
    align-items: center;
}

@media (min-width: 1000px) {
    .scan-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.scan-intro .section-head {
    margin-bottom: 1.5rem;
}

.scan-bag {
    position: relative;
    width: min(100%, 17rem);
    margin-bottom: 1.25rem;
}

.bag {
    display: block;
    width: 100%;
    height: auto;
}

.bag-body { fill: #c9aa76; }
.bag-neck { fill: #b48f58; }
.bag-weave { fill: none; stroke: rgb(90 64 30 / 0.22); stroke-width: 2; stroke-dasharray: 3 6; }
.bag-tie { fill: none; stroke: #7b5a2e; stroke-width: 5; stroke-linecap: round; }
.bag-label { fill: #fffdf7; stroke: rgb(10 24 34 / 0.12); }
.bag-crop circle { fill: var(--crop); }
.bag-product { font-weight: 800; font-size: 14px; fill: #0a1822; }
.bag-pack { font-size: 12px; font-weight: 600; fill: #5b6866; }
.bag-lot { font-size: 11px; font-weight: 800; fill: #0a1822; letter-spacing: 0.04em; }
.bag-demo { font-size: 10px; fill: #7d8985; }

/* raza care trece peste etichetă la scanare */
.scan-beam {
    position: absolute;
    left: 20%;
    right: 20%;
    top: 34%;
    height: 46%;
    overflow: hidden;
    pointer-events: none;
    opacity: 0;
}

.scan-beam::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 44%, rgb(62 227 156 / 0.45) 49%, #3ee39c 50%, rgb(62 227 156 / 0.45) 51%, transparent 56%);
    transform: translateY(-50%);
}

.scan.is-scanning .scan-beam {
    opacity: 1;
}

.scan.is-scanning .scan-beam::after {
    animation: beam 1.1s ease-in-out forwards;
}

@keyframes beam {
    to { transform: translateY(50%); }
}

.trace-card {
    background: var(--bg);
    border: 1px solid var(--line);
    border-radius: 24px;
    box-shadow: var(--shadow);
    padding: clamp(1.25rem, 3vw, 1.75rem);
}

.trace-card h3 {
    margin: 0.75rem 0 0.15rem;
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--ink);
}

.trace-card header p {
    margin: 0;
    color: var(--muted);
}

.trace-card header b {
    color: var(--ink);
    letter-spacing: 0.03em;
}

.trace-hint {
    display: none;
    margin: 1.25rem 0 0;
    color: var(--muted);
}

.trace-rows {
    list-style: none;
    margin: 1.1rem 0 0;
    padding: 0;
}

.trace-rows li {
    display: grid;
    grid-template-columns: 0.9rem 5.75rem 1fr;
    gap: 0.15rem 0.75rem;
    align-items: baseline;
    padding: 0.7rem 0;
    border-top: 1px solid var(--line);
}

.trace-rows b {
    color: var(--ink);
    font-size: 0.95rem;
}

.trace-rows span {
    color: var(--text);
    font-size: 0.95rem;
}

.trace-rows small {
    grid-column: 3;
    font-size: 0.74rem;
    font-weight: 800;
    color: var(--glio-ok);
}

.trace-rows .is-soon small {
    color: var(--gold-dark);
}

.trace-rows .is-soon b,
.trace-rows .is-soon span {
    opacity: 0.72;
}

.trace-dot {
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 50%;
    background: var(--glio-ok);
    align-self: center;
}

.trace-rows .is-soon .trace-dot {
    background: transparent;
    box-shadow: inset 0 0 0 2px var(--gold);
}

/* cu JavaScript: rândurile apar după „Scanează sacul” (fără el, totul e vizibil) */
.scan.scan-ready:not(.is-scanned) .trace-hint {
    display: block;
}

.scan.scan-ready .trace-rows li {
    transition: opacity 0.35s ease, transform 0.35s ease;
    transition-delay: calc(var(--i, 0) * 70ms);
}

.scan.scan-ready:not(.is-scanned) .trace-rows li {
    opacity: 0;
    transform: translateY(8px);
}

/* ---------------------------------------------------------------- „reduce motion” */

@media (prefers-reduced-motion: reduce) {
    .af-intro-on .intro {
        display: none;
    }

    html {
        scroll-behavior: auto;
    }

    .js .reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .btn,
    .stage,
    .crop-option span,
    .scan.scan-ready .trace-rows li {
        transition: none;
    }

    .scan.is-scanning .scan-beam::after {
        animation: none;
    }
}

/* ---------------------------------------------------------------- pagini simple (confidențialitate) */

.doc {
    max-width: 46rem;
    margin: 0 auto;
    padding: 3rem 0 4rem;
}

.doc h1 {
    font-size: clamp(1.9rem, 4vw, 2.6rem);
    letter-spacing: -0.03em;
    color: var(--ink);
    margin: 0 0 0.5rem;
}

.doc h2 {
    margin-top: 2rem;
    font-size: 1.25rem;
    color: var(--ink);
}

.doc .placeholder {
    background: #fffbeb;
    border-left: 4px solid var(--gold);
    padding: 0.75rem 1rem;
    border-radius: 0 12px 12px 0;
    color: #78350f;
}
