/* ==========================================================================
   AJM HOME — system wizualny
   Kierunek: "karta danych inwestycji" — ciemna, precyzyjna typografia,
   dane liczbowe składane krojem monospace, złoto używane oszczędnie.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Tokeny
   -------------------------------------------------------------------------- */
:root{
  /* kolory */
  --ink:            #06080B;
  --ink-2:          #0A0E13;
  --panel:          #0E141C;
  --panel-2:        #121A24;
  --panel-3:        #17202C;
  --gold:           #C6A15C;
  --gold-bright:    #E4C68F;
  --gold-deep:      #8A6D2E;
  --cream:          #F4F0E8;
  --text:           #B9C2CE;
  --muted:          #8792A0;
  --white:          #FFFFFF;

  --hair:           rgba(255,255,255,.08);
  --hair-strong:    rgba(255,255,255,.14);
  --gold-hair:      rgba(198,161,92,.28);
  --gold-glow:      rgba(198,161,92,.10);

  --ok:             #4FBF87;
  --warn:           #E0A94B;
  --stop:           #7E8A99;

  /* typografia */
  --font-display: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --font-body:    "Inter", "Helvetica Neue", Arial, sans-serif;
  --font-serif:   "Cormorant Garamond", Georgia, serif;
  --font-mono:    "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  /* rytm */
  --container: 1240px;
  --container-wide: 1440px;
  --gutter: 24px;
  --section-y: clamp(72px, 9vw, 140px);
  --radius: 14px;
  --radius-lg: 22px;
  --radius-pill: 999px;

  --ease: cubic-bezier(.22,.61,.36,1);
  --ease-out: cubic-bezier(.16,1,.3,1);

  --shadow-1: 0 2px 8px rgba(0,0,0,.35);
  --shadow-2: 0 18px 50px -18px rgba(0,0,0,.75);
  --shadow-gold: 0 18px 44px -20px rgba(198,161,92,.55);
}

/* --------------------------------------------------------------------------
   2. Reset / baza
   -------------------------------------------------------------------------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--ink-2);
  color:var(--text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.7;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
body.ajm-no-scroll{ overflow:hidden; }
img,svg,video{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
input,textarea,select{ font:inherit; color:inherit; }
ul,ol{ margin:0; padding:0; list-style:none; }
p{ margin:0 0 1.1em; }
p:last-child{ margin-bottom:0; }
hr{ border:0; border-top:1px solid var(--hair); margin:32px 0; }
::selection{ background:var(--gold); color:var(--ink); }

:focus-visible{
  outline:2px solid var(--gold-bright);
  outline-offset:3px;
  border-radius:4px;
}

.ajm-skip{
  position:absolute; left:-9999px; top:0; z-index:9999;
  background:var(--gold); color:var(--ink); padding:12px 20px; font-weight:700;
}
.ajm-skip:focus{ left:16px; top:16px; }

.screen-reader-text{
  position:absolute!important; width:1px; height:1px; overflow:hidden;
  clip:rect(1px,1px,1px,1px); white-space:nowrap;
}

/* --------------------------------------------------------------------------
   3. Typografia
   -------------------------------------------------------------------------- */
h1,h2,h3,h4,h5{
  font-family:var(--font-display);
  color:var(--white);
  margin:0 0 .5em;
  font-weight:700;
  line-height:1.08;
  letter-spacing:-.025em;
}
h1{ font-size:clamp(2.6rem, 6.2vw, 5.1rem); font-weight:800; }
h2{ font-size:clamp(2rem, 3.9vw, 3.35rem); }
h3{ font-size:clamp(1.25rem, 1.9vw, 1.65rem); letter-spacing:-.015em; }
h4{ font-size:1.05rem; letter-spacing:-.01em; }

strong,b{ color:var(--cream); font-weight:600; }
.ajm-gold{ color:var(--gold); }
.ajm-em{
  background:linear-gradient(180deg,var(--gold-bright),var(--gold));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* nadtytuł — zawsze niesie informację o sekcji */
.ajm-eyebrow{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--gold);
  display:inline-flex; align-items:center; gap:14px;
  margin:0 0 18px;
  font-weight:500;
}
.ajm-eyebrow::before{
  content:""; width:26px; height:1px; background:var(--gold); opacity:.7;
}
.ajm-eyebrow--center{ justify-content:center; }
.ajm-eyebrow--center::after{
  content:""; width:26px; height:1px; background:var(--gold); opacity:.7;
}

.ajm-lead{
  font-size:clamp(1rem,1.25vw,1.12rem);
  color:var(--text);
  max-width:62ch;
}
.ajm-lead--center{ margin-inline:auto; text-align:center; }

.ajm-serif-quote{
  font-family:var(--font-serif);
  font-size:clamp(1.5rem,2.6vw,2.2rem);
  line-height:1.35;
  color:var(--cream);
  font-weight:500;
  font-style:italic;
}

/* --------------------------------------------------------------------------
   4. Układ
   -------------------------------------------------------------------------- */
.ajm-container{
  width:100%; max-width:var(--container);
  margin-inline:auto; padding-inline:var(--gutter);
}
.ajm-container--wide{ max-width:var(--container-wide); }
.ajm-container--narrow{ max-width:900px; }

.ajm-section{ padding-block:var(--section-y); position:relative; }
.ajm-section--tight{ padding-block:clamp(56px,6vw,90px); }
.ajm-section--ink{ background:var(--ink); }
.ajm-section--panel{ background:var(--panel); }
.ajm-section--light{ background:var(--cream); color:#3E4650; }
.ajm-section--light h1,.ajm-section--light h2,.ajm-section--light h3{ color:#0B1119; }
.ajm-section--light .ajm-eyebrow{ color:var(--gold-deep); }
.ajm-section--light .ajm-eyebrow::before,
.ajm-section--light .ajm-eyebrow::after{ background:var(--gold-deep); }

.ajm-section__head{ margin-bottom:clamp(38px,4.5vw,64px); }
.ajm-section__head--center{ text-align:center; max-width:760px; margin-inline:auto; }
.ajm-section__head h2{ margin-bottom:.35em; }

.ajm-grid{ display:grid; gap:clamp(18px,2vw,28px); }
.ajm-grid--2{ grid-template-columns:repeat(2,1fr); }
.ajm-grid--3{ grid-template-columns:repeat(3,1fr); }
.ajm-grid--4{ grid-template-columns:repeat(4,1fr); }

.ajm-split{
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(32px,5vw,80px); align-items:center;
}
.ajm-split--wide-left{ grid-template-columns:1.15fr .85fr; }
.ajm-split--wide-right{ grid-template-columns:.85fr 1.15fr; }

/* delikatna siatka „rysunku technicznego” w tle sekcji */
.ajm-blueprint::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.022) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.022) 1px, transparent 1px);
  background-size:88px 88px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 40%, #000 20%, transparent 78%);
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 40%, #000 20%, transparent 78%);
}

/* --------------------------------------------------------------------------
   5. Przyciski
   -------------------------------------------------------------------------- */
.ajm-btn{
  --btn-bg:var(--gold);
  --btn-fg:#14100A;
  position:relative;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:16px 30px;
  background:var(--btn-bg); color:var(--btn-fg);
  font-family:var(--font-body);
  font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  border-radius:4px;
  transition:transform .35s var(--ease-out), box-shadow .35s var(--ease-out), background .3s var(--ease);
  overflow:hidden; isolation:isolate; text-align:center;
}
.ajm-btn::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(120deg,transparent 20%, rgba(255,255,255,.45) 50%, transparent 80%);
  transform:translateX(-120%);
  transition:transform .75s var(--ease-out);
}
.ajm-btn:hover{ transform:translateY(-2px); box-shadow:var(--shadow-gold); }
.ajm-btn:hover::after{ transform:translateX(120%); }
.ajm-btn:active{ transform:translateY(0); }

