/* ===========================================================
   WygodnaDieta — Styles
   Palette inspired by sweetgreen: deep green, cream, lime
   =========================================================== */

:root{
    --green-900:#0e2a1d;
    --green-800:#16382a;
    --green-700:#1f4a37;
    --green-600:#2c6347;
    --green-500:#3c7d5c;
    --lime:#d6f56b;
    --lime-dark:#bce14a;
    --cream:#f3ecdb;
    --cream-deep:#ebe1c8;
    --sand:#e7ddc2;
    --paper:#fbf8f1;
    --ink:#1a1a1a;
    --muted:#6b6b66;
    --line:rgba(14,42,29,.12);
    --shadow-sm:0 2px 8px rgba(14,42,29,.06);
    --shadow-md:0 10px 30px rgba(14,42,29,.10);
    --shadow-lg:0 25px 50px rgba(14,42,29,.18);
    --radius-sm:10px;
    --radius:18px;
    --radius-lg:28px;
    --radius-xl:36px;
    --font-serif:'DM Serif Display', Georgia, serif;
    --font-sans:'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
    margin:0;
    font-family:var(--font-sans);
    color:var(--ink);
    background:var(--paper);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:none}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.1}
p{margin:0}

.container{
    width:100%;
    max-width:1240px;
    margin:0 auto;
    padding:0 24px;
}

/* ===== AD BAR ===== */
.ad-bar{
    background:var(--green-900);
    color:#fff;
    text-align:center;
    padding:6px 12px;
    font-size:11px;
    letter-spacing:.22em;
    text-transform:uppercase;
    font-weight:500;
}
.ad-bar__label{
    display:inline-block;
    padding:2px 14px;
    border:1px solid rgba(255,255,255,.4);
    border-radius:999px;
}

/* ===== HEADER ===== */
.header{
    position:sticky;
    top:0;
    z-index:50;
    background:rgba(251,248,241,.92);
    backdrop-filter:saturate(160%) blur(8px);
    border-bottom:1px solid var(--line);
}
.header__inner{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    height:68px;
    gap:24px;
}
.header__nav{display:flex;gap:28px}
.header__nav--left{justify-self:start}
.header__link{
    font-size:13px;
    font-weight:500;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:var(--green-900);
    position:relative;
    transition:color .2s;
}
.header__link:hover{color:var(--green-500)}
.header__link::after{
    content:'';
    position:absolute;
    left:0;right:0;bottom:-4px;
    height:1.5px;
    background:var(--green-700);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .25s ease;
}
.header__link:hover::after{transform:scaleX(1)}

.header__brand{
    font-family:var(--font-serif);
    font-size:26px;
    color:var(--green-900);
    letter-spacing:-.01em;
    justify-self:center;
}
.header__brand-mark{display:inline-block}

.header__actions{justify-self:end}

.header__burger{
    display:none;
    width:38px;height:38px;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    align-items:center;
    margin-left:auto;
}
.header__burger span{
    width:22px;height:2px;
    background:var(--green-900);
    border-radius:2px;
}

