/*
Theme Name: Анастасия Родригес — маркетолог
Theme URI: https://example.com
Author: Anastasia Rodrigues Studio
Author URI: https://example.com
Description: Тема WordPress для сайта маркетолога-эксперта. Навигация в виде "корешков папок", тёплая палитра (алебастр / стальной голубой / морковный оранжевый), процедурная "хром"-графика вместо стоковых фото.
Version: 1.0.19
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ar-marketing
*/

/* ===========================================================
   Анастасия Родригес — маркетолог-эксперт
   Design system: tokens, tone, layout
   =========================================================== */

:root{
  /* Brand palette (fixed by brief) */
  --white:    #FFFFFF;
  --alabaster:#EBEBDF;
  --steel:    #A8C2E0;
  --carrot:   #EA631B;
  --ink:      #1A1A1A;
  --warmgray: #6B6B5E;

  /* derived */
  --steel-deep:#7CA3CD;
  --alabaster-deep:#DEDED0;
  --carrot-soft:#F2814A;
  --line: color-mix(in oklab, var(--ink) 12%, transparent);

  /* themable tokens */
  --bg:           var(--white);
  --bg-alt:       var(--alabaster);
  --bg-section:   var(--white);
  --fg:           var(--ink);
  --fg-soft:      var(--warmgray);
  --accent:       var(--carrot);
  --accent-ink:   #fff;
  --card-radius:  20px;
  --btn-radius:   10px;
  --tab-radius:   12px;

  /* type scale */
  --h1: clamp(40px, 5.4vw, 72px);
  --h2: clamp(30px, 3.6vw, 46px);
  --h3: clamp(22px, 2.1vw, 30px);
  --shadow-soft: 0 4px 20px rgba(26,26,20,.08);
  --shadow-lift: 0 18px 44px rgba(26,26,20,.16);

  --maxw: 1280px;
  --gutter: 24px;

  --font-head: 'Unbounded', system-ui, sans-serif;
  --font-ui:   'Manrope', system-ui, sans-serif;
  --font-body: 'Inter', system-ui, sans-serif;
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  font-family: var(--font-body);
  color: var(--fg);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

::selection{ background: var(--carrot); color:#fff; }

a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; }

h1,h2,h3{ font-family: var(--font-head); margin:0; line-height:1.02; letter-spacing:-0.02em; font-weight:700; }
h1{ font-size: var(--h1); }
h2{ font-size: var(--h2); }
h3{ font-size: var(--h3); }
p{ margin:0; }

/* Hero heading only — sized at half the normal h1 scale, per request */
.hero-title{ font-size: clamp(20px, 2.7vw, 36px); }

.wrap{ max-width: var(--maxw); margin:0 auto; padding:0 32px; width:100%; }
.eyebrow{
  font-family:var(--font-ui); font-weight:700; font-size:13px;
  letter-spacing:.14em; text-transform:uppercase; color:var(--accent);
  display:inline-flex; align-items:center; gap:8px;
}
.muted{ color:var(--fg-soft); }
.lead{ font-size:clamp(16px,1.25vw,19px); line-height:1.55; color:var(--fg-soft); }

/* ---------- Buttons ---------- */
.btn{
  font-family:var(--font-ui); font-weight:700; font-size:15px;
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 22px; border-radius:var(--btn-radius);
  transition: transform .18s cubic-bezier(.2,.8,.2,1), background .2s, box-shadow .2s, color .2s;
  white-space:nowrap; line-height:1;
}
.btn .arr{ transition: transform .25s cubic-bezier(.2,.8,.2,1); display:inline-block; }
.btn:hover{ transform: translateY(-2px); }
.btn:hover .arr{ transform: translateX(4px); }
.btn:active{ transform: translateY(0) scale(.98); }

.btn--primary{ background:var(--accent); color:var(--accent-ink); box-shadow:0 8px 22px color-mix(in oklab, var(--accent) 38%, transparent); }
.btn--primary:hover{ box-shadow:0 12px 30px color-mix(in oklab, var(--accent) 50%, transparent); }
.btn--ghost{ background:transparent; color:var(--fg); border:1.5px solid color-mix(in oklab,var(--fg) 22%, transparent); }
.btn--ghost:hover{ border-color:var(--accent); color:var(--accent); }
.btn--dark{ background:var(--ink); color:#fff; }
.btn--light{ background:#fff; color:var(--ink); box-shadow:var(--shadow-soft); }
.btn--sm{ padding:11px 16px; font-size:13.5px; border-radius:9px; }
.btn--block{ width:100%; justify-content:space-between; }

.iconbtn{
  width:46px; height:46px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  border:1.5px solid var(--line); color:var(--fg); transition:.2s;
  flex:0 0 auto;
}
.iconbtn:hover{ background:var(--accent); border-color:var(--accent); color:#fff; transform:rotate(8deg); }
/* Used on the "Обо мне" stat cards on the homepage: white circle on hover instead of orange */
.iconbtn--about:hover{ background:#fff; border-color:#fff; color:var(--ink); transform:rotate(8deg); }

/* ---------- Section rhythm ---------- */
.section{ padding:clamp(64px,8vw,118px) 0; position:relative; }
.section--alt{ background:var(--bg-alt); }
/* Used on internal pages (not the homepage) to cut the gap under the page
   header to a third of the normal section spacing. */
.section--tight{ padding-top:clamp(21px,2.7vw,39px) !important; }
.section-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:44px; flex-wrap:wrap; }
.section-head h2{ max-width:16ch; }

/* reveal on scroll */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1); }
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1 !important; transform:none !important; }
}

