:root{--cream:#FBF3E8;--paper:#FFFBF5;--forest:#1E4234;--teal:#0F3B36;--coral:#E9604C;--coral-d:#CF4A37;--gold:#C8923F;--blush:#F8DCD3;--ink:#2A3B32;--muted:#5F6F66;--line:#E7D8C3;--serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--script:'Marck Script','Segoe Script',cursive;--sans:'Golos Text',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;--wrap:1240px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--cream);color:var(--ink);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}a{color:inherit}h1,h2,h3{font-family:var(--serif);color:var(--forest);font-weight:700;margin:0;line-height:1.05;letter-spacing:-.01em}
p{margin:0 0 1em}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:16px;top:-60px;z-index:99;background:var(--forest);color:#fff;padding:12px 16px;border-radius:8px}.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--coral);outline-offset:3px;border-radius:6px}
.wrap{width:min(var(--wrap),100% - 48px);margin-inline:auto}
/* кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 24px;border-radius:999px;font:500 16px/1.2 var(--sans);text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s;white-space:nowrap}
.btn-coral{background:var(--coral);color:#fff}.btn-coral:hover{background:var(--coral-d)}
.btn-line{border-color:var(--forest);color:var(--forest);background:transparent}.btn-line:hover{background:var(--forest);color:var(--cream)}
.btn-ghost{border-color:rgba(251,243,232,.55);color:var(--cream)}.btn-ghost:hover{background:var(--cream);color:var(--teal)}
.btn-lg{min-height:56px;padding:14px 32px;font-size:17px}.btn-sm{min-height:40px;padding:8px 18px;font-size:15px}
/* шапка */
.top{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:28px;padding:10px max(24px,calc((100% - var(--wrap))/2));background:rgba(251,243,232,.92);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .2s}
.top.stuck{border-color:var(--line)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}
.brand-emblem{border-radius:50%;mix-blend-mode:multiply}
.brand-word{display:flex;flex-direction:column;line-height:.95}.brand-word b{font:700 27px var(--serif);color:var(--forest)}.brand-word i{font:400 19px var(--script);color:var(--gold);font-style:normal;margin-left:14px}
.nav{display:flex;gap:30px}.nav a{text-decoration:none;font-size:15px;color:var(--ink);padding:6px 0;border-bottom:1.5px solid transparent}.nav a:hover{border-color:var(--coral)}
.top-phone{font-weight:500;text-decoration:none;color:var(--forest);font-size:16px}
/* hero */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding:40px 0 56px;min-height:calc(100svh - 150px)}
.lockup{display:flex;flex-direction:column;align-items:flex-start;line-height:.82;margin-bottom:28px}
.lockup-a{font:700 clamp(84px,12.2vw,176px)/.82 var(--serif);color:var(--forest);letter-spacing:-.03em}
.lockup-b{font:400 clamp(58px,7.4vw,108px)/1 var(--script);margin:-.06em 0 0 .9em;background:linear-gradient(95deg,#1E4234 0%,#7a6a2e 55%,#C8923F 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding:.08em .12em .12em 0}
.lead{font-size:clamp(18px,1.5vw,21px);max-width:30em;color:var(--ink)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0}
.rating{display:inline-flex;align-items:center;gap:12px;text-decoration:none;padding:10px 18px 10px 14px;border:1px solid var(--line);border-radius:999px;background:var(--paper)}
.rating-num{font:700 34px/1 var(--serif);color:var(--forest)}.stars{color:var(--gold);letter-spacing:2px;font-size:15px}.rating-text{font-size:13px;line-height:1.3;color:var(--muted)}
.hero-art{position:relative;width:min(100%,600px);aspect-ratio:1;justify-self:center}
.wreath{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.lf path{stroke:none}.lf .vein{stroke:rgba(255,248,236,.7);stroke-width:2;fill:none;stroke-linecap:round}
.lf-g path:first-child{fill:#3F7A55}.lf-c path:first-child{fill:#EE6F5A}.lf-o path:first-child{fill:#D5A04F}.lf-p path:first-child{fill:#F4A9B8}
.lf{animation:bloom .95s cubic-bezier(.2,.9,.25,1) both;animation-delay:calc(var(--i)*60ms + 250ms)}
@keyframes bloom{from{scale:0;opacity:0}to{scale:1;opacity:1}}
.medal{position:absolute;inset:16.5%;border-radius:50%;overflow:hidden;background:var(--blush);box-shadow:0 0 0 4px var(--cream),0 0 0 6px var(--gold);animation:fadein .9s ease both .1s}
.medal img{width:100%;height:100%;object-fit:cover;object-position:50% 62%}
@keyframes fadein{from{opacity:0}to{opacity:1}}
.stamp{position:absolute;right:2%;bottom:7%;width:104px;height:104px;border-radius:50%;background:var(--coral);color:#fff;display:grid;place-content:center;text-align:center;font:700 40px/1 var(--serif);transform:rotate(-8deg);box-shadow:0 10px 24px rgba(207,74,55,.35);animation:fadein .8s ease both 1.4s}
.stamp small{font:500 13px/1.1 var(--sans);letter-spacing:.04em}
/* факты */
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);padding:0}
.facts p{margin:0;padding:22px 24px;border-right:1px solid var(--line)}.facts p:last-child{border:0}.facts p:first-child{padding-left:0}
.facts b{display:block;font:700 24px/1.15 var(--serif);color:var(--forest)}.facts span{font-size:14px;color:var(--muted)}
/* секции */
.sec{padding:100px 0 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:36px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(40px,5vw,68px)}.sec-head p{max-width:27em;color:var(--muted);margin:0}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}
.chip{font:500 15px var(--sans);padding:9px 20px;border-radius:999px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;transition:all .2s}.chip:hover{border-color:var(--forest)}.chip.on{background:var(--forest);border-color:var(--forest);color:var(--cream)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 32px}
.card[hidden]{display:none}
.card-ph{position:relative;display:block;aspect-ratio:4/5;border-radius:260px 260px 20px 20px;overflow:hidden;background:var(--blush);text-decoration:none}
.card-ph .slides{aspect-ratio:auto}.card-img{width:100%;height:100%;object-fit:cover}
.card-empty{width:100%;height:100%;display:grid;place-items:center;font:600 26px var(--serif);color:var(--forest);opacity:.6}
.card-tag{position:absolute;left:14px;top:18px;background:var(--paper);color:var(--forest);font-size:13px;padding:5px 12px;border-radius:999px}
.card-body{padding:18px 6px 0}.card-cat{font-size:13px;color:var(--gold);font-weight:500;margin:0 0 4px;letter-spacing:.02em}
.card h3{font-size:30px}.card h3 a{text-decoration:none}.card h3 a:hover{color:var(--coral-d)}
.card-text{color:var(--muted);font-size:15px;margin:8px 0 0}
.card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.price{font:700 26px var(--serif);color:var(--forest)}
.empty{padding:40px 0;color:var(--muted)}
/* слайдер (свайп) */
.slides{position:relative;width:100%;height:100%}.slides-track{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.slides-track::-webkit-scrollbar{display:none}
.slides-track img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:center;-webkit-user-drag:none;user-select:none}
.slides-dots{position:absolute;left:0;right:0;bottom:14px;display:flex;gap:6px;justify-content:center;pointer-events:none}.slides-dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.65);box-shadow:0 0 4px rgba(0,0,0,.4);transition:width .2s}.slides-dots i.on{background:#fff;width:20px;border-radius:4px}
/* полоса «по фото» */
.photo-band{margin-top:110px;background:var(--teal);color:var(--cream);overflow:hidden}
.photo-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;padding:80px 0}
.photo-band h2{color:var(--cream);font-size:clamp(40px,4.8vw,64px);margin-bottom:22px}.photo-band p{color:rgba(251,243,232,.85);font-size:19px;max-width:30em}
.photo-pics{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.photo-pics img{width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:200px 200px 16px 16px;border:3px solid rgba(251,243,232,.15)}.photo-pics img:last-child{margin-top:56px}
/* шаги */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;counter-reset:s}
.steps li{counter-increment:s;padding-top:20px;border-top:2px solid var(--gold)}.steps li::before{content:counter(s);display:block;font:700 72px/1 var(--serif);color:var(--coral);margin-bottom:10px}
.steps b{display:block;font:700 28px/1.1 var(--serif);color:var(--forest);margin-bottom:10px}.steps p{color:var(--muted);margin:0}
/* бонусы */
.bonus{margin-top:100px;background:var(--blush)}
.bonus-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,280px);grid-template-areas:'h num' 'p num' 'b num';gap:16px 64px;align-items:center;justify-items:start;padding:64px 0}.bonus-grid h2{grid-area:h;margin:0}.bonus-grid p{grid-area:p;max-width:36em}.bonus-grid .btn{grid-area:b}.bonus-num{grid-area:num}
.bonus h2{font-size:clamp(36px,4vw,54px)}.bonus-num{display:flex;flex-direction:column;align-items:center;text-align:center}.bonus-num b{font:700 clamp(80px,9vw,128px)/.9 var(--serif);color:var(--coral)}.bonus-num span{font-size:14px;color:var(--ink);max-width:12em}
.bonus p{margin:0 0 16px}.bonus .btn-ghost{border-color:var(--forest);color:var(--forest)}.bonus .btn-ghost:hover{background:var(--forest);color:var(--cream)}