/* ===== BUTTONS ===== */
.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border-radius:999px;
    padding:12px 22px;
    font-weight:600;
    font-size:14px;
    letter-spacing:.01em;
    transition:transform .2s, box-shadow .2s, background .2s, color .2s;
    white-space:nowrap;
    cursor:pointer;
    line-height:1;
}
.btn--lime{
    background:var(--lime);
    color:var(--green-900);
}
.btn--lime:hover{background:var(--lime-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn--pill{
    background:var(--green-900);
    color:#fff;
    padding:11px 20px;
    font-size:13px;
}
.btn--pill:hover{background:var(--green-700)}
.btn--outline{
    background:transparent;
    color:var(--green-900);
    border:1.5px solid var(--green-900);
}
.btn--outline:hover{background:var(--green-900);color:#fff}
.btn--xl{padding:16px 30px;font-size:15px}
.btn--sm{padding:9px 16px;font-size:13px}
.btn--full{width:100%}

/* ===== HERO ===== */
.hero{
    background:var(--paper);
    padding:14px 14px 0;
}
.hero__slider{
    position:relative;
    border-radius:var(--radius-xl);
    overflow:hidden;
    height:min(85vh, 720px);
    min-height:560px;
}
.hero__slide{
    position:absolute;
    inset:0;
    background:var(--hero-bg) center/cover no-repeat,#2c4c3a;
    display:flex;
    align-items:flex-end;
    padding-bottom:60px;
    opacity:0;
    visibility:hidden;
    transition:opacity .8s ease, visibility .8s ease;
}
.hero__slide.is-active{opacity:1;visibility:visible}
.hero__overlay{
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:1;
    background:
        linear-gradient(105deg, rgba(14,42,29,.82) 0%, rgba(14,42,29,.45) 42%, rgba(14,42,29,.12) 72%),
        linear-gradient(0deg, rgba(14,42,29,.75) 0%, transparent 55%);
}
.hero__overlay--light{
    background:
        linear-gradient(105deg, rgba(14,42,29,.55) 0%, rgba(14,42,29,.2) 38%, transparent 65%),
        linear-gradient(0deg, rgba(14,42,29,.5) 0%, transparent 45%);
}
.hero__slide--lifestyle{
    background-position:center 30%;
}
.hero__content{
    position:relative;
    z-index:2;
    max-width:720px;
    margin-left:0;
    margin-right:auto;
    padding:28px 32px 32px;
    background:rgba(14,42,29,.62);
    -webkit-backdrop-filter:blur(14px) saturate(120%);
    backdrop-filter:blur(14px) saturate(120%);
    border-radius:var(--radius-lg);
    border:1px solid rgba(255,255,255,.14);
    box-shadow:0 24px 60px rgba(0,0,0,.28);
    color:#fff;
}
.hero__content--compact{
    max-width:560px;
    padding:22px 28px 26px;
}
.hero__content--compact .hero__title{
    font-size:clamp(34px, 5.5vw, 72px);
    margin-bottom:20px;
}
.hero__content--center{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
    max-width:820px;
}

.hero__eyebrow{
    display:inline-block;
    background:var(--lime);
    color:var(--green-900);
    font-size:11px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
    padding:6px 14px;
    border-radius:999px;
    margin-bottom:18px;
    box-shadow:0 2px 8px rgba(0,0,0,.15);
}

.hero__title{
    font-family:var(--font-serif);
    font-size:clamp(40px, 7vw, 88px);
    font-weight:400;
    letter-spacing:-.02em;
    line-height:.98;
    margin-bottom:24px;
    color:#fff;
    text-shadow:0 2px 20px rgba(0,0,0,.35);
}

.hero__text{
    font-size:17px;
    max-width:600px;
    margin-bottom:28px;
    color:rgba(255,255,255,.92);
    line-height:1.6;
    text-shadow:0 1px 12px rgba(0,0,0,.3);
}
.hero__content--center .hero__text{margin-left:auto;margin-right:auto}

.hero__arrow{
    position:absolute;
    top:24px;
    width:48px;height:48px;
    border-radius:50%;
    background:var(--lime);
    color:var(--green-900);
    display:flex;align-items:center;justify-content:center;
    z-index:5;
    transition:transform .2s, background .2s, opacity .2s;
    box-shadow:var(--shadow-md);
}
.hero__arrow:hover{background:var(--lime-dark);transform:scale(1.06)}
.hero__arrow--next{right:24px}
.hero__arrow--prev{right:80px;left:auto}

.hero__dots{
    position:absolute;
    bottom:24px;
    left:50%;
    transform:translateX(-50%);
    display:flex;gap:8px;
    z-index:5;
}
.hero__dot{
    width:9px;height:9px;border-radius:50%;
    background:rgba(255,255,255,.5);
    transition:background .2s, transform .2s, width .25s;
}
.hero__dot.is-active{background:var(--lime);width:28px;border-radius:99px}

/* ===== BENEFITS ===== */
.benefits{padding:80px 0 40px}
.benefits__grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:24px;
}
.benefit{
    background:#fff;
    padding:30px 26px;
    border-radius:var(--radius);
    border:1px solid var(--line);
    transition:transform .25s, box-shadow .25s;
}
.benefit:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.benefit__icon{
    font-size:34px;
    margin-bottom:14px;
    display:inline-flex;
    width:54px;height:54px;
    border-radius:14px;
    background:var(--cream);
    align-items:center;justify-content:center;
}
.benefit__title{
    font-size:17px;
    font-weight:600;
    margin-bottom:8px;
    color:var(--green-900);
}
.benefit__text{font-size:14px;color:var(--muted);line-height:1.55}

/* ===== SECTION HEAD ===== */
.section-head{margin-bottom:48px}
.section-head--center{text-align:center;max-width:720px;margin-left:auto;margin-right:auto}
.section-head__eyebrow{
    display:inline-block;
    font-size:12px;
    font-weight:600;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--green-600);
    background:var(--cream-deep);
    padding:6px 14px;
    border-radius:999px;
    margin-bottom:18px;
}
.section-head__title{
    font-family:var(--font-serif);
    font-size:clamp(34px, 5vw, 58px);
    font-weight:400;
    letter-spacing:-.015em;
    line-height:1.02;
    color:var(--green-900);
}
.section-head__title--left{text-align:left}
.section-head__title--light{color:#fff}
.section-head__text{
    margin-top:18px;
    font-size:17px;
    color:var(--muted);
    line-height:1.6;
}

/* ===== MENU ===== */
.menu{padding:80px 0;background:var(--paper)}
.menu__tabs{
    display:flex;
    justify-content:center;
    gap:8px;
    margin-bottom:14px;
    flex-wrap:wrap;
}
.menu__tab{
    font-family:var(--font-serif);
    font-size:28px;
    font-weight:400;
    color:var(--muted);
    padding:8px 22px;
    border-radius:999px;
    transition:color .2s, background .2s;
    position:relative;
}
.menu__tab:hover{color:var(--green-700)}
.menu__tab.is-active{color:var(--green-900);font-style:italic}
.menu__tab.is-active::after{
    content:'';
    position:absolute;
    bottom:-2px;left:50%;
    width:6px;height:6px;
    background:var(--green-900);
    border-radius:50%;
    transform:translateX(-50%);
}

.menu__slider-wrap{
    position:relative;
    margin-top:36px;
}
.menu__slider{
    position:relative;
    overflow:hidden;
    border-radius:var(--radius-lg);
    width:100%;
}
.menu__panel{
    display:none;
    width:100%;
    overflow:hidden;
    container-type:inline-size;
    container-name:menu-panel;
    animation:fadeUp .5s ease;
}
.menu__panel.is-active{
    display:block;
}
.menu__track{
    display:flex;
    gap:24px;
    transition:transform .45s cubic-bezier(.4,0,.2,1);
    will-change:transform;
}
.menu__track .dish{
    flex:0 0 calc((100cqw - 48px) / 3);
    min-width:0;
}
@container menu-panel (max-width: 900px){
    .menu__track .dish{flex:0 0 calc((100cqw - 24px) / 2)}
}
@container menu-panel (max-width: 560px){
    .menu__track .dish{flex:0 0 100cqw}
}
.menu__arrow.is-disabled{
    opacity:.35;
    pointer-events:none;
}
@keyframes fadeUp{
    from{opacity:0;transform:translateY(14px)}
    to{opacity:1;transform:translateY(0)}
}

.dish{
    background:#fff;
    border-radius:var(--radius-lg);
    overflow:hidden;
    border:1px solid var(--line);
    transition:transform .3s, box-shadow .3s;
    position:relative;
    display:flex;
    flex-direction:column;
}
.dish:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.dish__badge{
    position:absolute;
    top:18px;left:18px;
    z-index:2;
    background:var(--lime);
    color:var(--green-900);
    font-size:11px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    padding:6px 12px;
    border-radius:999px;
}
.dish__img{
    height:260px;
    background:var(--cream) center/cover no-repeat;
}
.dish__body{padding:24px 26px 28px;display:flex;flex-direction:column;flex:1}
.dish__title{
    font-size:19px;
    font-weight:600;
    color:var(--green-900);
    margin-bottom:10px;
    letter-spacing:.005em;
}
.dish__text{
    font-size:14px;
    color:var(--muted);
    line-height:1.55;
    margin-bottom:18px;
    flex:1;
}
.dish__cta{
    align-self:flex-start;
    font-size:14px;
    font-weight:600;
    color:var(--green-900);
    border-bottom:1.5px solid var(--green-900);
    padding-bottom:2px;
    transition:color .2s, border-color .2s;
}
.dish__cta:hover{color:var(--green-500);border-color:var(--green-500)}

.menu__arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:48px;height:48px;
    border-radius:50%;
    background:#fff;
    color:var(--green-900);
    border:1px solid var(--line);
    display:flex;align-items:center;justify-content:center;
    z-index:5;
    box-shadow:var(--shadow-sm);
    transition:background .2s, transform .2s;
}
.menu__arrow:hover{background:var(--lime);transform:translateY(-50%) scale(1.05)}
.menu__arrow--prev{left:-22px}
.menu__arrow--next{right:-22px}

/* ===== ABOUT ===== */
.about{
    padding:100px 0;
    background:var(--cream);
}
.about__grid{
    display:grid;
    grid-template-columns:1.05fr 1fr;
    gap:80px;
    align-items:center;
}
.about__media{position:relative;height:560px}
.about__img{
    border-radius:var(--radius-lg);
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    background-color:#cdc4ab;
}
.about__img--main{
    position:absolute;
    top:0;left:0;
    width:75%;height:75%;
}
.about__img--small{
    position:absolute;
    bottom:0;right:0;
    width:55%;height:48%;
    border:8px solid var(--cream);
}
.about__sticker{
    position:absolute;
    top:62%;left:62%;
    transform:translate(-50%,-50%) rotate(-6deg);
    background:var(--lime);
    color:var(--green-900);
    padding:18px 26px;
    border-radius:50%;
    width:140px;height:140px;
    display:flex;flex-direction:column;
    align-items:center;justify-content:center;
    text-align:center;
    box-shadow:var(--shadow-md);
    z-index:3;
}
.about__sticker-num{
    font-family:var(--font-serif);
    font-size:28px;
    line-height:1;
}
.about__sticker-text{
    font-size:11px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin-top:6px;
}

.about__content .section-head__eyebrow{margin-bottom:18px}
.about__lead{
    font-size:18px;
    color:var(--ink);
    margin:24px 0;
    line-height:1.6;
}
.about__list{
    display:grid;
    gap:12px;
    margin-bottom:28px;
}
.about__list li{
    padding:14px 18px;
    background:#fff;
    border-radius:14px;
    font-size:15px;
    color:var(--green-900);
    border:1px solid var(--line);
}
.about__list strong{
    font-family:var(--font-serif);
    font-size:22px;
    margin-right:10px;
    color:var(--green-700);
}
.about__badges{display:flex;flex-wrap:wrap;gap:10px}
.about__badge{
    font-size:12px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    padding:8px 14px;
    border:1.5px solid var(--green-900);
    border-radius:999px;
    color:var(--green-900);
}

/* ===== STEPS ===== */
.steps{padding:90px 0;background:var(--paper)}
.steps__list{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:24px;
    counter-reset:step;
}
.step{
    background:#fff;
    padding:32px 28px;
    border-radius:var(--radius);
    border:1px solid var(--line);
    position:relative;
    transition:transform .25s, box-shadow .25s;
}
.step:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.step__num{
    font-family:var(--font-serif);
    font-size:42px;
    color:var(--lime);
    -webkit-text-stroke:1px var(--green-700);
    display:block;
    margin-bottom:14px;
    line-height:1;
}
.step__title{
    font-size:18px;
    font-weight:600;
    color:var(--green-900);
    margin-bottom:10px;
}
.step__text{font-size:14px;color:var(--muted);line-height:1.55}

/* ===== REVIEWS ===== */
.reviews{padding:90px 0;background:var(--cream-deep)}
.reviews__grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:24px;
}
.review{
    background:var(--paper);
    border-radius:var(--radius);
    padding:32px 30px;
    border:1px solid var(--line);
}
.review__stars{
    color:var(--lime-dark);
    -webkit-text-stroke:.5px var(--green-700);
    font-size:18px;
    letter-spacing:2px;
    margin-bottom:14px;
}
.review__text{
    font-size:17px;
    color:var(--green-900);
    line-height:1.55;
    margin-bottom:22px;
    font-style:italic;
}
.review__author{display:flex;align-items:center;gap:14px}
.review__avatar{
    width:52px;height:52px;
    border-radius:50%;
    background:#cdc4ab center/cover no-repeat;
    flex-shrink:0;
}
.review__name{font-weight:600;color:var(--green-900);font-size:15px}
.review__city{font-size:13px;color:var(--muted)}

