/* ============================================================
   Odvetnik Felicijan Pristovšek — custom styles on top of Tailwind
   Warm, light, premium law-firm redesign
   ============================================================ */

:root{
  --ink:        #16222f;   /* deep navy ink */
  --ink-soft:   #3a4b5c;
  --brass:      #b0842f;   /* warm brass/gold accent */
  --brass-dark: #8f6a22;
  --brass-tint: #f3e7cd;
  --cream:      #faf6ef;   /* airy background */
  --sand:       #f3ecdf;
  --line:       #e7dcc8;
  --white:      #ffffff;
  --teal:       #2b6b64;   /* subtle coastal secondary */
  --shadow-sm:  0 2px 10px rgba(22,34,47,.06);
  --shadow-md:  0 18px 45px -22px rgba(22,34,47,.35);
  --shadow-lg:  0 40px 80px -40px rgba(22,34,47,.45);
}

*{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--ink);
  background:var(--cream);
  margin:0;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

h1,h2,h3,h4,.font-display{
  font-family:'Fraunces','Fraunces',Georgia,serif;
  font-weight:600;
  line-height:1.08;
  letter-spacing:-.01em;
  color:var(--ink);
}

a{ color:inherit; text-decoration:none; }

img{ max-width:100%; display:block; }

.container{
  width:100%;
  max-width:1180px;
  margin-inline:auto;
  padding-inline:clamp(1.15rem,4vw,2.5rem);
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  font-family:'Inter',sans-serif;
  font-weight:600;
  font-size:.74rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--brass-dark);
}
.eyebrow::before{
  content:"";
  width:26px;height:1.5px;
  background:var(--brass);
  display:inline-block;
}
.eyebrow.center::after{
  content:"";
  width:26px;height:1.5px;
  background:var(--brass);
  display:inline-block;
}

.section{ padding-block:clamp(3.75rem,8vw,7rem); }

.lead{ font-size:clamp(1.05rem,2vw,1.22rem); color:var(--ink-soft); }

.h-title{ font-size:clamp(2rem,5vw,3.35rem); }
.h-xl{ font-size:clamp(2.6rem,7vw,5.1rem); }

/* ---------- Buttons ---------- */
.btn{
  --btn-bg:var(--brass);
  --btn-fg:#fff;
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  gap:.6rem;
  font-weight:600;
  font-size:.95rem;
  letter-spacing:.01em;
  padding:.92rem 1.6rem;
  border-radius:999px;
  background:var(--btn-bg);
  color:var(--btn-fg);
  border:1.5px solid var(--btn-bg);
  cursor:pointer;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
  box-shadow:0 12px 26px -14px rgba(176,132,47,.9);
}
.btn:hover{ transform:translateY(-2px); background:var(--brass-dark); border-color:var(--brass-dark); }
.btn svg{ width:18px;height:18px; }

