:root {
  --logo-zuta: #FDD305;
  --logo-braon: #A15100;
  --logo-zelena: #6DA80F;
  --logo-crvenka: #CC4203;
  --birthday-ink: #1f1b16;
  --birthday-muted: #6c6258;
  --birthday-cream: #fffaf0;
  --birthday-line: rgba(161, 81, 0, .14);
}

.birthday-page { overflow: hidden; background: #fff; color: var(--birthday-ink); }
.birthday-page h1,.birthday-page h2,.birthday-page h3 { letter-spacing: -.035em; }

.birthday-hero {
  position: relative;
  padding: 120px 0 105px;
  background:
    radial-gradient(circle at 10% 15%, rgba(253,211,5,.38), transparent 26%),
    radial-gradient(circle at 86% 15%, rgba(109,168,15,.18), transparent 27%),
    linear-gradient(135deg,#fffdf5 0%,#fff8df 52%,#fff 100%);
}
.birthday-hero::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:70px; background:#fff; clip-path:polygon(0 70%,100% 0,100% 100%,0 100%); }
.birthday-hero .container { z-index:2; }
.birthday-hero__orb { position:absolute; border-radius:50%; filter:blur(1px); opacity:.65; }
.birthday-hero__orb--one { width:170px;height:170px;background:var(--logo-zuta);left:-70px;top:90px; }
.birthday-hero__orb--two { width:120px;height:120px;border:26px solid rgba(204,66,3,.14);right:4%;bottom:15%; }
.birthday-kicker,.birthday-eyebrow,.birthday-section-heading>span,.birthday-cta__inner>div>span { display:inline-flex;align-items:center;gap:9px;font-weight:900;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--logo-crvenka); }
.birthday-kicker::before,.birthday-eyebrow::before,.birthday-section-heading>span::before { content:"";width:28px;height:3px;border-radius:999px;background:var(--logo-zuta); }
.birthday-hero h1 { max-width:760px;font-size:clamp(2.75rem,5vw,5.45rem);line-height:.98;margin:22px 0 25px;color:var(--birthday-ink); }
.birthday-hero__lead { max-width:670px;font-size:1.18rem;line-height:1.75;color:var(--birthday-muted); }
.birthday-hero__actions,.birthday-cta__actions { display:flex;flex-wrap:wrap;gap:14px;margin-top:34px; }
.birthday-btn { min-height:54px;padding:0 25px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:900;transition:.3s ease;border:1px solid transparent; }
.birthday-btn:hover { transform:translateY(-4px);box-shadow:0 18px 35px rgba(40,28,10,.15); }
.birthday-btn--primary { background:var(--logo-crvenka);color:#fff; }
.birthday-btn--primary:hover { color:#fff;background:#a93200; }
.birthday-btn--ghost { background:rgba(255,255,255,.72);border-color:rgba(161,81,0,.2);color:var(--logo-braon);backdrop-filter:blur(8px); }
.birthday-btn--dark { background:var(--birthday-ink);color:#fff; }
.birthday-btn--dark:hover { color:#fff; }
.birthday-btn--light { background:#fff;color:var(--birthday-ink); }
.birthday-hero__facts { margin-top:45px;display:flex;gap:35px;flex-wrap:wrap; }
.birthday-hero__facts div { padding-left:18px;border-left:3px solid var(--logo-zuta); }
.birthday-hero__facts strong { display:block;font-size:1.65rem;color:var(--logo-braon);line-height:1; }
.birthday-hero__facts span { margin-top:6px;font-size:.88rem;color:var(--birthday-muted); }
.birthday-hero__visual { min-height:540px;position:relative; }
.birthday-hero__photo { position:absolute;overflow:hidden;background:#fff;box-shadow:0 30px 70px rgba(83,50,10,.2); }
.birthday-hero__photo img { width:100%;height:100%;object-fit:cover; }
.birthday-hero__photo--main { right:0;top:0;width:78%;height:470px;border-radius:38% 18% 32% 16%/22% 28% 18% 32%;transform:rotate(2deg); }
.birthday-hero__photo--small { left:0;bottom:10px;width:43%;height:240px;border:9px solid #fff;border-radius:28px;transform:rotate(-7deg); }
.birthday-hero__trophy { position:absolute;width:120px;right:-10px;bottom:0;filter:drop-shadow(0 18px 20px rgba(90,50,0,.25));animation:birthdayFloat 4s ease-in-out infinite; }
@keyframes birthdayFloat { 50% { transform:translateY(-13px) rotate(4deg); } }

.birthday-choice-section { padding:95px 0 115px; }
.birthday-section-heading { max-width:760px;margin:0 auto 52px; }
.birthday-section-heading h2 { margin-top:12px;font-size:clamp(2rem,3.5vw,3.65rem);line-height:1.1;color:var(--birthday-ink); }
.birthday-section-heading--left { margin:85px 0 35px; }
.birthday-choice-card { height:100%;padding:34px;border-radius:28px;display:flex;align-items:center;gap:22px;color:var(--birthday-ink);position:relative;overflow:hidden;transition:.35s ease;box-shadow:0 15px 45px rgba(83,50,10,.08); }
.birthday-choice-card:hover { color:var(--birthday-ink);transform:translateY(-8px);box-shadow:0 25px 60px rgba(83,50,10,.14); }
.birthday-choice-card--yellow { background:linear-gradient(135deg,#fff8bd,#fffdf2);border:1px solid rgba(253,211,5,.55); }
.birthday-choice-card--green { background:linear-gradient(135deg,#edf8d9,#fbfff5);border:1px solid rgba(109,168,15,.28); }
.birthday-choice-card__number { width:72px;height:72px;min-width:72px;border-radius:22px;background:#fff;display:grid;place-items:center;font-size:1.35rem;font-weight:1000;box-shadow:0 12px 28px rgba(70,45,10,.1); }
.birthday-choice-card h3 { font-size:1.45rem;line-height:1.25;margin-bottom:8px; }
.birthday-choice-card p { color:var(--birthday-muted); }
.birthday-choice-card>i { margin-left:auto;font-size:1.9rem; }

.birthday-offer { padding:120px 0;position:relative; }
.birthday-offer--space { background:var(--birthday-cream); }
.birthday-offer--location { background:linear-gradient(180deg,#fff 0%,#f8fdf0 100%); }
.birthday-offer__intro { margin-bottom:25px; }
.birthday-offer__image-stack { min-height:570px;position:relative; }
.birthday-offer__image-main,.birthday-offer__image-accent { position:absolute;object-fit:cover;box-shadow:0 30px 65px rgba(55,35,5,.16); }
.birthday-offer__image-main { width:78%;height:520px;left:0;top:0;border-radius:34px; }
.birthday-offer__image-accent { width:44%;height:290px;right:0;bottom:0;border:10px solid #fff;border-radius:28px;transform:rotate(5deg); }
.birthday-offer__image-stack--right .birthday-offer__image-main { left:auto;right:0; }
.birthday-offer__image-stack--right .birthday-offer__image-accent { right:auto;left:0;transform:rotate(-5deg); }
.birthday-eyebrow--green { color:var(--logo-zelena); }
.birthday-offer h2 { font-size:clamp(2.15rem,3.7vw,4rem);line-height:1.08;margin:16px 0 28px;color:var(--birthday-ink); }
.birthday-copy p { margin-bottom:17px;font-size:1.04rem;line-height:1.78;color:var(--birthday-muted); }

.birthday-price-card { height:100%;padding:34px;background:#fff;border-radius:30px;border:1px solid var(--birthday-line);box-shadow:0 18px 50px rgba(67,42,9,.08);position:relative;transition:.35s ease; }
.birthday-price-card:hover { transform:translateY(-8px);box-shadow:0 28px 65px rgba(67,42,9,.14); }
.birthday-price-card--featured { border:2px solid var(--logo-zuta);background:linear-gradient(180deg,#fffef6,#fff); }
.birthday-price-card__badge { display:inline-block;margin-bottom:20px;padding:8px 13px;border-radius:999px;background:var(--logo-zuta);color:var(--birthday-ink);font-size:.72rem;font-weight:1000;letter-spacing:.08em; }
.birthday-price-card__top { display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--birthday-line); }
.birthday-price-card__top>div:first-child span { display:block;font-size:.75rem;font-weight:900;color:var(--birthday-muted);letter-spacing:.12em; }
.birthday-price-card__top>div:first-child strong { font-size:3rem;line-height:1;color:var(--logo-braon); }
.birthday-price-card__price strong { font-size:2.35rem;color:var(--logo-crvenka); }
.birthday-price-card ul { margin:25px 0 30px;display:grid;gap:14px; }
.birthday-price-card li { display:flex;gap:10px;align-items:flex-start;font-weight:800;font-size:.9rem;line-height:1.45;color:#51483f; }
.birthday-price-card li i { color:var(--logo-zelena);font-size:1.2rem;margin-top:1px; }
.birthday-note { margin-top:32px;padding:24px 26px;border-radius:20px;background:#fff2d3;border:1px solid rgba(253,211,5,.4);display:flex;gap:15px;align-items:flex-start; }
.birthday-note i { width:38px;height:38px;min-width:38px;border-radius:50%;display:grid;place-items:center;background:var(--logo-zuta);color:var(--birthday-ink);font-size:1.1rem; }
.birthday-note p { margin:0;color:#5e4b2f;font-weight:700;line-height:1.65; }
.birthday-note--green { background:#edf8df;border-color:rgba(109,168,15,.3); }
.birthday-note--green i { background:var(--logo-zelena);color:#fff; }

.birthday-packages-grid { align-items:stretch; }
.birthday-mini-card { height:100%;padding:27px 24px;border-radius:26px;background:#fff;border:1px solid rgba(109,168,15,.18);box-shadow:0 18px 45px rgba(43,72,5,.07);transition:.35s ease;position:relative;overflow:hidden; }
.birthday-mini-card::before { content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--logo-zelena); }
.birthday-mini-card:hover { transform:translateY(-8px);box-shadow:0 28px 60px rgba(43,72,5,.13); }
.birthday-mini-card__head { display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid rgba(109,168,15,.16); }
.birthday-mini-card__head span { font-size:.75rem;font-weight:1000;letter-spacing:.12em;color:var(--logo-zelena); }
.birthday-mini-card__head strong { font-size:1.9rem;color:var(--birthday-ink); }
.birthday-mini-card__label { margin:18px 0 0;display:inline-block;padding:7px 10px;border-radius:10px;background:#e7f5ff;color:#0876a5;font-size:.72rem;font-weight:1000; }
.birthday-mini-card--foam .birthday-mini-card__label { background:#fff0f4;color:#b21e4b; }
.birthday-mini-card ul { margin-top:22px;display:grid;gap:13px; }
.birthday-mini-card li { position:relative;padding-left:18px;font-size:.85rem;font-weight:800;line-height:1.45;color:#57504a; }
.birthday-mini-card li::before { content:"";position:absolute;left:0;top:.52em;width:7px;height:7px;border-radius:50%;background:var(--logo-zuta); }

.birthday-gallery-section { padding:120px 0;background:#CC4203;color:#fff; }
.birthday-gallery-section .birthday-section-heading h2 { color:#fff; }
.birthday-gallery { columns:4 220px;column-gap:18px; }
.birthday-gallery__item { break-inside:avoid;display:block;position:relative;margin:0 0 18px;border-radius:20px;overflow:hidden;background:#332d27; }
.birthday-gallery__item img { width:100%;display:block;aspect-ratio:3/4;object-fit:cover;transition:.55s ease; }
.birthday-gallery__item:nth-child(3n) img { aspect-ratio:3/5; }
.birthday-gallery__item span { position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,transparent,rgba(0,0,0,.55));opacity:0;transition:.35s ease;color:#fff;font-size:2rem; }
.birthday-gallery__item:hover img { transform:scale(1.07); }
.birthday-gallery__item:hover span { opacity:1; }

.birthday-cta { padding:90px 0 120px;background:#211c17; }
.birthday-cta__inner { padding:48px 52px;border-radius:32px;background:linear-gradient(135deg,var(--logo-zuta),#ffed7d);display:flex;align-items:center;justify-content:space-between;gap:35px;box-shadow:0 25px 70px rgba(0,0,0,.2); }
.birthday-cta__inner h2 { max-width:650px;margin-top:10px;font-size:clamp(2rem,3.5vw,3.6rem);line-height:1.08;color:var(--birthday-ink); }
.birthday-cta__inner>div>span { color:var(--logo-braon); }
.birthday-cta__actions { margin-top:0;justify-content:flex-end; }

@media (max-width: 1199px) {
  .birthday-hero { padding-top:90px; }
  .birthday-gallery { columns:3 220px; }
}
@media (max-width: 991px) {
  .birthday-hero__visual { min-height:500px;max-width:620px;margin:auto; }
  .birthday-offer__image-stack { min-height:520px;max-width:650px;margin:auto; }
  .birthday-offer__intro--reverse .order-lg-2 { order:1!important; }
  .birthday-offer__intro--reverse .order-lg-1 { order:2!important; }
  .birthday-cta__inner { flex-direction:column;align-items:flex-start; }
  .birthday-cta__actions { justify-content:flex-start; }
}
@media (max-width: 767px) {
  .birthday-hero { padding:75px 0 90px; }
  .birthday-hero h1 { font-size:clamp(2.45rem,12vw,4rem); }
  .birthday-hero__lead { font-size:1rem; }
  .birthday-hero__facts { gap:20px; }
  .birthday-hero__visual { min-height:420px; }
  .birthday-hero__photo--main { width:88%;height:370px; }
  .birthday-hero__photo--small { width:44%;height:190px; }
  .birthday-hero__trophy { width:85px; }
  .birthday-choice-section,.birthday-offer,.birthday-gallery-section { padding:85px 0; }
  .birthday-choice-card { padding:26px;align-items:flex-start; }
  .birthday-choice-card__number { width:58px;height:58px;min-width:58px;border-radius:17px; }
  .birthday-offer__image-stack { min-height:430px; }
  .birthday-offer__image-main { width:86%;height:390px; }
  .birthday-offer__image-accent { width:43%;height:205px; }
  .birthday-price-card { padding:26px; }
  .birthday-gallery { columns:2 150px;column-gap:12px; }
  .birthday-gallery__item { margin-bottom:12px;border-radius:14px; }
  .birthday-cta__inner { padding:34px 25px;border-radius:24px; }
}
@media (max-width: 480px) {
  .birthday-hero__actions,.birthday-cta__actions { flex-direction:column;align-items:stretch; }
  .birthday-btn { width:100%; }
  .birthday-hero__facts { display:grid;grid-template-columns:1fr 1fr; }
  .birthday-choice-card { flex-direction:column; }
  .birthday-choice-card>i { margin-left:0; }
  .birthday-gallery { columns:2 130px; }
}

.birthday-video-card{
    display:flex;
    align-items:center;
    gap:16px;
    max-width:420px;
    margin:40px auto 0;
    padding:16px 20px;
    background:#fff;
    border:1px solid rgba(253,211,5,.5);
    border-radius:18px;
    text-decoration:none;
    box-shadow:0 12px 35px rgba(0,0,0,.08);
    transition:.35s ease;
}

.birthday-video-card:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 40px rgba(0,0,0,.12);
    border-color:#CC4203;
}

.birthday-video-card__icon{
    width:54px;
    height:54px;
    border-radius:50%;
    background:#CC4203;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    flex-shrink:0;
}

.birthday-video-card__content{
    flex:1;
}

.birthday-video-card__title{
    display:block;
    color:#222;
    font-weight:700;
    margin-bottom:2px;
}

.birthday-video-card__content small{
    color:#6f6f6f;
    font-size:14px;
}

.birthday-video-card__arrow{
    color:#CC4203;
    font-size:20px;
    transition:.3s;
}

.birthday-video-card:hover .birthday-video-card__arrow{
    transform:translateX(4px);
}