/* ---------- Folder-tab navigation ---------- */
.nav{
  position:sticky; top:0; z-index:60;
  background: color-mix(in oklab, var(--bg) 88%, transparent);
  backdrop-filter: blur(14px) saturate(1.2);
  border-bottom:1px solid var(--line);
}
.nav-inner{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding-top:14px; }
.tabs{ display:flex; align-items:flex-end; gap:6px; }
.tab{
  position:relative; font-family:var(--font-ui); font-weight:700;
  font-size:13.5px; letter-spacing:.02em;
  padding:13px 20px 14px; color:var(--fg);
  border-radius:var(--tab-radius) var(--tab-radius) 0 0;
  background:#c2daf2;
  border:1px solid var(--line); border-bottom:none;
  transform:translateY(6px);
  transition: transform .22s cubic-bezier(.2,.8,.2,1), background .22s, color .22s, padding .22s;
  white-space:nowrap;
  display:inline-block;
}
.tab:hover{ transform:translateY(2px); }
.tab.active{
  background:var(--bg); color:var(--fg);
  transform:translateY(1px); padding-top:16px; padding-bottom:17px;
  font-size:14px; z-index:2;
  box-shadow:0 -3px 12px rgba(26,26,20,.06);
}
.tab.active::after{
  content:""; position:absolute; left:14px; right:14px; bottom:8px; height:3px;
  background:var(--accent); border-radius:3px;
}
.nav-cta{ display:flex; align-items:flex-end; gap:12px; padding-bottom:0; }
.nav-apply{ padding:15px 30px 17px; position:relative; overflow:hidden;
  border-radius:var(--tab-radius) var(--tab-radius) 0 0; transform:translateY(1px);
  box-shadow:0 -3px 14px color-mix(in oklab, var(--accent) 30%, transparent); }
.nav-apply:hover{ transform:translateY(-2px); }
.nav-apply::before{
  content:""; position:absolute; top:0; left:-120%; width:60%; height:100%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.45), transparent);
  transform:skewX(-18deg); animation: navShine 3.4s ease-in-out infinite;
}
@keyframes navShine{ 0%,100%{ left:-120%; } 55%,70%{ left:160%; } }
.nav-apply .arr{ position:relative; }
@media (prefers-reduced-motion: reduce){ .nav-apply::before{ animation:none; display:none; } }

@media (max-width: 880px){
  .tabs{ overflow-x:auto; padding-bottom:0; scrollbar-width:none; }
  .tabs::-webkit-scrollbar{ display:none; }
}
@media (max-width: 1080px){
  .nav-apply{ padding:15px 22px 17px; }
}

/* ---------- Logo ---------- */
.logo{ display:inline-flex; align-items:center; gap:11px; }
.logo-mark{ width:38px; height:38px; flex:0 0 auto; }
.logo-name{ font-family:var(--font-head); font-weight:700; font-size:15px; letter-spacing:-0.01em; line-height:1; }
.logo-name small{ display:block; font-family:var(--font-ui); font-weight:600; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--fg-soft); margin-top:3px; }

/* ---------- Cards ---------- */
.card{
  background:var(--bg); border-radius:var(--card-radius);
  border:1px solid var(--line); box-shadow:var(--shadow-soft);
  transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s;
}
.card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-lift); }