.ajm-btn--ghost{
  --btn-bg:transparent; --btn-fg:var(--white);
  box-shadow:inset 0 0 0 1px var(--hair-strong);
}
.ajm-btn--ghost:hover{
  --btn-fg:var(--gold-bright);
  box-shadow:inset 0 0 0 1px var(--gold-hair), 0 16px 40px -22px rgba(0,0,0,.9);
}
.ajm-btn--dark{ --btn-bg:#0B0F15; --btn-fg:var(--white); }
.ajm-btn--dark:hover{ box-shadow:0 18px 40px -20px rgba(0,0,0,.9); }
.ajm-btn--sm{ padding:12px 22px; font-size:.72rem; }
.ajm-btn--block{ width:100%; }

.ajm-link{
  display:inline-flex; align-items:center; gap:10px;
  font-size:.78rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase;
  color:var(--gold);
  transition:gap .3s var(--ease), color .3s var(--ease);
}
.ajm-link svg{ transition:transform .3s var(--ease); }
.ajm-link:hover{ gap:16px; color:var(--gold-bright); }

/* --------------------------------------------------------------------------
   6. Nagłówek
   -------------------------------------------------------------------------- */
.ajm-header{
  position:fixed; inset:0 0 auto; z-index:900;
  padding-block:18px;
  transition:background .45s var(--ease), backdrop-filter .45s var(--ease),
             padding .45s var(--ease), box-shadow .45s var(--ease);
}
.ajm-header::after{
  content:""; position:absolute; inset:auto 0 0; height:1px;
  background:linear-gradient(90deg,transparent, var(--gold-hair) 30%, var(--gold-hair) 70%, transparent);
  opacity:0; transition:opacity .45s var(--ease);
}
.ajm-header.is-stuck{
  background:rgba(8,11,16,.82);
  backdrop-filter:blur(18px) saturate(1.3);
  -webkit-backdrop-filter:blur(18px) saturate(1.3);
  padding-block:10px;
  box-shadow:0 12px 40px -24px rgba(0,0,0,.9);
}
.ajm-header.is-stuck::after{ opacity:1; }

.ajm-header__inner{
  display:flex; align-items:center; justify-content:space-between; gap:28px;
}
.ajm-brand{ display:flex; align-items:center; gap:12px; flex-shrink:0; }
.ajm-brand img{ height:60px; width:auto; transition:height .45s var(--ease); }
.is-stuck .ajm-brand img{ height:46px; }
.ajm-brand__text{ line-height:1.05; }
.ajm-brand__name{
  font-family:var(--font-serif); font-size:1.6rem; font-weight:600;
  letter-spacing:.14em; color:var(--cream); display:block; text-transform:uppercase;
}
.ajm-brand__sub{
  font-family:var(--font-mono); font-size:.56rem; letter-spacing:.42em;
  color:var(--gold); text-transform:uppercase; display:block; padding-left:3px;
}

.ajm-nav{ display:flex; align-items:center; min-width:0; }
/* wp_nav_menu zwraca <ul> — to ona musi być rzędem, nie tylko <nav> */
.ajm-nav ul{
  display:flex !important;
  flex-direction:row !important;
  align-items:center;
  flex-wrap:nowrap;
  gap:4px;
  margin:0; padding:0; list-style:none;
}
.ajm-nav li{ list-style:none; margin:0; padding:0; float:none; display:block; }
/* podmenu wraca do układu pionowego */
.ajm-nav .sub-menu{
  display:block !important;
  flex-direction:column !important;
}
.ajm-nav .sub-menu li{ width:100%; }
.ajm-nav a{
  position:relative;
  padding:10px 14px;
  font-size:.76rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,.86);
  transition:color .3s var(--ease);
  white-space:nowrap;
}
.ajm-nav a::after{
  content:""; position:absolute; left:14px; right:14px; bottom:4px; height:1px;
  background:var(--gold); transform:scaleX(0); transform-origin:left;
  transition:transform .4s var(--ease-out);
}
.ajm-nav a:hover{ color:var(--white); }
.ajm-nav a:hover::after{ transform:scaleX(1); }
.ajm-nav .current-menu-item > a,
.ajm-nav .current_page_item > a,
.ajm-nav .current-menu-parent > a,
.ajm-nav .ajm-nav-current > a{ color:var(--gold); }
.ajm-nav .current-menu-item > a::after,
.ajm-nav .ajm-nav-current > a::after{ transform:scaleX(1); }

/* podmenu */
.ajm-nav li{ position:relative; }
.ajm-nav .sub-menu{
  display:block;
  position:absolute; top:calc(100% + 10px); left:0; min-width:230px;
  background:rgba(12,16,22,.96);
  backdrop-filter:blur(16px);
  border:1px solid var(--hair);
  border-radius:10px; padding:8px;
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:all .3s var(--ease); box-shadow:var(--shadow-2);
}
.ajm-nav li:hover > .sub-menu,
.ajm-nav li:focus-within > .sub-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.ajm-nav .sub-menu a{ display:block; padding:10px 14px; border-radius:6px; letter-spacing:.06em; }
.ajm-nav .sub-menu a:hover{ background:rgba(198,161,92,.12); color:var(--gold-bright); }
.ajm-nav .sub-menu a::after{ display:none; }

.ajm-header__aside{ display:flex; align-items:center; gap:18px; }
.ajm-social{ display:flex; align-items:center; gap:10px; }
.ajm-social a{
  width:34px; height:34px; display:grid; place-items:center;
  border-radius:7px; color:var(--white);
  box-shadow:inset 0 0 0 1px var(--hair);
  transition:all .3s var(--ease);
}
.ajm-social a:hover{
  color:var(--ink); background:var(--gold);
  box-shadow:inset 0 0 0 1px var(--gold); transform:translateY(-2px);
}
.ajm-social svg{ width:16px; height:16px; }

.ajm-burger{
  display:none; width:44px; height:44px; border-radius:8px;
  box-shadow:inset 0 0 0 1px var(--hair);
  position:relative; flex-shrink:0;
}
.ajm-burger span{
  position:absolute; left:13px; right:13px; height:1.5px; background:var(--white);
  transition:transform .4s var(--ease-out), opacity .25s var(--ease);
}
.ajm-burger span:nth-child(1){ top:16px; }
.ajm-burger span:nth-child(2){ top:21.5px; }
.ajm-burger span:nth-child(3){ top:27px; }
.ajm-burger.is-open span:nth-child(1){ transform:translateY(5.5px) rotate(45deg); }
.ajm-burger.is-open span:nth-child(2){ opacity:0; }
.ajm-burger.is-open span:nth-child(3){ transform:translateY(-5.5px) rotate(-45deg); }

/* panel mobilny */
.ajm-drawer{
  position:fixed; inset:0; z-index:890;
  background:rgba(6,8,12,.97);
  backdrop-filter:blur(22px);
  padding:110px 24px 40px;
  display:flex; flex-direction:column; gap:28px;
  opacity:0; visibility:hidden; transform:translateY(-12px);
  transition:opacity .4s var(--ease), transform .4s var(--ease-out), visibility .4s;
  overflow-y:auto;
}
.ajm-drawer.is-open{ opacity:1; visibility:visible; transform:translateY(0); }
.ajm-drawer nav ul{ display:flex; flex-direction:column; gap:0; list-style:none; margin:0; padding:0; }
.ajm-drawer nav a{
  display:block; padding:16px 0;
  font-family:var(--font-display); font-size:1.5rem; font-weight:700; letter-spacing:-.02em;
  color:var(--white); border-bottom:1px solid var(--hair);
}
.ajm-drawer nav .sub-menu a{ font-size:1rem; padding-left:18px; color:var(--muted); }
.ajm-drawer nav a:hover{ color:var(--gold); }
.ajm-drawer__foot{ margin-top:auto; display:grid; gap:18px; }
.ajm-drawer__contact{ display:grid; gap:8px; font-family:var(--font-mono); font-size:.82rem; }
.ajm-drawer__contact a{ color:var(--gold); }

/* --------------------------------------------------------------------------
   7. Hero
   -------------------------------------------------------------------------- */