.btn-ghost{
  --btn-bg:transparent;
  --btn-fg:var(--ink);
  border-color:rgba(22,34,47,.22);
  box-shadow:none;
}
.btn-ghost:hover{ background:var(--ink); color:#fff; border-color:var(--ink); transform:translateY(-2px); }

.btn-light{
  --btn-bg:#fff;
  --btn-fg:var(--ink);
  border-color:#fff;
  box-shadow:0 12px 26px -14px rgba(0,0,0,.5);
}
.btn-light:hover{ background:var(--cream); border-color:var(--cream); }

.btn-outline-light{
  --btn-bg:transparent;
  --btn-fg:#fff;
  border-color:rgba(255,255,255,.55);
  box-shadow:none;
}
.btn-outline-light:hover{ background:rgba(255,255,255,.12); border-color:#fff; transform:translateY(-2px); }

/* ---------- Header / Nav ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:60;
  background:rgba(250,246,239,.82);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .3s ease, box-shadow .3s ease, background .3s ease;
}
.site-header.scrolled{
  border-color:var(--line);
  box-shadow:var(--shadow-sm);
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.9rem;
  height:76px;
}
.brand{ display:flex; align-items:center; gap:.72rem; min-width:0; }
.brand__logo{ height:42px; width:auto; border-radius:6px; }
.brand__text{ display:flex; flex-direction:column; line-height:1.05; }
.brand__name{
  font-family:'Fraunces',serif;
  font-weight:600;
  font-size:1rem;
  color:var(--ink);
  letter-spacing:-.01em;
  white-space:nowrap;
}
.brand__sub{
  font-size:.63rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--brass-dark);
  font-weight:600;
}

.nav__links{ display:flex; align-items:center; gap:.1rem; }
.nav__links a{
  position:relative;
  padding:.5rem .62rem;
  font-size:.9rem;
  font-weight:500;
  white-space:nowrap;
  color:var(--ink-soft);
  border-radius:8px;
  transition:color .2s ease, background .2s ease;
}
.nav__links a:hover{ color:var(--ink); }
.nav__links a.active{ color:var(--ink); font-weight:600; }
.nav__links a.active::after{
  content:"";
  position:absolute;
  left:.85rem;right:.85rem;bottom:.28rem;
  height:2px;border-radius:2px;
  background:var(--brass);
}
.nav__cta{ display:flex; align-items:center; gap:.6rem; }
.nav__phone{
  display:inline-flex; align-items:center; gap:.45rem;
  font-weight:600; font-size:.88rem; color:var(--ink);
  white-space:nowrap;
}
.nav__phone svg{ width:17px;height:17px;color:var(--brass); }

.nav__toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  width:44px;height:44px;
  align-items:center;justify-content:center;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  cursor:pointer;
}
.nav__toggle span{ width:20px;height:2px;background:var(--ink);border-radius:2px;transition:.3s; }
.nav__toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav__toggle.open span:nth-child(2){ opacity:0; }
.nav__toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.mobile-menu{
  position:fixed;
  inset:76px 0 auto 0;
  background:var(--cream);
  border-bottom:1px solid var(--line);
  padding:1rem clamp(1.15rem,4vw,2.5rem) 1.75rem;
  transform:translateY(-140%);
  transition:transform .4s cubic-bezier(.16,1,.3,1);
  z-index:55;
  box-shadow:var(--shadow-md);
}
.mobile-menu.open{ transform:translateY(0); }
.mobile-menu a{
  display:block;
  padding:.9rem .4rem;
  font-size:1.05rem;
  font-weight:500;
  border-bottom:1px solid var(--line);
  color:var(--ink);
}
.mobile-menu a.active{ color:var(--brass-dark); font-weight:600; }
.mobile-menu .btn{ margin-top:1.25rem; width:100%; justify-content:center; }
.mobile-menu .mobile-lang a{ border-bottom:0; }

/* ---------- Language switcher ---------- */
.lang{ position:relative; }
.lang summary{
  list-style:none; cursor:pointer;
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.5rem .7rem; border:1px solid var(--line); border-radius:999px;
  font-weight:600; font-size:.85rem; letter-spacing:.02em; color:var(--ink);
  background:#fff; white-space:nowrap; transition:border-color .2s ease, background .2s ease;
}
.lang summary:hover{ border-color:var(--brass); }
.lang summary::-webkit-details-marker{ display:none; }
.lang summary .globe{ width:16px;height:16px;color:var(--brass-dark); }
.lang summary .chev{ width:15px;height:15px;color:var(--ink-soft); transition:transform .25s ease; }
.lang[open] summary .chev{ transform:rotate(180deg); }
.lang__menu{
  position:absolute; right:0; top:calc(100% + .55rem); z-index:70;
  background:#fff; border:1px solid var(--line); border-radius:14px;
  box-shadow:var(--shadow-md); padding:.4rem; min-width:180px; display:grid; gap:.1rem;
}
.lang__menu a{ padding:.6rem .75rem; border-radius:9px; font-size:.92rem; font-weight:500; color:var(--ink-soft); white-space:nowrap; }
.lang__menu a:hover{ background:var(--sand); color:var(--ink); }
.lang__menu a.active{ color:var(--brass-dark); font-weight:600; }

.mobile-lang{ display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; margin-top:1.35rem; padding-top:1.2rem; border-top:1px solid var(--line); }
.mobile-lang__label{ width:100%; font-size:.76rem; text-transform:uppercase; letter-spacing:.16em; color:var(--brass-dark); font-weight:600; margin-bottom:.3rem; }
.mobile-lang a{ padding:.45rem .85rem; border:1px solid var(--line); border-radius:999px; font-size:.85rem; font-weight:600; color:var(--ink); }
.mobile-lang a.active{ background:var(--ink); color:#fff; border-color:var(--ink); }

/* ---------- Hero ---------- */
.hero{
  position:relative;
  min-height:clamp(560px,88vh,820px);
  display:flex;
  align-items:center;
  color:#fff;
  overflow:hidden;
}
.hero__bg{ position:absolute; inset:0; z-index:0; }
.hero__bg img{ width:100%; height:100%; object-fit:cover; object-position:center; }
.hero__bg::after{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(100deg, rgba(16,25,35,.78) 0%, rgba(16,25,35,.45) 42%, rgba(16,25,35,.12) 78%),
    linear-gradient(to top, rgba(16,25,35,.55), rgba(16,25,35,0) 45%);
}
.hero__inner{ position:relative; z-index:2; padding-block:6rem; max-width:720px; }
.hero .eyebrow{ color:#f0d9a6; }
.hero .eyebrow::before{ background:var(--brass); }
.hero h1{ color:#fff; margin:1.1rem 0 1.3rem; }
.hero p{ color:rgba(255,255,255,.9); font-size:clamp(1.05rem,2vw,1.28rem); max-width:33rem; }
.hero__actions{ display:flex; flex-wrap:wrap; gap:.9rem; margin-top:2rem; }
.hero__meta{
  display:flex; flex-wrap:wrap; gap:1.75rem;
  margin-top:2.75rem; padding-top:1.75rem;
  border-top:1px solid rgba(255,255,255,.18);
}
.hero__meta div span{ display:block; }
.hero__meta .num{ font-family:'Fraunces',serif; font-size:1.7rem; color:#fff; font-weight:600; }
.hero__meta .lbl{ font-size:.82rem; color:rgba(255,255,255,.72); letter-spacing:.02em; }

/* page hero (interior) */
.pagehero{
  position:relative; color:#fff; overflow:hidden;
  padding-block:clamp(4.5rem,10vw,7.5rem);
  display:flex; align-items:center;
}
.pagehero__bg{ position:absolute; inset:0; z-index:0; }
.pagehero__bg img{ width:100%;height:100%;object-fit:cover; }
.pagehero__bg::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(16,25,35,.86), rgba(16,25,35,.55));
}
.pagehero__inner{ position:relative; z-index:2; max-width:680px; }
.pagehero h1{ color:#fff; margin:1rem 0 .9rem; }
.pagehero p{ color:rgba(255,255,255,.88); }
.crumbs{ font-size:.85rem; color:rgba(255,255,255,.72); }
.crumbs a:hover{ color:#fff; }

/* ---------- Generic section header ---------- */
.sec-head{ max-width:640px; }
.sec-head.center{ margin-inline:auto; text-align:center; }
.sec-head h2{ margin:.9rem 0 .8rem; }

/* ---------- Cards / grids ---------- */
.grid{ display:grid; gap:1.5rem; }
.grid-2{ grid-template-columns:repeat(2,1fr); }
.grid-3{ grid-template-columns:repeat(3,1fr); }
.grid-4{ grid-template-columns:repeat(4,1fr); }

.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:2rem 1.85rem;
  box-shadow:var(--shadow-sm);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  height:100%;
}
.card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-md); border-color:var(--brass-tint); }
.card__icon{
  width:54px;height:54px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:var(--brass-tint);
  color:var(--brass-dark);
  margin-bottom:1.25rem;
}
.card__icon svg{ width:26px;height:26px; }
.card h3{ font-size:1.28rem; margin:0 0 .55rem; }
.card p{ color:var(--ink-soft); font-size:.97rem; margin:0; }
.card__link{
  display:inline-flex;align-items:center;gap:.4rem;
  margin-top:1.1rem; font-weight:600; font-size:.9rem; color:var(--brass-dark);
}
.card__link svg{ width:16px;height:16px; transition:transform .25s ease; }
.card:hover .card__link svg{ transform:translateX(4px); }

/* practice list (podrocja) */
.pa{
  display:flex; gap:1.4rem;
  background:#fff; border:1px solid var(--line); border-radius:18px;
  padding:2rem; box-shadow:var(--shadow-sm);
  transition:transform .3s ease, box-shadow .3s ease;
  height:100%;
}
.pa:hover{ transform:translateY(-5px); box-shadow:var(--shadow-md); }
.pa__icon{
  flex:none;width:52px;height:52px;border-radius:13px;
  display:flex;align-items:center;justify-content:center;
  background:var(--ink); color:#f0d9a6;
}
.pa__icon svg{ width:25px;height:25px; }
.pa h3{ font-size:1.2rem; margin:.1rem 0 .5rem; }
.pa p{ margin:0 0 .9rem; color:var(--ink-soft); font-size:.95rem; }
.pa ul{ margin:0; padding:0; list-style:none; display:grid; gap:.4rem; }
.pa li{ display:flex; gap:.55rem; font-size:.9rem; color:var(--ink-soft); }
.pa li svg{ width:16px;height:16px;color:var(--brass);flex:none;margin-top:.28rem; }

/* ---------- Split / feature ---------- */
.split{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.media-frame{ position:relative; }
.media-frame img{ border-radius:20px; box-shadow:var(--shadow-lg); width:100%; object-fit:cover; }
.media-frame.tall img{ aspect-ratio:4/5; }
.media-frame::before{
  content:""; position:absolute; inset:auto -18px -18px auto;
  width:62%; height:62%; border-radius:20px;
  background:var(--brass-tint); z-index:-1;
}
.media-badge{
  position:absolute; left:-22px; bottom:26px;
  background:#fff; border:1px solid var(--line); border-radius:16px;
  padding:1rem 1.25rem; box-shadow:var(--shadow-md);
  display:flex; align-items:center; gap:.85rem; max-width:250px;
}
.media-badge .ico{
  width:42px;height:42px;border-radius:11px;flex:none;
  background:var(--brass);color:#fff;display:flex;align-items:center;justify-content:center;
}
.media-badge .ico svg{ width:22px;height:22px; }
.media-badge b{ font-family:'Fraunces',serif; font-size:1.05rem; display:block; }
.media-badge span{ font-size:.8rem; color:var(--ink-soft); }

.check-list{ list-style:none; margin:1.6rem 0 0; padding:0; display:grid; gap:.95rem; }
.check-list li{ display:flex; gap:.75rem; align-items:flex-start; }
.check-list .tick{
  width:26px;height:26px;border-radius:50%;flex:none;margin-top:.1rem;
  background:var(--brass-tint);color:var(--brass-dark);
  display:flex;align-items:center;justify-content:center;
}
.check-list .tick svg{ width:15px;height:15px; }
.check-list b{ font-weight:600; }
.check-list p{ margin:.1rem 0 0; font-size:.93rem; color:var(--ink-soft); }

/* ---------- Values / dark band ---------- */
.band-dark{ background:var(--ink); color:#fff; position:relative; overflow:hidden; }
.band-dark h2{ color:#fff; }
.band-dark .lead{ color:rgba(255,255,255,.8); }
.band-dark .eyebrow{ color:#f0d9a6; }
.value{
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px; padding:1.75rem;
  background:rgba(255,255,255,.03);
  transition:background .3s ease, border-color .3s ease, transform .3s ease;
  height:100%;
}
.value:hover{ background:rgba(255,255,255,.06); border-color:rgba(240,217,166,.4); transform:translateY(-4px); }
.value .ico{ color:#f0d9a6; margin-bottom:1rem; }
.value .ico svg{ width:30px;height:30px; }
.value h3{ color:#fff; font-size:1.2rem; margin:0 0 .5rem; }
.value p{ color:rgba(255,255,255,.72); font-size:.94rem; margin:0; }

/* ---------- Stats ---------- */
.stat{ text-align:center; }
.stat .num{ font-family:'Fraunces',serif; font-size:clamp(2.4rem,5vw,3.4rem); font-weight:600; color:var(--brass-dark); line-height:1; }
.band-dark .stat .num{ color:#f0d9a6; }
.stat .lbl{ margin-top:.5rem; font-size:.9rem; color:var(--ink-soft); }
.band-dark .stat .lbl{ color:rgba(255,255,255,.7); }

/* ---------- Steps ---------- */
.step{ position:relative; padding-left:0; }
.step .no{
  font-family:'Fraunces',serif; font-size:1.05rem; font-weight:600;
  width:44px;height:44px;border-radius:50%;
  border:1.5px solid var(--brass); color:var(--brass-dark);
  display:flex;align-items:center;justify-content:center; margin-bottom:1rem;
  background:#fff;
}
.step h3{ font-size:1.18rem; margin:0 0 .45rem; }
.step p{ color:var(--ink-soft); font-size:.94rem; margin:0; }

/* ---------- Quote ---------- */
.quote{
  background:var(--sand); border-radius:22px;
  padding:clamp(2.25rem,5vw,3.75rem);
  position:relative;
}
.quote blockquote{
  font-family:'Fraunces',serif; font-weight:500;
  font-size:clamp(1.35rem,3vw,2rem); line-height:1.35;
  color:var(--ink); margin:0;
}
.quote .mark{ font-family:'Fraunces',serif; font-size:5rem; color:var(--brass); line-height:.5; height:2.2rem; display:block; }

/* ---------- CTA band ---------- */
.cta-band{ position:relative; overflow:hidden; color:#fff; border-radius:26px; }
.cta-band__bg{ position:absolute; inset:0; z-index:0; }
.cta-band__bg img{ width:100%;height:100%;object-fit:cover; }
.cta-band__bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(16,25,35,.9),rgba(20,58,54,.7)); }
.cta-band__inner{ position:relative; z-index:2; padding:clamp(2.5rem,6vw,4.5rem); }
.cta-band h2{ color:#fff; }
.cta-band p{ color:rgba(255,255,255,.85); }

/* ---------- Contact ---------- */
.contact-card{
  background:#fff;border:1px solid var(--line);border-radius:20px;
  padding:clamp(1.75rem,4vw,2.6rem); box-shadow:var(--shadow-sm);
}
.info-row{ display:flex; gap:1rem; align-items:flex-start; padding:1.05rem 0; border-bottom:1px solid var(--line); }
.info-row:last-child{ border-bottom:0; }
.info-row .ico{
  width:46px;height:46px;border-radius:12px;flex:none;
  background:var(--brass-tint);color:var(--brass-dark);
  display:flex;align-items:center;justify-content:center;
}
.info-row .ico svg{ width:22px;height:22px; }
.info-row .k{ font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brass-dark);font-weight:600; }
.info-row .v{ font-size:1.05rem;font-weight:500;color:var(--ink); }
.info-row .v span{ display:block;font-size:.9rem;font-weight:400;color:var(--ink-soft); }

form label{ display:block; font-size:.85rem; font-weight:600; margin-bottom:.4rem; color:var(--ink); }
form .field{ margin-bottom:1.15rem; }
form input, form textarea, form select{
  width:100%; padding:.85rem 1rem; border-radius:12px;
  border:1.5px solid var(--line); background:var(--cream);
  font-family:inherit; font-size:.97rem; color:var(--ink);
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
form input:focus, form textarea:focus, form select:focus{
  outline:none; border-color:var(--brass); background:#fff;
  box-shadow:0 0 0 4px rgba(176,132,47,.12);
}
form textarea{ min-height:140px; resize:vertical; }
.form-note{ font-size:.82rem; color:var(--ink-soft); }
.form-success{
  display:none; align-items:center; gap:.7rem;
  background:#eef6ee; border:1px solid #cfe6cf; color:#2f6b3a;
  padding:1rem 1.15rem; border-radius:12px; font-weight:500; margin-top:1rem;
}
.form-success.show{ display:flex; }
.form-success svg{ width:20px;height:20px;flex:none; }

.map-wrap{ position:relative; border-radius:20px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow-sm); min-height:340px; background:var(--sand); }
.map-wrap iframe{ position:relative; z-index:1; width:100%; height:100%; min-height:340px; border:0; display:block; filter:grayscale(.15) contrast(1.02); }
.map-fallback{
  position:absolute; inset:0; z-index:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:.6rem; text-align:center; padding:1.5rem; color:var(--ink-soft);
  background:linear-gradient(135deg,var(--sand),var(--brass-tint));
}
.map-fallback svg{ width:34px;height:34px;color:var(--brass-dark); }
.map-fallback b{ color:var(--ink); font-family:'Fraunces',serif; font-size:1.1rem; }
.map-fallback a{ color:var(--brass-dark); font-weight:600; }
.map-fallback a:hover{ text-decoration:underline; }

/* ---------- FAQ ---------- */
.faq-item{ border:1px solid var(--line); border-radius:14px; background:#fff; margin-bottom:.85rem; overflow:hidden; }
.faq-q{
  width:100%; text-align:left; background:none; border:0; cursor:pointer;
  padding:1.15rem 1.35rem; font-family:'Fraunces',serif; font-size:1.08rem; font-weight:600; color:var(--ink);
  display:flex; justify-content:space-between; align-items:center; gap:1rem;
}
.faq-q .pm{ flex:none; width:26px;height:26px;border-radius:50%; background:var(--brass-tint); color:var(--brass-dark);
  display:flex;align-items:center;justify-content:center; font-size:1.2rem; transition:transform .3s ease; }
.faq-item.open .faq-q .pm{ transform:rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .35s ease; }
.faq-a p{ padding:0 1.35rem 1.25rem; margin:0; color:var(--ink-soft); }

/* ---------- Footer ---------- */
.site-footer{ background:var(--ink); color:rgba(255,255,255,.72); padding-block:clamp(3rem,6vw,4.5rem) 2rem; }
.site-footer h4{ color:#fff; font-family:'Inter',sans-serif; font-size:.8rem; letter-spacing:.16em; text-transform:uppercase; margin:0 0 1.1rem; font-weight:600; }
.footer-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:2.5rem; }
.footer-brand__name{ font-family:'Fraunces',serif; color:#fff; font-size:1.3rem; }
.site-footer a:hover{ color:#f0d9a6; }
.footer-links{ list-style:none; padding:0; margin:0; display:grid; gap:.6rem; font-size:.94rem; }
.footer-contact{ display:grid; gap:.7rem; font-size:.94rem; }
.footer-contact div{ display:flex; gap:.6rem; align-items:flex-start; }
.footer-contact svg{ width:17px;height:17px;color:#f0d9a6;flex:none;margin-top:.2rem; }
.footer-lang{ display:flex; align-items:center; flex-wrap:wrap; gap:.7rem 1.1rem;
  margin-top:2.5rem; padding-top:1.75rem; border-top:1px solid rgba(255,255,255,.12); }
.footer-lang__label{ display:inline-flex; align-items:center; gap:.5rem; color:#f0d9a6;
  font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; font-weight:600; }
.footer-lang__label svg{ width:18px;height:18px; }
.footer-lang__links{ display:flex; flex-wrap:wrap; gap:.5rem; }
.footer-lang__links a{ padding:.4rem .85rem; border:1px solid rgba(255,255,255,.18); border-radius:999px;
  font-size:.85rem; font-weight:600; color:rgba(255,255,255,.8); transition:border-color .2s ease, color .2s ease, background .2s ease; }
.footer-lang__links a:hover{ border-color:#f0d9a6; color:#f0d9a6; }
.footer-lang__links a.active{ background:#f0d9a6; color:var(--ink); border-color:#f0d9a6; }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.12); margin-top:2rem; padding-top:1.5rem;
  display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; font-size:.83rem; color:rgba(255,255,255,.5); }

/* ---------- Reveal animation base ---------- */
/* Content is visible by default; only hidden once GSAP is ready to animate it,
   so the site never renders blank if JS/GSAP fails to load. */
.gsap-ready .reveal{ opacity:0; transform:translateY(26px); will-change:transform,opacity; }

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .footer-grid{ grid-template-columns:1fr 1fr; gap:2rem; }
  .grid-4{ grid-template-columns:repeat(2,1fr); }
}
/* Collapse the nav to the hamburger before the desktop links get cramped
   (the Slovenian labels are long, so this needs to happen well above 860px). */
@media (max-width:1120px){
  .nav__links, .nav__phone{ display:none; }
  .nav__toggle{ display:flex; }
  .nav__cta .btn{ display:none; }
}
@media (max-width:860px){
  .split{ grid-template-columns:1fr; }
  .media-frame{ order:-1; }
  .grid-2, .grid-3{ grid-template-columns:1fr; }
  .media-badge{ left:auto; right:16px; }
  /* keep the attorney (right side of photo) in frame on narrow screens */
  .hero__bg img{ object-position:82% center; }
}
@media (max-width:560px){
  .grid-4{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; }
  .hero__meta{ gap:1.25rem; }
  .media-frame::before{ display:none; }
}

@media (prefers-reduced-motion:reduce){
  *{ scroll-behavior:auto !important; }
  .reveal{ opacity:1 !important; transform:none !important; }
}