/* ===== PLANS ===== */
.plans{padding:100px 0;background:var(--paper)}
.plans__grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
    margin-top:20px;
}
.plan{
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius-lg);
    padding:36px 30px;
    display:flex;
    flex-direction:column;
    transition:transform .3s, box-shadow .3s;
    position:relative;
}
.plan:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.plan--featured{
    background:var(--green-900);
    color:#fff;
    border-color:var(--green-900);
    transform:translateY(-12px);
    box-shadow:var(--shadow-lg);
}
.plan--featured:hover{transform:translateY(-16px)}
.plan__ribbon{
    position:absolute;
    top:-14px;left:50%;
    transform:translateX(-50%);
    background:var(--lime);
    color:var(--green-900);
    font-size:12px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    padding:7px 16px;
    border-radius:999px;
}
.plan__head{margin-bottom:22px}
.plan__name{
    font-family:var(--font-serif);
    font-size:34px;
    font-weight:400;
    margin-bottom:4px;
}
.plan--featured .plan__name{color:#fff}
.plan__lead{font-size:14px;color:var(--muted)}
.plan--featured .plan__lead{color:rgba(255,255,255,.7)}

.plan__price{
    margin-bottom:24px;
    padding-bottom:24px;
    border-bottom:1px solid var(--line);
    display:flex;align-items:baseline;gap:6px;
}
.plan--featured .plan__price{border-color:rgba(255,255,255,.15)}
.plan__price-amount{
    font-family:var(--font-serif);
    font-size:46px;
    color:var(--green-900);
}
.plan--featured .plan__price-amount{color:var(--lime)}
.plan__price-period{font-size:14px;color:var(--muted)}
.plan--featured .plan__price-period{color:rgba(255,255,255,.7)}

.plan__list{display:grid;gap:10px;margin-bottom:28px;flex:1}
.plan__list li{
    font-size:14px;
    color:var(--green-900);
    padding-left:24px;
    position:relative;
    line-height:1.5;
}
.plan--featured .plan__list li{color:rgba(255,255,255,.9)}
.plan__list li::before{
    content:'';
    position:absolute;
    left:0;top:6px;
    width:14px;height:14px;
    background:var(--lime);
    border-radius:50%;
    box-shadow:inset 0 0 0 4px var(--green-900);
}
.plan--featured .plan__list li::before{box-shadow:inset 0 0 0 4px var(--green-900)}

.plan--featured .btn--outline{
    border-color:rgba(255,255,255,.8);
    color:#fff;
}
.plan--featured .btn--outline:hover{background:#fff;color:var(--green-900)}

.plans__note{
    margin-top:34px;
    padding:20px 26px;
    background:var(--cream);
    border-radius:var(--radius);
    text-align:center;
    color:var(--green-900);
    font-size:15px;
    line-height:1.55;
}

/* ===== ORDER FORM ===== */
.order{
    padding:100px 0;
    background:var(--green-900);
    color:#fff;
    position:relative;
}
.order::before{
    content:'';
    position:absolute;
    top:0;left:0;right:0;height:80px;
    background:linear-gradient(180deg, var(--paper) 0%, var(--green-900) 100%);
    opacity:.4;
    pointer-events:none;
}
.order__grid{
    display:grid;
    grid-template-columns:1fr 1.05fr;
    gap:60px;
    align-items:start;
    position:relative;
    z-index:1;
}
.order__info .section-head__eyebrow{
    background:rgba(214,245,107,.18);
    color:var(--lime);
}
.order__lead{
    font-size:17px;
    color:rgba(255,255,255,.78);
    margin:20px 0 36px;
    line-height:1.6;
}
.order__contacts{display:grid;gap:22px}
.order__contacts li{
    display:grid;
    grid-template-columns:120px 1fr;
    gap:18px;
    padding:14px 0;
    border-top:1px solid rgba(255,255,255,.12);
}
.order__contact-label{
    font-size:12px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:rgba(255,255,255,.55);
}
.order__contact-value{
    font-size:16px;
    color:#fff;
    line-height:1.5;
}
.order__contact-value:hover{color:var(--lime)}

.order__form{
    background:#fff;
    color:var(--green-900);
    border-radius:var(--radius-lg);
    padding:40px 36px;
    box-shadow:var(--shadow-lg);
}
.order__form-title{
    font-family:var(--font-serif);
    font-size:32px;
    font-weight:400;
    margin-bottom:6px;
}
.order__form-sub{color:var(--muted);font-size:14px;margin-bottom:24px}

.field{display:block;margin-bottom:16px}
.field__label{
    display:block;
    font-size:13px;
    font-weight:500;
    margin-bottom:6px;
    color:var(--green-900);
}
.field__input{
    width:100%;
    padding:13px 16px;
    border:1.5px solid var(--line);
    border-radius:12px;
    background:var(--paper);
    font-family:inherit;
    font-size:15px;
    color:var(--green-900);
    transition:border-color .2s, background .2s;
}
.field__input:focus{
    outline:none;
    border-color:var(--green-700);
    background:#fff;
}
textarea.field__input{resize:vertical;min-height:80px}
select.field__input{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3e%3cpath d='M1 1l5 5 5-5' stroke='%231f4a37' stroke-width='1.6' fill='none' stroke-linecap='round'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}

.field--check{
    display:flex;
    gap:10px;
    align-items:flex-start;
    font-size:13px;
    color:var(--muted);
    line-height:1.5;
}
.field--check input{margin-top:3px;flex-shrink:0}
.field--check a{color:var(--green-700);text-decoration:underline}

.order__form-foot{
    text-align:center;
    font-size:13px;
    color:var(--muted);
    margin-top:14px;
}

/* ===== FAQ ===== */
.faq{padding:100px 0;background:var(--cream)}
.faq__wrap{max-width:880px;margin:0 auto}
.faq__list{display:grid;gap:12px;margin-top:40px}
.faq__item{
    background:#fff;
    border-radius:var(--radius);
    border:1px solid var(--line);
    overflow:hidden;
    transition:box-shadow .2s;
}
.faq__item[open]{box-shadow:var(--shadow-md)}
.faq__q{
    list-style:none;
    cursor:pointer;
    padding:22px 60px 22px 26px;
    font-size:17px;
    font-weight:600;
    color:var(--green-900);
    position:relative;
}
.faq__q::-webkit-details-marker{display:none}
.faq__q::after{
    content:'+';
    position:absolute;
    right:24px;top:50%;
    transform:translateY(-50%);
    font-size:24px;
    font-weight:400;
    color:var(--green-700);
    transition:transform .25s;
    line-height:1;
}
.faq__item[open] .faq__q::after{transform:translateY(-50%) rotate(45deg)}
.faq__a{padding:0 26px 24px;color:var(--muted);font-size:15px;line-height:1.65}

/* ===== FOOTER ===== */
.footer{
    background:var(--green-900);
    color:rgba(255,255,255,.78);
    padding:80px 0 32px;
    font-size:14px;
}
.footer__top{
    display:grid;
    grid-template-columns:1.7fr 1fr 1.2fr 1.6fr;
    gap:48px;
    margin-bottom:48px;
}
.footer__brand{
    font-family:var(--font-serif);
    font-size:30px;
    color:#fff;
    margin-bottom:14px;
}
.footer__about{
    color:rgba(255,255,255,.65);
    margin-bottom:18px;
    line-height:1.55;
}
.footer__legal-name{
    font-size:12px;
    color:rgba(255,255,255,.55);
    line-height:1.7;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,.12);
}
.footer__legal-name strong{color:rgba(255,255,255,.85);font-weight:600}

.footer__title{
    font-size:13px;
    font-weight:600;
    letter-spacing:.15em;
    text-transform:uppercase;
    color:#fff;
    margin-bottom:16px;
}
.footer__title--small{font-size:12px;margin-bottom:8px}

.footer__list{display:grid;gap:10px}
.footer__list a{
    color:rgba(255,255,255,.7);
    transition:color .2s;
    line-height:1.45;
}
.footer__list a:hover{color:var(--lime)}

.footer__list--science{gap:14px}
.footer__list--science a{font-size:12.5px;line-height:1.55;display:block}
.footer__list--science em{color:rgba(255,255,255,.85);font-style:italic}

.footer__disclaimer{
    padding:24px 0;
    border-top:1px solid rgba(255,255,255,.12);
    border-bottom:1px solid rgba(255,255,255,.12);
    margin-bottom:24px;
}
.footer__disclaimer p{
    font-size:12.5px;
    color:rgba(255,255,255,.55);
    line-height:1.65;
    max-width:1100px;
}

.footer__bottom{
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:12px;
    font-size:12px;
    color:rgba(255,255,255,.5);
}

/* ===== COOKIE BANNER ===== */
.cookie-banner{
    position:fixed;
    bottom:18px;left:18px;right:18px;
    z-index:80;
    background:var(--green-900);
    color:#fff;
    border-radius:var(--radius);
    padding:18px 22px;
    box-shadow:var(--shadow-lg);
    transform:translateY(150%);
    transition:transform .4s ease;
    max-width:920px;
    margin:0 auto;
}
.cookie-banner.is-visible{transform:translateY(0)}
.cookie-banner__inner{
    display:flex;
    gap:24px;
    align-items:center;
    flex-wrap:wrap;
    justify-content:space-between;
}
.cookie-banner p{
    font-size:14px;
    color:rgba(255,255,255,.85);
    flex:1;min-width:280px;
    line-height:1.5;
}
.cookie-banner a{color:var(--lime);text-decoration:underline}
.cookie-banner__actions{display:flex;gap:10px}
.cookie-banner .btn--outline{border-color:rgba(255,255,255,.6);color:#fff}
.cookie-banner .btn--outline:hover{background:#fff;color:var(--green-900)}

/* ===== THANK YOU PAGE ===== */
.thankyou{
    padding:100px 0 120px;
    background:var(--cream);
    min-height:60vh;
}
.thankyou__wrap{
    max-width:640px;
    margin:0 auto;
    text-align:center;
}
.thankyou__icon{
    width:80px;height:80px;
    margin:0 auto 28px;
    background:var(--lime);
    color:var(--green-900);
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:36px;font-weight:700;
    box-shadow:var(--shadow-md);
}
.thankyou__title{
    font-family:var(--font-serif);
    font-size:clamp(36px,5vw,52px);
    font-weight:400;
    color:var(--green-900);
    margin-bottom:20px;
    letter-spacing:-.01em;
}
.thankyou__text{
    font-size:17px;
    color:var(--muted);
    line-height:1.65;
    margin-bottom:14px;
}
.thankyou__actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    justify-content:center;
    margin:32px 0 24px;
}
.thankyou__note{
    font-size:14px;
    color:var(--muted);
}
.thankyou__note a{color:var(--green-700);text-decoration:underline}

@media (max-width: 720px){
    .thankyou{padding:60px 0 80px}
    .thankyou__actions{flex-direction:column}
    .thankyou__actions .btn{width:100%}
}

/* ===== LEGAL PAGES ===== */
.legal-page{
    padding:80px 0 100px;
    background:var(--paper);
}
.legal-page__wrap{
    max-width:880px;
    margin:0 auto;
}
.legal-page h1{
    font-family:var(--font-serif);
    font-size:clamp(36px,5vw,56px);
    font-weight:400;
    color:var(--green-900);
    margin-bottom:14px;
    letter-spacing:-.01em;
}
.legal-page__meta{
    color:var(--muted);
    font-size:14px;
    margin-bottom:40px;
    padding-bottom:24px;
    border-bottom:1px solid var(--line);
}
.legal-page h2{
    font-family:var(--font-serif);
    font-size:28px;
    color:var(--green-900);
    margin:40px 0 14px;
    font-weight:400;
}
.legal-page h3{
    font-size:18px;
    color:var(--green-900);
    margin:24px 0 10px;
    font-weight:600;
}
.legal-page p, .legal-page li{
    color:var(--ink);
    line-height:1.7;
    font-size:15.5px;
    margin-bottom:12px;
}
.legal-page ul, .legal-page ol{
    padding-left:22px;
    margin-bottom:16px;
}
.legal-page ul li, .legal-page ol li{
    list-style:disc;
    padding-left:6px;
}
.legal-page ol li{list-style:decimal}
.legal-page a{color:var(--green-700);text-decoration:underline}
.legal-page a:hover{color:var(--green-500)}
.legal-page__back{
    display:inline-flex;align-items:center;gap:6px;
    margin-bottom:24px;
    font-size:14px;color:var(--green-700);
}
.legal-page__back:hover{color:var(--green-500)}
.legal-page table{
    width:100%;
    border-collapse:collapse;
    margin:18px 0;
    font-size:14px;
}
.legal-page th, .legal-page td{
    text-align:left;
    padding:12px 14px;
    border:1px solid var(--line);
    vertical-align:top;
}
.legal-page th{background:var(--cream);font-weight:600;color:var(--green-900)}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px){
    .header__inner{grid-template-columns:auto 1fr auto}
    .header__nav--left{display:none}
    .header__burger{display:flex}
    .header__brand{justify-self:start}

    .benefits__grid{grid-template-columns:repeat(2, 1fr)}
    .about__grid{grid-template-columns:1fr;gap:50px}
    .about__media{height:480px;max-width:560px}
    .steps__list{grid-template-columns:repeat(2, 1fr)}
    .plans__grid{grid-template-columns:1fr;max-width:480px;margin-left:auto;margin-right:auto}
    .plan--featured{transform:none}
    .plan--featured:hover{transform:translateY(-4px)}
    .order__grid{grid-template-columns:1fr;gap:40px}
    .footer__top{grid-template-columns:repeat(2, 1fr);gap:32px}
}

@media (max-width: 720px){
    .hero{padding:8px}
    .hero__slider{min-height:520px;height:78vh;border-radius:24px}
    .hero__slide{padding-bottom:80px;align-items:center}
    .hero__content{
        padding:22px 20px 24px;
        margin:0 auto;
        max-width:calc(100% - 24px);
        text-align:center;
    }
    .hero__content--center{text-align:center}
    .hero__title{font-size:42px}
    .hero__arrow{top:16px;width:42px;height:42px}
    .hero__arrow--next{right:14px}
    .hero__arrow--prev{right:64px;left:auto}

    .benefits{padding:50px 0 20px}
    .benefits__grid{grid-template-columns:1fr;gap:14px}

    .menu{padding:60px 0}
    .menu__tab{font-size:22px;padding:6px 14px}
    .menu__arrow{display:none}

    .about{padding:60px 0}
    .about__media{height:380px}
    .about__sticker{width:110px;height:110px;top:58%;left:64%}
    .about__sticker-num{font-size:22px}

    .steps{padding:60px 0}
    .steps__list{grid-template-columns:1fr}

    .reviews{padding:60px 0}
    .reviews__grid{grid-template-columns:1fr}

    .plans{padding:60px 0}

    .order{padding:60px 0}
    .order__form{padding:28px 22px}
    .order__contacts li{grid-template-columns:1fr;gap:4px}

    .faq{padding:60px 0}
    .faq__q{font-size:15px;padding:18px 52px 18px 20px}

    .footer{padding:60px 0 24px}
    .footer__top{grid-template-columns:1fr;gap:32px;margin-bottom:32px}
    .footer__bottom{flex-direction:column;gap:6px;text-align:center}

    .cookie-banner{left:10px;right:10px;padding:14px 16px}
    .cookie-banner__actions{width:100%;justify-content:stretch}
    .cookie-banner__actions .btn{flex:1}
}