.ajm-hero{
  position:relative; min-height:min(100svh, 940px);
  display:flex; align-items:center;
  padding-block:170px 110px;
  overflow:hidden; isolation:isolate;
}
.ajm-hero__media{ position:absolute; inset:0; z-index:-2; }
.ajm-hero__media img{ width:100%; height:100%; object-fit:cover; }
.ajm-hero__media::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(6,8,12,.86) 0%, rgba(6,8,12,.62) 40%, rgba(6,8,12,.92) 100%),
    radial-gradient(ellipse 60% 50% at 50% 45%, rgba(198,161,92,.10), transparent 70%);
}
.ajm-hero__inner{ position:relative; text-align:center; }
.ajm-hero h1{ margin-bottom:.4em; max-width:16ch; margin-inline:auto; }
.ajm-hero .ajm-lead{ margin-inline:auto; text-align:center; max-width:60ch; color:#CBD3DC; }
.ajm-hero__actions{
  display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:36px;
}
.ajm-hero--page{ min-height:min(66svh,620px); padding-block:180px 90px; }
.ajm-hero--page h1{ font-size:clamp(2.3rem,4.6vw,3.9rem); }
.ajm-hero__rule{
  width:64px; height:2px; margin:32px auto 0;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}

/* pasek danych pod heroem — sygnatura marki */
.ajm-hero__stats{
  position:relative; z-index:2;
  border-top:1px solid var(--hair);
  margin-top:clamp(48px,7vw,84px);
  padding-top:clamp(28px,3vw,40px);
  display:grid; grid-template-columns:repeat(4,1fr); gap:24px;
}
.ajm-stat{ text-align:center; }
.ajm-stat__num{
  font-family:var(--font-display); font-weight:800;
  font-size:clamp(1.9rem,3.2vw,2.7rem); color:var(--white);
  letter-spacing:-.03em; line-height:1;
  display:flex; align-items:baseline; justify-content:center; gap:2px;
}
.ajm-stat__num span{ color:var(--gold); }
.ajm-stat__label{
  font-family:var(--font-mono); font-size:.66rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--muted); margin-top:10px;
}
.ajm-scroll-hint{
  position:absolute; left:50%; bottom:26px; transform:translateX(-50%);
  font-family:var(--font-mono); font-size:.6rem; letter-spacing:.26em;
  text-transform:uppercase; color:rgba(255,255,255,.45);
  display:flex; flex-direction:column; align-items:center; gap:10px;
}
.ajm-scroll-hint i{
  width:1px; height:44px; display:block;
  background:linear-gradient(180deg,var(--gold),transparent);
  animation:ajmScroll 2.4s var(--ease) infinite;
}
@keyframes ajmScroll{ 0%{transform:scaleY(0);transform-origin:top} 45%{transform:scaleY(1);transform-origin:top} 55%{transform:scaleY(1);transform-origin:bottom} 100%{transform:scaleY(0);transform-origin:bottom} }

/* --------------------------------------------------------------------------
   8. Karty / powierzchnie
   -------------------------------------------------------------------------- */
.ajm-card{
  position:relative;
  background:linear-gradient(165deg, var(--panel-2), var(--panel));
  border:1px solid var(--hair);
  border-radius:var(--radius);
  padding:clamp(24px,2.6vw,34px);
  transition:transform .5s var(--ease-out), border-color .4s var(--ease), box-shadow .5s var(--ease-out);
  overflow:hidden;
}
.ajm-card::before{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:radial-gradient(600px 200px at var(--mx,50%) var(--my,0%), rgba(198,161,92,.09), transparent 70%);
  opacity:0; transition:opacity .45s var(--ease);
}
.ajm-card:hover{
  transform:translateY(-6px);
  border-color:var(--gold-hair);
  box-shadow:var(--shadow-2);
}
.ajm-card:hover::before{ opacity:1; }

.ajm-card__icon{
  width:52px; height:52px; border-radius:11px;
  display:grid; place-items:center; margin-bottom:22px;
  color:var(--gold);
  background:rgba(198,161,92,.08);
  box-shadow:inset 0 0 0 1px var(--gold-hair);
  transition:all .4s var(--ease);
}
.ajm-card:hover .ajm-card__icon{ background:var(--gold); color:var(--ink); }
.ajm-card__icon svg{ width:24px; height:24px; }
.ajm-card h3{ margin-bottom:.5em; }
.ajm-card p{ font-size:.95rem; color:var(--muted); }

/* narożniki „rysunku technicznego” */
.ajm-corner{ position:relative; }
.ajm-corner::before,.ajm-corner::after{
  content:""; position:absolute; width:16px; height:16px; pointer-events:none;
  border-color:var(--gold); opacity:.55;
}
.ajm-corner::before{ top:-1px; left:-1px; border-top:1px solid; border-left:1px solid; }
.ajm-corner::after{ bottom:-1px; right:-1px; border-bottom:1px solid; border-right:1px solid; }

/* obraz w ramce z przesunięciem */
.ajm-frame{ position:relative; }
.ajm-frame img{
  position:relative; z-index:1; border-radius:6px;
  width:100%; object-fit:cover;
  box-shadow:var(--shadow-2);
}
.ajm-frame::after{
  content:""; position:absolute; inset:26px -22px -26px 22px;
  border:1px solid var(--gold-hair); border-radius:6px; z-index:0;
  transition:inset .6s var(--ease-out);
}
.ajm-frame:hover::after{ inset:18px -14px -18px 14px; }
.ajm-section--light .ajm-frame::after{ border-color:rgba(138,109,46,.45); }


/* sekcja O nas na stronie głównej */
.ajm-about__text{ font-size:1rem; color:var(--text); max-width:56ch; }
.ajm-about__text p{ margin-bottom:1.15em; }
.ajm-about__text strong{ color:var(--white); }
.ajm-about__points{ margin-top:26px; }
.ajm-about--solo{ grid-template-columns:1fr; max-width:820px; }

/* --------------------------------------------------------------------------
   9. Lista danych (sygnatura: arkusz specyfikacji)
   -------------------------------------------------------------------------- */
.ajm-specs{ display:grid; gap:0; margin:22px 0; }
.ajm-spec{
  display:grid; grid-template-columns:minmax(96px,26%) 1fr;
  gap:16px; padding:11px 0;
  border-bottom:1px dashed rgba(255,255,255,.09);
  font-size:.9rem;
}
.ajm-spec:first-child{ border-top:1px dashed rgba(255,255,255,.09); }
.ajm-spec__k{
  font-family:var(--font-mono); font-size:.66rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--muted); padding-top:4px;
}
.ajm-spec__v{ color:var(--cream); }
.ajm-spec__v strong{ color:var(--white); }

.ajm-badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 13px; border-radius:var(--radius-pill);
  font-family:var(--font-mono); font-size:.63rem; letter-spacing:.16em; text-transform:uppercase;
  box-shadow:inset 0 0 0 1px currentColor;
}
.ajm-badge::before{ content:""; width:6px; height:6px; border-radius:50%; background:currentColor; }
.ajm-badge--sale{ color:var(--ok); }
.ajm-badge--reserved{ color:var(--warn); }
.ajm-badge--sold{ color:var(--stop); }
.ajm-badge--progress{ color:var(--gold); }
.ajm-badge--flat{ box-shadow:none; background:rgba(255,255,255,.06); color:var(--muted); }

.ajm-tag{
  font-family:var(--font-mono); font-size:.64rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--gold); display:block; margin-bottom:14px;
}

/* --------------------------------------------------------------------------
   10. Realizacje
   -------------------------------------------------------------------------- */