/* отзывы */
.reviews{display:grid;grid-template-columns:1.2fr 1.2fr .8fr;gap:24px}
.review{margin:0;padding:32px;background:var(--paper);border:1px solid var(--line);border-radius:24px}
.review blockquote{margin:0 0 18px;font:500 23px/1.35 var(--serif);color:var(--forest)}.review figcaption{font-size:14px;color:var(--muted)}
.review-more{display:flex;flex-direction:column;justify-content:center;text-decoration:none;background:var(--forest);border-color:var(--forest);color:var(--cream)}.review-more b{font:700 60px/1 var(--serif)}.review-more span{margin-top:8px}.review-more:hover{background:var(--teal)}
/* FAQ */
.faq{max-width:860px}.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;font:700 25px/1.2 var(--serif);color:var(--forest);position:relative}.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:50%;translate:0 -50%;font:400 32px var(--sans);color:var(--coral);transition:rotate .25s}.faq details[open] summary::after{rotate:45deg}
.faq details p{padding:0 40px 24px 0;margin:0;color:var(--muted)}
/* контакты */
.contacts{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;padding-bottom:110px}
.contacts h2{font-size:clamp(40px,4.8vw,64px);margin-bottom:26px}
.con-list{display:grid;grid-template-columns:auto 1fr;gap:14px 28px;margin:0 0 30px}.con-list dt{color:var(--muted);font-size:15px}.con-list dd{margin:0;font-weight:500}.con-list a{text-decoration-color:var(--gold);text-underline-offset:4px}
.map{aspect-ratio:5/4;border-radius:24px;overflow:hidden;border:1px solid var(--line);background:var(--blush)}.map iframe{width:100%;height:100%;border:0}
/* подвал */
.foot{background:var(--forest);color:rgba(251,243,232,.82);padding:64px 0 28px}
.foot-grid{display:grid;grid-template-columns:auto 1fr 1fr 1fr;gap:48px;align-items:start}
.foot-logo{width:150px;height:150px;border-radius:50%;object-fit:cover}
.foot h2{font:600 15px var(--sans);color:var(--cream);letter-spacing:.04em;margin-bottom:12px}.foot p{font-size:15px;margin:0 0 12px}.foot a{text-decoration-color:rgba(200,146,63,.7);text-underline-offset:3px}
.foot-note{margin-top:40px;padding-top:20px;border-top:1px solid rgba(251,243,232,.15);font-size:13px;color:rgba(251,243,232,.55)}
/* карточка букета */
.crumbs{display:flex;gap:10px;font-size:14px;color:var(--muted);padding:24px 0 0;flex-wrap:wrap}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--coral-d)}
.pdp{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding:28px 0 20px;align-items:start}
.pdp-ph{aspect-ratio:4/5;border-radius:320px 320px 24px 24px;overflow:hidden;background:var(--blush)}
.pdp h1{font-size:clamp(44px,5vw,70px);margin-bottom:12px}.pdp-price{font:700 40px var(--serif);color:var(--coral-d);margin-bottom:18px}.muted{color:var(--muted);font-size:15px}
.pdp-points{padding:0;margin:8px 0 0;list-style:none;display:grid;gap:8px;font-size:15px}.pdp-points li::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gold);margin-right:10px}
.doc{max-width:760px;padding:56px 0 90px}.doc h1{font-size:clamp(40px,5vw,60px);margin-bottom:24px}
.dock{display:none}
@media (max-width:1100px){.top-phone{display:none}.nav{gap:20px}.grid{grid-template-columns:repeat(2,1fr)}.photo-grid{gap:36px}.bonus-grid{grid-template-columns:1fr;grid-template-areas:'h' 'num' 'p' 'b';text-align:left}.bonus-num{align-items:flex-start;text-align:left}.reviews{grid-template-columns:1fr 1fr}.review-more{grid-column:1/-1;min-height:140px}}
@media (max-width:860px){.nav{display:none}.hero{grid-template-columns:1fr;min-height:0;padding-top:20px}.hero-art{width:min(100%,460px);order:-1;margin-bottom:6px}.lockup{align-items:center;text-align:center}.hero-copy{text-align:center}.hero-actions{justify-content:center}.lead{margin-inline:auto}.rating{margin-inline:auto}
 .facts{grid-template-columns:1fr 1fr}.facts p{padding:18px 16px;border-bottom:1px solid var(--line)}.facts p:nth-child(2n){border-right:0}.facts p:first-child{padding-left:16px}.facts p:nth-child(n+3){border-bottom:0}
 .sec{padding-top:72px}.photo-grid,.contacts,.pdp{grid-template-columns:1fr}.photo-grid{padding:56px 0}.steps{grid-template-columns:1fr;gap:28px}.reviews{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}
@media (max-width:640px){body{font-size:16px;padding-bottom:84px}.wrap{width:calc(100% - 32px)}.top{padding:8px 16px;gap:12px}.top-cta{display:none}.brand-emblem{width:44px;height:44px}.brand-word b{font-size:24px}
 .grid{grid-template-columns:1fr;gap:44px}.card-ph{border-radius:200px 200px 18px 18px}.card h3{font-size:28px}.hero-actions .btn-lg{flex:1 1 100%}
 .dock{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:1fr 1.5fr;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(251,243,232,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line)}
 .stamp{width:84px;height:84px;font-size:32px}.faq summary{font-size:22px}.sec-head{margin-bottom:26px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* отзывы: свайп на телефоне */
@media (max-width:900px){.reviews{display:flex;grid-template-columns:none;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:4px 16px 14px;scrollbar-width:none}.reviews::-webkit-scrollbar{display:none}.reviews .review{flex:0 0 84%;scroll-snap-align:center;min-height:0;grid-column:auto}.reviews .review-more{flex-basis:60%}.review blockquote{font-size:20px}}
/* подвал: логотип по центру на телефоне */
@media (max-width:900px){.foot-brand{display:flex;flex-direction:column;align-items:center;text-align:center}.foot-brand .brand{margin:0 auto;justify-content:center}}
.bonus-num b{line-height:1;padding-bottom:18px}.bonus-num span{line-height:1.35}