/* chrome / liquid-metal procedural art */
.chrome{
  position:relative; overflow:hidden; isolation:isolate;
  background:
    radial-gradient(120% 90% at 18% 12%, #fff 0%, rgba(255,255,255,0) 42%),
    radial-gradient(90% 120% at 82% 88%, #f4f4f4 0%, rgba(244,244,244,0) 48%),
    conic-gradient(from 210deg at 50% 50%,
      #d7d7da 0deg, #f3f3f4 38deg, #a9adb4 88deg, #ffffff 140deg,
      #babfc6 196deg, #e9eaec 250deg, #8f949c 300deg, #d7d7da 360deg);
}
.chrome::before{
  content:""; position:absolute; inset:-30%;
  background:
    radial-gradient(40% 32% at 30% 28%, rgba(255,255,255,.95), transparent 60%),
    radial-gradient(46% 40% at 72% 70%, rgba(60,64,72,.55), transparent 62%),
    radial-gradient(30% 50% at 50% 50%, rgba(168,194,224,.45), transparent 65%);
  mix-blend-mode:overlay; filter:blur(2px);
  animation: chromeflow 14s ease-in-out infinite alternate;
}
.chrome.tint-carrot::after{
  content:""; position:absolute; inset:0;
  background:radial-gradient(70% 80% at 60% 40%, color-mix(in oklab,var(--carrot) 60%, transparent), transparent 70%);
  mix-blend-mode:multiply; opacity:.85;
}
.chrome.tint-steel::after{
  content:""; position:absolute; inset:0;
  background:radial-gradient(70% 80% at 40% 60%, color-mix(in oklab,var(--steel) 75%, transparent), transparent 72%);
  mix-blend-mode:multiply; opacity:.9;
}
@keyframes chromeflow{
  0%{ transform:translate(-4%,-3%) rotate(0deg) scale(1.05); }
  100%{ transform:translate(5%,4%) rotate(8deg) scale(1.15); }
}
@media (prefers-reduced-motion: reduce){ .chrome::before{ animation:none; } }

/* ---------- Marquee ---------- */
.marquee{ overflow:hidden; white-space:nowrap; -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.marquee-band{ width:100%; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--bg-alt); padding:15px 0; }
.marquee-track{ display:inline-flex; gap:0; will-change:transform; animation: marq 32s linear infinite; }
.marquee:hover .marquee-track{ animation-play-state:paused; }
.marquee-item{ font-family:var(--font-ui); font-weight:600; color:var(--fg-soft); font-size:15px; padding:0 22px; display:inline-flex; align-items:center; gap:22px; }
.marquee-item::after{ content:"·"; color:var(--accent); }
@keyframes marq{ to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion: reduce){ .marquee-track{ animation:none; } }

/* ---------- Avatars (social proof) ---------- */
.avatars{ display:flex; align-items:center; }
.avatars .av{ width:38px; height:38px; border-radius:50%; border:2.5px solid var(--bg); margin-left:-12px; background-size:cover; box-shadow:var(--shadow-soft); }
.avatars .av:first-child{ margin-left:0; }

/* ---------- Tag / badge ---------- */
.tag{ font-family:var(--font-ui); font-weight:700; font-size:11.5px; letter-spacing:.04em; padding:6px 11px; border-radius:999px; background:color-mix(in oklab,var(--alabaster) 85%, transparent); color:var(--fg); border:1px solid var(--line); }
.badge{ font-family:var(--font-ui); font-weight:700; font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; padding:6px 12px; border-radius:999px; background:var(--accent); color:#fff; }

/* ---------- Page transition ---------- */
.page{ animation: pageIn .5s cubic-bezier(.2,.8,.2,1); }
@keyframes pageIn{ from{ opacity:0; transform:translateY(14px);} to{opacity:1; transform:none;} }

/* ---------- Footer ---------- */
.footer{ background:var(--ink); color:#e8e8e0; padding:72px 0 34px; }
.footer a:hover{ color:var(--carrot); }
.footer-chip{ border:1px solid rgba(255,255,255,.2); border-radius:999px; padding:8px 15px; font-family:var(--font-ui); font-weight:600; font-size:13px; transition:.2s; display:inline-block; }
.footer-chip:hover{ background:var(--carrot); border-color:var(--carrot); color:#fff; }
.footer-links a, .footer-links button{ text-align:left; color:#e8e8e0; font-family:var(--font-ui); font-weight:600; font-size:15px; display:block; padding:2px 0; }

/* ---------- Forms ---------- */
.field{ display:flex; flex-direction:column; gap:7px; }
.field label{ font-family:var(--font-ui); font-weight:700; font-size:13px; }
.field input, .field textarea{
  font-family:var(--font-body); font-size:15px; color:var(--fg);
  padding:14px 16px; border-radius:12px; border:1.5px solid var(--line);
  background:var(--bg); outline:none; transition:.2s; width:100%; resize:vertical;
}
.field input:focus, .field textarea:focus{ border-color:var(--accent); box-shadow:0 0 0 4px color-mix(in oklab,var(--accent) 16%, transparent); }
.field.err input, .field.err textarea{ border-color:#d33; box-shadow:0 0 0 4px rgba(211,51,51,.12); }
.field .msg{ font-family:var(--font-ui); font-size:12.5px; color:#d33; min-height:14px; }

/* small helpers */
.row{ display:flex; gap:14px; flex-wrap:wrap; }
.col{ display:flex; flex-direction:column; }
.grid{ display:grid; gap:24px; }
.hidden{ display:none !important; }
.grid-3{ grid-template-columns:repeat(3,1fr); }
.grid-4{ grid-template-columns:repeat(4,1fr); }
.grid-2{ grid-template-columns:repeat(2,1fr); }

/* "Waterfall" layout: cards keep their own natural height and the next
   card starts right under the shorter neighbour, instead of every card
   in a row being stretched to match the tallest one (as CSS Grid does). */
.masonry-2{ column-count:2; column-gap:24px; }
.masonry-2 > .card{ break-inside:avoid; -webkit-column-break-inside:avoid; margin-bottom:24px; width:100%; }
@media (max-width:760px){ .masonry-2{ column-count:1; } }

/* ---------- Responsive collapse ---------- */
@media (max-width:980px){
  .grid-4{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px){
  .wrap{ padding:0 20px; }
  .section-head{ margin-bottom:30px; }
  .grid-2, .grid-3, .grid-4{ grid-template-columns:1fr; }
}

/* =========================================================
   Animated laptop / dashboard visual (pure CSS, no video)
   ========================================================= */
.lapstage{ position:relative; width:100%; height:100%; display:flex; align-items:center; justify-content:center; perspective:1100px; }
.lap-aura{ position:absolute; width:78%; height:64%; border-radius:50%;
  background:radial-gradient(closest-side, color-mix(in oklab,var(--steel) 55%, transparent), transparent 72%);
  filter:blur(34px); animation:auraPulse 6s ease-in-out infinite; }
@keyframes auraPulse{ 0%,100%{opacity:.6;transform:scale(.96)} 50%{opacity:.95;transform:scale(1.05)} }

.lap-chips{ position:absolute; inset:0; pointer-events:none; z-index:5; }
.laptop{ position:relative; width:min(78%,400px); transform-style:preserve-3d; z-index:1; }
.chip{ position:absolute; font-family:var(--font-ui); font-weight:700; font-size:13px; padding:7px 13px;
  border-radius:999px; background:#fff; color:var(--ink); box-shadow:var(--shadow-lift);
  border:1px solid var(--line); opacity:0; white-space:nowrap; }
.chip.c2,.chip.c4,.chip.c6,.chip.c8{ background:var(--carrot); color:#fff; border-color:transparent; }
.chip.c1{ left:4%;  top:12%; animation:chipWave 8s ease-in-out infinite .1s; }
.chip.c2{ right:6%; top:8%;  animation:chipWave 8s ease-in-out infinite .4s; }
.chip.c3{ left:2%;  top:38%; animation:chipWave 8s ease-in-out infinite .7s; }
.chip.c4{ right:2%; top:34%; animation:chipWave 8s ease-in-out infinite 1s; }
.chip.c5{ left:6%;  top:64%; animation:chipWave 8s ease-in-out infinite 1.3s; }
.chip.c6{ right:8%; top:62%; animation:chipWave 8s ease-in-out infinite 1.6s; }
.chip.c7{ left:16%; top:86%; animation:chipWave 8s ease-in-out infinite 1.9s; }
.chip.c8{ right:18%;top:88%; animation:chipWave 8s ease-in-out infinite 2.2s; }
.lid{ transform-origin:50% 100%; transform:rotateX(-12deg);
  animation:lidCycle 7s cubic-bezier(.6,0,.3,1) infinite; }
@keyframes lidCycle{
  0%   { transform:rotateX(-86deg); }
  16%  { transform:rotateX(-12deg); }
  82%  { transform:rotateX(-12deg); }
  100% { transform:rotateX(-86deg); }
}
.screen{ background:#101012; border-radius:14px 14px 6px 6px; padding:9px; aspect-ratio:16/10.4;
  border:2px solid #2a2a2e; box-shadow:0 20px 50px rgba(20,20,24,.4), inset 0 0 0 1px rgba(255,255,255,.04); overflow:hidden; }
.scr-top{ display:flex; align-items:center; gap:5px; padding:2px 4px 7px; }
.scr-top .dot{ width:7px;height:7px;border-radius:50%;background:#3a3a40; display:inline-block; }
.scr-title{ font-family:var(--font-ui); color:#fff; font-size:10px; font-weight:700; margin-left:6px; letter-spacing:.05em; text-transform:uppercase; }
.scr-body{ background:#101012; border-radius:7px; padding:6px; height:calc(100% - 22px);
  display:flex; flex-direction:column; opacity:0; animation:scrFade 8s linear infinite; }
@keyframes scrFade{ 0%,10%{opacity:0} 20%,86%{opacity:1} 94%,100%{opacity:0} }

.growth-stage{ flex:1; display:flex; align-items:center; justify-content:center; }
.growth-svg{ width:100%; height:100%; }
.growth-svg .rival{ fill:#4a4a52; animation:rivalShrink 8s ease-in-out infinite; transform-origin:center; transform-box:fill-box; }
.growth-svg .r1{ animation-delay:0s; }
.growth-svg .r2{ animation-delay:.15s; }
.growth-svg .r3{ animation-delay:.3s; }
.growth-svg .r4{ animation-delay:.45s; }
@keyframes rivalShrink{
  0%,20%{ opacity:.85; transform:scale(1); }
  55%,80%{ opacity:.25; transform:scale(.4); }
  95%,100%{ opacity:.85; transform:scale(1); }
}
.growth-svg .brand{ fill:var(--carrot); transform-origin:center; transform-box:fill-box;
  animation:brandGrow 8s cubic-bezier(.3,.7,.3,1) infinite; }
@keyframes brandGrow{
  0%,15%{ r:8; opacity:.55; filter:brightness(.8); }
  55%{ r:46; opacity:1; filter:brightness(1.1); }
  80%,100%{ r:46; opacity:1; filter:brightness(1.1); }
}

.base{ height:13px; margin-top:-3px; border-radius:0 0 13px 13px;
  background:linear-gradient(180deg,#e3e3e6,#b9b9bf 60%,#9a9aa0);
  box-shadow:0 12px 26px rgba(20,20,24,.28); position:relative; transform:rotateX(72deg); transform-origin:top; }
.hinge{ position:absolute; top:2px; left:50%; transform:translateX(-50%); width:34%; height:3px; border-radius:3px; background:#86868c; }

@keyframes chipWave{
  0%,20%{ opacity:0; transform:translateY(26px) scale(.85); }
  34%   { opacity:1; transform:translateY(0) scale(1); }
  72%   { opacity:1; transform:translateY(-6px) scale(1); }
  84%,100%{ opacity:0; transform:translateY(-26px) scale(.9); }
}
@media (prefers-reduced-motion: reduce){
  .lid{ animation:none; transform:rotateX(-12deg); }
  .scr-body{ animation:none; opacity:1; }
  .growth-svg .brand{ animation:none; r:40; }
  .growth-svg .rival{ animation:none; opacity:.4; }
  .chip{ animation:none; opacity:1; transform:none; }
  .lap-aura{ animation:none; }
}

/* ---------- Hero video ---------- */
.hero-video{ width:100%; height:100%; object-fit:cover; display:block; }

/* ---------- Bento (kept for reference, home hero uses split layout) ---------- */
.bento{ display:grid; grid-template-columns:1.5fr 1fr 1fr; grid-template-rows:auto auto;
  grid-template-areas:"hero video video" "stat sub cta"; gap:18px; }
.bento-hero{ grid-area:hero; background:var(--bg-alt); border-radius:var(--card-radius); padding:34px; min-height:300px; }
.bento-video{ grid-area:video; min-height:280px; }
.bento-stat{ grid-area:stat; border-radius:var(--card-radius); padding:26px; display:flex; flex-direction:column; justify-content:space-between; gap:10px; min-height:150px; }
.bento-sub{ grid-area:sub; padding:24px; }
.bento-cta{ grid-area:cta; background:var(--accent); color:#fff; border-radius:var(--card-radius); padding:26px;
  display:flex; align-items:flex-end; justify-content:space-between; gap:12px; text-align:left;
  font-family:var(--font-head); font-weight:700; font-size:22px; line-height:1.05; transition:transform .25s; }
.bento-cta:hover{ transform:translateY(-4px); }
@media (max-width:1000px){
  .bento{ grid-template-columns:1fr 1fr; grid-template-areas:"hero hero" "video video" "stat sub" "cta cta"; }
}

/* Case listing: image above content, no text overlay */
.case-list-card{padding:0;overflow:hidden;display:flex;flex-direction:column;min-width:0;height:100%;}
.case-list-card__media{aspect-ratio:3/2;height:auto;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f3f1ee;flex-shrink:0;}
.case-list-card__media img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;}
.case-list-card__arrow{position:absolute;right:16px;top:16px;background:#fff;border-color:transparent;z-index:2;}
.case-list-card__body{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:22px 20px 24px;flex:1;background:#fff;color:var(--ink);}
.case-list-card__tags{gap:6px;}
.case-list-card__body h3{font-size:clamp(17px,1.45vw,22px);line-height:1.2;overflow-wrap:normal;color:var(--ink);}
.case-list-card__body p{font-size:14px;line-height:1.55;color:var(--fg-soft);overflow-wrap:normal;}
@media(max-width:760px){.case-list-card__media{aspect-ratio:3/2;height:auto;}}

/* Same case-card layout on homepage and archive; no image overlay. */
.case-list-card__media img{object-fit:contain;}

/* Case detail pages — compact classic split layout (all ar_case posts). */
.case-single-top{padding:clamp(28px,4vw,58px) 0 44px}
.case-single-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:28px;font-size:12px;color:var(--muted, #777)}
.case-single-breadcrumb a{color:inherit;text-decoration:none}
.case-single-breadcrumb a:hover{color:var(--accent)}
.case-single-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(24px,3vw,52px);align-items:center}
.case-single-media{overflow:hidden;border-radius:20px;background:#f5f3f0;aspect-ratio:3/2;display:flex;align-items:center;justify-content:center}
.case-single-cover{width:100%;height:100%;object-fit:contain;display:block}
.case-single-summary{min-width:0}
.case-single-tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}
.case-single-summary h1{font-size:clamp(27px,2.6vw,43px);line-height:1.12;letter-spacing:-.025em;max-width:23ch;overflow-wrap:normal}
.case-single-intro{font-size:clamp(15px,1.2vw,18px);line-height:1.65;color:var(--muted,#666);margin:20px 0 24px;max-width:56ch}
.case-single-metric{margin:0 0 22px}
.case-single-metric span{display:inline-flex;padding:9px 15px;border-radius:10px;background:color-mix(in srgb,var(--accent) 11%,white);color:var(--accent);font-weight:750}
.case-single-body{padding:24px 0 clamp(65px,7vw,105px)}
.case-single-content{max-width:850px;line-height:1.75;font-size:16px}
.case-single-content > :first-child{margin-top:0}
.case-single-content img{max-width:100%;height:auto}
.case-single-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:42px}
@media(max-width:800px){.case-single-top{padding:26px 0 30px}.case-single-hero{grid-template-columns:1fr;gap:24px}.case-single-summary h1{font-size:clamp(26px,6vw,38px);max-width:none}.case-single-media{max-width:650px}.case-single-breadcrumb{margin-bottom:20px}}

/* Hide auto-injected related content beneath individual case studies. */
.single-ar_case #jp-relatedposts,
.single-ar_case .jp-relatedposts,
.single-ar_case .wp-block-jetpack-related-posts { display:none !important; }

/* AR Bureau legal documents and consent controls */
.ar-form-consents{display:flex;flex-direction:column;gap:12px}
.ar-consent-choice{display:flex;align-items:flex-start;gap:11px;font-size:13px;line-height:1.55;cursor:pointer}
.ar-consent-choice input{flex:0 0 18px;width:18px;height:18px;margin:2px 0 0;accent-color:var(--accent,#f47735);cursor:pointer}
.ar-consent-choice a{color:var(--accent,#e75f27);text-decoration:underline;text-underline-offset:2px}
.ar-consent-choice a:focus-visible,.ar-consent-choice input:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.ar-form-error{color:#b3261e;font-size:13px;margin:0}
.ar-legal-doc{max-width:760px;margin:0 auto;font-size:16px;line-height:1.75;overflow-wrap:normal}
.ar-legal-doc h1{font-size:clamp(25px,3vw,38px);line-height:1.2;margin:0 0 26px}
.ar-legal-doc h2{font-size:clamp(19px,2vw,24px);margin:30px 0 12px}
.ar-legal-doc p,.ar-legal-doc ul,.ar-legal-doc ol{margin:0 0 18px}
.ar-legal-doc a{text-decoration:underline;color:var(--accent,#e75f27)}
@media(max-width:600px){.ar-legal-doc{font-size:15px}.ar-consent-choice{font-size:12.5px}}

/* Legal documents footer and responsive pages */
.ar-footer-legal a{color:rgba(255,255,255,.62);font-size:13px;font-family:var(--font-ui);text-decoration:underline;text-underline-offset:3px}
.ar-footer-legal a:hover{color:#fff}
.ar-legal-doc{max-width:850px;margin:0 auto;overflow-wrap:normal;line-height:1.7}
.ar-legal-doc h1,.ar-legal-doc h2,.ar-legal-doc h3{line-height:1.2;margin:1.4em 0 .6em}
.ar-legal-doc p,.ar-legal-doc li{margin-bottom:12px}
@media(max-width:680px){.ar-legal-doc{font-size:15px}.ar-footer-legal{width:100%}}

/* Vertical portrait on About page; retain existing grid and styling. */
.ar-about-portrait img { object-position: center top; }

/* AR Bureau identity — supplied original artwork, without altering navigation */
.ar-header-brand{display:flex;align-items:center;padding-bottom:5px;flex:0 1 260px;min-width:155px}
.ar-brand-full{display:block;width:100%;line-height:0}
.ar-brand-full img{display:block;width:100%;height:auto;max-height:78px;object-fit:contain;object-position:left center}
.ar-footer-monogram{display:inline-flex;align-items:center;justify-content:center;width:112px;height:74px;background:transparent;border-radius:0;overflow:visible;flex:0 0 auto}
.ar-footer-monogram img{width:106px;height:65px;object-fit:contain;display:block}
@media(max-width:1100px){.ar-header-brand{flex-basis:205px;min-width:155px}.nav-inner{gap:12px}}
@media(max-width:760px){.ar-header-brand{flex-basis:180px;min-width:145px}.ar-brand-full img{max-height:64px}}

/* v1.0.11: header logo sizing and cache-busted asset */
@media(min-width:1200px){.nav-inner{gap:14px}.ar-header-brand{flex:0 0 340px;min-width:340px}.ar-brand-full img{max-height:90px}}
@media(min-width:761px) and (max-width:1199px){.ar-header-brand{flex:0 0 245px;min-width:190px}}

/* Footer social links: readable label on orange hover/focus */
.footer .footer-chip:hover, .footer .footer-chip:focus-visible { color: #fff !important; background-color: var(--carrot); border-color: var(--carrot); }

/* ============================================================
   v1.0.17 — blog typography and responsive article formatting.
   Dedicated classes and real minmax grid tracks replace earlier
   conflicting text overflow/clamping overrides.
   ============================================================ */
.ar-blog-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
}
.ar-blog-grid > *,
.ar-blog-card,
.ar-blog-card__body,
.ar-blog-card__copy { min-width:0; max-width:100%; }
.ar-blog-card { width:100%; overflow:hidden; }
.ar-blog-card__body { width:100%; }
.ar-blog-card__copy { width:100%; overflow:hidden; }
.ar-blog-card__title,
.ar-blog-card__excerpt,
.ar-blog-other-title {
  display:block;
  width:100%; max-width:100%; min-width:0;
  margin:0;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  -webkit-hyphens:none !important;
  text-wrap:wrap;
}
.ar-blog-card__title {
  font-size:20px; line-height:1.22;
  /* Three lines; CSS truncation does not insert word breaks. */
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
  overflow:hidden;
}
.ar-blog-card__excerpt {
  margin-top:10px;
  font-size:14.5px;
  line-height:1.55;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
  overflow:hidden;
}
.ar-blog-other-title { font-size:18px; line-height:1.25; }

/* Single post: explicit, constrained, readable text column. */
.ar-article-header,
.ar-article-content,
.ar-article-content > * { min-width:0; max-width:100%; }
.ar-article-title {
  max-width:100%;
  font-size:clamp(30px,4.1vw,61px);
  line-height:1.13;
  letter-spacing:-.025em;
  margin:16px 0 0;
  text-wrap:wrap;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}
.ar-article-media { width:100%; max-width:100%; }
.ar-article-media img { display:block; width:100%; height:100%; object-fit:cover; }
.ar-article-content {
  width:100%; max-width:790px;
  margin:0 auto;
  font-size:clamp(16px,1.15vw,18px);
  line-height:1.8;
  color:var(--fg);
}
/* Wordpress rich text sometimes contains inline white-space:nowrap or
   non-breaking typography pasted from external editors. Allow normal
   paragraph/title wrapping regardless of those inline styles. */
.ar-article-content :is(div,p,h1,h2,h3,h4,h5,h6,li,span,strong,em,b,i,blockquote,a) {
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  max-width:100%;
}
.ar-article-content :is(p,.wp-block-paragraph) { margin:0 0 1.25em; }
.ar-article-content :is(h2,.wp-block-heading) {
  font-family:var(--font-head);
  line-height:1.22;
  letter-spacing:-.025em;
  margin:1.65em 0 .55em;
}
.ar-article-content h2 {font-size:clamp(25px,2.7vw,36px);}
.ar-article-content h3 {font-size:clamp(21px,2.1vw,27px);margin:1.45em 0 .55em;}
.ar-article-content h4 {font-size:clamp(18px,1.6vw,22px);margin:1.35em 0 .5em;}
.ar-article-content > :first-child {margin-top:0;}
.ar-article-content ul,.ar-article-content ol { padding-left:1.45em; margin:0 0 1.4em; }
.ar-article-content li {margin-bottom:.5em;}
.ar-article-content li > ul,.ar-article-content li > ol {margin-top:.6em;margin-bottom:.7em;}
.ar-article-content a { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.ar-article-content a:hover {text-decoration-thickness:2px;}
.ar-article-content blockquote,
.ar-article-content .wp-block-quote { margin:1.7em 0; padding:16px 22px; border-left:3px solid var(--accent); background:var(--bg-alt); border-radius:0 10px 10px 0; }
.ar-article-content img,.ar-article-content video,.ar-article-content iframe {max-width:100%;height:auto;}
.ar-article-content figure {max-width:100%;margin:1.6em 0;}
.ar-article-content figure img {border-radius:12px;}
.ar-article-content figcaption {font-size:13px;color:var(--fg-soft);margin-top:8px;line-height:1.5;}
.ar-article-content .wp-block-columns {display:flex;flex-wrap:wrap;gap:20px;}
.ar-article-content .wp-block-column {flex:1 1 230px;min-width:0;}
.ar-article-content .wp-block-table {max-width:100%;overflow-x:auto;}
.ar-article-content table {width:100%;border-collapse:collapse;}
.ar-article-content th,.ar-article-content td {padding:10px 12px;border:1px solid var(--line);text-align:left;}
.ar-article-content :is(pre,code) {white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;}
.ar-article-content pre {max-width:100%;overflow-x:auto;padding:16px;background:var(--bg-alt);border-radius:10px;}
.ar-article-content :is(a[href^="http"], .wp-block-code) {overflow-wrap:anywhere;}
@media(max-width:980px) {
  .ar-blog-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px) {
  .ar-blog-grid {grid-template-columns:minmax(0,1fr);}
  .ar-blog-card__title {font-size:clamp(18px,4.5vw,22px);}
  .ar-article-title {font-size:clamp(28px,7vw,42px);line-height:1.2;}
  .ar-article-content {font-size:16px;line-height:1.7;}
  .ar-article-media {aspect-ratio:16/10 !important;}
  .ar-article-content h2 {font-size:clamp(23px,5.5vw,30px);}
}
@media(max-width:380px) {
  .ar-blog-card__title {font-size:18px;}
  .ar-article-content ul,.ar-article-content ol {padding-left:1.15em;}
}

/* A manually inserted Jetpack share block should also not show on blog posts.
 * Scope this fallback to single blog articles, not the rest of the site. */
body.single-post .sharedaddy,
body.single-post .sd-sharing-enabled,
body.single-post .wp-block-jetpack-sharing-buttons,
body.single-post .wp-block-jetpack-sharing-button,
body.single-post .jetpack-sharing-buttons,
body.single-post .jetpack-sharing-buttons__list {
  display: none !important;
}


/* Blog articles: do not show automatically injected Related / "Связанные" posts.
 * Kept scoped to articles; Jetpack related posts remain disabled for case studies. */
body.single-post #jp-relatedposts,
body.single-post .jp-relatedposts,
body.single-post .jetpack-related-posts,
body.single-post .wp-block-jetpack-related-posts,
body.single-post .wp-block-jetpack-related-posts__list,
body.single-post .related-posts {
  display: none !important;
}