.ajm-filters{
  display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:22px;
}
.ajm-filter{
  padding:11px 24px; border-radius:var(--radius-pill);
  font-size:.76rem; font-weight:600; letter-spacing:.08em;
  box-shadow:inset 0 0 0 1px var(--hair-strong); color:var(--text);
  transition:all .35s var(--ease);
}
.ajm-filter:hover{ color:var(--white); box-shadow:inset 0 0 0 1px var(--gold-hair); }
.ajm-filter.is-active{
  background:rgba(198,161,92,.12); color:var(--gold-bright);
  box-shadow:inset 0 0 0 1px var(--gold);
}
.ajm-viewswitch{
  display:flex; align-items:center; justify-content:center; gap:12px; margin-bottom:46px;
  font-family:var(--font-mono); font-size:.63rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted);
}
.ajm-viewswitch__btns{ display:flex; gap:6px; }
.ajm-viewswitch button{
  width:36px; height:36px; display:grid; place-items:center; border-radius:7px;
  box-shadow:inset 0 0 0 1px var(--hair-strong); color:var(--muted);
  transition:all .3s var(--ease);
}
.ajm-viewswitch button:hover{ color:var(--white); }
.ajm-viewswitch button.is-active{ background:var(--gold); color:var(--ink); box-shadow:none; }
.ajm-viewswitch svg{ width:16px; height:16px; }

.ajm-projects{ display:grid; gap:clamp(20px,2.4vw,30px); }
.ajm-projects[data-view="grid"]{ grid-template-columns:repeat(3,1fr); }

.ajm-project{
  background:linear-gradient(165deg,var(--panel-2),var(--panel));
  border:1px solid var(--hair); border-radius:var(--radius-lg);
  overflow:hidden; transition:border-color .4s var(--ease), transform .5s var(--ease-out), box-shadow .5s var(--ease-out);
}
.ajm-project:hover{ border-color:var(--gold-hair); box-shadow:var(--shadow-2); }
/* musi przebić [data-view="list"] .ajm-project{display:grid} — ta sama
   specyficzność, a reguła widoku listy występuje niżej w pliku */
.ajm-project.is-hidden{ display:none !important; }

/* widok listy: naprzemienne kolumny */
[data-view="list"] .ajm-project{
  display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:clamp(24px,3vw,44px); align-items:center; padding:clamp(20px,2.2vw,30px);
}
/* naprzemienność nadawana przez skrypt — liczy tylko karty widoczne po filtrowaniu.
   Jawne kolumny zamiast order, żeby panel spaceru 3D (pełna szerokość)
   nie wypychał zdjęcia do kolejnego wiersza. */
[data-view="list"] .ajm-project__media{ grid-column:1; grid-row:1; }
[data-view="list"] .ajm-project__body{ grid-column:2; grid-row:1; }
[data-view="list"] .ajm-project.is-flip .ajm-project__media{ grid-column:2; grid-row:1; }
[data-view="list"] .ajm-project.is-flip .ajm-project__body{ grid-column:1; grid-row:1; }
[data-view="list"] .ajm-project__thumbs{ margin-top:12px; }

.ajm-project__media{ position:relative; min-width:0; }
.ajm-project__cover{
  position:relative; border-radius:12px; overflow:hidden;
  aspect-ratio:4/3; background:var(--panel-3);
}
.ajm-project__cover img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease-out); }
.ajm-project:hover .ajm-project__cover img{ transform:scale(1.05); }
.ajm-project__cover::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,transparent 45%, rgba(6,8,12,.75));
  opacity:.9;
}
.ajm-project__stamp{
  position:absolute; inset:auto 0 0; z-index:2; padding:18px;
  display:flex; align-items:flex-end; justify-content:space-between; gap:12px;
}
.ajm-project__overlay-label{
  position:absolute; z-index:2; inset:0; display:grid; place-content:center; text-align:center;
  font-family:var(--font-display); font-weight:800; letter-spacing:.06em;
  font-size:clamp(1rem,1.6vw,1.35rem); color:var(--white);
  text-shadow:0 4px 24px rgba(0,0,0,.8);
}
.ajm-project__zoom{
  position:absolute; top:14px; right:14px; z-index:3;
  width:38px; height:38px; border-radius:9px; display:grid; place-items:center;
  background:rgba(6,8,12,.6); backdrop-filter:blur(8px); color:var(--white);
  box-shadow:inset 0 0 0 1px var(--hair-strong);
  opacity:0; transform:translateY(-6px); transition:all .35s var(--ease);
}
.ajm-project:hover .ajm-project__zoom{ opacity:1; transform:translateY(0); }
.ajm-project__zoom:hover{ background:var(--gold); color:var(--ink); }

.ajm-project__thumbs{
  display:flex; gap:10px; overflow-x:auto; padding-bottom:10px;
  scrollbar-width:thin; scrollbar-color:var(--gold) rgba(255,255,255,.08);
}
.ajm-project__thumbs::-webkit-scrollbar{ height:5px; }
.ajm-project__thumbs::-webkit-scrollbar-track{ background:rgba(255,255,255,.07); border-radius:9px; }
.ajm-project__thumbs::-webkit-scrollbar-thumb{ background:var(--gold); border-radius:9px; }
.ajm-project__thumbs button{
  position:relative; flex:0 0 92px; height:66px; border-radius:8px; overflow:hidden;
  box-shadow:inset 0 0 0 1px var(--hair); transition:all .3s var(--ease);
}
.ajm-project__thumbs button img{ width:100%; height:100%; object-fit:cover; }
.ajm-project__thumbs button.is-active{ box-shadow:inset 0 0 0 2px var(--gold); }
.ajm-project__thumbs button:hover{ transform:translateY(-2px); }
.ajm-project__thumbs .ajm-thumb-tag{
  position:absolute; right:4px; bottom:4px;
  font-family:var(--font-mono); font-size:.5rem; letter-spacing:.1em;
  background:rgba(6,8,12,.8); color:var(--gold); padding:2px 5px; border-radius:3px;
}

.ajm-project__body{ min-width:0; padding:0; }
[data-view="grid"] .ajm-project__body{ padding:clamp(20px,2vw,26px); }
[data-view="grid"] .ajm-project__cover{ border-radius:0; aspect-ratio:16/11; }
[data-view="grid"] .ajm-project__thumbs{ display:none; }
.ajm-project__body h3{ margin-bottom:14px; }
.ajm-project__desc{ font-size:.92rem; color:var(--muted); margin-top:18px; }
.ajm-project__desc-label{
  display:block; margin-bottom:10px;
  font-family:var(--font-mono); font-size:.66rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--gold);
}
.ajm-project__desc p{ margin-bottom:.8em; }
.ajm-project__foot{ margin-top:22px; display:flex; flex-wrap:wrap; gap:12px; align-items:center; }

.ajm-empty{
  text-align:center; padding:70px 20px; border:1px dashed var(--hair-strong);
  border-radius:var(--radius-lg); color:var(--muted);
}
.ajm-empty h3{ color:var(--cream); }


/* spacer 3D osadzony w karcie realizacji */
.ajm-tour{
  grid-column:1 / -1; grid-row:2;
  height:0; overflow:hidden;
  transition:height .5s var(--ease-out);
}
[data-view="grid"] .ajm-tour{ padding-inline:clamp(20px,2vw,26px); }
.ajm-tour__inner{
  margin-top:22px;
  border:1px solid var(--gold-hair); border-radius:12px;
  background:var(--ink); overflow:hidden;
  box-shadow:var(--shadow-2);
}
.ajm-tour__bar{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:12px 16px; border-bottom:1px solid var(--hair);
  background:rgba(198,161,92,.06);
}
.ajm-tour__title{
  display:inline-flex; align-items:center; gap:9px; min-width:0;
  font-family:var(--font-mono); font-size:.66rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--gold);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.ajm-tour__actions{ display:flex; align-items:center; gap:12px; flex-shrink:0; }
