/*
 * Adapts block-editor markup to the design in site.css.
 * Pages are built from core blocks (group / heading / paragraph / list / buttons / image)
 * carrying the design's class names; the rules below cover the places where block markup
 * differs from the original HTML (spans → paragraphs, a.card → card with a stretched link, etc.).
 */

/* Resets for core block output */
main :where(p,h1,h2,h3,h4,ul,ol,figure,blockquote){margin-block:0}
main :where(.wp-block-group) > *{margin-block:0}
.wp-block-image{margin:0}
.wp-block-image img{height:auto;max-width:100%;vertical-align:bottom}
:where(.wp-block-group.has-background){padding:0}

/* Utilities replacing the design's inline styles */
.stack-22{display:flex;flex-direction:column;gap:22px}
.text{color:var(--text)}
.mt-12{margin-top:12px}
.h-lg{font-size:clamp(30px,3.2vw,46px);line-height:1.15}
.head h2.h-md{font-size:clamp(26px,2.6vw,36px)}
.h-page{font-size:clamp(34px,4vw,56px);line-height:1.12}

/* Buttons: core/button styled as .btn, with the arrow */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center}
.wp-block-button__link,.wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;background:var(--blue);color:var(--white);text-decoration:none;font:600 15px/1.2 var(--font);border:0;border-radius:0;cursor:pointer;transition:background .2s}
.wp-block-button__link:hover{background:var(--navy);color:var(--white)}
.wp-block-button__link::after{content:"→"}

/* Text links: a paragraph with class "link-p" renders its link like .link */
.link-p a,.link-inline a{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;text-decoration:none;color:var(--cyan)}
.link-p a:hover,.link-inline a:hover{color:var(--navy)}
.card .link-p{margin-top:auto;padding-top:8px}
.prog .link-p{margin-top:auto;padding-top:10px}

/* Cards that were links in the design: the link inside covers the whole card */
.card.is-link{position:relative;transition:border-color .2s,box-shadow .2s}
.card.is-link:hover{border-color:var(--navy);box-shadow:0 24px 48px -36px rgba(13,37,61,.45)}
.card.is-link .link-p a::after{content:"";position:absolute;inset:0}
.card p.tag{font-size:12px;color:var(--cyan)}

/* Hero */
.hero h1 em{font-style:normal;color:var(--cyan)}
.hero .wp-block-buttons{align-self:flex-start}
.stat-line strong{font-weight:600;font-size:inherit;line-height:inherit}

/* Hero panel entries */
.entry{position:relative}
.entry::after{content:"→";grid-column:2;grid-row:1/3;color:var(--blue);font-size:18px}
.entry .entry-k{font-size:12px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--cyan)}
.entry .entry-t{font-size:19px;font-weight:500;line-height:1.35}
.entry .entry-t a{color:inherit;text-decoration:none}
.entry .entry-t a::after{content:"";position:absolute;inset:0}

/* AIRA */
figure.aira-logo{height:auto}
.aira-logo img{height:44px;width:auto;display:block}
.chat .chat-intro{font-size:16px;font-weight:500;color:var(--navy);line-height:1.45;border-bottom:1px solid var(--line);padding-bottom:16px}
.steps li{font-size:14px;color:var(--text)}
.steps li strong{display:block;font-size:clamp(20px,1.8vw,24px);font-weight:400;line-height:1.25;color:var(--navy)}

/* Testimonials: div.quote > eyebrow, .who (photo + name), .q (quote text) */
.quote .who{order:-1;display:flex;align-items:center;gap:20px;padding:0 0 22px;border-bottom:1px solid var(--line);font-size:14px;color:var(--text)}
.quote .who-n{font-weight:600;font-size:18px;color:var(--navy);margin-bottom:2px}
.quote .q{position:relative;font-size:clamp(16px,1.25vw,18px);line-height:1.65;font-weight:400;color:var(--navy)}
p.avatar{font-size:24px}
p.avatar::after{content:"снимка";font-size:9px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
figure.avatar{margin:0;border:0}
figure.avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
/* Company logo instead of a photo: show it whole on white */
figure.avatar.is-logo{background:var(--white)}
figure.avatar.is-logo img{object-fit:contain;padding:12px}

/* Case studies */
.case .dl{display:grid;gap:18px}
.case .dt{font-size:12px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--cyan);margin-bottom:4px}
.case .dd{font-size:15px;color:var(--text)}
.case ul.dd{margin:0;padding-left:18px;display:grid;gap:4px}
.case .dd.result{font-size:17px;line-height:1.5;color:var(--navy);font-weight:500}

/* Page hero counter */
.counter .counter-num{font-size:clamp(64px,8vw,112px);font-weight:300;line-height:1;color:var(--navy);font-variant-numeric:tabular-nums}
.counter .counter-label{font-size:clamp(17px,1.4vw,20px);color:var(--text);max-width:22ch}
.page-hero .wp-block-buttons{align-self:flex-start}

/* Inquiry section: pale after a white section, white after a pale one */
.block:not(.pale) + .contact{background:var(--pale)}
.addr .mail{user-select:all;font-weight:600;color:var(--navy)}
.pr2-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pr2-sent{display:grid;gap:10px}
.pr2-sent strong{font-size:22px;font-weight:500;color:var(--navy)}

