@font-face { font-family: "Bebas Neue"; src: url("../fonts/BebasNeue-Cyrillic.woff2") format("woff2"); font-display: swap; font-style: normal; font-weight: 400; }
@font-face { font-family: "Oswald"; src: url("../fonts/Oswald-Regular.woff") format("woff"); font-display: swap; font-style: normal; font-weight: 400; }
@font-face { font-family: "Oswald"; src: url("../fonts/Oswald-Bold.woff") format("woff"); font-display: swap; font-style: normal; font-weight: 700; }

:root {
    --ink: #102d27;
    --ink-2: #173b33;
    --ink-soft: #31544b;
    --paper: #f7f5ef;
    --white: #fffefb;
    --mist: #eaf1ec;
    --line: rgba(16, 45, 39, .14);
    --lime: #c8f06a;
    --lime-strong: #a9db42;
    --blue: #69c8d1;
    --gold: #f4c967;
    --coral: #ec9679;
    --radius-sm: 12px;
    --radius: 22px;
    --radius-lg: 34px;
    --shadow: 0 24px 70px rgba(16, 45, 39, .11);
    --shell: min(1220px, calc(100vw - 48px));
    --ease: cubic-bezier(.2, .75, .25, 1);
    --text-label: 14px;
    --text-body: 18px;
    --text-accent: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "Oswald", Arial, sans-serif; font-size: 18px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
.shell { width: var(--shell); margin-inline: auto; }
.screen-reader-text { position: absolute; overflow: hidden; clip: rect(0,0,0,0); width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 9999; transform: translateY(-150%); background: var(--white); color: var(--ink); padding: 10px 16px; border-radius: 8px; }
.skip-link:focus { transform: none; }

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: "Bebas Neue", Impact, sans-serif; font-weight: 400; line-height: .98; letter-spacing: .012em; }
h1 { font-size: clamp(3.45rem, 6.7vw, 7rem); }
h2 { font-size: clamp(2.65rem, 5vw, 5rem); }
h3 { font-size: clamp(1.45rem, 2.2vw, 2rem); }
p { color: var(--ink-soft); }

.site-header { position: relative; z-index: 100; border-bottom: 1px solid var(--line); background: rgba(247, 245, 239, .88); backdrop-filter: blur(18px); }
.site-header__inner { display: flex; align-items: center; height: 84px; gap: 38px; }
.brand { display: inline-flex; align-items: center; gap: 11px; flex: 0 0 auto; }
.brand__mark { position: relative; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(16,45,39,.22); border-radius: 50%; }
.brand__mark::before, .brand__mark::after, .brand__mark span::before { content: ""; position: absolute; width: 8px; height: 16px; border-radius: 100% 0 100% 0; background: var(--ink); transform-origin: 100% 100%; }
.brand__mark::before { transform: translate(-4px,-1px) rotate(-27deg); }
.brand__mark::after { transform: translate(4px,-1px) rotate(63deg); }
.brand__mark span::before { transform: translate(0,5px) rotate(18deg) scale(.8); background: var(--lime-strong); }
.brand__text { display: flex; flex-direction: column; line-height: 1; }
.brand__text strong { font-size: 17px; letter-spacing: -.04em; }
.brand__text small { margin-top: 5px; color: var(--ink-soft); font-size: 9px; text-transform: uppercase; letter-spacing: .13em; }
.brand__logo { display: block; width: 118px; height: 70px; object-fit: contain; }
.brand-meaning__formula>span { font-family: "Bebas Neue", Impact, sans-serif; font-weight: 400; letter-spacing: .025em; }
.header-account { flex: 0 0 auto; padding: 10px 0; border-bottom: 1px solid currentColor; font-size: 12px; font-weight: 750; }
.site-header__inner { gap: 23px; }
.site-nav { margin-left: auto; }
.site-nav__list { display: flex; align-items: center; gap: 30px; margin: 0; padding: 0; list-style: none; }
.site-nav__list a { font-size: 16px; font-weight: 650; transition: opacity .2s; }
.site-nav__list a:hover { opacity: .58; }
.menu-toggle { display: none; width: 46px; height: 46px; padding: 12px; border: 1px solid var(--line); border-radius: 50%; background: transparent; }
.menu-toggle > span:not(.screen-reader-text) { display: block; width: 20px; height: 1.5px; margin: 4px 0; background: currentColor; transition: .25s ease; }

.button { display: inline-flex; min-height: 54px; align-items: center; justify-content: center; padding: 0 25px; border: 1px solid transparent; border-radius: 999px; font-weight: 750; line-height: 1.1; letter-spacing: -.02em; cursor: pointer; transition: transform .25s var(--ease), background .25s, border-color .25s, color .25s; }
.button:hover { transform: translateY(-2px); }
.button--small { min-height: 44px; padding-inline: 20px; font-size: 14px; }
.button--primary { background: var(--lime); color: var(--ink); box-shadow: 0 12px 30px rgba(169, 219, 66, .22); }
.button--primary:hover { background: #d6fa81; }
.button--dark { background: var(--ink); color: var(--white); }
.button--dark:hover { background: #1d493f; }
.button--ghost { border-color: var(--line); background: rgba(255,255,255,.24); }
.button--ghost:hover { background: var(--white); border-color: rgba(16,45,39,.26); }
.button--light { background: var(--white); color: var(--ink); }
.button--full { width: 100%; }
.text-link { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; border-bottom: 1px solid currentColor; }
.text-link span { font-size: 20px; }

.eyebrow, .kicker { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 23px; color: var(--ink-soft); font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.eyebrow span { width: 29px; height: 1px; background: currentColor; }
.eyebrow--dark { color: var(--ink); }
.kicker--light { color: rgba(255,255,255,.62); }
.section { padding: 120px 0; }
.section--paper { background: var(--paper); }
.section--mist { background: var(--mist); }
.section--ink { overflow: hidden; background: var(--ink); color: var(--white); }
.section-heading { max-width: 820px; margin-bottom: 55px; }
.section-heading h2 { margin-bottom: 0; }
.section-heading--split { display: grid; max-width: none; grid-template-columns: minmax(0,1.5fr) minmax(260px,.55fr); align-items: end; gap: 70px; }
.section-heading--split p { margin: 0 0 9px; font-size: 18px; }

.hero { position: relative; overflow: hidden; min-height: 790px; background: var(--paper); }
.hero::after { content: ""; position: absolute; right: -12vw; bottom: -37vw; width: 70vw; height: 70vw; border: 1px solid rgba(16,45,39,.08); border-radius: 50%; box-shadow: 0 0 0 9vw rgba(16,45,39,.025), 0 0 0 18vw rgba(16,45,39,.018); pointer-events: none; }
.hero__grid { position: relative; z-index: 2; display: grid; min-height: 704px; grid-template-columns: minmax(0,1.02fr) minmax(430px,.8fr); align-items: center; gap: 7vw; padding-block: 70px; }
.hero__copy h1 { max-width: 780px; margin-bottom: 28px; }
.hero__lead { max-width: 690px; margin-bottom: 37px; font-size: clamp(1.3rem,1.9vw,1.65rem); line-height: 1.48; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero__principles { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 48px; }
.hero__principles span { display: flex; min-height: 50px; align-items: center; gap: 12px; padding: 8px 16px 8px 8px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.58); color: var(--ink); font-size: 18px; font-weight: 800; }
.hero__principles i { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 auto; border-radius: 50%; background: var(--ink); color: var(--lime); font-size: 18px; font-style: normal; font-weight: 900; }
.hero__orb { position: absolute; border-radius: 50%; filter: blur(1px); }
.hero__orb--one { top: 9%; left: -6%; width: 210px; height: 210px; background: rgba(200,240,106,.32); }
.hero__orb--two { top: 3%; right: 9%; width: 90px; height: 90px; background: rgba(105,200,209,.28); }
.hero__visual { position: relative; min-height: 650px; display: flex; align-items: flex-end; justify-content: center; }
.hero__illustration { position: absolute; z-index: 2; top: -35px; right: -88px; width: min(125%,690px); filter: drop-shadow(0 28px 42px rgba(16,45,39,.16)); pointer-events: none; }
.hero__visual .rating-stage { z-index: 3; width: min(100%,480px); margin: 0 0 -38px -45px; transform: rotate(-1deg) scale(.82); transform-origin: left bottom; }

.rating-stage { position: relative; padding: 30px; border: 1px solid rgba(255,255,255,.16); border-radius: var(--radius-lg); background: var(--ink); color: var(--white); box-shadow: 12px 12px 0 var(--lime), 0 35px 90px rgba(16,45,39,.22); transform: rotate(1.2deg); }
.rating-stage::before { display: none; }
.rating-stage__header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 22px; border-bottom: 1px solid rgba(255,255,255,.12); }
.rating-stage__header span { color: rgba(255,255,255,.82); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.rating-stage__header strong { color: var(--white); font-size: 19px; }
.score-orbit { position: relative; display: grid; place-items: center; width: 260px; height: 260px; margin: 23px auto 17px; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; }
.score-orbit::before { content: ""; position: absolute; inset: 26px; border: 1px dashed rgba(255,255,255,.35); border-radius: 50%; }
.score-orbit__ring { position: relative; z-index: 2; display: flex; width: 152px; height: 152px; flex-direction: column; align-items: center; justify-content: center; border: 11px solid rgba(255,255,255,.08); border-top-color: var(--lime); border-right-color: var(--blue); border-radius: 50%; background: #173b33; box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); }
.score-orbit__ring span { font-size: 34px; font-weight: 850; letter-spacing: -.06em; }
.score-orbit__ring small { color: rgba(255,255,255,.82); text-transform: uppercase; letter-spacing: .12em; }
.score-orbit__dot { position: absolute; width: 11px; height: 11px; border: 3px solid var(--ink); border-radius: 50%; background: var(--lime); }
.score-orbit__dot--1 { top: 23px; left: 73px; }
.score-orbit__dot--2 { right: 22px; bottom: 75px; background: var(--blue); }
.score-orbit__dot--3 { bottom: 22px; left: 75px; background: var(--gold); }
.rating-stage__metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.rating-stage__metrics > div { display: grid; grid-template-columns: 12px 1fr; column-gap: 9px; padding: 13px; border: 1px solid rgba(255,255,255,.18); border-radius: 13px; background: rgba(255,255,255,.08); }
.rating-stage__metrics b { color: var(--white); font-size: 13px; }
.rating-stage__metrics small { grid-column: 2; color: rgba(255,255,255,.78); font-size: 10px; line-height: 1.35; }
.metric-dot { width: 8px; height: 8px; margin-top: 5px; border-radius: 50%; background: var(--lime); }
.metric-dot--blue { background: var(--blue); }.metric-dot--gold { background: var(--gold); }.metric-dot--coral { background: var(--coral); }
.rating-stage__note { display: flex; align-items: center; gap: 12px; margin-top: 14px; padding: 15px 16px; border-radius: 14px; background: var(--lime); color: var(--ink); }
.verified-icon { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--ink); color: var(--lime); font-weight: 900; }
.rating-stage__note p { display: flex; flex-direction: column; margin: 0; color: inherit; line-height: 1.35; }
.rating-stage__note strong { font-size: 12px; }.rating-stage__note small { opacity: .7; font-size: 9px; }

.signal-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); }
.signal-strip__grid { display: grid; grid-template-columns: repeat(4,1fr); }
.signal-strip__grid > div { display: flex; min-height: 128px; flex-direction: column; justify-content: center; padding: 24px 30px; border-right: 1px solid var(--line); }
.signal-strip__grid > div:first-child { border-left: 1px solid var(--line); }
.signal-strip strong { font-size: 32px; line-height: 1; letter-spacing: -.025em; }.signal-strip span { margin-top: 10px; color: var(--ink-soft); font-size: 16px; line-height: 1.35; }

.benefit-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.benefit-card { position: relative; min-height: 320px; padding: 31px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.38); transition: transform .3s var(--ease), box-shadow .3s; }
.benefit-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.benefit-card--wide { grid-column: span 2; }
.benefit-card--accent { background: var(--lime); }
.benefit-card__number { position: absolute; top: 25px; right: 26px; color: rgba(16,45,39,.42); font-size: 11px; font-weight: 800; }
.benefit-card__icon { display: grid; width: 52px; height: 52px; place-items: center; margin-bottom: 67px; border-radius: 50%; background: var(--ink); color: var(--white); font-size: 21px; }
.benefit-card h3 { margin-bottom: 13px; }.benefit-card p { max-width: 520px; margin: 0; }