.ajm-tour__actions a{
  font-size:.74rem; color:var(--muted); text-decoration:underline; text-underline-offset:3px;
  transition:color .3s var(--ease);
}
.ajm-tour__actions a:hover{ color:var(--gold); }
.ajm-tour__actions button{
  width:30px; height:30px; display:grid; place-items:center; border-radius:7px;
  color:var(--text); box-shadow:inset 0 0 0 1px var(--hair);
  transition:all .3s var(--ease);
}
.ajm-tour__actions button:hover{ background:var(--gold); color:var(--ink); box-shadow:none; }
.ajm-tour__frame{ position:relative; aspect-ratio:16/9; background:#0A0E13; }
.ajm-tour__frame iframe{ width:100%; height:100%; border:0; display:block; }
.ajm-tour__fallback{
  position:absolute; inset:0; display:grid; place-content:center; justify-items:center;
  gap:16px; text-align:center; padding:26px; color:var(--muted); font-size:.9rem;
  /* pełne tło — komunikat nigdy nie nakłada się na wczytany spacer */
  background:var(--ink); z-index:2;
}
.ajm-tour__fallback[hidden]{ display:none; }
.ajm-tour__loader{
  position:absolute; inset:0; display:grid; place-items:center;
  font-family:var(--font-mono); font-size:.64rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--muted); pointer-events:none;
}
.ajm-tour.is-ready .ajm-tour__loader{ display:none; }
@media (max-width:640px){
  .ajm-tour__frame{ aspect-ratio:4/3; }
  .ajm-tour__actions a{ display:none; }
}

/* --------------------------------------------------------------------------
   11. Oferta / usługi
   -------------------------------------------------------------------------- */
.ajm-service{
  display:grid; grid-template-columns:1fr 1fr; align-items:center;
  gap:clamp(28px,4vw,64px);
  padding:clamp(22px,2.4vw,32px);
  background:linear-gradient(165deg,var(--panel-2),var(--panel));
  border:1px solid var(--hair); border-radius:var(--radius-lg);
  transition:border-color .4s var(--ease);
}
.ajm-service + .ajm-service{ margin-top:clamp(22px,2.6vw,34px); }
.ajm-service:hover{ border-color:var(--gold-hair); }
/* jawne pozycjonowanie zamiast order — blok referencji rozciągnięty na całą
   szerokość nie może wypychać zdjęcia do kolejnego wiersza */
.ajm-service__media{ grid-column:1; grid-row:1; }
.ajm-service__body{ grid-column:2; grid-row:1; }
.ajm-service:nth-of-type(even) .ajm-service__media{ grid-column:2; grid-row:1; }
.ajm-service:nth-of-type(even) .ajm-service__body{ grid-column:1; grid-row:1; }
.ajm-service__media img{
  width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:12px;
}
.ajm-service__list{ display:grid; gap:12px; margin:22px 0 0; }
.ajm-service__list li{
  display:flex; gap:12px; font-size:.94rem; color:var(--text);
}
.ajm-service__list li::before{
  content:""; flex:0 0 7px; height:7px; margin-top:9px; border-radius:2px;
  background:var(--gold); transform:rotate(45deg);
}
.ajm-service__num{
  font-family:var(--font-mono); font-size:.7rem; letter-spacing:.2em; color:var(--gold);
  display:block; margin-bottom:12px;
}


/* --------------------------------------------------------------------------
   11b. Referencje — rozwijana karuzela
   -------------------------------------------------------------------------- */
.ajm-refs{ grid-column:1 / -1; grid-row:2; margin-top:clamp(24px,2.6vw,34px); }

.ajm-refs__toggle{
  width:100%; display:flex; align-items:center; gap:14px;
  padding:16px 22px; border-radius:10px; text-align:left;
  background:rgba(198,161,92,.06);
  box-shadow:inset 0 0 0 1px var(--gold-hair);
  color:var(--cream); font-size:.92rem; font-weight:500;
  transition:background .3s var(--ease), box-shadow .3s var(--ease), color .3s var(--ease);
}
.ajm-refs__toggle:hover{ background:rgba(198,161,92,.12); color:var(--white); }
.ajm-refs__star{
  flex:0 0 26px; height:26px; border-radius:50%; display:grid; place-items:center;
  background:var(--gold); color:var(--ink);
}
.ajm-refs__label{ flex:1; min-width:0; }
.ajm-refs__chev{
  flex:0 0 22px; height:22px; position:relative; border-radius:50%;
  box-shadow:inset 0 0 0 1px var(--gold-hair); color:var(--gold);
}
.ajm-refs__chev::before,.ajm-refs__chev::after{
  content:""; position:absolute; inset:50% 6px auto; height:1.5px; background:currentColor;
  transform:translateY(-50%); transition:transform .35s var(--ease-out);
}
.ajm-refs__chev::after{ transform:translateY(-50%) rotate(90deg); }
.ajm-refs.is-open .ajm-refs__chev::after{ transform:translateY(-50%) rotate(0deg); }
.ajm-refs.is-open .ajm-refs__toggle{
  background:rgba(198,161,92,.12);
  box-shadow:inset 0 0 0 1px var(--gold);
  border-radius:10px 10px 0 0;
}

.ajm-refs__panel{ height:0; overflow:hidden; transition:height .5s var(--ease-out); }
.ajm-refs__inner{
  position:relative; padding:24px 0 6px;
}
.ajm-refs__viewport{
  overflow-x:auto; overflow-y:hidden;
  scrollbar-width:none; -ms-overflow-style:none;
  cursor:grab; -webkit-overflow-scrolling:touch;
}
.ajm-refs__viewport::-webkit-scrollbar{ display:none; }
.ajm-refs__viewport.is-dragging{ cursor:grabbing; scroll-behavior:auto; }
.ajm-refs__track{ display:flex; gap:16px; width:max-content; padding-inline:2px; }

.ajm-refs__item{
  position:relative; flex:0 0 auto;
  /* proporcje kartki A4 — 1 : 1,414 */
  width:clamp(200px,21vw,260px); aspect-ratio:1 / 1.4142;
  border-radius:8px; overflow:hidden; padding:0;
  background:#EFEFEA;
  box-shadow:inset 0 0 0 1px var(--hair);
  transition:transform .4s var(--ease-out), box-shadow .4s var(--ease);
}
.ajm-refs__item img{
  width:100%; height:100%;
  object-fit:cover;
  /* kadrowanie od góry — nagłówek „REFERENCJE” zawsze pozostaje widoczny */
  object-position:top center;
}
.ajm-refs__item:hover{ transform:translateY(-4px); box-shadow:inset 0 0 0 1px var(--gold-hair), var(--shadow-2); }
.ajm-refs__zoom{
  position:absolute; inset:auto 10px 10px auto;
  width:32px; height:32px; border-radius:8px; display:grid; place-items:center;
  background:rgba(6,8,12,.7); backdrop-filter:blur(6px); color:var(--white);
  opacity:0; transform:translateY(6px); transition:all .3s var(--ease);
}
.ajm-refs__item:hover .ajm-refs__zoom{ opacity:1; transform:translateY(0); }

.ajm-refs__nav{
  position:absolute; top:50%; z-index:3;
  width:40px; height:40px; border-radius:50%; display:grid; place-items:center;
  transform:translateY(-50%);
  background:rgba(10,14,19,.82); backdrop-filter:blur(8px); color:var(--white);
  box-shadow:inset 0 0 0 1px var(--hair-strong);
  transition:background .3s var(--ease), color .3s var(--ease);
}
.ajm-refs__nav:hover{ background:var(--gold); color:var(--ink); }
.ajm-refs__nav--prev{ left:-6px; }
.ajm-refs__nav--next{ right:-6px; }

.ajm-refs__hint{
  font-family:var(--font-mono); font-size:.62rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--muted); text-align:center; margin:14px 0 4px;
}

@media (max-width:640px){
  .ajm-refs__nav{ display:none; }
  .ajm-refs__item{ width:min(64vw,240px); }
}

/* --------------------------------------------------------------------------
   12. Proces (numerowany — kolejność niesie treść)
   -------------------------------------------------------------------------- */
.ajm-steps{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(16px,2vw,24px); counter-reset:step; }
.ajm-step{
  position:relative; overflow:hidden;
  padding:clamp(26px,2.8vw,38px);
  background:linear-gradient(160deg,var(--panel-2),var(--panel));
  border:1px solid var(--hair); border-radius:var(--radius);
  transition:border-color .4s var(--ease), transform .5s var(--ease-out);
}
.ajm-step:hover{ border-color:var(--gold-hair); transform:translateY(-5px); }
.ajm-step__num{
  position:absolute; top:14px; right:22px;
  font-family:var(--font-display); font-weight:800; font-size:4.6rem; line-height:1;
  color:transparent; -webkit-text-stroke:1px rgba(198,161,92,.28);
  transition:-webkit-text-stroke-color .4s var(--ease);
}
.ajm-step:hover .ajm-step__num{ -webkit-text-stroke-color:rgba(198,161,92,.6); }
.ajm-step h3{ color:var(--gold); font-size:1.12rem; margin-bottom:.6em; position:relative; }
.ajm-step p{ font-size:.92rem; color:var(--muted); position:relative; }

