/* ════════════════════════════════════════════════════════════════════
   DIRECTION C — "AKRÓPOLIS" · modern monumental / architectural
   ════════════════════════════════════════════════════════════════════ */
.dir-akropolis {
  --disp: 'Oswald', 'Montserrat', sans-serif;
  --sans: 'Montserrat', system-ui, sans-serif;
  --pad: clamp(18px, 5vw, 80px);
  background: var(--bg); color: var(--fg); font-family: var(--sans);
}
.dir-akropolis.density-compact { --pad: clamp(16px, 3.5vw, 54px); }
.dir-akropolis [data-animate]{ opacity:0; transform: translateY(14px); }
.dir-akropolis [data-animate].in{ opacity:1; transform:none; transition: opacity .55s ease, transform .55s cubic-bezier(.2,.7,.2,1); transition-delay:var(--d,0ms); }
@media (prefers-reduced-motion: reduce){ .dir-akropolis [data-animate]{ opacity:1!important; transform:none!important; } }

/* ── NAV ── */
.ak-nav { display:flex; align-items:center; gap:30px; padding:18px var(--pad); border-bottom:2px solid var(--fg); position:relative; }
.ak-nav::after { content:''; position:absolute; left:0; right:0; bottom:-5px; height:2px; background:var(--line); }
.ak-brand { display:flex; align-items:center; gap:11px; text-decoration:none; color:var(--fg); }
.ak-brand__mark { width:28px; height:28px; color:var(--fg); }
.ak-brand__wm { font-family:var(--disp); font-weight:600; font-size:20px; letter-spacing:.14em; }
.ak-brand__wm span { color:var(--terra); }
.ak-nav__mid { display:flex; gap:26px; flex:1; }
.ak-nav__lnk { font-family:var(--disp); font-weight:500; font-size:13px; letter-spacing:.12em; color:var(--fg-70); text-decoration:none; padding:3px 0; border-bottom:2px solid transparent; }
.ak-nav__lnk:hover { color:var(--fg); border-color:var(--terra); }
.ak-nav__act { display:flex; align-items:center; gap:11px; }
.ak-live { display:inline-flex; align-items:center; gap:7px; background:none; border:1px solid var(--line-bold); color:var(--fg); font-family:var(--disp); font-weight:500; font-size:12px; letter-spacing:.1em; padding:7px 13px; cursor:pointer; }
.ak-live__dot { width:7px; height:7px; background:var(--terra); animation:ak-blink 1.6s steps(1) infinite; }
@keyframes ak-blink { 0%,60%{opacity:1;} 61%,100%{opacity:.25;} }
.ak-btn { font-family:var(--disp); font-weight:500; font-size:13px; letter-spacing:.08em; text-transform:uppercase; padding:9px 18px; cursor:pointer; border:1px solid var(--fg); }
.ak-btn--ghost { background:none; color:var(--fg); }
.ak-btn--ghost:hover { background:var(--sink); }
.ak-btn--solid { background:var(--fg); color:var(--bg); }
.ak-btn--solid:hover { background:var(--terra-dk); border-color:var(--terra-dk); color:#fff; }

/* ── HERO ── */
.ak-hero { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(28px,5vw,70px); align-items:center; padding:clamp(40px,6vw,84px) var(--pad) clamp(34px,5vw,60px); }
.ak-hero__ix { display:flex; align-items:center; gap:11px; font-family:var(--disp); font-weight:500; font-size:13px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-bottom:22px; }
.ak-hero__no { color:var(--terra); }
.ak-hero__sl { color:var(--line-bold); }
.ak-hero__h1 { font-family:var(--disp); font-weight:600; font-size:clamp(44px,7vw,86px); line-height:.96; letter-spacing:.005em; text-transform:uppercase; margin:0 0 24px; }
.ak-hero__h1 span { color:var(--terra); }
.ak-hero__lede { font-size:clamp(15px,1.4vw,18px); line-height:1.6; color:var(--fg-70); max-width:30em; margin:0 0 28px; }
.ak-hero__cta { display:flex; gap:12px; flex-wrap:wrap; }
.ak-cta { font-family:var(--disp); font-weight:500; font-size:14px; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; display:inline-flex; align-items:center; gap:12px; padding:14px 24px; border:1px solid var(--fg); }
.ak-cta--solid { background:var(--terra-dk); border-color:var(--terra-dk); color:#fff; transition:transform .15s; }
.ak-cta--solid:hover { transform:translateY(-2px); }
.ak-cta--solid span { transition:transform .18s; } .ak-cta--solid:hover span { transform:translateX(4px); }
.ak-cta--ghost { background:none; color:var(--fg); } .ak-cta--ghost:hover { background:var(--sink); }
.ak-hero__strip { display:flex; flex-wrap:wrap; gap:8px; margin-top:30px; padding-top:22px; border-top:1px solid var(--line); }
.ak-hero__chip { font-family:var(--disp); font-weight:400; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); border:1px solid var(--line); padding:5px 11px; }

/* spec card */
.ak-hero__r { position:relative; display:flex; justify-content:center; }
.ak-spec { position:relative; width:min(100%,400px); aspect-ratio:4/5; background:var(--raise); border:1px solid var(--line-bold); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:24px; padding:28px; }
.ak-spec__illu { width:46%; color:color-mix(in srgb,var(--fg) 85%,var(--terra)); }
.ak-spec__illu svg { width:100%; height:100%; }
.ak-spec__t { position:absolute; width:11px; height:11px; border:2px solid var(--terra); }
.ak-spec__t--tl{ top:8px; left:8px; border-right:0; border-bottom:0; } .ak-spec__t--tr{ top:8px; right:8px; border-left:0; border-bottom:0; }
.ak-spec__t--bl{ bottom:8px; left:8px; border-right:0; border-top:0; } .ak-spec__t--br{ bottom:8px; right:8px; border-left:0; border-top:0; }
.ak-spec__rows { width:100%; display:flex; flex-direction:column; gap:9px; }
.ak-spec__row { display:flex; align-items:center; gap:10px; font-family:var(--disp); font-weight:400; }
.ak-spec__k { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.ak-spec__dot { flex:1; height:1px; background:var(--line); }
.ak-spec__v { font-size:13px; letter-spacing:.06em; color:var(--fg); }
.ak-rail { position:absolute; right:-14px; top:50%; transform:translateY(-50%) rotate(90deg); transform-origin:right center; width:200px; height:34px; opacity:.5;
  background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='40'%20height='60'%20viewBox='0%200%2040%2060'%20fill='none'%20stroke='%23C9A44A'%20stroke-width='2'%3E%3Cpath%20d='M0%2050L0%2014L30%2014L30%2038L14%2038L14%2026L22%2026L22%2032'/%3E%3Cline%20x1='0'%20y1='54'%20x2='40'%20y2='54'%20stroke-width='1.4'/%3E%3Cline%20x1='0'%20y1='10'%20x2='40'%20y2='10'%20stroke-width='1.4'/%3E%3C/svg%3E") repeat-x left center/auto 100%; }
.orn-subtle .ak-rail, .orn-subtle .ak-spec__t { display:none; }

/* ── CLASS TAB RAIL ── */
.ak-rail-wrap { padding:6px var(--pad) 0; }
.ak-rail-lbl { display:flex; align-items:center; gap:13px; font-family:var(--disp); font-weight:500; font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-bottom:14px; }
.ak-rail-line { width:40px; height:2px; background:var(--terra); }
.ak-tabs { display:flex; flex-wrap:wrap; border-top:2px solid var(--fg); border-left:1px solid var(--line); }
.ak-tab { display:flex; align-items:center; gap:11px; padding:15px 22px; background:none; border:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); cursor:pointer; font-family:var(--sans); position:relative; flex:1 1 auto; min-width:160px; transition:background .16s; }
.ak-tab:hover { background:var(--sink); }
.ak-tab__no { font-family:var(--disp); font-weight:600; font-size:20px; color:var(--ca); line-height:1; }
.ak-tab__nm { font-family:var(--disp); font-weight:500; font-size:15px; letter-spacing:.04em; text-transform:uppercase; color:var(--fg); }
.ak-tab::after { content:''; position:absolute; left:0; top:-2px; height:3px; width:0; background:var(--ca); transition:width .2s; }
.ak-tab.active { background:var(--ca-tint); } .ak-tab.active::after { width:100%; }

/* ── SUBJECT MODULES ── */
.ak-mods { padding:clamp(30px,4vw,56px) var(--pad); display:flex; flex-direction:column; gap:clamp(24px,3vw,42px); }
.ak-mod__bar { display:flex; align-items:center; gap:14px; padding-bottom:14px; border-bottom:2px solid var(--ca); margin-bottom:18px; }
.ak-mod__no { font-family:var(--disp); font-weight:600; font-size:26px; color:var(--ca); line-height:1; }
.ak-mod__gl { width:34px; height:34px; color:var(--ca); flex:none; } .ak-mod__gl svg{ width:100%; height:100%; }
.ak-mod__ttl { font-family:var(--disp); font-weight:600; font-size:clamp(22px,2.6vw,30px); letter-spacing:.02em; text-transform:uppercase; margin:0; }
.ak-mod__sub { font-family:var(--disp); font-weight:300; font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.ak-mod__ct { margin-left:auto; font-family:var(--disp); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.ak-mod__all { font-family:var(--disp); font-weight:500; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--ca-ink); text-decoration:none; }
.ak-mod__all:hover { color:var(--terra-dk); }
.ak-mod__grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(232px,1fr)); gap:0; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.ak-tile { display:flex; align-items:center; gap:13px; padding:16px 16px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); text-decoration:none; color:var(--fg); position:relative; transition:background .15s, padding .15s; }
.ak-tile::before { content:''; position:absolute; left:0; top:0; bottom:0; width:0; background:var(--ca); transition:width .16s; }
.ak-tile:hover { background:var(--sink); padding-left:22px; }
.ak-tile:hover::before { width:3px; }
.ak-tile__gl { width:34px; height:34px; flex:none; color:var(--ca); } .ak-tile__gl svg{ width:100%; height:100%; }
.ak-tile__tx { flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.ak-tile__nm { font-family:var(--disp); font-weight:500; font-size:16px; letter-spacing:.02em; line-height:1.1; }
.ak-tile__mt { font-size:10.5px; font-weight:500; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); }
.ak-tile__go { color:var(--muted); transition:transform .16s, color .16s; }
.ak-tile:hover .ak-tile__go { transform:translateX(3px); color:var(--ca-ink); }

/* ── ENGINES ── */
.ak-engines { padding:clamp(30px,4vw,56px) var(--pad); border-top:2px solid var(--fg); background:var(--sink); }
.ak-engines__bar { display:flex; align-items:baseline; gap:14px; margin-bottom:22px; flex-wrap:wrap; }
.ak-engines__no { font-family:var(--disp); font-weight:600; font-size:22px; color:var(--terra); }
.ak-engines__ttl { font-family:var(--disp); font-weight:600; font-size:clamp(24px,3vw,34px); letter-spacing:.02em; text-transform:uppercase; margin:0; }
.ak-engines__sub { font-size:14px; color:var(--fg-70); }
.ak-engines__grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(248px,1fr)); gap:0; border-top:1px solid var(--line-bold); border-left:1px solid var(--line-bold); }
.ak-eng { display:flex; align-items:center; gap:13px; padding:18px; border-right:1px solid var(--line-bold); border-bottom:1px solid var(--line-bold); background:var(--card); text-decoration:none; color:var(--fg); transition:background .15s; }
.ak-eng:hover { background:var(--raise); }
.ak-eng__gl { width:38px; height:38px; flex:none; color:var(--gold); } .ak-eng__gl svg{ width:100%; height:100%; }
.ak-eng__tx { display:flex; flex-direction:column; gap:2px; min-width:0; }
.ak-eng__nm { display:block; font-family:var(--disp); font-weight:500; font-size:16px; letter-spacing:.02em; line-height:1.12; }
.ak-eng__mt { display:block; font-size:10.5px; font-weight:500; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); margin-top:2px; }

