:root{--cream:#f9f6f2;--blush:#ebcfc4;--gold:#c9a86a;--taupe:#b8a999;--graphite:#2f2f2f;--white:#fff;--shadow:0 18px 60px rgba(70,50,35,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--graphite);background:var(--cream);line-height:1.65}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin:auto}.serif{font-family:"Playfair Display",Georgia,serif}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;color:#8e7766}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;border:1px solid var(--gold);transition:.25s;font-weight:600}.btn.primary{background:var(--graphite);color:white;border-color:var(--graphite)}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}header{position:sticky;top:0;z-index:20;background:rgba(249,246,242,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(47,47,47,.08)}nav{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{font:600 2rem "Playfair Display",Georgia,serif}.brand span{color:var(--gold)}.nav-links{display:flex;gap:24px;align-items:center;font-size:.92rem}.menu-btn{display:none;border:0;background:none;font-size:1.5rem}.hero{min-height:86vh;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:60px;padding:70px 0}.hero h1{font:500 clamp(3rem,7vw,6.8rem)/.95 "Playfair Display",Georgia,serif;margin:.2em 0}.hero p{font-size:1.12rem;max-width:620px;color:#61584f}.hero-card{background:linear-gradient(145deg,#fff,#f1dfd7);padding:18px;border-radius:48% 48% 10px 10px;box-shadow:var(--shadow)}.hero-card img{border-radius:46% 46% 8px 8px;aspect-ratio:4/5;object-fit:cover}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.section{padding:100px 0}.section.alt{background:#fff}.section-title{font:500 clamp(2.2rem,5vw,4.4rem)/1.05 "Playfair Display",Georgia,serif;margin:10px 0 22px}.lead{font-size:1.12rem;color:#6c625a;max-width:760px}.grid-3,.grid-4{display:grid;gap:22px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{background:white;border:1px solid rgba(47,47,47,.08);padding:28px;border-radius:24px;box-shadow:0 10px 35px rgba(60,45,35,.05)}.card .icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--blush);font-size:1.35rem;margin-bottom:18px}.steps{counter-reset:step}.step{position:relative;padding-top:58px}.step:before{counter-increment:step;content:"0" counter(step);position:absolute;top:0;left:0;font:500 2rem "Playfair Display";color:var(--gold)}.pricing{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:stretch}.price-card{background:#fff;padding:30px;border-radius:26px;border:1px solid rgba(47,47,47,.08);display:flex;flex-direction:column}.price-card.featured{background:var(--graphite);color:#fff;transform:translateY(-10px)}.price{font:600 2.4rem "Playfair Display";margin:8px 0}.price-card ul{padding-left:18px;flex:1}.tag{display:inline-block;padding:6px 12px;border-radius:999px;background:var(--blush);font-size:.75rem}.story{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.story-visual{padding:16px;background:white;border-radius:40px 40px 12px 12px;box-shadow:var(--shadow)}.story-visual img{border-radius:32px 32px 8px 8px}.quote{font:italic 1.7rem/1.45 "Playfair Display";border-left:2px solid var(--gold);padding-left:24px}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px}.gallery img{width:100%;height:100%;object-fit:cover;border-radius:22px}.gallery .tall{grid-row:span 2;min-height:520px}.faq details{background:#fff;padding:20px 24px;border-radius:16px;margin:12px 0;border:1px solid rgba(47,47,47,.08)}summary{cursor:pointer;font-weight:600}.cta{background:linear-gradient(135deg,var(--blush),#f6e9e2);padding:65px;border-radius:34px;text-align:center}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}input,select,textarea{width:100%;padding:14px 16px;border-radius:14px;border:1px solid #d8cec7;background:white;font:inherit}textarea{min-height:140px}footer{padding:42px 0;border-top:1px solid rgba(47,47,47,.1)}.footer-grid{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.page-hero{padding:90px 0 60px}.page-hero h1{font:500 clamp(3rem,7vw,6rem)/1 "Playfair Display";margin:.2em 0}.notice{padding:14px 18px;border-radius:14px;background:#fff7ef;border:1px solid #eed8bd;font-size:.9rem}
@media(max-width:900px){.hero,.story{grid-template-columns:1fr}.grid-4,.pricing{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery .tall{grid-row:auto;min-height:320px}.nav-links{display:none;position:absolute;top:76px;left:0;right:0;background:var(--cream);padding:20px;flex-direction:column;border-bottom:1px solid #ddd}.nav-links.open{display:flex}.menu-btn{display:block}.hero{padding-top:35px}.form-grid{grid-template-columns:1fr}}
@media(max-width:560px){.grid-4,.pricing,.gallery{grid-template-columns:1fr}.section{padding:70px 0}.cta{padding:38px 20px}.price-card.featured{transform:none}.hero h1{font-size:3.7rem}.page-hero h1{font-size:3.4rem}}


/* Amora refinement: premium tariff badges, custom SVG benefits and aligned steps */
.grid-4 .card{overflow:hidden}
.why-icon{width:72px;height:72px;margin:0 0 20px;display:grid;place-items:center;position:relative}
.why-icon:after{content:"";position:absolute;inset:7px;border-radius:50%;box-shadow:0 12px 30px rgba(121,91,69,.10);z-index:0}
.why-icon img{width:72px;height:72px;position:relative;z-index:1;transition:transform .35s ease}
.card:hover .why-icon img{transform:translateY(-3px) scale(1.025)}

.steps{counter-reset:none;align-items:stretch}
.step{padding:30px 28px 28px;min-height:245px;display:flex;flex-direction:column;position:relative;background:linear-gradient(155deg,#fff 0%,#fff 68%,#fbf4ef 100%)}
.step:before{display:none}
.step-number{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin-bottom:26px;font:500 1.35rem/1 "Playfair Display",Georgia,serif;color:#775f4e;background:linear-gradient(145deg,#fff8f4,#ead2c7);border:1px solid rgba(201,168,106,.45);box-shadow:0 10px 25px rgba(83,60,44,.10),inset 0 1px 0 rgba(255,255,255,.9);letter-spacing:.03em}
.step h3{margin:0 0 10px;font-family:"Playfair Display",Georgia,serif;font-size:1.35rem}
.step p{margin:0;color:#6c625a}
.step:not(:last-child):after{content:"";position:absolute;top:58px;right:-22px;width:26px;height:1px;background:linear-gradient(90deg,var(--gold),rgba(201,168,106,0));z-index:3}

.price-card{position:relative;overflow:visible;padding-top:34px;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.price-card:hover{transform:translateY(-5px);box-shadow:0 24px 55px rgba(70,50,35,.10);border-color:rgba(201,168,106,.45)}
.price-card.featured:hover{transform:translateY(-14px)}
.tag{width:max-content;min-height:31px;display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;font-size:.69rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;line-height:1;border:1px solid transparent;box-shadow:0 8px 18px rgba(80,55,38,.08);position:relative;isolation:isolate}
.tag:before{content:"";position:absolute;inset:1px;border-radius:inherit;border:1px solid rgba(255,255,255,.58);pointer-events:none}
.tag-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.72;box-shadow:0 0 0 3px rgba(255,255,255,.34)}
.tag-star{font-size:.9rem;line-height:0;transform:translateY(-.5px)}
.tag-soft{color:#755f52;background:linear-gradient(135deg,#fbede7,#efd8ce);border-color:#e8c8ba}
.tag-popular{color:#6d5235;background:linear-gradient(135deg,#fff8df,#e9c98d);border-color:#d6b36f;box-shadow:0 8px 20px rgba(201,168,106,.18)}
.tag-premium{color:#2f2924;background:linear-gradient(135deg,#f8e8bf,#c9a86a);border-color:#e5cc8e;box-shadow:0 9px 24px rgba(201,168,106,.26)}
.tag-signature{color:#f5e9df;background:linear-gradient(135deg,#68584d,#2f2f2f);border-color:#746356;box-shadow:0 9px 20px rgba(47,47,47,.18)}
.price-card.featured .tag-premium{color:#33291f;background:linear-gradient(135deg,#fff0c9,#c9a86a);border-color:#efdbad}
.price-card.featured{box-shadow:0 28px 65px rgba(47,47,47,.20);border-color:rgba(201,168,106,.7)}

@media(max-width:900px){.step:not(:last-child):after{display:none}.price-card.featured:hover{transform:translateY(-5px)}}
@media(max-width:560px){.why-icon{width:66px;height:66px}.why-icon img{width:66px;height:66px}.step{min-height:auto}.step-number{width:52px;height:52px;margin-bottom:20px}.tag{font-size:.64rem;letter-spacing:.10em}}

/* ===============================
   Ultra Wide (4K)
================================ */

@media (min-width:1920px){

    .container{
        max-width:1500px;
    }

    .section{
        padding:140px 0;
    }

}


/* ===============================
   MacBook / Desktop
================================ */

@media (max-width:1440px){

    .container{
        width:min(1280px,92%);
    }

}


/* ===============================
   Laptop
================================ */

@media (max-width:1200px){

    .hero{
        gap:50px;
    }

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

}


/* ===============================
   iPad Pro
================================ */

@media (max-width:1024px){

    .hero,
    .story{
        grid-template-columns:1fr;
    }

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

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

}


/* ===============================
   iPad
================================ */

@media (max-width:820px){

    .hero{
        text-align:center;
    }

    .actions{
        justify-content:center;
    }

    .grid-4{
        grid-template-columns:1fr 1fr;
    }

}


/* ===============================
   Large phones
================================ */

@media (max-width:680px){

    .grid-4,
    .pricing{
        grid-template-columns:1fr;
    }

    .section{
        padding:80px 0;
    }

}


/* ===============================
   iPhone / Android
================================ */

@media (max-width:480px){

    .container{
        width:92%;
    }

    .hero h1{
        font-size:44px;
    }

    .section-title{
        font-size:38px;
    }

    .btn{

        width:100%;

    }

}


/* ===============================
   Small phones
================================ */

@media (max-width:360px){

    .hero h1{

        font-size:38px;

    }

    .section-title{

        font-size:32px;

    }

}

/* =========================================================
   Исправление стыка шапки и первого экрана на главной
   ========================================================= */

/* Шапка и верх hero используют единый фон — без полосы между блоками */
body.home-page {
    background: #fffdfb;
}

body.home-page header {
    background: #fffdfb !important;
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Убираем возможный однопиксельный зазор после sticky-header */
body.home-page main {
    margin: -1px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

body.home-page main > .amora-invite-hero {
    margin-top: 0 !important;
    border: 0 !important;
    border-top: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background-clip: border-box !important;
}

/* Контейнер навигации также не должен рисовать разделитель */
body.home-page header .container,
body.home-page header nav {
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

/* Страховка от декоративной линии/дуги у первого экрана */
body.home-page .amora-invite-hero::before,
body.home-page .amora-invite-hero::after {
    display: none !important;
    content: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