/* --------------------------------------------------------------------------
   13. Zespół
   -------------------------------------------------------------------------- */
.ajm-person{
  display:grid;
  /* stała szerokość kolumny ze zdjęciem — wszystkie portrety są identyczne */
  grid-template-columns:minmax(0,420px) minmax(0,1fr);
  gap:clamp(28px,4vw,60px); align-items:center;
}
.ajm-person + .ajm-person{ margin-top:clamp(48px,6vw,96px); }
/* nth-of-type, nie nth-child — nagłówek sekcji nie może psuć naprzemienności */
.ajm-person:nth-of-type(even){
  grid-template-columns:minmax(0,1fr) minmax(0,420px);
}
.ajm-person:nth-of-type(even) .ajm-person__photo{ order:2; }
.ajm-person__photo{ width:100%; }
.ajm-person__photo img{
  width:100%; aspect-ratio:4/5; object-fit:cover; display:block;
}
.ajm-person__role{
  font-family:var(--font-mono); font-size:.66rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--gold); margin-bottom:6px; display:block;
}
.ajm-person h3{ font-size:clamp(1.7rem,2.6vw,2.3rem); margin-bottom:.5em; }
.ajm-person__meta{
  margin-top:24px; display:flex; flex-wrap:wrap; gap:10px 26px;
  font-family:var(--font-mono); font-size:.78rem;
}
.ajm-person__meta a{ color:var(--gold); display:inline-flex; align-items:center; gap:8px; }
.ajm-person__meta a:hover{ color:var(--gold-bright); }
.ajm-person__quote{
  margin-top:22px; padding-left:20px; border-left:2px solid var(--gold-hair);
  font-family:var(--font-serif); font-style:italic; font-size:1.12rem; color:var(--cream);
}

/* --------------------------------------------------------------------------
   14. FAQ
   -------------------------------------------------------------------------- */
.ajm-faq{ max-width:880px; margin-inline:auto; }
.ajm-faq__item{ border-bottom:1px solid var(--hair); }
.ajm-faq__q{
  width:100%; display:flex; align-items:center; gap:20px; justify-content:space-between;
  padding:26px 4px; text-align:left;
  font-family:var(--font-display); font-weight:600; font-size:clamp(1rem,1.35vw,1.16rem);
  color:var(--white); letter-spacing:-.01em;
  transition:color .3s var(--ease);
}
.ajm-faq__q:hover{ color:var(--gold); }
.ajm-faq__item.is-open .ajm-faq__q{ color:var(--gold); }
.ajm-faq__icon{
  flex:0 0 26px; height:26px; position:relative; border-radius:50%;
  box-shadow:inset 0 0 0 1px var(--hair-strong); transition:all .35s var(--ease);
}
.ajm-faq__icon::before,.ajm-faq__icon::after{
  content:""; position:absolute; inset:50% 7px auto; height:1.5px; background:currentColor;
  transform:translateY(-50%); transition:transform .35s var(--ease-out);
}
.ajm-faq__icon::after{ transform:translateY(-50%) rotate(90deg); }
.ajm-faq__item.is-open .ajm-faq__icon{ box-shadow:inset 0 0 0 1px var(--gold); }
.ajm-faq__item.is-open .ajm-faq__icon::after{ transform:translateY(-50%) rotate(0deg); }
.ajm-faq__a{ overflow:hidden; height:0; transition:height .45s var(--ease-out); }
.ajm-faq__a-inner{ padding:0 60px 30px 4px; color:var(--muted); font-size:.97rem; }
.ajm-faq__a-inner p{ margin-bottom:.9em; }

.ajm-faq-groups{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:34px; }

/* --------------------------------------------------------------------------
   15. Opinie
   -------------------------------------------------------------------------- */
.ajm-quote{
  padding:clamp(26px,3vw,38px);
  background:linear-gradient(165deg,var(--panel-2),var(--panel));
  border:1px solid var(--hair); border-radius:var(--radius);
  display:flex; flex-direction:column; gap:18px;
}
.ajm-quote__mark{ font-family:var(--font-serif); font-size:3.4rem; line-height:.6; color:var(--gold); opacity:.5; }
.ajm-quote p{ font-size:.98rem; color:var(--text); }
.ajm-quote__author{ margin-top:auto; display:flex; align-items:center; gap:14px; }
.ajm-quote__author img{ width:44px; height:44px; border-radius:50%; object-fit:cover; }
.ajm-quote__name{ color:var(--white); font-weight:600; font-size:.94rem; }
.ajm-quote__role{ font-family:var(--font-mono); font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.ajm-stars{ display:flex; gap:3px; color:var(--gold); }
.ajm-stars svg{ width:14px; height:14px; }

/* --------------------------------------------------------------------------
   16. Kontakt / formularz
   -------------------------------------------------------------------------- */
.ajm-contact{ display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(32px,4vw,64px); align-items:start; }
.ajm-contact__rows{ display:grid; gap:2px; margin-top:0; }
.ajm-contact-row{
  display:flex; align-items:center; gap:18px; padding:20px 0;
  border-bottom:1px solid var(--hair);
}
.ajm-contact-row__icon{
  flex:0 0 42px; height:42px; border-radius:10px; display:grid; place-items:center;
  color:var(--gold); box-shadow:inset 0 0 0 1px var(--gold-hair); background:rgba(198,161,92,.07);
}
.ajm-contact-row__icon svg{ width:18px; height:18px; }
.ajm-contact-row__k{
  font-family:var(--font-mono); font-size:.62rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--muted); margin-bottom:3px;
}
.ajm-contact-row__v{ color:var(--white); font-size:1.02rem; font-weight:500; }
.ajm-contact-row__v a:hover{ color:var(--gold); }

.ajm-contact__title{ font-size:clamp(1.5rem,2.2vw,1.95rem); margin-bottom:1.1em; }

/* osoby obok siebie, zdjęcie nad nazwiskiem — układ z pierwotnego projektu */
.ajm-people{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px 24px; margin:0 0 34px;
}
.ajm-people__card{ display:flex; flex-direction:column; align-items:flex-start; gap:12px; min-width:0; }
.ajm-people__card img{
  width:52px; height:52px; border-radius:50%; object-fit:cover;
  box-shadow:0 0 0 1px var(--gold-hair);
}
.ajm-people__name{
  color:var(--white); font-weight:600; font-size:.86rem;
  letter-spacing:.05em; text-transform:uppercase; line-height:1.35;
}
.ajm-people__role{
  font-family:var(--font-mono); font-size:.6rem; letter-spacing:.18em;
  color:var(--gold); text-transform:uppercase; margin-top:4px;
}
.ajm-people__phone{
  display:inline-block; margin-top:10px;
  font-family:var(--font-mono); font-size:.82rem; color:var(--text);
  transition:color .3s var(--ease);
}
.ajm-people__phone:hover{ color:var(--gold); }

/* adres i godziny — dyskretny dopisek, bez powielania danych ze stopki */
.ajm-contact__meta{
  display:flex; flex-wrap:wrap; gap:8px 26px; margin-top:20px;
  font-family:var(--font-mono); font-size:.7rem; color:var(--muted);
}
.ajm-contact__meta span{ display:inline-flex; align-items:center; gap:8px; }
.ajm-contact__meta svg{ color:var(--gold); flex-shrink:0; }

@media (max-width:520px){
  .ajm-people{ grid-template-columns:1fr; gap:22px; }
}

.ajm-note{
  display:flex; align-items:center; gap:12px; margin-top:26px;
  padding:16px 20px; border-radius:10px;
  background:rgba(198,161,92,.07); border-left:2px solid var(--gold);
  font-size:.9rem; color:var(--cream);
}