.method-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(500px,1fr); gap: 8vw; }
.method-intro { align-self: center; }
.method-intro h2 { max-width: 600px; margin-bottom: 28px; }
.method-intro > p { max-width: 550px; color: rgba(255,255,255,.64); font-size: 18px; }
.method-scale { margin-top: 60px; padding: 22px; border: 1px solid rgba(255,255,255,.11); border-radius: var(--radius); background: rgba(255,255,255,.045); }
.method-scale__head, .method-scale__labels { display: flex; align-items: center; justify-content: space-between; }
.method-scale__head span { color: rgba(255,255,255,.45); font-size: 12px; }.method-scale__head strong { font-size: 12px; text-transform: uppercase; letter-spacing: .13em; }
.method-scale__line { display: grid; grid-template-columns: repeat(4,1fr); gap: 3px; margin: 15px 0 8px; }.method-scale__line i { height: 9px; border-radius: 9px; background: rgba(255,255,255,.15); }.method-scale__line i:nth-child(1){background:var(--coral)}.method-scale__line i:nth-child(2){background:var(--gold)}.method-scale__line i:nth-child(3){background:var(--blue)}.method-scale__line i:nth-child(4){background:var(--lime)}
.method-scale__labels span { color: rgba(255,255,255,.45); font-size: 9px; }
.criteria-list { border-top: 1px solid rgba(255,255,255,.13); }
.criteria-item { display: grid; grid-template-columns: 50px 1fr auto; gap: 25px; align-items: start; padding: 31px 0; border-bottom: 1px solid rgba(255,255,255,.13); }
.criteria-item__index { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; color: rgba(255,255,255,.56); font-size: 10px; }
.criteria-item h3 { margin: 0 0 8px; font-size: 22px; }.criteria-item p { margin: 0; color: rgba(255,255,255,.52); }.criteria-item > strong { color: var(--lime); font-size: 24px; }

.badges-layout { display: grid; grid-template-columns: .7fr 1.3fr; align-items: center; gap: 8vw; }
.badges-copy { max-width: 450px; }.badges-copy h2 { margin-bottom: 25px; }.badges-copy p { margin-bottom: 28px; font-size: 18px; }
.achievement-cloud { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.achievement { display: grid; min-height: 158px; grid-template-columns: 68px 1fr; align-items: center; column-gap: 20px; padding: 27px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.64); }
.achievement > span { display: grid; width: 64px; height: 64px; grid-row: 1/3; place-items: center; border-radius: 20px; background: var(--ink); color: var(--lime); font-size: 27px; font-weight: 900; transform: rotate(-4deg); }
.achievement strong { align-self: end; font-size: 22px; line-height: 1.15; }.achievement small { align-self: start; margin-top: 7px; color: var(--ink-soft); font-size: 18px; line-height: 1.35; }
.achievement--water > span { background: #235762; color: #95e7ea; }.achievement--waste > span { background: #644f19; color: #ffd979; }.achievement--local > span { background: #633526; color: #ffb598; }.achievement--guest > span { background: #2d4b79; color: #a9ceff; }
.achievement--guest { grid-column: 1/-1; width: calc(50% - 6px); margin-left: auto; }

.steps-grid { position: relative; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); }
.steps-grid article { min-height: 280px; padding: 36px 34px 20px 0; border-right: 1px solid var(--line); }
.steps-grid article + article { padding-left: 34px; }
.steps-grid article:last-child { border-right: 0; }
.steps-grid span { display: grid; width: 48px; height: 48px; place-items: center; margin-bottom: 55px; border-radius: 50%; background: var(--ink); color: var(--lime); font-size: 18px; font-weight: 900; box-shadow: 0 9px 24px rgba(16,45,39,.16); }
.steps-grid h3 { margin-bottom: 13px; }.steps-grid p { margin: 0; }
.how-illustration { display: grid; grid-template-columns: minmax(360px,.9fr) minmax(320px,.7fr); align-items: center; gap: 6vw; margin: -10px 0 75px; padding: 35px 48px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--ink); color: var(--white); overflow: hidden; }
.how-illustration img { width: 100%; max-height: 390px; object-fit: contain; filter: drop-shadow(0 20px 30px rgba(0,0,0,.2)); }
.how-illustration h3 { margin: 0 0 18px; font-size: clamp(2rem,3.2vw,3.5rem); }
.how-illustration p { margin: 0; color: rgba(255,255,255,.7); font-size: 19px; }

.section--plans { background: #eef1e8; }
.plans-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.plan-card { display: flex; min-height: 720px; flex-direction: column; padding: 34px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); }
.plan-card--preview,.plan-card--featured { position: relative; overflow: hidden; }
.plan-card--featured { background: var(--ink); color: var(--white); }
.plan-card--featured::after { content: ""; position: absolute; right: -90px; top: -100px; width: 280px; height: 280px; border: 65px solid rgba(200,240,106,.11); border-radius: 50%; pointer-events: none; }
.plan-card__label { position: absolute; z-index: 2; top: 20px; right: 20px; padding: 8px 12px; border-radius: 999px; background: var(--lime); color: var(--ink); font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.plan-card__top { position: relative; z-index: 1; display: flex; min-height: 128px; align-items: flex-start; justify-content: space-between; gap: 25px; }
.plan-card__top > span { color: var(--ink-soft); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .13em; }
.plan-card--featured .plan-card__top > span { color: rgba(255,255,255,.62); }
.price { display: flex; flex-direction: column; align-items: flex-end; }.price strong { font-size: clamp(2.2rem,3.1vw,3.6rem); line-height: .9; letter-spacing: -.075em; white-space: nowrap; }.price small { margin-top: 11px; color: var(--ink-soft); font-size: 13px; }.plan-card--featured .price small { color: rgba(255,255,255,.5); }
.plan-card > p { max-width: 540px; margin-bottom: 28px; font-size: 17px; }.plan-card--featured > p { color: rgba(255,255,255,.64); }
.plan-card ul { position: relative; z-index: 1; display: grid; gap: 13px; margin: 0 0 36px; padding: 24px 0 0; border-top: 1px solid var(--line); list-style: none; }
.plan-card--featured ul { border-color: rgba(255,255,255,.12); }
.plan-card li { position: relative; padding-left: 28px; }.plan-card li::before { content: "✓"; position: absolute; left: 0; top: 0; font-weight: 900; }.plan-card--featured li::before { color: var(--lime); }
.plan-card .button { margin-top: auto; }
.plan-card--confirmed { position: relative; overflow: hidden; background: #f7f6e9; }
.plan-card--start { position: relative; overflow: hidden; background: #dff0f2; }
.plan-card--start .plan-card__label { background: var(--blue); color: var(--ink); }
.plan-card__illustration { width: calc(100% + 68px); height: 260px; max-width: none; margin: -34px -34px 28px; object-fit: cover; object-position: center; filter: none; }
.plan-card--confirmed .plan-card__label { background: var(--ink); color: var(--white); }
.verification-price { margin-top: 54px; scroll-margin-top: 100px; }.verification-price__intro { display: grid; grid-template-columns: .8fr 1.3fr; gap: 20px 50px; align-items: end; margin-bottom: 26px; }.verification-price__intro .kicker { grid-column: 1/-1; }.verification-price__intro h3 { margin: 0; font-size: clamp(38px,5vw,68px); line-height: .95; }.verification-price__intro p { max-width: 620px; margin: 0; font-size: 18px; }
.eco-price-calculator { padding: clamp(28px,4vw,52px); border-radius: 32px; background: var(--ink); color: var(--white); box-shadow: 0 26px 70px rgba(12,48,41,.17); }
.eco-price-calculator__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 34px; }.eco-price-calculator__head>div>span { display: block; margin-bottom: 7px; color: var(--lime); font-size: var(--text-label); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.eco-price-calculator__head strong { display: flex; align-items: baseline; gap: 10px; color: var(--lime); font-family: "Bebas Neue",Impact,sans-serif; font-size: clamp(55px,7vw,88px); font-weight: 400; line-height: .8; }.eco-price-calculator__head strong small { color: rgba(255,255,255,.72); font-family: inherit; font-size: 17px; font-weight: 700; }.eco-price-calculator__head p { max-width: 290px; margin: 0; color: rgba(255,255,255,.58); text-align: right; }
.eco-price-calculator__range { display: block; margin-bottom: 34px; }.eco-price-calculator__range input { --eco-range: 6.35%; width: 100%; height: 12px; margin: 0; appearance: none; border: 0; border-radius: 999px; background: linear-gradient(90deg,var(--lime) 0 var(--eco-range),rgba(255,255,255,.16) var(--eco-range) 100%); cursor: pointer; }.eco-price-calculator__range input::-webkit-slider-thumb { width: 30px; height: 30px; appearance: none; border: 6px solid var(--ink); border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 2px var(--lime); }.eco-price-calculator__range input::-moz-range-thumb { width: 18px; height: 18px; border: 6px solid var(--ink); border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 2px var(--lime); }.eco-price-calculator__range>span { display: flex; justify-content: space-between; margin-top: 13px; color: rgba(255,255,255,.58); font-size: var(--text-label); }.eco-price-calculator__range i { font-style: normal; }
.eco-price-calculator__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2px; overflow: hidden; border-radius: 22px; background: rgba(255,255,255,.11); }.eco-price-calculator__grid article { min-height: 164px; padding: 25px 27px; background: #173f37; }.eco-price-calculator__grid article:nth-child(2) { background: #1a5660; }.eco-price-calculator__grid article:nth-child(4) { background: #6b4b18; }.eco-price-calculator__grid .eco-price-calculator__total { background: var(--lime); color: var(--ink); }.eco-price-calculator__grid span,.eco-price-calculator__grid small { display: block; }.eco-price-calculator__grid span { font-size: 16px; font-weight: 800; }.eco-price-calculator__grid strong { display: block; margin: 17px 0 10px; font-family: "Bebas Neue",Impact,sans-serif; font-size: clamp(36px,4vw,54px); font-weight: 400; line-height: .9; }.eco-price-calculator__grid strong b { font: inherit; }.eco-price-calculator__grid small { color: rgba(255,255,255,.66); font-size: var(--text-label); line-height: 1.45; }.eco-price-calculator__grid small b { color: inherit; }.eco-price-calculator__total small { color: rgba(12,48,41,.68); }
.eco-price-calculator__foot { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 26px; }.eco-price-calculator__foot p { margin: 0; color: rgba(255,255,255,.7); font-size: var(--text-label); line-height: 1.55; }.eco-price-calculator__foot strong { color: var(--white); }
.evidence-transfer { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(28px,5vw,70px); margin-top: 28px; padding: clamp(28px,4vw,48px); border: 1px solid rgba(16,45,39,.14); border-radius: 28px; background: var(--mist); }.evidence-transfer h3 { margin: 8px 0 0; font-size: clamp(34px,4.5vw,58px); line-height: .98; }.evidence-transfer p { margin: 0 0 14px; color: var(--ink-soft); font-size: 18px; line-height: 1.55; }.evidence-transfer strong { color: var(--ink); }
.plans-note { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 27px 0 0; color: var(--ink-soft); font-size: 13px; }.plans-note span { display: grid; width: 21px; height: 21px; place-items: center; border: 1px solid var(--line); border-radius: 50%; font-size: 10px; font-weight: 900; }

.section--catalog-callout { padding-block: 40px; background: var(--ink); }
.catalog-callout { display: flex; align-items: end; justify-content: space-between; gap: 50px; padding: 68px; border: 1px solid rgba(255,255,255,.11); border-radius: var(--radius-lg); background: linear-gradient(130deg, rgba(255,255,255,.055), transparent); color: var(--white); }
.catalog-callout h2 { max-width: 850px; margin-bottom: 18px; }.catalog-callout p { max-width: 720px; margin: 0; color: rgba(255,255,255,.6); font-size: 18px; }

.section--join { background: var(--paper); }
.join-grid { display: grid; grid-template-columns: .75fr 1.25fr; align-items: start; gap: 8vw; }
.join-copy { position: sticky; top: 40px; }.join-copy h2 { margin-bottom: 25px; }.join-copy > p { font-size: 18px; }
.join-promise { display: flex; gap: 14px; margin-top: 38px; padding-top: 26px; border-top: 1px solid var(--line); }.join-promise > span { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--lime); font-weight: 900; }.join-promise p { display: flex; flex-direction: column; margin: 0; }.join-promise strong { color: var(--ink); }.join-promise small { color: var(--ink-soft); }
.join-form-card { padding: 42px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow); }
.join-form { display: grid; gap: 17px; }.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }.join-form label { display: grid; gap: 7px; }.join-form label > span { color: var(--ink-soft); font-size: 12px; font-weight: 700; }.join-form input:not([type="checkbox"]), .join-form select, .catalog-filters input, .catalog-filters select { width: 100%; height: 55px; padding: 0 17px; border: 1px solid var(--line); border-radius: 12px; outline: none; background: var(--paper); color: var(--ink); transition: border-color .2s, box-shadow .2s; }.join-form input:focus, .join-form select:focus, .catalog-filters input:focus, .catalog-filters select:focus { border-color: var(--lime-strong); box-shadow: 0 0 0 4px rgba(200,240,106,.25); }
.join-form textarea { width: 100%; padding: 14px 17px; border: 1px solid var(--line); border-radius: 12px; outline: none; background: var(--paper); color: var(--ink); resize: vertical; }.join-form label > small { color: var(--muted); font-size: 11px; }.join-form__details { padding: 15px 17px; border: 1px solid var(--line); border-radius: 14px; background: rgba(247,245,239,.58); }.join-form__details summary { cursor: pointer; font-weight: 800; }.join-form__details > p { margin: 10px 0 15px; color: var(--muted); font-size: 13px; }.join-form__checks { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 14px; }.join-form__checks label { display: flex; grid-template-columns: none; align-items: center; gap: 7px; font-size: 12px; }.anchor-target { position: relative; top: -18px; }
.consent { display: grid !important; grid-template-columns: 18px 1fr; align-items: start; gap: 10px !important; }.consent input { margin-top: 4px; accent-color: var(--ink); }.consent span { font-size: 11px !important; line-height: 1.5; }.consent a { text-decoration: underline; }
.hp-field { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.form-message { display: flex; flex-direction: column; margin-bottom: 20px; padding: 16px 18px; border-radius: 13px; }.form-message--success { background: #e0f5c1; }.form-message--error { background: #fbe0d7; }.form-message span { font-size: 13px; }

.site-footer { padding: 75px 0 24px; background: #0b241f; color: var(--white); }
.site-footer__top { display: grid; grid-template-columns: 1.4fr .7fr .7fr; gap: 70px; padding-bottom: 65px; }
.brand--light .brand__mark { border-color: rgba(255,255,255,.25); }.brand--light .brand__mark::before,.brand--light .brand__mark::after{background:var(--white)}.brand--light .brand__text small { color: rgba(255,255,255,.5); }
.brand--light .brand__logo { width: 130px; height: 76px; filter: brightness(0) invert(1); }
.footer-brand p { max-width: 390px; margin: 26px 0 0; color: rgba(255,255,255,.49); }
.footer-nav > strong, .footer-contact > strong { display: block; margin-bottom: 20px; color: rgba(255,255,255,.48); font-size: 10px; text-transform: uppercase; letter-spacing: .14em; }
.footer-nav__list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }.footer-nav__list a, .footer-contact a { color: rgba(255,255,255,.82); font-size: 14px; }.footer-contact { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.footer-recognition { display: grid; grid-template-columns: minmax(150px,.7fr) 2.1fr; gap: 40px; align-items: start; margin-bottom: 24px; padding: 24px 0; border-top: 1px solid rgba(255,255,255,.1); }
.footer-recognition__eyebrow { color: rgba(255,255,255,.44); font-size: var(--text-label); font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.footer-recognition__items { display: flex; flex-wrap: wrap; gap: 12px 28px; }
.footer-recognition__items p { display: flex; gap: 10px; align-items: baseline; margin: 0; color: rgba(255,255,255,.74); font-size: var(--text-label); line-height: 1.45; }
.footer-recognition__items i { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 4px rgba(195,244,99,.08); }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.42); font-size: 11px; }

/* Catalog */
.catalog-hero { overflow: hidden; padding: 105px 0 80px; background: var(--mist); }
.catalog-hero__inner { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 60px; }.catalog-hero h1 { max-width: 900px; margin-bottom: 25px; font-size: clamp(3rem,5.6vw,6rem); }.catalog-hero p { max-width: 760px; margin: 0; font-size: 19px; }
.catalog-hero__fact { display: flex; width: 170px; height: 170px; flex-direction: column; align-items: center; justify-content: center; border-radius: 50%; background: var(--lime); text-align: center; transform: rotate(4deg); }.catalog-hero__fact strong { font-size: 48px; line-height: .9; letter-spacing: -.07em; }.catalog-hero__fact span { max-width: 100px; margin-top: 11px; font-size: 11px; line-height: 1.25; }
.catalog-content { padding: 40px 0 120px; }
.catalog-filters { position: relative; z-index: 3; display: grid; grid-template-columns: 1.35fr 1fr 1fr auto auto; gap: 10px; margin: -72px 0 45px; padding: 17px; border: 1px solid var(--line); border-radius: 20px; background: var(--white); box-shadow: var(--shadow); }
.search-field { position: relative; }.search-field i { position: absolute; z-index: 2; left: 17px; top: 13px; font-size: 21px; font-style: normal; }.catalog-filters .search-field input { padding-left: 46px; }
.filter-check { display: flex; min-height: 55px; align-items: center; gap: 8px; padding: 0 10px; white-space: nowrap; font-size: 12px; font-weight: 700; }.filter-check input { accent-color: var(--ink); }
.catalog-summary { display: flex; justify-content: space-between; margin-bottom: 22px; color: var(--ink-soft); font-size: 12px; }.catalog-summary a { text-decoration: underline; }
.hotel-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.hotel-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); transition: transform .3s var(--ease), box-shadow .3s; }.hotel-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.hotel-card__media { position: relative; display: block; overflow: hidden; aspect-ratio: 1.45; background: var(--mist); }.hotel-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }.hotel-card:hover .hotel-card__media img { transform: scale(1.035); }
.hotel-card__placeholder { display: grid; width: 100%; height: 100%; place-items: center; background: radial-gradient(circle at 70% 20%, rgba(200,240,106,.55), transparent 25%), linear-gradient(145deg,#e8efe9,#d9e7df); }.hotel-card__placeholder .brand__mark { transform: scale(2); opacity: .3; }
.verified-pill { position: absolute; left: 14px; bottom: 14px; display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 999px; background: rgba(255,254,251,.93); color: var(--ink); font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; backdrop-filter: blur(10px); }.verified-pill i { display: grid; width: 17px; height: 17px; place-items: center; border-radius: 50%; background: var(--lime); font-style: normal; }
.hotel-card__body { padding: 22px; }.hotel-card__score { display: flex; align-items: center; gap: 11px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }.hotel-card__score > strong { font-size: 40px; line-height: 1; letter-spacing: -.07em; }.hotel-card__score > span { display: flex; flex-direction: column; }.hotel-card__score b { font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }.hotel-card__score small { color: var(--ink-soft); font-size: 10px; }
.hotel-card__title { display: flex; align-items: end; justify-content: space-between; gap: 15px; padding-top: 18px; }.hotel-card__title > div > span { color: var(--ink-soft); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }.hotel-card__title h2 { margin: 5px 0 0; font-size: 23px; }.round-link { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border: 1px solid var(--line); border-radius: 50%; }
.hotel-card__badges { display: flex; align-items: center; gap: 6px; margin-top: 19px; }.hotel-card__badges span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 9px; background: var(--ink); color: var(--lime); font-size: 10px; font-weight: 850; }.hotel-card__badges small { margin-left: 5px; color: var(--ink-soft); }
.hotel-card__compare { display: inline-flex; align-items: center; gap: 7px; margin: 0 0 14px; padding: 6px 9px; border: 1px solid var(--line); border-radius: 99px; color: var(--ink-soft); font-size: 10px; font-weight: 750; cursor: pointer; }.hotel-card__compare input { accent-color: var(--ink); }.compare-form__intro { margin: 0 0 17px; font-size: 13px; }.compare-form__actions { display: flex; align-items: center; gap: 15px; margin-top: 25px; }.compare-form__actions small { color: var(--ink-soft); }
.compare-panel { margin: 0 0 65px; padding: 30px; border-radius: var(--radius); background: var(--ink); color: var(--white); }.compare-panel__heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; }.compare-panel__heading h2 { margin: 0 0 25px; font-size: clamp(2rem,3vw,3rem); }.compare-panel__heading p { max-width: 400px; color: rgba(255,255,255,.6); }.compare-panel__scroll { overflow-x: auto; }.compare-panel table { width: 100%; min-width: 620px; border-collapse: collapse; }.compare-panel th,.compare-panel td { padding: 16px 12px; border-bottom: 1px solid rgba(255,255,255,.16); text-align: left; }.compare-panel th:first-child { width: 25%; }.compare-panel th a { border-bottom: 1px solid var(--lime); }.compare-panel th small { display: block; color: rgba(255,255,255,.55); font-size: 10px; font-weight: 400; }.compare-panel__score { color: var(--lime); font-size: 22px; font-weight: 800; }
.pagination { display: flex; justify-content: center; gap: 6px; margin-top: 50px; }.pagination .page-numbers { display: grid; min-width: 40px; height: 40px; place-items: center; border: 1px solid var(--line); border-radius: 50%; }.pagination .current { background: var(--ink); color: var(--white); }
.empty-state { max-width: 710px; margin: 40px auto 0; padding: 70px 30px; text-align: center; }.empty-state__mark { display: grid; width: 90px; height: 90px; place-items: center; margin: 0 auto 27px; border-radius: 50%; background: var(--mist); }.empty-state h2 { margin-bottom: 17px; }.empty-state p { max-width: 540px; margin: 0 auto 28px; }