/* ── JOIN ── */
.ak-join { position:relative; padding:clamp(36px,5vw,68px) var(--pad); border-top:2px solid var(--fg); }
.ak-join__rail { position:absolute; left:0; top:0; width:100%; height:22px; opacity:.32;
  background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='40'%20height='60'%20viewBox='0%200%2040%2060'%20fill='none'%20stroke='%23C9A44A'%20stroke-width='2'%3E%3Cpath%20d='M0%2050L0%2014L30%2014L30%2038L14%2038L14%2026L22%2026L22%2032'/%3E%3Cline%20x1='0'%20y1='54'%20x2='40'%20y2='54'%20stroke-width='1.4'/%3E%3Cline%20x1='0'%20y1='10'%20x2='40'%20y2='10'%20stroke-width='1.4'/%3E%3C/svg%3E") repeat-x left center/auto 100%; }
.ak-join__in { max-width:560px; }
.ak-join__no { font-family:var(--disp); font-weight:500; font-size:12px; letter-spacing:.2em; color:var(--terra); margin-bottom:12px; }
.ak-join__ttl { font-family:var(--disp); font-weight:600; font-size:clamp(28px,3.4vw,42px); letter-spacing:.02em; text-transform:uppercase; }
.ak-join__sub { font-size:15px; color:var(--fg-70); margin:8px 0 22px; }
.ak-join__form { display:flex; gap:10px; }
.ak-join__pin { font-family:var(--disp); font-weight:500; letter-spacing:.3em; font-size:18px; text-align:center; text-transform:uppercase; width:200px; padding:13px 14px; border:1px solid var(--fg); background:var(--card); color:var(--fg); }
.ak-join__pin:focus { outline:none; border-color:var(--terra); border-width:2px; }

/* ── FOOTER ── */
.ak-foot { padding:0 var(--pad) 26px; }
.ak-foot__rule { display:block; width:100%; height:26px; opacity:.5; margin:0 0 28px;
  background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='40'%20height='60'%20viewBox='0%200%2040%2060'%20fill='none'%20stroke='%23C9A44A'%20stroke-width='2'%3E%3Cpath%20d='M0%2050L0%2014L30%2014L30%2038L14%2038L14%2026L22%2026L22%2032'/%3E%3Cline%20x1='0'%20y1='54'%20x2='40'%20y2='54'%20stroke-width='1.4'/%3E%3Cline%20x1='0'%20y1='10'%20x2='40'%20y2='10'%20stroke-width='1.4'/%3E%3C/svg%3E") repeat-x left center/auto 100%; }
.ak-foot__top { display:flex; gap:clamp(28px,6vw,80px); flex-wrap:wrap; padding-bottom:22px; border-bottom:1px solid var(--line); }
.ak-foot__brand { display:flex; gap:12px; align-items:flex-start; flex:1; min-width:230px; }
.ak-foot__mark { width:32px; height:32px; color:var(--fg); }
.ak-foot__wm { font-family:var(--disp); font-weight:600; font-size:19px; letter-spacing:.14em; } .ak-foot__wm span { color:var(--terra); }
.ak-foot__tag { font-size:13px; color:var(--fg-70); margin:5px 0 0; }
.ak-foot__col { display:flex; flex-direction:column; gap:10px; min-width:130px; }
.ak-foot__col h4 { font-family:var(--disp); font-weight:500; font-size:12px; letter-spacing:.14em; color:var(--muted); margin:0 0 3px; }
.ak-foot__col a { font-size:13.5px; color:var(--fg-70); text-decoration:none; cursor:pointer; } .ak-foot__col a:hover { color:var(--terra-dk); }
.ak-foot__bot { display:flex; align-items:center; justify-content:space-between; gap:14px; padding-top:16px; font-family:var(--disp); font-size:12px; letter-spacing:.1em; color:var(--muted); flex-wrap:wrap; }
.ak-foot__plans { display:flex; gap:10px; }
.ak-foot__plans span { padding:7px 14px; border:1px solid var(--line-bold); }
.ak-foot__pro { background:var(--terra-dk); color:#fff; border-color:transparent!important; cursor:pointer; }

/* accent intensity tweak */
.dir-akropolis.accent-bold .ak-tab.active { background: color-mix(in srgb, var(--ca) 16%, var(--card)); }
.dir-akropolis.accent-bold .ak-mod__bar { border-bottom-width:3px; }

@media (max-width:940px){
  .ak-hero { grid-template-columns:1fr; }
  .ak-hero__r { order:-1; }
  .ak-spec { width:min(100%,320px); }
  .ak-nav__mid { display:none; }
}
@media (max-width:560px){
  .ak-join__form { flex-direction:column; }
}
