/* ============================================================
   AJIRA — Production site stylesheet (multi-page)
   Builds on brand.css tokens. Loaded after brand.css.
   ============================================================ */

:root{ --accent:var(--clay-500); --accent-600:var(--clay-600); --accent-100:var(--clay-100); --accent-700:var(--clay-700); }

body{ overflow-x:hidden; }
.section{ padding:88px 0; }
@media(max-width:860px){ .section{ padding:60px 0; } }

a{ text-decoration:none; }

/* ---------- Skip link (a11y) ---------- */
.skip{ position:absolute; left:-9999px; top:0; background:var(--violet-700); color:#fff; padding:12px 18px; border-radius:0 0 10px 0; z-index:200; font-family:var(--body); font-weight:600; }
.skip:focus{ left:0; }

/* ---------- Buttons ---------- */
.btn{ display:inline-flex; align-items:center; gap:9px; font-family:var(--body); font-weight:600; font-size:15.5px; line-height:1; padding:15px 22px; border-radius:999px; border:1px solid transparent; cursor:pointer; text-decoration:none; transition:transform .14s ease, background .18s, box-shadow .18s, border-color .18s; white-space:nowrap; }
.btn:active{ transform:translateY(1px); }
.btn-primary{ background:var(--violet-600); color:#fff; box-shadow:var(--shadow-sm); }
.btn-primary:hover{ background:var(--violet-700); }
.btn-ghost{ background:transparent; color:var(--ink-900); border-color:var(--bone-400); }
.btn-ghost:hover{ border-color:var(--ink-900); }
.btn-wa{ background:var(--sage-600); color:#fff; }
.btn-wa:hover{ background:var(--sage-700); }
.btn-sm{ padding:11px 18px; font-size:14px; }
.btn .dot{ width:7px; height:7px; border-radius:50%; background:currentColor; opacity:.9; }
.btn-row{ display:flex; gap:12px; flex-wrap:wrap; }

/* ---------- Header / nav ---------- */
.site-header{ position:sticky; top:0; z-index:80; background:color-mix(in srgb, var(--bone-100) 88%, transparent); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.site-header .bar{ max-width:var(--maxw); margin:0 auto; padding:14px 48px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand-lock{ display:flex; align-items:center; gap:13px; }
.brand-lock .ajira-h{ color:var(--violet-600); }
.brand-lock .tagline{ font-family:var(--mono); font-size:10px; line-height:1.25; letter-spacing:.16em; color:var(--ink-400); border-left:1px solid var(--line); padding-left:12px; text-transform:uppercase; }
.primary-nav{ display:flex; align-items:center; gap:6px; }
.primary-nav > a, .navitem > button{ font-family:var(--body); font-weight:500; font-size:15px; color:var(--ink-700); background:none; border:none; cursor:pointer; padding:10px 14px; border-radius:10px; display:inline-flex; align-items:center; gap:6px; transition:color .15s, background .15s; }
.primary-nav > a:hover, .navitem > button:hover, .navitem[aria-expanded="true"] > button{ color:var(--violet-700); background:var(--bone-200); }
.primary-nav > a[aria-current="page"]{ color:var(--violet-700); }
.navitem{ position:relative; }
.navitem .caret{ width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .18s; }
.navitem[aria-expanded="true"] .caret{ transform:rotate(-135deg) translateY(-1px); }
.dropdown{ position:absolute; top:calc(100% + 8px); left:0; min-width:280px; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow-md); padding:10px; opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .16s, transform .16s, visibility .16s; }
.navitem[aria-expanded="true"] .dropdown{ opacity:1; visibility:visible; transform:translateY(0); }
.dropdown a{ display:block; padding:11px 14px; border-radius:10px; color:var(--ink-700); font-size:14.5px; transition:background .14s, color .14s; }
.dropdown a:hover{ background:var(--bone-200); color:var(--violet-700); }
.dropdown a b{ font-family:var(--body); font-weight:600; display:block; font-size:14.5px; color:var(--ink-900); }
.dropdown a span{ font-size:12.5px; color:var(--ink-400); }
.dropdown a:hover b{ color:var(--violet-700); }
.dropdown .all{ margin-top:6px; border-top:1px solid var(--line); padding-top:12px; font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--clay-600); }
.nav-cta{ display:inline-flex; align-items:center; gap:8px; background:var(--violet-600); color:#fff; padding:11px 18px; border-radius:999px; font-family:var(--body); font-weight:600; font-size:14.5px; transition:background .18s; white-space:nowrap; }
.nav-cta:hover{ background:var(--violet-700); }
.nav-tools{ display:flex; align-items:center; gap:14px; }
.nav-toggle{ display:none; width:42px; height:42px; border:1px solid var(--line); background:var(--surface); border-radius:11px; cursor:pointer; align-items:center; justify-content:center; flex-direction:column; gap:4px; }
.nav-toggle span{ width:18px; height:2px; background:var(--ink-900); border-radius:2px; transition:transform .2s, opacity .2s; }
body.nav-open .nav-toggle span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
body.nav-open .nav-toggle span:nth-child(2){ opacity:0; }
body.nav-open .nav-toggle span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }

@media(max-width:980px){
  .site-header .bar{ padding:12px 24px; }
  .nav-toggle{ display:flex; }
  .nav-tools .nav-cta{ display:none; }
  .primary-nav{ position:fixed; inset:64px 0 0 0; flex-direction:column; align-items:stretch; gap:2px; background:var(--bg); padding:22px 24px; overflow-y:auto; transform:translateX(100%); transition:transform .26s ease; z-index:70; }
  body.nav-open .primary-nav{ transform:translateX(0); }
  .primary-nav > a, .navitem > button{ font-size:18px; padding:14px 8px; width:100%; justify-content:space-between; border-radius:10px; }
  .navitem{ border-bottom:1px solid var(--line); }
  .dropdown{ position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:none; background:transparent; padding:0 0 12px 8px; min-width:0; max-height:0; overflow:hidden; transition:max-height .24s ease; }
  .navitem[aria-expanded="true"] .dropdown{ max-height:760px; }
  .primary-nav .nav-cta{ display:inline-flex; margin-top:16px; justify-content:center; font-size:16px; padding:15px; }
}

/* ---------- Breadcrumbs ---------- */
.crumbs{ padding:20px 0 0; }
.crumbs ol{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-family:var(--mono); font-size:12px; letter-spacing:.04em; color:var(--ink-400); }
.crumbs a{ color:var(--ink-500); }
.crumbs a:hover{ color:var(--violet-600); }
.crumbs li::after{ content:"/"; margin-left:8px; color:var(--bone-400); }
.crumbs li:last-child::after{ content:""; }
.crumbs li[aria-current]{ color:var(--ink-700); }

/* ---------- Page hero (interior) ---------- */
.page-hero{ padding:30px 0 56px; }
.page-hero .eyebrow{ margin-bottom:18px; }
.page-hero h1{ font-size:clamp(38px,5.4vw,68px); font-weight:800; letter-spacing:-.04em; line-height:.98; max-width:18ch; }
.page-hero .lead{ margin-top:22px; }
.page-hero .btn-row{ margin-top:30px; }

/* ---------- Quick answer box (AEO) ---------- */
.quick-answer{ background:var(--surface); border:1px solid var(--line); border-left:4px solid var(--accent); border-radius:var(--r-md); padding:24px 28px; margin:8px 0 0; box-shadow:var(--shadow-sm); }
.quick-answer .qa-label{ font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--accent-600); margin-bottom:10px; }
.quick-answer p{ font-size:18px; line-height:1.55; color:var(--ink-900); margin:0; max-width:68ch; }

/* ---------- Home hero ---------- */
.home-hero{ padding:60px 0 72px; }
.home-hero .grid{ display:grid; grid-template-columns:1.12fr .88fr; gap:60px; align-items:center; }
.home-hero h1{ font-size:clamp(46px,6.2vw,84px); font-weight:800; letter-spacing:-.045em; line-height:.95; }
.home-hero h1 em{ font-style:normal; color:var(--violet-600); }
.home-hero .lead{ margin-top:24px; }
.home-hero .btn-row{ margin-top:32px; }
.hero-meta{ display:flex; gap:26px; flex-wrap:wrap; margin-top:30px; font-family:var(--mono); font-size:12px; letter-spacing:.04em; color:var(--ink-500); }
.hero-meta b{ color:var(--ink-900); font-weight:700; }
.hero-photo{ position:relative; aspect-ratio:4/5; border-radius:var(--r-lg); overflow:hidden; }
.hero-photo .ph{ position:absolute; inset:0; border-radius:var(--r-lg); }
.hero-photo .arc{ position:absolute; right:-70px; top:-70px; width:200px; height:200px; border-radius:50%; border:30px solid var(--violet-100); z-index:1; opacity:.7; }
.hero-photo .badge{ position:absolute; left:18px; bottom:18px; background:var(--bone-50); border:1px solid var(--line); border-radius:14px; padding:13px 16px; box-shadow:var(--shadow-md); display:flex; align-items:center; gap:12px; z-index:2; }
.hero-photo .badge .ring{ width:38px; height:38px; border-radius:50%; border:3px solid var(--sage-500); display:flex; align-items:center; justify-content:center; font-family:var(--display); font-weight:800; color:var(--sage-700); font-size:14px; }
.hero-photo .badge .t b{ font-family:var(--display); font-size:15px; display:block; letter-spacing:-.01em; }
.hero-photo .badge .t span{ font-family:var(--mono); font-size:10.5px; color:var(--ink-500); letter-spacing:.06em; }
@media(max-width:980px){ .home-hero .grid{ grid-template-columns:1fr; gap:40px; } .hero-photo{ max-width:440px; } }

/* ---------- Chooser (homepage) ---------- */
.chooser{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-xl); padding:40px; box-shadow:var(--shadow-md); }
.chooser-top{ display:flex; align-items:baseline; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:24px; }
.chooser-top h2{ font-size:clamp(28px,3.2vw,40px); }
.chips{ display:flex; flex-wrap:wrap; gap:10px; }
.chip{ font-family:var(--body); font-weight:600; font-size:15px; padding:12px 18px; border-radius:999px; border:1px solid var(--bone-400); background:var(--bone-50); color:var(--ink-700); cursor:pointer; transition:all .15s ease; }
.chip:hover{ border-color:var(--ink-400); color:var(--ink-900); }
.chip[aria-selected="true"]{ background:var(--accent); border-color:var(--accent); color:#fff; box-shadow:var(--shadow-sm); }
.chooser-body{ display:grid; grid-template-columns:1.1fr .9fr; gap:36px; margin-top:30px; padding-top:30px; border-top:1px solid var(--line); }
.cb-tag{ font-family:var(--mono); font-size:11.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--accent-600); }
.cb-title{ font-family:var(--display); font-weight:800; font-size:clamp(26px,3vw,34px); letter-spacing:-.03em; line-height:1; margin:12px 0 14px; }
.cb-desc{ font-size:17px; color:var(--ink-700); max-width:44ch; }
.cb-list{ list-style:none; margin:22px 0 0; padding:0; display:flex; flex-direction:column; gap:10px; }
.cb-list li{ display:flex; gap:12px; font-size:15.5px; color:var(--ink-700); }
.cb-list li::before{ content:""; flex:none; width:8px; height:8px; border-radius:50%; background:var(--accent); margin-top:8px; }
.cb-side{ background:var(--bone-100); border-radius:var(--r-lg); padding:26px; }
.cb-side h3{ font-family:var(--mono); font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-400); margin-bottom:18px; }
.cb-steps{ list-style:none; margin:0; padding:0; counter-reset:s; display:flex; flex-direction:column; gap:16px; }
.cb-steps li{ counter-increment:s; display:flex; gap:14px; align-items:flex-start; }
.cb-steps li::before{ content:counter(s); flex:none; width:30px; height:30px; border-radius:50%; background:var(--violet-600); color:#fff; font-family:var(--display); font-weight:700; font-size:14px; display:flex; align-items:center; justify-content:center; }
.cb-steps .st b{ font-family:var(--display); font-size:16px; letter-spacing:-.01em; display:block; }
.cb-steps .st span{ font-size:14px; color:var(--ink-500); }
.cb-cta{ display:flex; gap:12px; flex-wrap:wrap; margin-top:26px; }
@media(max-width:760px){ .chooser-body{ grid-template-columns:1fr; } .chooser{ padding:26px; } }

/* ---------- Stats ---------- */
.stats{ display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; background:var(--surface); }
.stat{ padding:32px 28px; border-left:1px solid var(--line); }
.stat:first-child{ border-left:none; }
.stat .n{ font-family:var(--display); font-weight:800; font-size:clamp(32px,4vw,46px); letter-spacing:-.03em; color:var(--violet-700); line-height:1; }
.stat .n span{ color:var(--accent); }
.stat .l{ font-family:var(--mono); font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-500); margin-top:12px; }
@media(max-width:860px){ .stats{ grid-template-columns:1fr 1fr; } .stat:nth-child(3){ border-left:none; } .stat:nth-child(n+3){ border-top:1px solid var(--line); } }
@media(max-width:480px){ .stats{ grid-template-columns:1fr; } .stat{ border-left:none; border-top:1px solid var(--line); } .stat:first-child{ border-top:none; } }