/* Standard and normative basis */
.standard-proof { background: #f7f5ef; }
.standard-proof__grid { display: grid; grid-template-columns: minmax(0,.88fr) minmax(420px,1.12fr); align-items: start; gap: 8vw; }
.standard-proof__copy h2 { max-width: 760px; margin-bottom: 25px; }
.standard-proof__copy > p { max-width: 720px; font-size: 18px; }
.standard-proof__note { margin-top: 28px; padding: 22px 24px; border-left: 4px solid var(--lime-strong); background: var(--white); }
.standard-proof__actions { display: flex; align-items: center; gap: 26px; margin-top: 32px; }
.standard-proof__sources { border-top: 1px solid var(--line); }
.standard-proof__sources article { display: grid; grid-template-columns: 58px 1fr; gap: 20px; padding: 27px 0; border-bottom: 1px solid var(--line); }
.standard-proof__sources article > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: var(--ink); color: var(--lime); font-size: 11px; font-weight: 900; }
.standard-proof__sources strong { display: block; margin-bottom: 7px; font-size: 21px; }
.standard-proof__sources p { margin: 0; color: var(--ink-soft); }
.standard-hero { position: relative; overflow: hidden; padding: 95px 0 105px; background: var(--ink); color: var(--white); }
.standard-hero::after { content: ""; position: absolute; right: -160px; top: -220px; width: 600px; height: 600px; border: 120px solid rgba(200,240,106,.08); border-radius: 50%; }
.standard-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.65fr); align-items: end; gap: 8vw; }
.standard-hero h1 { max-width: 970px; margin: 20px 0 26px; font-size: clamp(3.3rem,6vw,6.6rem); }
.standard-hero__grid > div > p { max-width: 820px; color: rgba(255,255,255,.7); font-size: 20px; }
.standard-status { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 24px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; }
.standard-status span { color: var(--lime); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.standard-status small { color: rgba(255,255,255,.52); font-size: 10px; text-transform: uppercase; }
.standard-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 38px; }
.standard-owner { padding: 30px; border: 1px solid rgba(255,255,255,.15); border-radius: var(--radius); background: rgba(255,255,255,.055); backdrop-filter: blur(14px); }
.standard-owner span { display: block; color: rgba(255,255,255,.48); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.standard-owner strong { display: block; margin: 18px 0 12px; color: var(--lime); font-size: 38px; letter-spacing: -.04em; }
.standard-owner p { margin: 0; color: rgba(255,255,255,.68); font-size: 14px; }
.standard-page { padding: 100px 0 125px; background: var(--paper); }
.standard-intro { display: grid; grid-template-columns: minmax(0,.85fr) minmax(420px,1.15fr); gap: 8vw; }
.standard-intro h2 { max-width: 760px; }
.standard-intro p { margin-top: 0; font-size: 18px; }
.standard-sources { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 75px; }
.standard-sources article { display: flex; min-height: 380px; flex-direction: column; padding: 32px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.standard-sources article > span { color: var(--ink-soft); font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .12em; }
.standard-sources h3 { margin: 28px 0 21px; font-size: 30px; }
.standard-sources ul { display: grid; gap: 11px; margin: 0 0 30px; padding-left: 20px; }
.standard-sources a { margin-top: auto; font-size: 13px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.standard-disclaimer { display: grid; grid-template-columns: 130px 1fr; gap: 35px; margin-top: 75px; padding: 42px; border-radius: var(--radius); background: #e5f2c4; }
.standard-disclaimer > span { display: grid; width: 92px; height: 92px; place-items: center; border-radius: 50%; background: var(--ink); color: var(--lime); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.standard-disclaimer h2 { margin: 0 0 15px; font-size: 36px; }
.standard-disclaimer p { max-width: 940px; margin: 0; }
.standard-document { margin-top: 90px; }
.standard-document header { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 30px; }
.standard-document h2 { margin-bottom: 0; }
.standard-download-card { display: grid; grid-template-columns: auto 1fr auto; gap: 28px; align-items: center; padding: 34px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }.standard-download-card__mark { display: grid; width: 84px; height: 102px; place-items: center; border-radius: 13px 13px 22px 13px; background: var(--ink); color: var(--lime); font-family: "Bebas Neue",Impact,sans-serif; font-size: 31px; box-shadow: 9px 9px 0 var(--lime); }.standard-download-card span { color: var(--ink-soft); font-size: var(--text-label); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.standard-download-card h3 { margin: 8px 0; font-size: 34px; }.standard-download-card p { max-width: 650px; margin: 0; }.standard-download-card__actions { display: flex; align-items: center; flex-direction: column; gap: 13px; min-width: 180px; }.standard-download-card__actions .button { width: 100%; }
.standard-document-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 28px; }.standard-document-links article { padding: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }.standard-document-links span { color: var(--ink-soft); font-size: var(--text-label); font-weight: 850; text-transform: uppercase; letter-spacing: .1em; }.standard-document-links h3 { margin: 18px 0 12px; font-size: 31px; }.standard-document-links p { max-width: 620px; }.standard-document-links a { font-size: 15px; }
.standard-file-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }.standard-file-actions .text-link { display: inline-flex; min-width: 92px; justify-content: center; padding: 9px 15px; border: 1px solid var(--line); border-radius: 999px; }.standard-file-actions .text-link:hover { border-color: var(--ink); background: var(--ink); color: var(--lime); }

/* Hotel profile */
.profile-hero { position: relative; overflow: hidden; min-height: 620px; background: var(--ink); color: var(--white); }.profile-hero__backdrop { position: absolute; inset: 0; }.profile-hero__backdrop img { width: 100%; height: 100%; object-fit: cover; }.profile-hero__veil { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(9,32,27,.94) 0%,rgba(9,32,27,.72) 47%,rgba(9,32,27,.18) 100%); }.profile-hero__content { position: relative; z-index: 2; display: flex; min-height: 620px; flex-direction: column; justify-content: space-between; padding-block: 38px 70px; }.back-link { color: rgba(255,255,255,.66); font-size: 13px; }.profile-hero__main { display: flex; align-items: end; justify-content: space-between; gap: 50px; }.profile-location { color: var(--lime); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; }.profile-hero h1 { max-width: 860px; margin: 14px 0 25px; font-size: clamp(3.2rem,6vw,6.5rem); }.verified-pill--static { position: static; background: var(--white); }.status-pill { display: inline-flex; padding: 9px 13px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: rgba(255,255,255,.7); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.profile-score { display: flex; width: 220px; height: 220px; flex: 0 0 auto; flex-direction: column; align-items: center; justify-content: center; border: 15px solid rgba(255,255,255,.09); border-top-color: var(--lime); border-radius: 50%; background: rgba(16,45,39,.74); backdrop-filter: blur(14px); }.profile-score div { display: flex; align-items: baseline; gap: 5px; }.profile-score strong { font-size: 64px; line-height: 1; letter-spacing: -.08em; }.profile-score small { color: rgba(255,255,255,.52); font-size: 10px; }.profile-score > span { margin-top: 7px; color: var(--lime); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.profile-body { padding-block: 100px 120px; }.profile-overview { display: grid; grid-template-columns: 1.4fr .6fr; gap: 8vw; align-items: start; }.profile-lead { font-size: 25px; line-height: 1.4; color: var(--ink); }.entry-content { font-size: 17px; }.entry-content h2,.entry-content h3 { margin-top: 1.8em; }.entry-content a:not(.button) { text-decoration: underline; }.profile-intro .button { margin-top: 24px; }
.profile-trust { padding: 30px; border-radius: var(--radius); background: var(--mist); }.profile-trust__icon { display: grid; width: 42px; height: 42px; place-items: center; margin-bottom: 34px; border-radius: 50%; background: var(--lime); font-weight: 900; }.profile-trust h2 { font-size: 24px; }.profile-trust p { margin-bottom: 23px; }.profile-trust small { display: block; padding-top: 18px; border-top: 1px solid var(--line); color: var(--ink-soft); }
.profile-section { margin-top: 110px; padding-top: 70px; border-top: 1px solid var(--line); }.profile-section__heading { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 42px; }.profile-section__heading h2 { margin: 0; }.profile-section__heading p { max-width: 370px; margin: 0; }
.metric-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }.metric-card { padding: 25px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }.metric-card__top { display: flex; align-items: start; justify-content: space-between; gap: 10px; }.metric-card__top > span { font-size: 13px; font-weight: 800; }.metric-card__top strong { font-size: 28px; line-height: 1; }.metric-card__top small { color: var(--ink-soft); font-size: 9px; }.metric-card__bar { overflow: hidden; height: 7px; margin: 35px 0 17px; border-radius: 8px; background: var(--mist); }.metric-card__bar i { display: block; height: 100%; border-radius: inherit; background: var(--lime-strong); }.metric-card p { margin: 0; font-size: 12px; }
.profile-badges { display: grid; grid-template-columns: repeat(5,1fr); gap: 12px; }.profile-badge { display: flex; min-height: 175px; flex-direction: column; align-items: center; justify-content: center; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); text-align: center; }.profile-badge span { display: grid; width: 55px; height: 55px; place-items: center; margin-bottom: 20px; border-radius: 17px; background: var(--ink); color: var(--lime); font-weight: 900; transform: rotate(-4deg); }.profile-badge strong { font-size: 13px; }.profile-badge--water span{background:#235762;color:#95e7ea}.profile-badge--waste span{background:#644f19;color:#ffd979}.profile-badge--local span{background:#633526;color:#ffb598}.profile-badge--guest span{background:#2d4b79;color:#a9ceff}
.muted-copy { color: var(--ink-soft); }.profile-cta { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-top: 110px; padding: 60px; border-radius: var(--radius-lg); background: var(--ink); color: var(--white); }.profile-cta h2 { margin-bottom: 13px; }.profile-cta p { margin: 0; color: rgba(255,255,255,.6); }

.basic-page__header { padding: 100px 0 70px; background: var(--mist); }.basic-page__header h1 { max-width: 950px; margin: 0; }.basic-page__content { max-width: 900px; padding-top: 75px; padding-bottom: 120px; }.post-list { display: grid; gap: 20px; }.post-list article { padding: 25px 0; border-bottom: 1px solid var(--line); }.post-list article > span { color: var(--ink-soft); font-size: 11px; }.post-list h2 { font-size: 30px; }
.error-page { display: grid; min-height: 70vh; place-items: center; text-align: center; }.error-page span { display: block; color: var(--lime-strong); font-size: 100px; font-weight: 900; line-height: 1; }.error-page h1 { margin: 20px 0; font-size: clamp(2.8rem,5vw,5rem); }.error-page p { margin-bottom: 30px; }.error-page div div { display: flex; justify-content: center; gap: 10px; }

/* Единая система знаков: наклейка, виджет и пометка для каталогов. */
.identity-section { background: #fffefb; }
.brand-meaning { display: grid; grid-template-columns: 1fr; gap: 16px; margin: 48px 0 95px; }
.brand-meaning__formula { position: relative; display: flex; min-height: 310px; align-items: center; justify-content: space-around; gap: clamp(24px,4vw,70px); overflow: hidden; padding: 58px 7vw; border: 1px solid rgba(200,240,106,.22); border-radius: 54px 18px 54px 18px; background: linear-gradient(135deg,#0b2922 0%,#123c32 100%); color: var(--white); box-shadow: 0 28px 70px rgba(16,45,39,.16); }
.brand-meaning__formula::before,.brand-meaning__formula::after { content: ""; position: absolute; width: 78px; height: 128px; border-radius: 100% 0 100% 0; background: rgba(200,240,106,.16); transform: rotate(-28deg); pointer-events: none; }
.brand-meaning__formula::before { left: -8px; bottom: -22px; box-shadow: 58px 17px 0 rgba(105,200,209,.11); }
.brand-meaning__formula::after { top: -31px; right: 18px; transform: rotate(148deg); box-shadow: 58px 17px 0 rgba(200,240,106,.08); }
.brand-meaning__formula > span { position: relative; z-index: 1; display: flex; flex-direction: column; font-size: clamp(4rem,8vw,8rem); font-weight: 900; line-height: .82; letter-spacing: -.055em; }
.brand-meaning__formula > span.brand-meaning__az { color: var(--lime); }
.brand-meaning__formula small { min-height: 2.5em; max-width: 210px; margin-top: 24px; color: rgba(255,255,255,.84); font-size: 18px; font-weight: 700; line-height: 1.25; letter-spacing: 0; }
.brand-meaning__formula i { position: relative; z-index: 1; color: rgba(200,240,106,.48); font-size: 42px; font-style: normal; font-weight: 400; }
.brand-meaning__statement { display: grid; min-height: 190px; grid-template-columns: minmax(0,.9fr) minmax(320px,1.1fr); align-items: center; gap: 7vw; padding: 42px 55px; border-radius: 18px 54px 18px 54px; background: var(--lime); color: var(--ink); }
.brand-meaning__statement strong { font-family: "Bebas Neue", Impact, sans-serif; font-size: clamp(3rem,5.6vw,6rem); font-weight: 400; line-height: .88; letter-spacing: .005em; }
.brand-meaning__statement p { margin: 0; font-size: 20px; font-weight: 650; }
.identity-use-heading { margin-bottom: 42px; }
.identity-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.identity-tile { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.identity-tile__scene { display: grid; min-height: 365px; place-items: center; overflow: hidden; padding: 27px; }
.identity-tile__scene--sticker { background: #dbe6d7; }.identity-tile__scene--widget { position: relative; background: radial-gradient(circle at 82% 18%,rgba(200,240,106,.22),transparent 31%),#12382f; }.identity-tile__scene--catalog { background: #ebe9e3; }
.identity-sticker { display: flex; width: 230px; min-height: 315px; flex-direction: column; align-items: center; justify-content: center; padding: 17px 20px; border: 5px solid var(--ink); border-radius: 18px; background: #fffefb; box-shadow: 0 12px 40px rgba(16,45,39,.18); text-align: center; transform: rotate(-4deg); }
.identity-sticker > img { margin: 0 auto 10px; object-fit: contain; }.identity-sticker strong { max-width: 190px; font-size: 16px; line-height: 1.13; letter-spacing: -.035em; }.identity-sticker small { margin-top: 11px; color: var(--ink-soft); font-size: 10px; line-height: 1.3; }
.identity-qr { display: grid; width: 125px; height: 125px; place-items: center; margin-top: 9px; border: 1px solid var(--line); border-radius: 10px; background: white; }.identity-qr img { width: 114px; height: 114px; image-rendering: pixelated; }
.identity-widget { position: relative; width: min(100%,330px); overflow: hidden; padding: 20px; border: 1px solid rgba(255,255,255,.2); border-radius: 26px; background: var(--white); box-shadow: 0 24px 65px rgba(0,0,0,.24); }
.identity-widget::after { content: ""; position: absolute; right: -28px; bottom: -42px; width: 110px; height: 150px; border-radius: 100% 0 100% 0; background: rgba(200,240,106,.22); transform: rotate(24deg); pointer-events: none; }
.identity-widget__top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 13px; border-bottom: 1px solid var(--line); }.identity-widget__top img { object-fit: contain; }.identity-widget__top span { padding: 6px 9px; border-radius: 999px; background: var(--ink); color: var(--lime); font-size: 12px; font-weight: 850; text-transform: uppercase; }
.identity-widget__hotel { padding: 18px 0 14px; }.identity-widget__hotel small { display: block; color: var(--ink-soft); font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.identity-widget__hotel strong { display: block; margin-top: 5px; font-family: "Bebas Neue",Impact,sans-serif; font-size: 29px; font-weight: 400; line-height: 1; }
.identity-widget__result { display: grid; grid-template-columns: 82px 1fr; align-items: center; gap: 14px; padding: 13px; border-radius: 18px; background: var(--ink); color: var(--white); }.identity-widget__score { display: flex; width: 72px; height: 72px; align-items: baseline; justify-content: center; padding-top: 19px; border: 7px solid rgba(255,255,255,.12); border-top-color: var(--lime); border-radius: 50%; }.identity-widget__score strong { font-family: "Bebas Neue",Impact,sans-serif; font-size: 31px; font-weight: 400; line-height: 1; }.identity-widget__score small { color: rgba(255,255,255,.68); font-size: 11px; }.identity-widget__result > div:last-child { display: flex; flex-direction: column; gap: 4px; }.identity-widget__result span { font-size: 15px; font-weight: 800; line-height: 1.2; }.identity-widget__result > div:last-child small { color: rgba(255,255,255,.68); font-size: 12px; }
.identity-widget__bars { display: grid; gap: 6px; margin: 15px 0; }.identity-widget__bars span { overflow: hidden; height: 7px; border-radius: 10px; background: var(--mist); }.identity-widget__bars i { display: block; height: 100%; border-radius: inherit; background: var(--blue); }.identity-widget__bars span:first-child i { background: var(--lime-strong); }.identity-widget__bars span:last-child i { background: var(--gold); }
.identity-widget > b { position: relative; z-index: 1; display: block; padding: 13px 15px; border-radius: 12px; background: var(--lime); color: var(--ink); font-size: 14px; text-align: center; }
.identity-catalog { width: min(100%,300px); min-height: 230px; padding: 23px; border-radius: 15px; background: var(--white); box-shadow: 0 15px 45px rgba(0,0,0,.1); }.identity-catalog > span { color: var(--ink-soft); font-size: 10px; letter-spacing: .1em; }.identity-catalog > strong { display: block; margin: 13px 0 22px; font-size: 25px; }.identity-catalog__mark { display: flex; align-items: center; gap: 8px; width: fit-content; padding: 5px 10px 5px 5px; border: 1px solid #bdd6ad; border-radius: 100px; background: #edf7dc; }.identity-catalog__mark img { object-fit: contain; }.identity-catalog__mark span { font-size: 10px; font-weight: 800; }.identity-catalog > small { display: block; margin-top: 15px; color: var(--ink-soft); font-size: 9px; }
.identity-tile__copy { padding: 22px 25px 30px; }.identity-tile__copy > span { color: var(--ink-soft); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .13em; }.identity-tile__copy h3 { margin: 12px 0; }.identity-tile__copy p { margin: 0; font-size: 14px; }.identity-disclaimer { max-width: 850px; margin: 20px 0 0; font-size: 13px; }

/* Личный кабинет. */
.cabinet-gate { display: grid; min-height: 70vh; place-items: center; padding: 70px 0; }.cabinet-gate__inner { max-width: 700px; }.cabinet-gate h1 { font-size: clamp(3rem,6vw,5.5rem); }.cabinet-gate p { font-size: 18px; }.cabinet-gate__note { margin-top: 28px; font-size: 13px !important; }
.cabinet-head { padding: 75px 0; background: var(--ink); color: var(--white); }.cabinet-head__inner { display: flex; justify-content: space-between; gap: 40px; }.cabinet-head h1 { max-width: 780px; margin-bottom: 15px; font-size: clamp(3rem,5vw,5rem); }.cabinet-head p { max-width: 690px; margin: 0; color: rgba(255,255,255,.67); }.cabinet-head__links { display: flex; min-width: 150px; flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: 10px; }.cabinet-head__links a { border-bottom: 1px solid rgba(255,255,255,.4); font-size: 12px; }
.cabinet-body { padding-block: 70px 130px; }.cabinet-alert { margin-bottom: 25px; padding: 18px 22px; border-radius: 12px; background: #dff6bf; color: var(--ink); font-weight: 700; }.cabinet-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; margin-bottom: 32px; }.cabinet-intro h2 { margin: 0; }.cabinet-summary { display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 14px; }.cabinet-summary > article { min-height: 300px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.cabinet-score-card { background: var(--ink) !important; color: var(--white); }.cabinet-score-card__top { display: flex; justify-content: space-between; gap: 10px; font-size: 11px; font-weight: 800; }.cabinet-score-card__top span:last-child { color: var(--lime); }.cabinet-score-card__ring { display: flex; width: 160px; height: 160px; flex-direction: column; align-items: center; justify-content: center; margin: 17px auto 0; border: 11px solid transparent; border-radius: 50%; background: linear-gradient(var(--ink),var(--ink)) padding-box, conic-gradient(var(--lime) calc(var(--percent)*1%),rgba(255,255,255,.1) 0) border-box; }.cabinet-score-card__ring strong { font-size: 55px; line-height: 1; }.cabinet-score-card__ring small { color: rgba(255,255,255,.55); font-size: 10px; }.cabinet-score-card p { margin: 16px 0 0; color: rgba(255,255,255,.64); text-align: center; }
.cabinet-progress-card { display: flex; flex-direction: column; }.cabinet-progress-card > span { font-size: 12px; font-weight: 800; }.cabinet-progress-card > strong { margin-top: 31px; font-size: 66px; line-height: 1; letter-spacing: -.07em; }.cabinet-progress-card > strong small { color: var(--ink-soft); font-size: 17px; letter-spacing: 0; }.cabinet-progress-card__bar { height: 9px; margin: 24px 0 16px; border-radius: 9px; background: var(--mist); }.cabinet-progress-card__bar i { display: block; height: 100%; border-radius: inherit; background: var(--lime-strong); }.cabinet-progress-card p { font-size: 13px; }.cabinet-progress-card a { margin-top: auto; border-bottom: 1px solid currentColor; align-self: flex-start; font-size: 12px; font-weight: 800; }.cabinet-badge-list { display: flex; flex-wrap: wrap; gap: 7px; margin: 20px 0; }.cabinet-badge-list span { padding: 5px 8px; border-radius: 8px; background: var(--mist); font-size: 10px; }.cabinet-badge-list small { color: var(--ink-soft); }
.cabinet-panel { margin-top: 75px; }.cabinet-panel__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 35px; margin-bottom: 30px; }.cabinet-panel__head h2 { margin: 0; }.cabinet-panel__head > p { max-width: 380px; margin: 0; font-size: 14px; }.cabinet-breakdown { display: grid; grid-template-columns: repeat(2,1fr); gap: 13px; }.cabinet-breakdown__row { padding: 23px; border: 1px solid var(--line); border-radius: 15px; background: var(--white); }.cabinet-breakdown__row > div:first-child { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; }.cabinet-breakdown__row span { white-space: nowrap; }.cabinet-breakdown__track { height: 12px; margin-top: 20px; border-radius: 10px; background: var(--mist); }.cabinet-breakdown__track i { display: block; height: 100%; border-radius: inherit; background: var(--lime-strong); }
.cabinet-chart { padding: 32px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }.cabinet-chart svg { width: 100%; height: 250px; overflow: visible; }.cabinet-chart svg line { stroke: #dce6db; stroke-width: 1; }.cabinet-chart svg polyline { fill: none; stroke: #72a32e; stroke-width: 4; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }.cabinet-chart > div { display: flex; justify-content: space-between; font-size: 12px; }.cabinet-chart-empty { padding: 70px 30px; border: 1px dashed var(--line); border-radius: var(--radius); text-align: center; }.cabinet-chart-empty p { margin: 8px 0 0; }
.cabinet-questionnaire { margin-top: 100px; }.cabinet-group { margin-top: 40px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); overflow: hidden; }.cabinet-group__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 32px; background: var(--mist); }.cabinet-group__head h3 { margin: 0 0 5px; font-size: 34px; }.cabinet-group__head p { margin: 0; }.cabinet-group__head > span { font-size: 26px; font-weight: 800; white-space: nowrap; }.cabinet-question { min-width: 0; margin: 0; padding: 26px 32px; border: 0; border-top: 1px solid var(--line); }.cabinet-question legend { display: flex; width: 100%; align-items: center; gap: 13px; padding: 26px 0 0; font-size: 21px; font-weight: 800; letter-spacing: -.025em; }.cabinet-question legend span { color: var(--ink-soft); font-size: 12px; }.cabinet-question p { margin: 3px 0 4px; }.cabinet-question > small { color: var(--ink-soft); }.cabinet-choices { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }.cabinet-choices label { cursor: pointer; }.cabinet-choices input { position: absolute; opacity: 0; }.cabinet-choices label span { display: block; padding: 9px 16px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); font-size: 12px; font-weight: 750; }.cabinet-choices input:checked + span { border-color: var(--ink); background: var(--ink); color: var(--white); }.cabinet-choices input:focus-visible + span { outline: 3px solid var(--lime-strong); outline-offset: 2px; }.cabinet-note { display: block; margin-top: 19px; color: var(--ink-soft); font-size: 12px; font-weight: 700; }.cabinet-note textarea { display: block; width: 100%; margin-top: 8px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 11px; background: var(--paper); color: var(--ink); resize: vertical; }.cabinet-form-foot { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 25px 0; }.cabinet-form-foot p { max-width: 670px; margin: 0; font-size: 13px; }

/* Открытая методика. */
.method-page-hero { padding: 100px 0 105px; background: var(--ink); color: var(--white); }.method-page-hero h1 { max-width: 950px; margin-bottom: 20px; font-size: clamp(3rem,6vw,6rem); }.method-page-hero p { max-width: 720px; margin-bottom: 30px; color: rgba(255,255,255,.67); font-size: 19px; }.method-page-body { padding-bottom: 120px; }.method-explainer { display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; margin-top: -50px; position: relative; }.method-explainer > div { padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow); }.method-explainer span { display: block; color: var(--ink); font-size: 49px; font-weight: 900; line-height: 1; }.method-explainer strong { display: block; margin: 10px 0; }.method-explainer p { margin: 0; font-size: 14px; }.method-page-intro { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-top: 100px; }.method-page-intro h2 { margin: 0; }.method-page-intro p { max-width: 440px; margin: 0; }.method-section { margin-top: 70px; padding-top: 45px; border-top: 1px solid var(--line); }.method-section > header { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 30px; }.method-section h2 { margin: 0 0 8px; }.method-section header p { margin: 0; }.method-section > header > strong { font-size: 55px; line-height: 1; white-space: nowrap; }.method-section > header > strong small { font-size: 13px; }.method-criteria { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }.method-criteria article { display: flex; align-items: start; justify-content: space-between; gap: 16px; padding: 24px; border: 1px solid var(--line); border-radius: 15px; background: var(--white); }.method-criteria h3 { margin-bottom: 8px; font-size: 20px; }.method-criteria p { margin-bottom: 12px; font-size: 14px; }.method-criteria small { color: var(--ink-soft); }.method-criteria b { flex: 0 0 auto; padding: 5px 9px; border-radius: 15px; background: var(--lime); font-size: 12px; }.method-badges { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; }.method-badges > div { display: flex; min-height: 125px; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 15px; border: 1px solid var(--line); border-radius: 15px; background: var(--white); text-align: center; }.method-badges span { display: grid; width: 41px; height: 41px; place-items: center; border-radius: 12px; background: var(--ink); color: var(--lime); font-weight: 900; }.method-badges strong { font-size: 12px; }.method-rules { display: grid; grid-template-columns: repeat(2,1fr); gap: 30px; margin: 80px 0; }.method-rules > div { padding-top: 25px; border-top: 1px solid var(--line); }.method-rules h2 { font-size: 31px; }.method-page-cta { display: flex; align-items: end; justify-content: space-between; gap: 25px; padding: 50px; border-radius: var(--radius); background: var(--ink); color: var(--white); }.method-page-cta h2 { font-size: 40px; }.method-page-cta p { margin: 0; color: rgba(255,255,255,.65); }

[data-reveal] { opacity: 0; transform: translateY(20px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
[data-reveal].is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } [data-reveal] { opacity: 1; transform: none; transition: none; } * { animation-duration: .01ms !important; } }

/* Desktop first screen: keep the complete proposition visible on a laptop. */
@media (min-width: 861px) {
    .hero { min-height: min(720px, calc(100svh - 84px)); }
    .hero__grid { min-height: min(720px, calc(100svh - 84px)); gap: 4.5vw; padding-block: 34px; }
    .hero__copy h1 { max-width: 720px; margin-bottom: 20px; font-size: clamp(3.55rem,5.3vw,5.75rem); }
    .hero__lead { max-width: 650px; margin-bottom: 25px; font-size: clamp(1.18rem,1.55vw,1.42rem); }
    .hero__principles { gap: 17px; margin-top: 29px; }
    .hero__principles span { font-size: 18px; }
    .hero__visual { min-height: 560px; }
    .hero__illustration { top: -5px; right: -48px; width: min(112%,620px); }
    .hero__visual .rating-stage { width: min(100%,470px); margin: 0 0 -18px -25px; transform: rotate(-1deg) scale(.70); }

    /* Secondary text remains readable instead of becoming decorative microcopy. */
    .brand__text small,.rating-stage__header span,.rating-stage__metrics small,.rating-stage__note small,.method-scale__labels span,.plan-card__label,.footer-nav>strong,.footer-contact>strong,.hotel-card__score b,.hotel-card__score small,.hotel-card__title>div>span,.verified-pill,.profile-score small,.profile-score>span,.identity-tile__copy>span,.identity-sticker small,.identity-catalog>span,.identity-catalog>small { font-size: var(--text-label); }
    .signal-strip span,.plans-note,.form-message span,.join-form label>span,.join-form label>small,.footer-nav__list a,.footer-contact a,.site-footer__bottom,.method-criteria small,.cabinet-head__links a { font-size: var(--text-label); }
    .rating-stage__metrics b,.rating-stage__note strong,.method-scale__head span,.method-scale__head strong,.criteria-item__index,.benefit-card__number { font-size: var(--text-label); }
}

@media (min-width: 861px) and (max-height: 760px) {
    .hero__grid { padding-block: 24px; }
    .eyebrow { margin-bottom: 14px; }
    .hero__copy h1 { font-size: clamp(3.25rem,5vw,5.1rem); }
    .hero__lead { margin-bottom: 20px; font-size: 19px; }
    .hero__principles { margin-top: 22px; }
    .hero__visual { min-height: 525px; }
    .hero__illustration { top: 8px; width: min(106%,575px); }
    .hero__visual .rating-stage { transform: rotate(-1deg) scale(.64); }
}

@media (max-width: 1100px) {
    .site-nav__list { gap: 18px; }.site-nav__list a { font-size: 15px; }
    .hero__grid { grid-template-columns: 1fr 420px; gap: 45px; }.hero__copy h1 { font-size: clamp(3.3rem,6vw,5rem); }
    .method-grid { gap: 55px; }.benefit-grid { grid-template-columns: repeat(2,1fr); }.benefit-card--wide { grid-column: auto; }
    .catalog-filters { grid-template-columns: 1.2fr 1fr 1fr; }.catalog-filters .filter-check { grid-column: 1/3; }.catalog-filters .button { grid-column: 3; }
    .hotel-grid { grid-template-columns: repeat(2,1fr); }.profile-badges { grid-template-columns: repeat(3,1fr); }.metric-grid { grid-template-columns: repeat(2,1fr); }
    .site-header__inner { gap: 13px; }.site-nav__list { gap: 12px; }.header-account { font-size: 11px; }
    .identity-grid { grid-template-columns: repeat(2,1fr); }.identity-tile:last-child { grid-column: span 2; }.identity-tile:last-child .identity-tile__scene { min-height: 300px; }
    .cabinet-summary { grid-template-columns: repeat(2,1fr); }.cabinet-summary > :first-child { grid-column: span 2; }
    .plans-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.plan-card--confirmed { min-height: 610px; }.plan-card--confirmed .plan-card__illustration { width: 220px; height: 250px; }
    .standard-proof__grid,.standard-intro { gap: 5vw; }.standard-sources { grid-template-columns: repeat(2,1fr); }.standard-sources article:last-child { grid-column: 1/-1; min-height: 300px; }
}

@media (max-width: 860px) {
    :root { --shell: min(100% - 32px, 720px); }
    .site-header__inner { height: 72px; }.header-cta { margin-left: auto; }.menu-toggle { display: block; }
    .header-account { margin-left: auto; }.brand__logo { width: 108px; height: 64px; }
    .standard-proof__grid,.standard-hero__grid,.standard-intro { grid-template-columns: 1fr; }.standard-owner { max-width: 620px; }.standard-sources { grid-template-columns: 1fr; }.standard-sources article:last-child { grid-column: auto; }.standard-document-links { grid-template-columns: 1fr; }
    .site-nav { position: fixed; inset: 72px 0 auto; display: none; min-height: calc(100vh - 72px); margin: 0; padding: 35px 16px; background: var(--paper); }.site-nav.is-open { display: block; }.site-nav__list { width: var(--shell); margin: 0 auto; flex-direction: column; align-items: stretch; gap: 0; }.site-nav__list li { border-bottom: 1px solid var(--line); }.site-nav__list a { display: block; padding: 18px 0; font-size: 24px; }
    .menu-toggle[aria-expanded="true"] > span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }.menu-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; }.menu-toggle[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }
    .hero { min-height: 0; }.hero__grid { min-height: 0; grid-template-columns: 1fr; gap: 55px; padding-block: 75px; }.hero__copy h1 { font-size: clamp(3.4rem,11vw,5.5rem); }.rating-stage { max-width: 520px; margin: 0 auto; transform: none; }.hero__principles { margin-top: 40px; }
    .hero__visual { min-height: 650px; }.hero__illustration { top: -15px; right: 50%; width: min(100%,650px); transform: translateX(50%); }.hero__visual .rating-stage { width: min(88%,500px); margin: 0 auto -20px; transform: none; }
    .signal-strip__grid { grid-template-columns: repeat(2,1fr); }.signal-strip__grid > div:nth-child(3) { border-left: 1px solid var(--line); border-top: 1px solid var(--line); }.signal-strip__grid > div:nth-child(4) { border-top: 1px solid var(--line); }
    .section { padding: 90px 0; }.section-heading--split, .method-grid, .badges-layout, .join-grid, .profile-overview { grid-template-columns: 1fr; gap: 45px; }.section-heading--split { align-items: start; }.method-intro { max-width: 650px; }.achievement-cloud { max-width: 700px; }.join-copy { position: static; }
    .brand-meaning { grid-template-columns: 1fr; margin-bottom: 80px; }.brand-meaning__statement { min-height: 220px; }
    .plans-grid { grid-template-columns: 1fr; }.plan-card,.plan-card--confirmed { min-height: 0; grid-column: auto; }.catalog-callout { align-items: flex-start; flex-direction: column; padding: 48px; }
    .how-illustration { grid-template-columns: 1fr; padding: 34px; }.how-illustration img { max-height: 360px; }
    .site-footer__top { grid-template-columns: 1fr 1fr; }.footer-brand { grid-column: 1/-1; }
    .catalog-hero__inner { grid-template-columns: 1fr; }.catalog-hero__fact { display: none; }.catalog-filters { margin-top: -62px; }
    .profile-score { width: 170px; height: 170px; }.profile-score strong { font-size: 52px; }.profile-hero__main { align-items: center; }.profile-body { padding-top: 80px; }.profile-cta { padding: 45px; }
    .compare-panel__heading { flex-direction: column; align-items: flex-start; }.compare-panel__heading p { margin-top: -12px; }
    .cabinet-head__inner,.cabinet-panel__head,.method-page-intro { flex-direction: column; align-items: flex-start; }.cabinet-head__links { flex-direction: row; flex-wrap: wrap; }.cabinet-form-foot { flex-direction: column; align-items: flex-start; }.method-badges { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 620px) {
    :root { --shell: calc(100vw - 28px); --radius: 18px; --radius-lg: 24px; }
    body { font-size: 17px; }.site-header__inner { gap: 10px; }.header-cta { display: none; }.brand__text strong { font-size: 16px; }
    .header-account { font-size: 14px; }
    .hero__grid { padding-block: 53px 65px; }.hero__copy h1 { margin-bottom: 21px; font-size: clamp(3.1rem,15.5vw,4.5rem); line-height: .98; }.hero__lead { font-size: 17px; }.hero__actions { align-items: stretch; flex-direction: column; }.hero__actions .button { width: 100%; }.hero__principles { display: grid; gap: 12px; }
    .hero__visual { min-height: 540px; }.hero__illustration { top: 0; width: 120%; max-width: none; }.hero__visual .rating-stage { width: 94%; margin-bottom: -10px; }.rating-stage { padding: 21px; box-shadow: 8px 8px 0 var(--lime), 0 24px 55px rgba(16,45,39,.24); }.score-orbit { width: 210px; height: 210px; }.score-orbit__ring { width: 132px; height: 132px; }.score-orbit__dot--1 { top: 17px; left: 57px; }.score-orbit__dot--2 { right: 16px; bottom: 57px; }.score-orbit__dot--3 { bottom: 16px; left: 58px; }
    .rating-stage__metrics b { font-size: 14px; }.rating-stage__metrics small { font-size: 12px; }.rating-stage__header span { font-size: 12px; }.rating-stage__header strong { font-size: 20px; }
    .signal-strip__grid > div { min-height: 116px; padding: 20px 17px; }.signal-strip strong { font-size: 28px; }.signal-strip span { font-size: 15px; line-height: 1.35; }
    .section { padding: 72px 0; }.section-heading { margin-bottom: 38px; }.section-heading--split { gap: 20px; }.section-heading--split p { font-size: 16px; }.eyebrow,.kicker { margin-bottom: 16px; }
    .benefit-grid { grid-template-columns: 1fr; }.benefit-card { min-height: 280px; padding: 25px; }.benefit-card__icon { margin-bottom: 52px; }
    .method-grid { gap: 65px; }.method-intro > p { font-size: 16px; }.method-scale { margin-top: 38px; padding: 16px; }.criteria-item { grid-template-columns: 38px 1fr; gap: 16px; padding: 25px 0; }.criteria-item > strong { grid-column: 2; font-size: 16px; }
    .achievement-cloud { grid-template-columns: 1fr; }.achievement--guest { grid-column: auto; width: 100%; }.achievement { min-height: 142px; padding: 22px; }
    .how-illustration { margin-bottom: 45px; padding: 24px 20px 30px; }.how-illustration img { width: 120%; max-width: none; margin-left: -10%; }.how-illustration p { font-size: 17px; }
    .steps-grid { grid-template-columns: 1fr; }.steps-grid article,.steps-grid article + article { min-height: 0; padding: 28px 0; border-right: 0; border-bottom: 1px solid var(--line); }.steps-grid span { margin-bottom: 35px; }
    .plan-card { padding: 28px 23px; }.plan-card__label { position: static; align-self: flex-start; margin: -5px 0 25px; }.plan-card__top { min-height: 115px; flex-direction: column; gap: 15px; }.price { align-items: flex-start; }.price strong { font-size: 48px; }.plans-note { align-items: flex-start; text-align: left; }
    .catalog-callout { padding: 36px 26px; }.catalog-callout p { font-size: 16px; }.catalog-callout .button { width: 100%; }
    .form-row { grid-template-columns: 1fr; }.join-form-card { padding: 25px 20px; }
    .site-footer { padding-top: 58px; }.site-footer__top { grid-template-columns: 1fr; gap: 38px; }.footer-brand { grid-column: auto; }.footer-recognition { grid-template-columns: 1fr; gap: 14px; }.footer-recognition__items { flex-direction: column; gap: 10px; }.site-footer__bottom { align-items: flex-start; flex-direction: column; }
    .catalog-hero { padding: 75px 0 90px; }.catalog-hero h1 { font-size: 3.2rem; }.catalog-hero p { font-size: 16px; }.catalog-filters { grid-template-columns: 1fr; margin-top: -75px; padding: 12px; }.catalog-filters .filter-check,.catalog-filters .button { grid-column: auto; }.catalog-filters .button { width: 100%; }.hotel-grid { grid-template-columns: 1fr; }
    .compare-form__actions { align-items: stretch; flex-direction: column; }.compare-panel { padding: 22px; }.catalog-summary { flex-wrap: wrap; gap: 8px 15px; }
    .profile-hero,.profile-hero__content { min-height: 570px; }.profile-hero__veil { background: linear-gradient(0deg,rgba(9,32,27,.96) 0%,rgba(9,32,27,.62) 70%,rgba(9,32,27,.42) 100%); }.profile-hero__content { padding-block: 25px 40px; }.profile-hero__main { align-items: flex-start; flex-direction: column; gap: 30px; }.profile-hero h1 { margin-bottom: 18px; font-size: 3.4rem; }.profile-score { width: 128px; height: 128px; border-width: 10px; }.profile-score strong { font-size: 40px; }.profile-score > span { font-size: 8px; }.profile-body { padding-block: 65px 75px; }.profile-lead { font-size: 20px; }
    .profile-section { margin-top: 75px; padding-top: 50px; }.profile-section__heading { align-items: flex-start; flex-direction: column; gap: 17px; }.metric-grid { grid-template-columns: 1fr; }.profile-badges { grid-template-columns: repeat(2,1fr); }.profile-badge { min-height: 150px; padding: 15px; }.profile-cta { align-items: flex-start; flex-direction: column; margin-top: 75px; padding: 35px 25px; }.profile-cta .button { width: 100%; }
    .basic-page__header { padding: 70px 0 55px; }.basic-page__content { padding-block: 55px 80px; }.error-page div div { align-items: stretch; flex-direction: column; }
    .identity-grid { grid-template-columns: 1fr; }.identity-tile:last-child { grid-column: auto; }.identity-tile__scene { min-height: 320px; }.identity-tile:last-child .identity-tile__scene { min-height: 320px; }
    .brand-meaning { width: 100%; margin: 32px 0 68px; }.brand-meaning__formula { display: grid; width: 100%; min-width: 0; min-height: 285px; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; padding: 40px 14px; border-radius: 34px 14px 34px 14px; }.brand-meaning__formula > span { min-width: 0; align-items: center; font-size: clamp(2.35rem,12vw,2.8rem); text-align: center; }.brand-meaning__formula small { width: 100%; max-width: 105px; margin-top: 15px; overflow-wrap: anywhere; font-size: 14px; }.brand-meaning__formula i { position: absolute; top: 47%; font-size: 24px; transform: translate(-50%,-50%); }.brand-meaning__formula i:nth-of-type(1) { left: 33.333%; }.brand-meaning__formula i:nth-of-type(2) { left: 66.666%; }.brand-meaning__statement { width: 100%; min-width: 0; min-height: 260px; grid-template-columns: 1fr; gap: 25px; padding: 34px 26px; border-radius: 14px 34px 14px 34px; }.brand-meaning__statement strong { overflow-wrap: anywhere; font-size: clamp(2.8rem,14vw,3.4rem); }.brand-meaning__statement p { font-size: 18px; }
    .cabinet-head { padding: 55px 0; }.cabinet-body { padding-block: 45px 85px; }.cabinet-intro { align-items: flex-start; flex-direction: column; }.cabinet-intro .button { width: 100%; }.cabinet-summary,.cabinet-breakdown { grid-template-columns: 1fr; }.cabinet-summary > :first-child { grid-column: auto; }.cabinet-summary > article { min-height: 245px; }.cabinet-group__head { padding: 23px; }.cabinet-group__head h3 { font-size: 26px; }.cabinet-question { padding: 20px 22px; }.cabinet-question legend { font-size: 18px; }.cabinet-chart { padding: 15px; }.cabinet-chart svg { height: 180px; }.cabinet-form-foot .button { width: 100%; }
    .method-page-hero { padding: 70px 0 100px; }.method-explainer,.method-criteria,.method-rules { grid-template-columns: 1fr; }.method-page-intro { margin-top: 70px; }.method-section { margin-top: 55px; }.method-section > header > strong { font-size: 36px; }.method-badges { grid-template-columns: repeat(2,1fr); }.method-page-cta { flex-direction: column; align-items: stretch; padding: 30px 23px; }.method-page-cta h2 { font-size: 30px; }
    .verification-price__intro,.eco-price-calculator__grid,.eco-price-calculator__foot { grid-template-columns: 1fr; }.eco-price-calculator__head { align-items: flex-start; flex-direction: column; }.eco-price-calculator__head p { text-align: left; }.eco-price-calculator__grid article { min-height: 142px; }.standard-proof__actions,.standard-document header { align-items: stretch; flex-direction: column; }.standard-hero { padding: 70px 0 78px; }.standard-hero h1 { font-size: 3.3rem; }.standard-hero__grid > div > p { font-size: 17px; }.standard-page { padding: 70px 0 90px; }.standard-sources article { min-height: 330px; padding: 26px; }.standard-disclaimer { grid-template-columns: 1fr; padding: 28px 24px; }.standard-disclaimer h2 { font-size: 30px; }.standard-document { margin-top: 65px; }.standard-download-card { grid-template-columns: 1fr; padding: 26px; }.standard-download-card__actions { align-items: stretch; min-width: 0; }
}

/* Единая читаемая шкала мелкого текста: 14 px для подписей, 18 px для основного текста, 22 px для акцентов. */
.site-header small,.site-main small,.site-footer small { font-size: var(--text-label) !important; }
.brand__text small,.header-account,.rating-stage__header span,.rating-stage__metrics small,.rating-stage__note small,.method-scale__head span,.method-scale__head strong,.method-scale__labels span,.criteria-item__index,.benefit-card__number,.plan-card__label,.price small,.plans-note,.form-message span,.join-form label>span,.join-form label>small,.join-form__details>p,.join-form__checks label,.consent span,.footer-nav>strong,.footer-contact>strong,.footer-nav__list a,.footer-contact a,.site-footer__bottom,.hotel-card__score b,.hotel-card__score small,.hotel-card__title>div>span,.verified-pill,.profile-location,.status-pill,.profile-score small,.profile-score>span,.metric-card__top>span,.metric-card__top small,.metric-card p,.profile-badge strong,.post-list article>span,.identity-tile__copy>span,.identity-sticker small,.identity-catalog>span,.identity-catalog__mark span,.identity-catalog>small,.identity-disclaimer,.cabinet-gate__note,.cabinet-head__links a,.cabinet-score-card__top,.cabinet-score-card__ring small,.cabinet-progress-card>span,.cabinet-progress-card p,.cabinet-progress-card a,.cabinet-badge-list span,.cabinet-panel__head>p,.cabinet-breakdown__row>div:first-child,.cabinet-chart>div,.cabinet-question legend span,.cabinet-question>small,.cabinet-choices label span,.cabinet-note,.cabinet-form-foot p,.method-explainer p,.method-section>header>strong small,.method-criteria p,.method-criteria small,.method-criteria b,.method-badges strong,.standard-status span,.standard-status small,.standard-owner span,.standard-sources article>span,.standard-sources a,.back-link { font-size: var(--text-label) !important; }
.catalog-hero__fact span,.filter-check,.catalog-summary,.hotel-card__badges span,.hotel-card__compare,.compare-form__intro,.standard-proof__sources article>span,.standard-disclaimer>span { font-size: var(--text-label) !important; }

/* Achievement system: five visible goals, three earned levels and a grey locked state. */
.eco-achievement { min-width: 0; }
.eco-achievement__art { display: block; width: 100%; aspect-ratio: 3/5; background: center/500% 100% no-repeat url("../img/ecorating-achievements-level-1.png"); filter: drop-shadow(0 12px 16px rgba(16,45,39,.12)); }
.eco-achievement--level-2 .eco-achievement__art { background-image: url("../img/ecorating-achievements-level-2.png"); }
.eco-achievement--level-3 .eco-achievement__art { background-image: url("../img/ecorating-achievements-level-3.png"); }
.eco-achievement--energy .eco-achievement__art { background-position: 0 center; }
.eco-achievement--water .eco-achievement__art { background-position: 25% center; }
.eco-achievement--waste .eco-achievement__art { background-position: 50% center; }
.eco-achievement--local .eco-achievement__art { background-position: 75% center; }
.eco-achievement--guest .eco-achievement__art { background-position: 100% center; }
.eco-achievement--locked .eco-achievement__art { filter: grayscale(1) saturate(0) opacity(.30); }
.eco-achievement__copy { display: grid; gap: 5px; max-width: 220px; margin: 4px auto 0; text-align: center; }
.eco-achievement__copy strong { font-size: 20px; line-height: 1.08; }
.eco-achievement__copy small { display: flex; align-items: center; justify-content: center; gap: 8px; color: var(--ink-soft); font-size: 15px; font-weight: 800; }
.eco-achievement__copy small::before { content: ""; width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: #6f8d83; }
.eco-achievement--level-1 .eco-achievement__copy small::before { background: #b7793e; }
.eco-achievement--level-2 .eco-achievement__copy small::before { background: #6f9ca1; }
.eco-achievement--level-3 .eco-achievement__copy small::before { background: #b28a20; }
.eco-achievement__copy em { color: var(--ink-soft); font-size: 14px; font-style: normal; line-height: 1.3; }
.eco-achievement--locked .eco-achievement__copy { opacity: .62; }
.eco-achievement--locked .eco-achievement__copy small::before { background: #8f9995; }
.eco-achievement-set { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 22px; align-items: start; }
.eco-achievement-set .eco-achievement { padding: 0; border: 0; border-radius: 0; background: transparent; }
.eco-achievement-set .eco-achievement__art { width: 190px; max-width: 100%; margin: 0 auto; }
.eco-achievement-set--catalog { grid-template-columns: repeat(5,43px); gap: 2px; margin-top: 16px; }
.eco-achievement-set--catalog .eco-achievement { padding: 0; border: 0; border-radius: 0; background: transparent; }
.eco-achievement-set--catalog .eco-achievement__art { filter: drop-shadow(0 5px 6px rgba(16,45,39,.1)); }
.eco-achievement-set--catalog .eco-achievement--locked .eco-achievement__art { filter: grayscale(1) saturate(0) opacity(.22); }
.achievement-cloud--new { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 22px; align-items: start; }
.achievement-cloud--new .eco-achievement { padding: 0; border: 0; border-radius: 0; background: transparent; }
.achievement-cloud--new .eco-achievement__art { width: 190px; max-width: 100%; margin: 0 auto; }
.achievement-cloud--new .eco-achievement__copy strong { font-size: 17px; }
.achievement-cloud--new .eco-achievement__copy em { display: none; }
.method-achievements { padding-top: 58px; }
.method-achievement-grid { display: grid; gap: 14px; }
.method-achievement-grid > article { display: grid; grid-template-columns: 150px 1fr; align-items: center; gap: 30px; padding: 20px 28px; border: 1px solid var(--line); border-radius: 24px; background: var(--white); }
.method-achievement-grid .eco-achievement { width: 140px; }
.method-achievement-grid h3 { margin: 0 0 7px; font-size: 27px; }
.method-achievement-grid p { margin: 0 0 12px; }
.method-achievement-grid ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.method-achievement-grid li { padding: 7px 10px; border-radius: 999px; background: var(--mist); font-size: 14px; }

/* Four original tariff illustrations use one stable viewport. */
.plan-card--preview .plan-card__illustration { object-position: center 52%; }
.plan-card--featured .plan-card__illustration { object-position: center 50%; }
.plan-card--start .plan-card__illustration { object-position: center 50%; }
.plan-card--confirmed .plan-card__illustration { object-position: center 48%; }

@media (max-width: 1000px) {
    .achievement-cloud--new,.eco-achievement-set { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 620px) {
    .achievement-cloud--new,.eco-achievement-set { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 10px; }
    .achievement-cloud--new .eco-achievement__art,.eco-achievement-set .eco-achievement__art { width: 142px; max-width: 100%; }
    .achievement-cloud--new .eco-achievement:last-child,.eco-achievement-set .eco-achievement:last-child { grid-column: 1/-1; width: calc(50% - 5px); justify-self: center; }
    .eco-achievement__copy strong { font-size: 18px; }
    .eco-achievement-set--catalog { grid-template-columns: repeat(5,38px); }
    .eco-achievement-set--catalog .eco-achievement:last-child { grid-column: auto; width: auto; }
    .method-achievement-grid > article { grid-template-columns: 96px 1fr; gap: 14px; padding: 16px; }
    .method-achievement-grid .eco-achievement { width: 92px; }
    .method-achievement-grid ol { display: grid; }
    .plan-card__illustration { width: calc(100% + 46px); height: 220px; margin: -28px -23px 24px; }
    .plan-card--confirmed .plan-card__illustration {
        display: block;
        width: calc(100% + 46px);
        max-width: none;
        height: auto;
        aspect-ratio: 3 / 2;
        margin: -28px -23px 24px;
        object-fit: cover;
        object-position: center 48%;
    }
}
.identity-widget__top span,.identity-widget__hotel small,.identity-widget__result>div:last-child small { font-size: var(--text-label); }
.identity-tile__copy p { font-size: var(--text-body); }.identity-tile__copy p,.identity-disclaimer,.metric-card p,.cabinet-progress-card p,.cabinet-form-foot p,.method-explainer p,.method-criteria p { line-height: 1.55; }

/* Финальная корректировка смысловой строки: одна строка без выхода за карточку. */
.brand-meaning__statement { overflow: hidden; }
.brand-meaning__statement strong { min-width: 0; max-width: 100%; font-size: clamp(2.55rem,4.35vw,4.85rem); line-height: .95; white-space: nowrap; overflow-wrap: normal; }

/* Макет карточек в независимом OTA-каталоге. */
.identity-ota { width: min(100%,340px); overflow: hidden; padding: 12px; border: 1px solid #dfe5e1; border-radius: 20px; background: #fff; box-shadow: 0 18px 48px rgba(16,45,39,.14); }
.identity-ota__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 9px; padding: 9px 11px; border-radius: 11px; background: #edf1ef; color: var(--ink); }
.identity-ota__toolbar b { font-size: 13px; }.identity-ota__toolbar span { color: var(--ink-soft); font-size: 11px; }
.identity-ota__result { display: grid; grid-template-columns: 82px 1fr; align-items: center; gap: 12px; padding: 10px 6px; border-top: 1px solid var(--line); }
.identity-ota__result > div:last-child { min-width: 0; }.identity-ota__result small { display: block; color: var(--ink-soft); font-size: 10px; line-height: 1.2; }.identity-ota__result strong { display: block; margin: 3px 0 7px; font-size: 18px; line-height: 1.05; }
.identity-ota__photo { position: relative; overflow: hidden; width: 82px; height: 76px; border-radius: 12px; background: linear-gradient(180deg,#9bd7dc 0 44%,#9bbd65 44%); }
.identity-ota__photo::before { content: ""; position: absolute; left: 14px; bottom: 12px; width: 54px; height: 35px; border-radius: 4px 4px 1px 1px; background: #fff7e7; box-shadow: inset 0 -8px 0 #d6a879; }
.identity-ota__photo::after { content: ""; position: absolute; left: 21px; bottom: 24px; width: 7px; height: 9px; background: #3f766c; box-shadow: 14px 0 0 #3f766c,28px 0 0 #3f766c; }
.identity-ota__photo--water { background: linear-gradient(180deg,#f3c778 0 40%,#83cfd6 40% 66%,#6b9968 66%); }
.identity-ota__photo span { position: absolute; z-index: 2; left: 10px; bottom: 8px; width: 9px; height: 18px; border-radius: 100% 0 100% 0; background: #244f42; transform: rotate(-25deg); }
.identity-ota__mark { display: inline-flex; max-width: 100%; align-items: center; gap: 5px; padding: 5px 8px; border: 1px solid #cfe09f; border-radius: 999px; background: #eff8d9; color: var(--ink); font-size: 10px; font-weight: 850; line-height: 1.1; }
.identity-ota__mark i { display: grid; width: 15px; height: 15px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--ink); color: var(--lime); font-size: 9px; font-style: normal; }
.identity-ota__mark--verified { border-color: #acd3cd; background: #e3f5f2; }.identity-ota__mark--verified i { background: #215b50; color: #fff; }

/* Страница независимого гида по экозакупкам. */
.procurement-hero { overflow: hidden; padding: 105px 0 115px; background: radial-gradient(circle at 82% 15%,rgba(200,240,106,.22),transparent 27%),var(--ink); color: var(--white); }
.procurement-hero__grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(330px,.48fr); align-items: center; gap: 8vw; }
.procurement-hero h1 { max-width: 850px; margin-bottom: 24px; }.procurement-hero__grid > div:first-child > p { max-width: 760px; margin-bottom: 34px; color: rgba(255,255,255,.72); font-size: 21px; }
.procurement-hero__actions { display: flex; flex-wrap: wrap; gap: 11px; }
.procurement-hero__card { position: relative; padding: 34px; border: 1px solid rgba(255,255,255,.16); border-radius: 32px 14px 32px 14px; background: rgba(255,255,255,.08); box-shadow: 14px 14px 0 rgba(200,240,106,.12); }
.procurement-hero__card > span { color: var(--lime); font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }.procurement-hero__card > strong { display: block; margin: 12px 0 22px; font-family: "Bebas Neue",Impact,sans-serif; font-size: 54px; font-weight: 400; line-height: 1; }
.procurement-hero__card ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }.procurement-hero__card li { position: relative; padding-left: 26px; color: rgba(255,255,255,.82); }.procurement-hero__card li::before { content: "✓"; position: absolute; left: 0; color: var(--lime); font-weight: 900; }
.procurement-page { background: var(--paper); }
.procurement-intro { display: grid; grid-template-columns: minmax(0,.9fr) minmax(420px,1.1fr); gap: 8vw; padding-block: 105px 70px; }.procurement-intro h2 { margin: 0; }.procurement-intro p { margin-bottom: 18px; font-size: 19px; }
.procurement-principles { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; padding-bottom: 110px; }.procurement-principles article { min-height: 240px; padding: 27px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }.procurement-principles span { display: grid; width: 42px; height: 42px; place-items: center; margin-bottom: 40px; border-radius: 50%; background: var(--ink); color: var(--lime); font-weight: 900; }.procurement-principles h3 { margin-bottom: 12px; }.procurement-principles p { margin: 0; font-size: 16px; }
.procurement-catalog { padding: 110px 0; background: var(--mist); }.procurement-catalog__head { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 45px; }.procurement-catalog__head h2 { margin: 0; }.procurement-catalog__head > p { max-width: 440px; margin: 0; }
.procurement-category-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }.procurement-category-grid article { display: grid; min-height: 320px; grid-template-columns: 74px 1fr; gap: 22px; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }.procurement-category-grid i { display: grid; width: 64px; height: 64px; place-items: center; border-radius: 19px; background: var(--ink); color: var(--lime); font-size: 25px; font-style: normal; font-weight: 900; transform: rotate(-3deg); }.procurement-category-grid span { color: var(--ink-soft); font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.procurement-category-grid h3 { margin: 8px 0 13px; }.procurement-category-grid p { margin-bottom: 17px; }.procurement-category-grid ul { display: grid; gap: 5px; margin: 0; padding-left: 20px; color: var(--ink-soft); font-size: 15px; }
.procurement-proof { display: grid; grid-template-columns: minmax(0,.75fr) minmax(500px,1.25fr); gap: 8vw; padding-block: 110px; }.procurement-proof__copy { align-self: center; }.procurement-proof__copy h2 { margin-bottom: 22px; }.procurement-proof ol { margin: 0; padding: 0; counter-reset: proof; list-style: none; }.procurement-proof li { display: grid; grid-template-columns: 1fr 1.35fr; gap: 30px; padding: 23px 0; border-bottom: 1px solid var(--line); counter-increment: proof; }.procurement-proof li:first-child { border-top: 1px solid var(--line); }.procurement-proof li b::before { content: counter(proof) ". "; color: var(--lime-strong); }.procurement-proof li span { color: var(--ink-soft); }
.procurement-rating { padding: 100px 0; background: var(--ink); color: var(--white); }.procurement-rating__grid { display: grid; grid-template-columns: minmax(0,.75fr) minmax(430px,1.25fr); gap: 8vw; align-items: center; }.procurement-rating h2 { margin-bottom: 23px; }.procurement-rating p { max-width: 590px; margin-bottom: 30px; color: rgba(255,255,255,.67); }.procurement-rating__list { display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; }.procurement-rating__list article { display: flex; min-height: 82px; align-items: center; gap: 14px; padding: 16px; border: 1px solid rgba(255,255,255,.13); border-radius: 15px; background: rgba(255,255,255,.05); }.procurement-rating__list b { display: grid; width: 42px; height: 42px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--lime); color: var(--ink); }.procurement-rating__list span { line-height: 1.25; }
.procurement-cta { display: flex; align-items: center; justify-content: space-between; gap: 55px; margin-block: 95px; padding: 55px; border-radius: var(--radius-lg); background: var(--lime); }.procurement-cta h2 { margin-bottom: 14px; }.procurement-cta p { max-width: 750px; margin: 0; }.procurement-cta .button { flex: 0 0 auto; }

/* Подтверждение cookie. */
.cookie-banner { position: fixed; z-index: 9998; right: 22px; bottom: 22px; display: flex; width: min(620px,calc(100vw - 44px)); align-items: center; gap: 24px; padding: 20px 22px; border: 1px solid rgba(255,255,255,.16); border-radius: 20px; background: var(--ink); color: var(--white); box-shadow: 0 24px 80px rgba(0,0,0,.3); }.cookie-banner[hidden] { display: none; }.cookie-banner > div { min-width: 0; }.cookie-banner strong { display: block; margin-bottom: 4px; font-size: 19px; }.cookie-banner p { margin: 0; color: rgba(255,255,255,.72); font-size: 14px; line-height: 1.45; }.cookie-banner a { color: var(--lime); text-decoration: underline; }.cookie-banner .button { min-height: 46px; flex: 0 0 auto; }

@media (max-width: 860px) {
    .evidence-transfer { grid-template-columns: 1fr; }
    .procurement-hero__grid,.procurement-intro,.procurement-proof,.procurement-rating__grid { grid-template-columns: 1fr; }
    .procurement-hero__card { max-width: 620px; }.procurement-principles { grid-template-columns: repeat(2,1fr); }.procurement-catalog__head { align-items: flex-start; flex-direction: column; }.procurement-proof { gap: 45px; }.procurement-cta { align-items: flex-start; flex-direction: column; }.procurement-cta .button { width: 100%; }
}

@media (max-width: 620px) {
    .evidence-transfer p { font-size: 16px; }
    .brand-meaning__statement { min-height: 235px; }.brand-meaning__statement strong { font-size: clamp(2rem,10.2vw,2.62rem); white-space: nowrap; overflow-wrap: normal; }
    .identity-ota { padding: 9px; }.identity-ota__result { grid-template-columns: 72px 1fr; gap: 9px; }.identity-ota__photo { width: 72px; height: 70px; }.identity-ota__result strong { font-size: 16px; }.identity-ota__mark { padding: 4px 6px; font-size: 9px; }
    .procurement-hero { padding: 70px 0 80px; }.procurement-hero h1 { font-size: 3.35rem; }.procurement-hero__grid > div:first-child > p { font-size: 17px; }.procurement-hero__actions { align-items: stretch; flex-direction: column; }.procurement-hero__actions .button { width: 100%; }.procurement-hero__card { padding: 26px 23px; }.procurement-hero__card > strong { font-size: 45px; }
    .procurement-intro { padding-block: 72px 45px; }.procurement-intro p { font-size: 17px; }.procurement-principles { grid-template-columns: 1fr; padding-bottom: 72px; }.procurement-principles article { min-height: 220px; }.procurement-catalog { padding: 72px 0; }.procurement-category-grid { grid-template-columns: 1fr; }.procurement-category-grid article { min-height: 0; grid-template-columns: 55px 1fr; gap: 16px; padding: 23px 20px; }.procurement-category-grid i { width: 50px; height: 50px; border-radius: 15px; }.procurement-category-grid p,.procurement-category-grid ul { font-size: 15px; }
    .procurement-proof { padding-block: 72px; }.procurement-proof li { grid-template-columns: 1fr; gap: 5px; }.procurement-rating { padding: 72px 0; }.procurement-rating__list { grid-template-columns: 1fr; }.procurement-cta { margin-block: 65px; padding: 32px 24px; }
    .cookie-banner { right: 14px; bottom: 14px; width: calc(100vw - 28px); align-items: stretch; flex-direction: column; gap: 15px; padding: 18px; }.cookie-banner .button { width: 100%; }
}

/* Cookie banner must never participate in or widen the document viewport. */
html,body { max-width: 100%; overflow-x: hidden; }
.cookie-banner { left: 50%; right: auto; width: calc(100% - 32px); max-width: 680px; transform: translateX(-50%); contain: layout paint; }
.cookie-banner .button { white-space: nowrap; }

@media (max-width: 620px) {
    .cookie-banner { left: 14px; right: 14px; bottom: 14px; width: auto; max-width: none; max-height: calc(100dvh - 28px); overflow-y: auto; transform: none; }
}

/* Mobile rating card: keep both columns inside the same right edge as the lime note. */
.rating-stage__metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
.rating-stage__metrics > div { min-width: 0; }
.rating-stage__metrics small { min-width: 0; overflow-wrap: anywhere; }

/* Four category colours continue from the rating card into the key figures. */
.signal-strip__grid > div { color: var(--ink); }
.signal-strip__grid > div:nth-child(1) { background: var(--lime); }
.signal-strip__grid > div:nth-child(2) { background: var(--gold); }
.signal-strip__grid > div:nth-child(3) { background: var(--blue); }
.signal-strip__grid > div:nth-child(4) { background: var(--coral); }
.signal-strip__grid > div strong,
.signal-strip__grid > div span { color: var(--ink); }

/* Unframed medals, also when rendered by EcoRating Core. */
body .eco-achievement, body .erc-achievement {
    min-width: 0; min-height: 0; height: auto; padding: 0 !important;
    border: 0 !important; border-radius: 0 !important;
    background: transparent !important; box-shadow: none !important;
    overflow: visible;
}
body .eco-achievement__art, body .erc-achievement__art {
    display: block; width: 190px !important; max-width: 100% !important;
    aspect-ratio: 3 / 5; background-size: 500% 100% !important;
    background-repeat: no-repeat !important; margin-left: auto; margin-right: auto;
}
body .eco-achievement:not(.eco-achievement--locked) .eco-achievement__copy small,
body .erc-achievement:not(.erc-achievement--locked) .erc-achievement__copy small { display: none; }
body .achievement-cloud--new .eco-achievement__copy { margin-top: 0; }
body .achievement-cloud--new .eco-achievement__copy strong { font-size: 17px; line-height: 1.3; }
body .method-achievement-grid > article, body .erc-achievement-rules > article {
    border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
@media (max-width: 620px) {
    body .achievement-cloud--new,
    body .eco-achievement-set:not(.eco-achievement-set--catalog) { width: 100%; max-width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 12px; }
    body .achievement-cloud--new .eco-achievement,
    body .eco-achievement-set .eco-achievement { width: 100%; max-width: 100%; }
    body .achievement-cloud--new .eco-achievement__art,
    body .eco-achievement-set .eco-achievement__art,
    body .erc-achievement__art { width: 142px !important; max-width: 100% !important; }
    body .achievement-cloud--new .eco-achievement__copy strong { font-size: 16px; }
    .brand-meaning__statement { padding-inline: 22px; }
    .brand-meaning__statement strong { display: grid; gap: 2px; font-size: clamp(2.35rem, 11vw, 3rem); line-height: .9; letter-spacing: .005em; white-space: normal; }
    .brand-meaning__statement strong span { display: block; min-width: 0; }
}

/* Bebas remains a display face; values and interface text stay readable. */
.price strong,
.signal-strip strong,
.profile-score strong,
.cabinet-score-card__ring strong,
.cabinet-progress-card>strong,
.method-section>header>strong,
.eco-price-calculator__head strong,
.eco-price-calculator__grid strong,
.standard-download-card__mark,
.identity-widget__hotel strong,
.identity-widget__score strong,
.procurement-hero__card>strong {
    font-family: "Oswald", Arial, sans-serif;
    font-weight: 700;
    letter-spacing: -.035em;
}
.eco-price-calculator__head strong { font-size: clamp(46px,6vw,72px); line-height: .9; }
.eco-price-calculator__grid strong { font-size: clamp(31px,3.5vw,46px); line-height: 1; }
.standard-download-card__mark { font-size: 25px; letter-spacing: -.03em; }
.identity-widget__hotel strong { font-size: 23px; line-height: 1.15; }
.identity-widget__score strong { font-size: 26px; line-height: 1; }
.procurement-hero__card>strong { font-size: 44px; line-height: 1; }
.button--criteria { width: auto; max-width: 100%; margin-top: 34px; padding-inline: 24px; }
@media (max-width: 620px) {
    .button { min-height: 50px; padding: 12px 20px; border-radius: 15px; line-height: 1.25; white-space: normal; }
    .button--criteria { width: auto !important; margin-top: 28px; }
    .brand-meaning__statement strong { font-size: clamp(2.45rem,12vw,3rem); line-height: .9; letter-spacing: .01em; }
}

/* Each achievement is an independent asset: no sprite neighbours or clipped edge medals. */
.eco-achievement__art,
.erc-achievement__art {
    aspect-ratio: 217 / 362 !important;
    background-image: var(--achievement-image) !important;
    background-position: center !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
}
.eco-achievement--energy.eco-achievement--level-1,.erc-achievement--energy.erc-achievement--level-1 { --achievement-image: url("../img/achievement-energy-level-1.png"); }
.eco-achievement--energy.eco-achievement--level-2,.erc-achievement--energy.erc-achievement--level-2 { --achievement-image: url("../img/achievement-energy-level-2.png"); }
.eco-achievement--energy.eco-achievement--level-3,.erc-achievement--energy.erc-achievement--level-3 { --achievement-image: url("../img/achievement-energy-level-3.png"); }
.eco-achievement--water.eco-achievement--level-1,.erc-achievement--water.erc-achievement--level-1 { --achievement-image: url("../img/achievement-water-level-1.png"); }
.eco-achievement--water.eco-achievement--level-2,.erc-achievement--water.erc-achievement--level-2 { --achievement-image: url("../img/achievement-water-level-2.png"); }
.eco-achievement--water.eco-achievement--level-3,.erc-achievement--water.erc-achievement--level-3 { --achievement-image: url("../img/achievement-water-level-3.png"); }
.eco-achievement--waste.eco-achievement--level-1,.erc-achievement--waste.erc-achievement--level-1 { --achievement-image: url("../img/achievement-waste-level-1.png"); }
.eco-achievement--waste.eco-achievement--level-2,.erc-achievement--waste.erc-achievement--level-2 { --achievement-image: url("../img/achievement-waste-level-2.png"); }
.eco-achievement--waste.eco-achievement--level-3,.erc-achievement--waste.erc-achievement--level-3 { --achievement-image: url("../img/achievement-waste-level-3.png"); }
.eco-achievement--local.eco-achievement--level-1,.erc-achievement--local.erc-achievement--level-1 { --achievement-image: url("../img/achievement-local-level-1.png"); }
.eco-achievement--local.eco-achievement--level-2,.erc-achievement--local.erc-achievement--level-2 { --achievement-image: url("../img/achievement-local-level-2.png"); }
.eco-achievement--local.eco-achievement--level-3,.erc-achievement--local.erc-achievement--level-3 { --achievement-image: url("../img/achievement-local-level-3.png"); }
.eco-achievement--guest.eco-achievement--level-1,.erc-achievement--guest.erc-achievement--level-1 { --achievement-image: url("../img/achievement-guest-level-1.png"); }
.eco-achievement--guest.eco-achievement--level-2,.erc-achievement--guest.erc-achievement--level-2 { --achievement-image: url("../img/achievement-guest-level-2.png"); }
.eco-achievement--guest.eco-achievement--level-3,.erc-achievement--guest.erc-achievement--level-3 { --achievement-image: url("../img/achievement-guest-level-3.png"); }

/* Override the retired 500%-wide sprite viewport with the complete medal. */
body .eco-achievement__art,
body .erc-achievement__art {
    display: block !important;
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    background: none !important;
}

/* The mobile series must expand to all five independent images. */
body .achievement-cloud--new,
body .eco-achievement-set:not(.eco-achievement-set--catalog),
body .erc-achievement-set:not(.erc-achievement-set--catalog) {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}