/* Text pages and single news */
.legal .crumbs{margin-bottom:18px}
.legal article > *{margin:0}
.legal article ul,.legal article ol{padding-left:20px;display:grid;gap:6px}
.legal article a{color:var(--cyan)}
.legal article img{max-width:100%;height:auto}
.legal article time.crumbs{margin:0}
.news strong a{color:inherit;text-decoration:none}
.news strong a:hover{color:var(--cyan)}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px}
.pagination .page-numbers{min-width:40px;min-height:40px;display:inline-grid;place-content:center;border:1px solid var(--line);text-decoration:none;color:var(--navy);font-size:14px}
.pagination .page-numbers.current{background:var(--navy);border-color:var(--navy);color:var(--white)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* Admin bar offset for the sticky header */
.admin-bar header.site{top:32px}
@media (max-width:782px){.admin-bar header.site{top:0}}
.head p.eyebrow{font-size:12px;color:var(--cyan)}

/* Team cards (За нас) */
.team{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
.team-card{padding:0 0 28px}
.team-card > :not(.team-photo){padding-inline:28px}
.team-photo{margin:0 0 8px}
.team-photo img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;background:var(--pale)}
.team-card h3{margin-top:-4px}

/* Substack section: latest posts from the feed */
.substack-posts{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.post-card{padding:0 0 28px}
.post-card > :not(.post-media){padding-inline:28px}
.post-media{margin:0 0 8px;overflow:hidden;background:var(--pale)}
.post-media img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;transition:transform .4s}
.post-card:hover .post-media img{transform:scale(1.03)}
.post-card h3{font-size:20px;line-height:1.35}
.post-card .link-p{padding-inline:28px}
.substack .wp-block-buttons{gap:16px 28px}

/* Banner to „За нас“ on the home page: the design's a.meet-in becomes a group with a stretched "go" link */
.meet{background:var(--navy);color:#D5DCE4}
.meet .meet-in{position:relative;max-width:var(--wrap);margin:0 auto;padding:clamp(36px,4vw,56px) max(var(--gut),env(safe-area-inset-left,0px));display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(24px,4vw,56px);align-items:center}
.meet .ph{position:relative;width:clamp(112px,10vw,150px);aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 0 0 6px var(--navy),0 0 0 7px #7FD1CC}
.meet .ph img{width:100%;height:100%;object-fit:cover;object-position:50% 8%;display:block;transform:scale(1.6);transform-origin:50% 14%}
.meet .txt{display:grid;gap:8px;min-width:0}
.meet .eyebrow{color:#7FD1CC}
.meet .meet-name{font-size:clamp(26px,2.6vw,38px);font-weight:300;line-height:1.15;color:var(--white)}
.meet .txt p:not(.eyebrow):not(.meet-name){font-size:16px;max-width:62ch}
.meet .go a{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border:1px solid rgba(255,255,255,.55);color:var(--white);font-weight:600;font-size:15px;white-space:nowrap;text-decoration:none;transition:background .2s,color .2s}
.meet .go a::after{content:"→"}
.meet .go a::before{content:"";position:absolute;inset:0}
.meet .meet-in:hover .go a{background:var(--white);color:var(--navy)}
@media (max-width:820px){.meet .meet-in{grid-template-columns:auto minmax(0,1fr)}.meet .go{grid-column:1/-1;justify-self:start}}
@media (max-width:480px){.meet .meet-in{grid-template-columns:1fr}}

/* За нас (navy founder page) */
.about .crumbs{margin-bottom:14px}
.about strong{color:var(--white);font-weight:600}
.about .portrait img{height:100%}

/* Language switch (BG / EN): last item of the main nav */
nav.main a.lang-switch{font-size:12px;font-weight:700;letter-spacing:1.2px;padding:6px 10px;border:1px solid var(--line)}
nav.main a.lang-switch::after{display:none}
nav.main a.lang-switch:hover{border-color:var(--navy)}

/* Client pages: SVG logo from the old /images/clients/ folder */
.legal article .client-logo{margin:0 0 8px}
.legal article .client-logo img{max-width:240px;max-height:120px;width:auto;height:auto}

/* Clients (/klienti): logo grid */
.client-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:16px}
.client-grid a{display:grid;place-items:center;height:120px;padding:20px 24px;border:1px solid var(--line);background:var(--white);transition:border-color .2s,box-shadow .2s;text-decoration:none;color:var(--navy);font-weight:500;text-align:center}
.client-grid a:hover{border-color:var(--navy);box-shadow:0 24px 48px -36px rgba(13,37,61,.45)}
.client-grid img{max-width:100%;max-height:72px;width:auto;height:auto}

/* Testimonials grid: an odd last card takes the full row */
.quotes > .quote:last-child:nth-child(odd){grid-column:1/-1}

/* Articles (blog, news, events): quotes and image captions written in the editor */
.legal article .wp-block-quote{border-left:3px solid var(--cyan);padding:4px 0 4px 22px;margin-block:8px;font-size:18px;line-height:1.6;color:var(--navy)}
.legal article .wp-block-quote cite{display:block;margin-top:8px;font-size:14px;font-style:normal;color:var(--muted)}
.legal article figcaption{margin-top:8px;font-size:13px;color:var(--muted)}
