/* Блог Grand Float — плоско, без теней; шрифты и цвета сайта */
.gfb{--gfb-text:#2c4258;--gfb-line:rgba(19,42,69,.12)}
.gfb .breadcrumb{margin:8px 0 28px;color:#6b7f92}
.gfb .breadcrumb a{color:#6b7f92}
.gfb .breadcrumb span{color:var(--ink)}
.gfb-kicker,.gfb-cta-kicker{display:inline-block;font-size:13.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--sand-deep)}

/* шапка статьи */
.gfb-head{max-width:860px}
.gfb-head h1{margin:12px 0 16px;font-size:clamp(36px,4.6vw,60px)!important;line-height:1.04!important;max-width:17ch;text-wrap:balance;color:var(--ink)}
.gfb-meta{margin:0;color:#6b7f92;font-size:15px}
.gfb-lead{max-width:640px;font-size:18px;line-height:1.6;color:var(--gfb-text)}
.gfb-cover{margin:30px 0 40px;border-radius:28px;overflow:hidden;aspect-ratio:21/9;background:var(--mist)}
.gfb-cover img{width:100%;height:100%;object-fit:cover}

/* текст + боковая карточка */
.gfb-layout{display:grid;grid-template-columns:minmax(0,720px) 300px;justify-content:space-between;gap:56px;align-items:start}
.gfb-body{font-size:18.5px;line-height:1.72;color:var(--gfb-text)}
.gfb-body>p:first-of-type{font-size:20.5px;line-height:1.6;color:var(--ink)}
.gfb-body p{margin:0 0 20px;color:var(--gfb-text);text-wrap:pretty}
.gfb-body h2{margin:52px 0 16px!important;font-size:clamp(28px,2.8vw,38px)!important;line-height:1.12!important;max-width:22ch;text-wrap:balance;color:var(--ink);scroll-margin-top:110px}
.gfb-body h3{margin:30px 0 10px;font-size:23px;line-height:1.25;color:var(--ink)}
.gfb-body ul,.gfb-body ol{margin:0 0 22px;padding-left:0;list-style:none}
.gfb-body li{position:relative;margin:0 0 10px;padding-left:28px}
.gfb-body ul>li::before{content:"";position:absolute;left:6px;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--sand)}
.gfb-body ol{counter-reset:gfb}
.gfb-body ol>li{counter-increment:gfb}
.gfb-body ol>li::before{content:counter(gfb);position:absolute;left:0;top:.15em;width:20px;font-weight:700;color:var(--sand-deep)}
.gfb-body a{color:var(--blue);text-decoration:underline;text-decoration-color:rgba(5,81,125,.3);text-underline-offset:4px}
.gfb-body a:hover{text-decoration-color:var(--blue)}
.gfb-body strong{color:var(--ink)}
.gfb-note{margin:28px 0;padding:20px 24px;border-left:3px solid var(--sand);border-radius:0 16px 16px 0;background:var(--paper);font-size:18px;color:var(--ink)}

/* содержание */
.gfb-toc{margin:0 0 34px;padding:20px 24px;border-radius:20px;background:var(--mist)}
.gfb-toc p{margin:0 0 8px!important;font-size:14px!important;letter-spacing:.06em;text-transform:uppercase;color:#6b7f92!important}
.gfb-toc ol{margin:0!important;counter-reset:toc}
.gfb-toc li{margin:0 0 6px!important;padding-left:28px!important;font-size:16.5px;line-height:1.4;counter-increment:toc}
.gfb-toc li::before{content:counter(toc)!important;color:var(--sand-deep)!important;font-size:15px}
.gfb-toc a{text-decoration:none!important;color:var(--ink)!important}
.gfb-toc a:hover{color:var(--blue)!important}

/* фото внутри */
.gfb-photo{margin:34px 0}
.gfb-photo img{width:100%;border-radius:22px;aspect-ratio:3/2;object-fit:cover}
.gfb-photo figcaption{margin-top:10px;font-size:15px;color:#6b7f92}

/* вставки */
.gfb-cta{margin:38px 0;border-radius:24px;overflow:hidden}
.gfb-cta h3{margin:8px 0 8px!important;font-size:25px!important;line-height:1.2!important;color:var(--ink)}
.gfb-cta h3 a{color:inherit!important;text-decoration:none!important}
.gfb-cta p{font-size:16.5px!important;line-height:1.55!important;margin:0 0 14px!important}
.gfb-prog{display:grid;grid-template-columns:240px minmax(0,1fr);background:var(--paper);box-shadow:inset 0 0 0 1px rgba(185,130,77,.18)}
.gfb-prog-photo{display:block;min-height:100%}
.gfb-prog-photo img{width:100%;height:100%;object-fit:cover;min-height:260px}
.gfb-prog-body{padding:24px 26px 22px}
.gfb-prog-items{margin:0 0 14px!important}
.gfb-prog-items li{font-size:15.5px;margin:0 0 4px!important}
.gfb-prog-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--gfb-line)}
.gfb-prog-prices{display:flex;gap:22px}
.gfb-prog-prices span{display:flex;flex-direction:column;font-size:24px;font-weight:700;line-height:1.1;color:var(--ink)}
.gfb-prog-prices small{font-size:12.5px;font-weight:400;color:#6b7f92;margin-bottom:3px}
.gfb-prog-btns{display:flex;align-items:center;gap:16px}
.gfb-prog-btns .button{min-height:48px;padding:0 24px}
.gfb-link{font-size:15.5px;color:var(--blue)!important}
.gfb-gift{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:var(--mist)}
.gfb-gift>img{width:100%;height:100%;object-fit:cover;min-height:240px}
.gfb-gift>div{padding:26px 28px}
.gfb-band{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 28px;background:var(--mist)}
.gfb-band p{margin:0!important}
.gfb-band .button{flex:none;min-height:50px;padding:0 26px}

/* боковая карточка */
.gfb-side{position:sticky;top:110px}
.gfb-side-card{padding:14px 14px 20px;border-radius:24px;background:var(--paper);box-shadow:inset 0 0 0 1px rgba(185,130,77,.18)}
.gfb-side-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;margin-bottom:14px}
.gfb-side-card>*:not(img){margin-left:8px;margin-right:8px}
.gfb-side-card h3{margin:6px 8px 4px!important;font-size:24px!important;line-height:1.2!important}
.gfb-side-price{margin:0 8px 14px!important;font-size:18px;color:var(--ink)}
.gfb-side-card .button{display:flex;width:calc(100% - 16px);min-height:50px;margin-bottom:10px}
.gfb-side-card .gfb-link{display:block;text-align:center}

/* вопросы */
.gfb-faq{max-width:720px;margin:56px 0 20px}
.gfb-faq h2{margin:0 0 18px!important;font-size:clamp(28px,2.8vw,38px)!important}
.gfb-faq details{margin-bottom:10px;border-radius:16px;background:var(--paper);padding:0 22px}
.gfb-faq summary{display:flex;justify-content:space-between;gap:16px;padding:19px 0;font-size:18px;color:var(--ink);cursor:pointer;list-style:none}
.gfb-faq summary::-webkit-details-marker{display:none}
.gfb-faq summary span{flex:none;font-size:24px;line-height:1;color:var(--sand-deep);transition:rotate .35s ease}
.gfb-faq details[open] summary span{rotate:45deg}
.gfb-faq details p{margin:0;padding:0 0 18px;font-size:16.5px;line-height:1.6;color:var(--gfb-text)}

/* карточки статей */
.gfb-related{margin-top:24px;padding-bottom:90px}
.gfb-related h2{margin:0 0 22px!important}
.gfb-related.wrap,.gfb-related{width:calc(100% - (2 * var(--site-grid-gutter)));max-width:var(--site-grid-max);margin-left:auto;margin-right:auto}
.gfb-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.gfb-card{display:flex;flex-direction:column;border-radius:24px;overflow:hidden;background:var(--paper);color:var(--ink);transition:background .25s}
.gfb-card:hover{background:#f3eadf}
.gfb-card-img{display:block;aspect-ratio:3/2;overflow:hidden}
.gfb-card-img img{width:100%;height:100%;object-fit:cover;transition:scale 1s cubic-bezier(.16,1,.3,1)}
.gfb-card:hover .gfb-card-img img{scale:1.04}
.gfb-card-body{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px;flex:1}
.gfb-card-title{font-size:23px;line-height:1.2;text-wrap:balance}
.gfb-card-desc{font-size:15.5px;line-height:1.55;color:var(--gfb-text)}
.gfb-card-more{margin-top:auto;padding-top:6px;font-size:14.5px;color:var(--blue)}
.gfb-index{padding-bottom:30px}
.gfb-cards-index{margin-top:36px}
.gfb-cards-index .gfb-card.is-big{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr}
.gfb-cards-index .gfb-card.is-big .gfb-card-img{aspect-ratio:auto;min-height:340px}
.gfb-cards-index .gfb-card.is-big .gfb-card-title{font-size:clamp(28px,2.6vw,36px)}
.gfb-cards-index .gfb-card.is-big .gfb-card-body{padding:34px 36px;justify-content:center}
.gfb-archive{margin:28px 0 0;font-size:16px}
.gfb-archive a{color:var(--blue)}

@media(max-width:1100px){.gfb-layout{grid-template-columns:minmax(0,1fr)}.gfb-side{display:none}}
@media(max-width:900px){.gfb-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .gfb .breadcrumb{margin:4px 0 18px;font-size:13px}
 .gfb-head h1{font-size:34px!important}
 .gfb-cover{aspect-ratio:4/3;margin:20px 0 26px;border-radius:20px}
 .gfb-body{font-size:17px;line-height:1.68}
 .gfb-body>p:first-of-type{font-size:18.5px}
 .gfb-body h2{font-size:27px!important;margin-top:40px!important}
 .gfb-prog,.gfb-gift{grid-template-columns:1fr}
 .gfb-prog-photo img,.gfb-gift>img{aspect-ratio:4/3;min-height:0;height:auto}
 .gfb-prog-body,.gfb-gift>div{padding:20px 18px}
 .gfb-prog-btns{width:100%}
 .gfb-prog-btns .button{flex:1}
 .gfb-band{flex-direction:column;align-items:stretch;padding:22px 18px}
 .gfb-band .button{width:100%}
 .gfb-cards{grid-template-columns:1fr}
 .gfb-cards-index .gfb-card.is-big{display:flex}
 .gfb-cards-index .gfb-card.is-big .gfb-card-img{aspect-ratio:3/2;min-height:0}
 .gfb-cards-index .gfb-card.is-big .gfb-card-body{padding:20px 22px 22px}
 .gfb-faq summary{font-size:16.5px}
}
/* таблица цен */
.gfb-table{margin:26px 0 30px;border-radius:20px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--gfb-line)}
.gfb-table table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.45}
.gfb-table th{padding:13px 16px;background:var(--mist);text-align:left;font-weight:400;font-size:13.5px;letter-spacing:.03em;text-transform:uppercase;color:#6b7f92}
.gfb-table td{padding:13px 16px;border-top:1px solid var(--gfb-line);color:var(--ink);vertical-align:top}
.gfb-table tr:nth-child(even) td{background:#fbf8f4}
@media(max-width:760px){
 .gfb-table{box-shadow:none;border-radius:0;overflow:visible}
 .gfb-table thead{display:none}
 .gfb-table table,.gfb-table tbody,.gfb-table tr,.gfb-table td{display:block;width:100%}
 .gfb-table tr{margin-bottom:10px;padding:12px 16px;border-radius:16px;background:var(--paper)!important}
 .gfb-table td{padding:3px 0;border:0;background:none!important}
 .gfb-table td::before{content:attr(data-label);display:block;font-size:12px;color:#6b7f92}
 .gfb-table td:first-child{font-size:17px;font-weight:700}
 .gfb-table td:first-child::before{display:none}
}
@media(max-width:760px){.gfb .breadcrumb>span{display:none}.gfb .breadcrumb a{display:inline-block;padding:6px 0}}
.gfb-body a.button,.gfb-cta a.button{color:#fff!important;text-decoration:none!important}
.gfb-body .gfb-toc ol>li{counter-increment:toc}
.gfb-body .gfb-toc ol>li::before{content:counter(toc)}
.gfb-article .gfb-head h1{max-width:22ch}