/* ---------- Link grids (hubs) ---------- */
.link-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.link-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:30px; transition:transform .15s ease, box-shadow .15s, border-color .15s; display:flex; flex-direction:column; height:100%; }
.link-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:var(--bone-400); }
.link-card .mk{ width:46px; height:46px; border-radius:13px; display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-weight:700; font-size:15px; margin-bottom:20px; }
.link-card h3{ font-size:21px; margin-bottom:9px; }
.link-card p{ font-size:15px; color:var(--ink-500); margin:0 0 18px; }
.link-card .more{ margin-top:auto; font-family:var(--mono); font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--violet-600); font-weight:700; display:inline-flex; align-items:center; gap:7px; }
.link-card .more::after{ content:"\2192"; transition:transform .15s; }
.link-card:hover .more::after{ transform:translateX(4px); }
@media(max-width:860px){ .link-grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .link-grid{ grid-template-columns:1fr; } }

/* ---------- Article / content body ---------- */
.layout{ display:grid; grid-template-columns:1fr 320px; gap:56px; align-items:start; }
@media(max-width:980px){ .layout{ grid-template-columns:1fr; gap:40px; } }
.prose h2{ font-size:clamp(26px,3vw,38px); margin:48px 0 18px; }
.prose h2:first-child{ margin-top:0; }
.prose h3{ font-size:21px; margin:30px 0 12px; }
.prose p{ font-size:17px; color:var(--ink-700); margin:0 0 1.1em; max-width:68ch; }
.prose ul{ margin:0 0 1.4em; padding:0; list-style:none; display:flex; flex-direction:column; gap:11px; }
.prose ul li{ display:flex; gap:13px; font-size:16.5px; color:var(--ink-700); max-width:64ch; }
.prose ul li::before{ content:""; flex:none; width:8px; height:8px; border-radius:50%; background:var(--accent); margin-top:9px; }
.prose .steps{ counter-reset:s; list-style:none; padding:0; margin:0 0 1.4em; display:flex; flex-direction:column; gap:18px; }
.prose .steps li{ counter-increment:s; display:flex; gap:16px; align-items:flex-start; }
.prose .steps li::before{ content:counter(s); flex:none; width:34px; height:34px; border-radius:50%; background:var(--violet-600); color:#fff; font-family:var(--display); font-weight:700; font-size:15px; display:flex; align-items:center; justify-content:center; margin:0; }
.prose .steps li b{ font-family:var(--display); font-weight:700; font-size:17px; display:block; margin-bottom:3px; color:var(--ink-900); }
.prose .steps li span{ color:var(--ink-600,var(--ink-500)); font-size:16px; }

/* ---------- Sidebar ---------- */
.sidebar{ position:sticky; top:96px; display:flex; flex-direction:column; gap:20px; }
.side-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:26px; box-shadow:var(--shadow-sm); }
.side-card.book{ background:var(--violet-700); color:#fff; border-color:transparent; }
.side-card.book h3{ color:#fff; font-size:22px; margin-bottom:8px; }
.side-card.book p{ color:rgba(255,255,255,.8); font-size:15px; margin:0 0 18px; }
.side-card.book .btn-ghost{ color:#fff; border-color:rgba(255,255,255,.4); }
.side-card.book .btn-ghost:hover{ border-color:#fff; }
.side-card.book .btn-primary{ background:#fff; color:var(--violet-700); }
.side-card h3{ font-size:16px; }
.side-card h4{ font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-400); margin-bottom:14px; }
.side-links{ display:flex; flex-direction:column; gap:2px; }
.side-links a{ display:flex; justify-content:space-between; align-items:center; gap:10px; padding:11px 0; border-top:1px solid var(--line); font-size:15px; color:var(--ink-700); transition:color .14s; }
.side-links a:first-child{ border-top:none; }
.side-links a:hover{ color:var(--violet-700); }
.side-links a::after{ content:"\2192"; color:var(--bone-400); }
.side-links a:hover::after{ color:var(--violet-600); }
@media(max-width:980px){ .sidebar{ position:static; } }

/* ---------- FAQ ---------- */
.faq{ display:flex; flex-direction:column; gap:0; border-top:1px solid var(--line); max-width:80ch; }
.faq details{ border-bottom:1px solid var(--line); }
.faq summary{ list-style:none; cursor:pointer; padding:24px 44px 24px 0; position:relative; font-family:var(--display); font-weight:600; font-size:clamp(18px,2vw,22px); letter-spacing:-.01em; color:var(--ink-900); }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:""; position:absolute; right:6px; top:50%; width:12px; height:12px; border-right:2px solid var(--violet-600); border-bottom:2px solid var(--violet-600); transform:translateY(-70%) rotate(45deg); transition:transform .2s; }
.faq details[open] summary::after{ transform:translateY(-30%) rotate(-135deg); }
.faq .ans{ padding:0 44px 26px 0; }
.faq .ans p{ font-size:16.5px; color:var(--ink-700); margin:0 0 .8em; max-width:70ch; }
.faq .ans p:last-child{ margin-bottom:0; }

/* ---------- CTA band ---------- */
.cta-band{ background:var(--violet-700); color:#fff; border-radius:var(--r-xl); padding:52px; position:relative; overflow:hidden; }
.cta-band .arc{ position:absolute; left:-80px; bottom:-80px; width:230px; height:230px; border-radius:50%; border:34px solid rgba(255,255,255,.09); }
.cta-band .inner{ position:relative; z-index:2; max-width:60ch; }
.cta-band .kicker{ color:var(--clay-200); }
.cta-band .kicker::before{ background:var(--clay-300); }
.cta-band h2{ color:#fff; margin:18px 0 16px; }
.cta-band p{ color:rgba(255,255,255,.84); font-size:18px; }
.cta-band .btn-row{ margin-top:28px; }
.cta-band .btn-ghost{ color:#fff; border-color:rgba(255,255,255,.4); }
.cta-band .btn-ghost:hover{ border-color:#fff; }
.cta-band .btn-primary{ background:#fff; color:var(--violet-700); }
.cta-band .btn-primary:hover{ background:var(--bone-100); }

/* ---------- Split feature (home/about) ---------- */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.split .photo{ aspect-ratio:5/4; border-radius:var(--r-lg); }
.split .photo .ph{ position:absolute; inset:0; background-repeat:no-repeat; background-size:cover; }
.split .photo{ position:relative; }
@media(max-width:860px){ .split{ grid-template-columns:1fr; gap:32px; } }

/* ---------- Team ---------- */
.team-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.member .photo{ aspect-ratio:1/1; border-radius:var(--r-lg); margin-bottom:16px; position:relative; }
.member .photo .ph{ position:absolute; inset:0; height:100%; }
.member b{ font-family:var(--display); font-size:18px; letter-spacing:-.01em; display:block; }
.member .cred{ font-family:var(--mono); font-size:11.5px; color:var(--accent-600); letter-spacing:.04em; margin-top:3px; }
.member .role{ font-size:14px; color:var(--ink-500); margin-top:6px; }
@media(max-width:860px){ .team-grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:480px){ .team-grid{ grid-template-columns:1fr; } }

/* ---------- Reviews ---------- */
.rev-head{ display:flex; align-items:center; gap:28px; flex-wrap:wrap; margin-bottom:40px; }
.rev-score{ display:flex; align-items:center; gap:16px; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:18px 24px; box-shadow:var(--shadow-sm); }
.rev-score .big{ font-family:var(--display); font-weight:800; font-size:44px; letter-spacing:-.03em; line-height:1; color:var(--violet-700); }
.rev-score .stars{ color:var(--clay-400); font-size:17px; letter-spacing:2px; }
.rev-score .sub{ font-family:var(--mono); font-size:11px; color:var(--ink-500); letter-spacing:.06em; margin-top:4px; }
.rev-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.review{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:28px; }
.review .stars{ color:var(--clay-400); font-size:14px; letter-spacing:2px; margin-bottom:14px; }
.review p{ font-size:16px; color:var(--ink-700); line-height:1.55; margin:0 0 20px; }
.review .who{ display:flex; align-items:center; gap:12px; }
.review .av{ width:38px; height:38px; border-radius:50%; background:var(--violet-100); color:var(--violet-700); display:flex; align-items:center; justify-content:center; font-family:var(--display); font-weight:700; font-size:15px; }
.review .who b{ font-family:var(--body); font-weight:600; font-size:14.5px; display:block; }
.review .who span{ font-family:var(--mono); font-size:10.5px; color:var(--ink-400); letter-spacing:.04em; }
@media(max-width:860px){ .rev-grid{ grid-template-columns:1fr; } }

/* ---------- Contact ---------- */
.contact-grid{ display:grid; grid-template-columns:.95fr 1.05fr; gap:40px; align-items:stretch; }
.contact-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:36px; display:flex; flex-direction:column; }
.crow{ display:flex; gap:16px; padding:18px 0; border-top:1px solid var(--line); }
.crow:first-of-type{ border-top:none; padding-top:4px; }
.crow .ic{ flex:none; width:34px; height:34px; border-radius:10px; background:var(--accent-100); color:var(--accent-700); display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-weight:700; font-size:13px; }
.crow .vt{ font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-400); }
.crow .vv{ font-size:16px; color:var(--ink-900); margin-top:3px; }
.crow .vv a{ color:var(--ink-900); }
.crow .vv b{ font-family:var(--display); font-weight:700; }
.contact-cta{ margin-top:auto; padding-top:26px; display:flex; gap:12px; flex-wrap:wrap; }
.map .ph{ position:absolute; inset:0; height:100%; }
.map{ position:relative; min-height:380px; border-radius:var(--r-lg); }
@media(max-width:860px){ .contact-grid{ grid-template-columns:1fr; } .map{ min-height:300px; } }

/* ---------- Placeholder hint ---------- */
.placehint{ font-family:var(--mono); font-size:11px; letter-spacing:.04em; color:var(--ink-400); background:var(--bone-200); border:1px dashed var(--bone-400); border-radius:8px; padding:7px 12px; display:inline-flex; gap:8px; align-items:center; margin-top:18px; }

/* ---------- Footer ---------- */
.site-foot{ background:var(--ink-900); color:#fff; padding:72px 0 40px; }
.site-foot .cols{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px; }
.site-foot .ajira-h{ color:#fff; }
.site-foot h4{ font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.5); margin:0 0 16px; }
.site-foot a, .site-foot p{ color:rgba(255,255,255,.78); font-size:14.5px; display:block; margin-bottom:9px; line-height:1.5; }
.site-foot a:hover{ color:#fff; }
.foot-bottom{ border-top:1px solid rgba(255,255,255,.12); margin-top:48px; padding-top:24px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; font-family:var(--mono); font-size:11px; letter-spacing:.06em; color:rgba(255,255,255,.45); }
@media(max-width:860px){ .site-foot .cols{ grid-template-columns:1fr 1fr; } }
@media(max-width:480px){ .site-foot .cols{ grid-template-columns:1fr; } }