.ajm-form{
  padding:clamp(26px,3vw,40px);
  background:linear-gradient(165deg,var(--panel-2),var(--panel));
  border:1px solid var(--hair); border-radius:var(--radius-lg);
}
.ajm-form h3{ margin-bottom:1.2em; }
.ajm-field{ margin-bottom:20px; }
.ajm-field label{
  display:block; margin-bottom:9px;
  font-family:var(--font-mono); font-size:.64rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--muted);
}
.ajm-field label span{ color:var(--gold); }
.ajm-field input,.ajm-field textarea,.ajm-field select{
  width:100%; padding:15px 17px;
  background:rgba(255,255,255,.03);
  border:1px solid var(--hair); border-radius:9px;
  color:var(--white); font-size:.95rem;
  transition:border-color .3s var(--ease), background .3s var(--ease), box-shadow .3s var(--ease);
}
.ajm-field textarea{ min-height:132px; resize:vertical; }
.ajm-field input::placeholder,.ajm-field textarea::placeholder{ color:#5C6673; }
.ajm-field input:focus,.ajm-field textarea:focus,.ajm-field select:focus{
  outline:none; border-color:var(--gold);
  background:rgba(255,255,255,.05);
  box-shadow:0 0 0 3px rgba(198,161,92,.12);
}
.ajm-field--row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.ajm-consent{ display:flex; gap:12px; align-items:flex-start; font-size:.8rem; color:var(--muted); margin-bottom:22px; }
.ajm-consent input{ width:18px; height:18px; margin-top:2px; accent-color:var(--gold); flex-shrink:0; }
.ajm-hp{ position:absolute!important; left:-9999px; }
.ajm-form__msg{
  margin-top:18px; padding:14px 18px; border-radius:9px; font-size:.9rem; display:none;
}
.ajm-form__msg.is-ok{ display:block; background:rgba(79,191,135,.12); color:#8FE3B8; border:1px solid rgba(79,191,135,.3); }
.ajm-form__msg.is-err{ display:block; background:rgba(224,90,90,.12); color:#F0A5A5; border:1px solid rgba(224,90,90,.3); }
.ajm-btn.is-loading{ pointer-events:none; opacity:.65; }

/* --------------------------------------------------------------------------
   17. Pasy CTA
   -------------------------------------------------------------------------- */
.ajm-cta{
  position:relative; overflow:hidden;
  background:var(--ink);
  padding-block:clamp(60px,7vw,110px);
  text-align:center;
}
.ajm-cta::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(ellipse 60% 100% at 50% 100%, rgba(198,161,92,.14), transparent 70%);
}
.ajm-cta__inner{ position:relative; }
.ajm-cta h2{ max-width:20ch; margin-inline:auto; }
.ajm-cta .ajm-lead{ margin-inline:auto; text-align:center; }
.ajm-cta .ajm-btn{ margin-top:32px; }

.ajm-social-band{
  background:linear-gradient(135deg, var(--gold) 0%, #D8B676 45%, var(--gold) 100%);
  color:#14100A; text-align:center;
  padding-block:clamp(48px,6vw,84px);
  position:relative; overflow:hidden;
}
.ajm-social-band::after{
  content:""; position:absolute; inset:0;
  background:repeating-linear-gradient(115deg, rgba(255,255,255,.07) 0 2px, transparent 2px 9px);
  pointer-events:none;
}
.ajm-social-band h2{ color:#12100C; position:relative; }
.ajm-social-band p{ color:rgba(20,16,10,.78); max-width:56ch; margin-inline:auto; position:relative; }
.ajm-social-band__btns{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:28px; position:relative; }

/* --------------------------------------------------------------------------
   18. Stopka
   -------------------------------------------------------------------------- */
.ajm-footer{ background:var(--ink); position:relative; }
.ajm-footer::before{
  content:""; position:absolute; inset:0 0 auto; height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-hair),transparent);
}
.ajm-footer__top{
  display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:clamp(28px,3.4vw,56px);
  padding-block:clamp(56px,6vw,88px);
}
.ajm-footer__brand img{ height:66px; width:auto; margin-bottom:22px; }
.ajm-footer__brand p{ font-size:.9rem; color:var(--muted); max-width:34ch; }
.ajm-footer h4{
  font-family:var(--font-mono); font-size:.68rem; font-weight:500;
  letter-spacing:.24em; text-transform:uppercase; color:var(--gold);
  margin-bottom:22px; padding-bottom:12px; border-bottom:1px solid var(--hair);
}
.ajm-footer__col + .ajm-footer__col h4:not(:first-child){ margin-top:34px; }
.ajm-footer ul li{ margin-bottom:11px; }
.ajm-footer ul a{
  font-size:.9rem; color:var(--muted);
  display:inline-flex; align-items:center; gap:8px;
  transition:color .3s var(--ease), gap .3s var(--ease);
}
.ajm-footer ul a::before{
  content:""; width:0; height:1px; background:var(--gold); transition:width .3s var(--ease);
}
.ajm-footer ul a:hover{ color:var(--gold); }
.ajm-footer ul a:hover::before{ width:12px; }

.ajm-footer__contact li{
  display:flex; gap:12px; align-items:flex-start; font-size:.9rem; color:var(--muted); margin-bottom:14px;
}
.ajm-footer__contact svg{ width:15px; height:15px; color:var(--gold); flex-shrink:0; margin-top:5px; }
.ajm-footer__contact a:hover{ color:var(--gold); }

.ajm-footer__social{ display:flex; gap:10px; margin-top:24px; }
.ajm-footer__social a{
  display:inline-flex; align-items:center; gap:9px;
  padding:9px 15px; border-radius:8px; font-size:.78rem; font-weight:600;
  box-shadow:inset 0 0 0 1px var(--hair); color:var(--white);
  transition:all .3s var(--ease);
}
.ajm-footer__social a:hover{ background:var(--gold); color:var(--ink); box-shadow:none; transform:translateY(-2px); }
.ajm-footer__social svg{ width:15px; height:15px; }

.ajm-footer__hours{
  margin-top:26px; padding:16px 18px; border-radius:10px;
  background:rgba(255,255,255,.025); border:1px solid var(--hair);
  font-family:var(--font-mono); font-size:.72rem; color:var(--muted); line-height:2;
}
.ajm-footer__hours b{ color:var(--cream); font-weight:500; }

.ajm-footer__bottom{
  border-top:1px solid var(--hair);
  padding-block:24px;
  display:flex; flex-wrap:wrap; gap:14px 28px; align-items:center; justify-content:space-between;
  font-family:var(--font-mono); font-size:.7rem; letter-spacing:.06em; color:#6C7684;
}
.ajm-footer__bottom nav{ display:flex; flex-wrap:wrap; gap:8px 22px; }
.ajm-footer__bottom a:hover{ color:var(--gold); }

.ajm-totop{
  position:fixed; right:22px; bottom:22px; z-index:800;
  width:46px; height:46px; border-radius:12px; display:grid; place-items:center;
  background:var(--gold); color:var(--ink);
  opacity:0; visibility:hidden; transform:translateY(14px);
  transition:all .4s var(--ease-out); box-shadow:var(--shadow-gold);
}
.ajm-totop.is-visible{ opacity:1; visibility:visible; transform:translateY(0); }
.ajm-totop:hover{ transform:translateY(-3px); }

/* --------------------------------------------------------------------------
   19. Lightbox
   -------------------------------------------------------------------------- */
.ajm-lightbox{
  position:fixed; inset:0; z-index:1000;
  background:rgba(5,7,10,.96); backdrop-filter:blur(10px);
  display:flex; align-items:center; justify-content:center; padding:60px 20px;
  opacity:0; visibility:hidden; transition:opacity .35s var(--ease), visibility .35s;
}
.ajm-lightbox.is-open{ opacity:1; visibility:visible; }
.ajm-lightbox img{
  max-width:min(1200px,92vw); max-height:82vh; object-fit:contain;
  border-radius:8px; box-shadow:0 40px 90px -30px rgba(0,0,0,.9);
}
.ajm-lightbox__close,.ajm-lightbox__nav{
  position:absolute; width:48px; height:48px; border-radius:50%;
  display:grid; place-items:center; color:var(--white);
  box-shadow:inset 0 0 0 1px var(--hair-strong); background:rgba(255,255,255,.04);
  transition:all .3s var(--ease);
}
.ajm-lightbox__close{ top:22px; right:22px; }
.ajm-lightbox__nav--prev{ left:22px; top:50%; transform:translateY(-50%); }
.ajm-lightbox__nav--next{ right:22px; top:50%; transform:translateY(-50%); }
.ajm-lightbox__close:hover,.ajm-lightbox__nav:hover{ background:var(--gold); color:var(--ink); }
.ajm-lightbox__count{
  position:absolute; bottom:24px; left:50%; transform:translateX(-50%);
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.2em; color:var(--muted);
}

/* --------------------------------------------------------------------------
   20. Treść stron (edytor)
   -------------------------------------------------------------------------- */
.ajm-content{ max-width:820px; }
.ajm-content--center{ margin-inline:auto; }
.ajm-content h2{ margin-top:1.6em; }
.ajm-content h3{ margin-top:1.4em; }
.ajm-content ul{ list-style:none; margin:0 0 1.4em; display:grid; gap:10px; }
.ajm-content ul li{ position:relative; padding-left:26px; }
.ajm-content ul li::before{
  content:""; position:absolute; left:0; top:11px; width:8px; height:8px;
  background:var(--gold); transform:rotate(45deg); border-radius:2px;
}
.ajm-content ol{ list-style:decimal; padding-left:22px; margin:0 0 1.4em; display:grid; gap:10px; }
.ajm-content ol::marker{ color:var(--gold); }
.ajm-content a{ color:var(--gold); text-decoration:underline; text-underline-offset:3px; }
.ajm-content blockquote{
  margin:1.8em 0; padding:4px 0 4px 26px; border-left:2px solid var(--gold);
  font-family:var(--font-serif); font-style:italic; font-size:1.3rem; color:var(--cream);
}
.ajm-content img{ border-radius:12px; margin-block:1.6em; }
.ajm-content table{ width:100%; border-collapse:collapse; margin-block:1.6em; font-size:.92rem; }
.ajm-content th,.ajm-content td{ padding:12px 14px; border-bottom:1px solid var(--hair); text-align:left; }
.ajm-content th{ font-family:var(--font-mono); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); }

/* paginacja */
.ajm-pagination{ display:flex; justify-content:center; gap:8px; margin-top:56px; }
.ajm-pagination .page-numbers{
  min-width:42px; height:42px; display:grid; place-items:center; padding:0 12px;
  border-radius:9px; box-shadow:inset 0 0 0 1px var(--hair); font-size:.86rem;
  transition:all .3s var(--ease);
}
.ajm-pagination .page-numbers:hover{ box-shadow:inset 0 0 0 1px var(--gold-hair); color:var(--white); }
.ajm-pagination .current{ background:var(--gold); color:var(--ink); box-shadow:none; font-weight:700; }

/* --------------------------------------------------------------------------
   21. Animacje wejścia
   -------------------------------------------------------------------------- */
[data-reveal]{
  opacity:0; transform:translateY(26px);
  transition:opacity .8s var(--ease-out), transform .8s var(--ease-out);
  transition-delay:var(--delay,0ms);
}
[data-reveal].is-in{ opacity:1; transform:none; }
[data-reveal="left"]{ transform:translateX(-30px); }
[data-reveal="right"]{ transform:translateX(30px); }
[data-reveal="scale"]{ transform:scale(.96); }

.ajm-preloader{
  position:fixed; inset:0; z-index:2000;
  background:var(--ink); display:grid; place-items:center;
  transition:opacity .7s var(--ease), visibility .7s;
}
.ajm-preloader.is-done{ opacity:0; visibility:hidden; }
.ajm-preloader__mark{
  font-family:var(--font-serif); font-size:1.6rem; letter-spacing:.4em;
  color:var(--cream); text-transform:uppercase; padding-left:.4em;
}
.ajm-preloader__bar{ width:190px; height:1px; background:var(--hair); margin-top:22px; overflow:hidden; }
.ajm-preloader__bar i{
  display:block; height:100%; width:100%; background:var(--gold);
  transform:scaleX(0); transform-origin:left; animation:ajmLoad 1.1s var(--ease-out) forwards;
}
@keyframes ajmLoad{ to{ transform:scaleX(1); } }

/* --------------------------------------------------------------------------
   22. Responsywność
   -------------------------------------------------------------------------- */
@media (max-width:1180px){
  .ajm-nav a{ padding:9px 10px; font-size:.72rem; }
  .ajm-brand img{ height:52px; }
}
@media (max-width:1024px){
  .ajm-nav,.ajm-header__aside .ajm-social{ display:none; }
  .ajm-burger{ display:block; }
  .ajm-grid--4{ grid-template-columns:repeat(2,1fr); }
  .ajm-projects[data-view="grid"]{ grid-template-columns:repeat(2,1fr); }
  .ajm-footer__top{ grid-template-columns:repeat(2,1fr); }
  .ajm-contact{ grid-template-columns:1fr; }
}
@media (max-width:860px){
  .ajm-split,.ajm-split--wide-left,.ajm-split--wide-right{ grid-template-columns:1fr; }
  .ajm-split .ajm-frame{ order:-1; }
  .ajm-grid--3{ grid-template-columns:1fr; }
  .ajm-steps{ grid-template-columns:1fr; }
  .ajm-service,[data-view="list"] .ajm-project{ grid-template-columns:1fr; }
  [data-view="list"] .ajm-project__media,
  [data-view="list"] .ajm-project.is-flip .ajm-project__media{ grid-column:1; grid-row:1; }
  [data-view="list"] .ajm-project__body,
  [data-view="list"] .ajm-project.is-flip .ajm-project__body{ grid-column:1; grid-row:2; }
  [data-view="list"] .ajm-tour{ grid-row:3; }
  .ajm-service__media,
  .ajm-service:nth-of-type(even) .ajm-service__media{ grid-column:1; grid-row:1; }
  .ajm-service__body,
  .ajm-service:nth-of-type(even) .ajm-service__body{ grid-column:1; grid-row:2; }
  .ajm-refs{ grid-row:3; }
  .ajm-person,
  .ajm-person:nth-of-type(even){ grid-template-columns:minmax(0,1fr); }
  .ajm-person:nth-of-type(even) .ajm-person__photo{ order:-1; }
  .ajm-person__photo{ max-width:420px; margin-inline:auto; }
  .ajm-hero__stats{ grid-template-columns:repeat(2,1fr); gap:32px 16px; }
}
@media (max-width:640px){
  :root{ --gutter:18px; }
  .ajm-grid--2,.ajm-grid--4{ grid-template-columns:1fr; }
  .ajm-projects[data-view="grid"]{ grid-template-columns:1fr; }
  .ajm-footer__top{ grid-template-columns:1fr; }
  .ajm-footer__bottom{ flex-direction:column; text-align:center; }
  .ajm-hero__actions .ajm-btn{ width:100%; }
  .ajm-field--row{ grid-template-columns:1fr; }
  .ajm-faq__a-inner{ padding-right:10px; }
  .ajm-viewswitch{ display:none; }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important; animation-iteration-count:1!important;
    transition-duration:.001ms!important; scroll-behavior:auto!important;
  }
  [data-reveal]{ opacity:1!important; transform:none!important; }
  .ajm-preloader{ display:none; }
}

/* pasek admina WP */
.admin-bar .ajm-header{ top:32px; }
.admin-bar .ajm-drawer{ top:32px; }
@media (max-width:782px){
  .admin-bar .ajm-header{ top:46px; }
  .admin-bar .ajm-drawer{ top:46px; }
}

/* druk */
@media print{
  .ajm-header,.ajm-footer,.ajm-cta,.ajm-social-band,.ajm-totop{ display:none!important; }
  body{ background:#fff; color:#000; }
}
