/* =========================================================================
   Living in the Dome — Barbara Wojtkowska — Holistyczna Architektura
   v4 — Architect Portfolio Edition — 2026-04-15
   Custom design system, anti-generic, editorial brutal
   ========================================================================= */

/* ---- Reset ---- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,picture,video{display:block;max-width:100%;height:auto}
input,button,textarea,select{font:inherit;color:inherit}
button{background:none;border:none;cursor:pointer}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}

/* ---- Design tokens ---- */
:root{
  /* Palette — Basia brand via transcript + ulotka */
  --bone:#FBFAF6;
  --bone-warm:#F4F1E8;
  --ink:#0D0D0B;
  --ink-soft:#1F1E1A;
  --forest:#1A3728;
  --forest-deep:#0F2419;
  --forest-soft:#2A4A37;
  --chartreuse:#A8D838;
  --chartreuse-bright:#C4F04A;
  --bronze:#B8986B;
  --bronze-deep:#8B6F47;
  --grey-1:#3A3A35;
  --grey-2:#8A8A80;
  --grey-3:#D4D1C6;
  --line:rgba(13,13,11,0.08);
  --line-strong:rgba(13,13,11,0.16);

  /* Typography scale (fluid) */
  --f-xxs:0.75rem;
  --f-xs:0.8125rem;
  --f-sm:0.9375rem;
  --f-base:1.0625rem;
  --f-lg:1.1875rem;
  --f-xl:1.5rem;
  --f-2xl:clamp(1.75rem,2.5vw,2.25rem);
  --f-3xl:clamp(2.25rem,4vw,3.5rem);
  --f-display:clamp(3rem,8vw,7.5rem);
  --f-mega:clamp(4rem,14vw,14rem);

  /* Fonts */
  --font-serif:"Fraunces","Playfair Display",Georgia,serif;
  --font-sans:"Inter","Helvetica Neue",sans-serif;
  --font-mono:"JetBrains Mono","SF Mono",Consolas,monospace;

  /* Layout */
  --shell-max:1440px;
  --shell-pad:clamp(1.25rem,4vw,3.5rem);
  --section-gap:clamp(5rem,12vh,11rem);

  /* Motion */
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-in-out:cubic-bezier(.65,0,.35,1);
  --dur-fast:180ms;
  --dur-base:420ms;
  --dur-slow:900ms;
}

/* ---- Base ---- */
html,body{background:var(--bone);color:var(--ink)}
body{
  font-family:var(--font-sans);
  font-size:var(--f-base);
  font-weight:400;
  letter-spacing:-0.005em;
}

h1,h2,h3,h4{font-family:var(--font-serif);font-weight:300;letter-spacing:-0.035em;line-height:0.95;color:var(--ink)}
h1{font-size:var(--f-display)}
h2{font-size:var(--f-3xl)}
h3{font-size:var(--f-2xl)}
h4{font-size:var(--f-xl);font-weight:400}

p{max-width:62ch}
strong{font-weight:600}
em{font-style:italic}

::selection{background:var(--chartreuse);color:var(--ink)}

/* ---- Layout primitives ---- */
.shell{max-width:var(--shell-max);margin:0 auto;padding:0 var(--shell-pad);width:100%}
.shell-narrow{max-width:880px;margin:0 auto;padding:0 var(--shell-pad)}
.shell-wide{max-width:1680px;margin:0 auto;padding:0 var(--shell-pad)}

/* ---- Tags (editorial captions/labels) ---- */
.tag{
  display:inline-flex;align-items:center;gap:0.5em;
  font-family:var(--font-mono);
  font-size:var(--f-xxs);
  text-transform:uppercase;
  letter-spacing:0.12em;
  color:var(--grey-1);
}
.tag::before{
  content:"";
  width:1.5em;height:1px;
  background:currentColor;
}
.tag-forest{color:var(--forest)}
.tag-chartreuse{color:var(--forest);font-weight:600}
.tag-chartreuse::before{background:var(--chartreuse);height:2px}

/* ---- Topbar ---- */
.topbar{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:1.125rem 0;
  background:rgba(251,250,246,0.72);
  backdrop-filter:blur(16px) saturate(1.2);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);
  border-bottom:1px solid transparent;
  transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base);
}
.topbar.scrolled{
  background:rgba(251,250,246,0.92);
  border-bottom-color:var(--line);
}
.topbar-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:2rem;
}
.brand{display:flex;align-items:baseline;gap:0.75rem;flex-shrink:0}
.brand-mark{
  width:2rem;height:2rem;
  border-radius:50%;
  background:var(--forest);
  color:var(--chartreuse);
  display:inline-grid;place-items:center;
  font-family:var(--font-serif);
  font-size:1.25rem;
  font-weight:500;
  line-height:1;
  flex-shrink:0;
}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-name{
  font-family:var(--font-serif);
  font-size:1.0625rem;
  font-weight:500;
  letter-spacing:-0.02em;
  color:var(--ink);
}
.brand-sub{
  font-family:var(--font-mono);
  font-size:var(--f-xxs);
  text-transform:uppercase;
  letter-spacing:0.14em;
  color:var(--grey-2);
  margin-top:2px;
}
.nav{display:flex;gap:2.25rem;align-items:center}
.nav a{
  font-family:var(--font-mono);
  font-size:var(--f-xs);
  text-transform:uppercase;
  letter-spacing:0.14em;
  color:var(--ink-soft);
  position:relative;
  padding:0.5rem 0;
  transition:color var(--dur-fast);
}
.nav a:hover{color:var(--forest)}
.nav a.active{color:var(--forest);font-weight:600}
.nav a.active::after{
  content:"";
  position:absolute;bottom:-2px;left:0;right:0;
  height:2px;background:var(--chartreuse);
}
.nav-cta{
  background:var(--forest);
  color:var(--bone) !important;
  padding:0.75rem 1.25rem !important;
  border-radius:999px;
  transition:background var(--dur-fast),transform var(--dur-fast);
}
.nav-cta:hover{background:var(--forest-deep);transform:translateY(-1px)}
.nav-cta.active::after{display:none}

.menu-toggle{display:none;flex-direction:column;gap:5px;padding:0.5rem}
.menu-toggle span{width:22px;height:2px;background:var(--ink);transition:transform var(--dur-fast)}

@media (max-width:980px){
  .nav{display:none}
  .nav.open{
    display:flex;flex-direction:column;
    position:fixed;top:4.5rem;left:0;right:0;
    background:var(--bone);
    padding:2rem var(--shell-pad);
    gap:1.25rem;
    border-bottom:1px solid var(--line);
    box-shadow:0 20px 40px -20px rgba(0,0,0,0.12);
    align-items:flex-start;
  }
  .nav.open a{font-size:var(--f-sm)}
  .menu-toggle{display:flex}
}

/* ---- Hero — Homepage giant editorial ---- */
.hero-home{
  position:relative;
  min-height:100vh;
  padding-top:8rem;
  padding-bottom:4rem;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
}
.hero-home-video{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  z-index:0;
  opacity:0.55;
  filter:saturate(0.85) contrast(1.05);
}
.hero-home-veil{
  position:absolute;inset:0;
  background:linear-gradient(180deg,
    rgba(251,250,246,0.70) 0%,
    rgba(251,250,246,0.15) 22%,
    rgba(251,250,246,0.35) 62%,
    rgba(251,250,246,0.92) 100%);
  z-index:1;
}
.hero-home-content{
  position:relative;z-index:2;
  width:100%;
}
.hero-home-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:2rem;
  align-items:end;
}
.hero-home-title{
  grid-column:1/-1;
}
.hero-home-title .label{
  display:block;
  margin-bottom:2.5rem;
}
.hero-mega{
  font-family:var(--font-serif);
  font-weight:200;
  font-size:var(--f-mega);
  line-height:0.85;
  letter-spacing:-0.055em;
  color:var(--ink);
}
.hero-mega em{
  font-style:italic;
  font-weight:300;
  color:var(--forest);
}
.hero-mega .amp{
  font-family:var(--font-serif);
  font-weight:300;
  font-style:italic;
  color:var(--chartreuse-bright);
  -webkit-text-stroke:1px var(--forest);
  text-stroke:1px var(--forest);
}
.hero-home-signature{
  grid-column:1/span 7;
  margin-top:2.5rem;
  display:flex;flex-direction:column;gap:0.75rem;
}
.hero-home-signature .line{
  display:flex;align-items:center;gap:1rem;
  font-family:var(--font-mono);
  font-size:var(--f-xs);
  text-transform:uppercase;
  letter-spacing:0.12em;
  color:var(--grey-1);
}
.hero-home-signature .divider{flex:1;height:1px;background:var(--line-strong)}
.hero-home-signature .author{
  font-family:var(--font-serif);
  font-size:var(--f-xl);
  font-weight:400;
  font-style:italic;
  color:var(--forest);
  letter-spacing:-0.02em;
}
.hero-home-lead{
  grid-column:7/span 6;
  max-width:32rem;
  margin-top:2.5rem;
  justify-self:end;
  text-align:right;
}
.hero-home-lead p{
  font-family:var(--font-serif);
  font-weight:300;
  font-size:var(--f-xl);
  line-height:1.35;
  color:var(--ink-soft);
  font-style:italic;
  max-width:none;
}
.hero-home-scroll{
  position:absolute;
  bottom:1.5rem;left:var(--shell-pad);
  font-family:var(--font-mono);
  font-size:var(--f-xxs);
  text-transform:uppercase;
  letter-spacing:0.18em;
  color:var(--grey-1);
  z-index:2;
  display:flex;flex-direction:column;align-items:flex-start;gap:0.5rem;
}
.hero-home-scroll::after{
  content:"";
  width:1px;height:3rem;
  background:linear-gradient(to bottom,var(--ink) 0%,transparent 100%);
  animation:scroll-pulse 2s ease-in-out infinite;
}
@keyframes scroll-pulse{
  0%,100%{transform:scaleY(1);transform-origin:top}
  50%{transform:scaleY(0.3);transform-origin:top}
}

@media (max-width:900px){
  .hero-home-lead{grid-column:1/-1;text-align:left;justify-self:start;max-width:none}
  .hero-home-signature{grid-column:1/-1}
  .hero-home-title .label{margin-bottom:1.5rem}
}

/* ---- Hero — Interior pages ---- */
.hero-inner{
  padding-top:9rem;
  padding-bottom:4rem;
  border-bottom:1px solid var(--line);
  position:relative;
}
.hero-inner-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:2rem;
  align-items:end;
}
.hero-inner-title{grid-column:1/span 9}
.hero-inner-title .label{display:block;margin-bottom:1.5rem}
.hero-inner-title h1{
  font-size:var(--f-display);
  font-weight:200;
  letter-spacing:-0.04em;
}
.hero-inner-lead{
  grid-column:1/span 6;
  margin-top:2rem;
}
.hero-inner-lead p{
  font-family:var(--font-serif);
  font-size:var(--f-xl);
  font-weight:300;
  font-style:italic;
  line-height:1.4;
  color:var(--ink-soft);
}
@media (max-width:900px){
  .hero-inner-title{grid-column:1/-1}
  .hero-inner-lead{grid-column:1/-1}
}

/* ---- Section primitive ---- */
.section{padding:var(--section-gap) 0;position:relative}
.section-head{
  margin-bottom:4rem;
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:2rem;
  align-items:end;
}
.section-head .label{grid-column:1/span 3}
.section-head h2{grid-column:4/span 9;max-width:22ch}
@media (max-width:900px){
  .section-head{gap:1rem}
  .section-head .label{grid-column:1/-1}
  .section-head h2{grid-column:1/-1}
}

/* ---- 4x video scroll reveal ---- */
.reveal{
  position:relative;
  height:100vh;
  min-height:600px;
  overflow:hidden;
  display:flex;align-items:center;
  margin:var(--section-gap) 0;
}
.reveal-video{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  z-index:0;
}
.reveal-veil{
  position:absolute;inset:0;
  background:linear-gradient(90deg,
    rgba(13,13,11,0.78) 0%,
    rgba(13,13,11,0.45) 45%,
    rgba(13,13,11,0.15) 100%);
  z-index:1;
}
.reveal-content{
  position:relative;z-index:2;
  color:var(--bone);
  max-width:720px;
}
.reveal-content .number{
  font-family:var(--font-mono);
  font-size:var(--f-xs);
  text-transform:uppercase;
  letter-spacing:0.18em;
  color:var(--chartreuse);
  margin-bottom:1.5rem;
  display:block;
}
.reveal-content h2{
  color:var(--bone);
  font-size:var(--f-3xl);
  font-weight:300;
  letter-spacing:-0.03em;
  margin-bottom:1.5rem;
}
.reveal-content p{
  font-family:var(--font-serif);
  font-size:var(--f-xl);
  font-weight:300;
  font-style:italic;
  line-height:1.4;
  color:rgba(251,250,246,0.85);
  max-width:52ch;
}

/* ---- Manifest values grid (5 pillars from ulotka) ---- */
.pillars{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  border-top:1px solid var(--line-strong);
  border-bottom:1px solid var(--line-strong);
  margin:var(--section-gap) 0;
}
.pillar{
  padding:3rem 1.5rem 2.5rem;
  border-right:1px solid var(--line);
  position:relative;
  transition:background var(--dur-base);
}
.pillar:last-child{border-right:none}
.pillar:hover{background:var(--bone-warm)}
.pillar .num{
  font-family:var(--font-mono);
  font-size:var(--f-xxs);
  text-transform:uppercase;
  letter-spacing:0.14em;
  color:var(--chartreuse-bright);
  display:block;
  margin-bottom:2.5rem;
  -webkit-text-stroke:0.5px var(--forest);
}
.pillar h3{
  font-family:var(--font-serif);
  font-weight:300;
  font-size:var(--f-xl);
  line-height:1.05;
  color:var(--forest);
  margin-bottom:0.75rem;
}
.pillar p{
  font-size:var(--f-sm);
  line-height:1.5;
  color:var(--grey-1);
  max-width:24ch;
}
@media (max-width:900px){
  .pillars{grid-template-columns:1fr}
  .pillar{border-right:none;border-bottom:1px solid var(--line)}
  .pillar:last-child{border-bottom:none}
}

/* ---- Featured works — asymmetric grid ---- */
.featured{margin-bottom:var(--section-gap)}
.featured-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  grid-auto-rows:minmax(160px,auto);
  gap:1rem;
}
.featured-item{
  position:relative;
  overflow:hidden;
  background:var(--grey-3);
  cursor:pointer;
}
.featured-item img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform 900ms var(--ease-out),filter var(--dur-base);
  filter:saturate(0.92);
}
.featured-item:hover img{transform:scale(1.04);filter:saturate(1.05)}
.featured-item::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(13,13,11,0.7) 100%);
  opacity:0;
  transition:opacity var(--dur-base);
}
.featured-item:hover::after{opacity:1}
.featured-item .cap{
  position:absolute;bottom:1rem;left:1rem;right:1rem;
  font-family:var(--font-mono);
  font-size:var(--f-xxs);
  text-transform:uppercase;
  letter-spacing:0.12em;
  color:var(--bone);
  opacity:0;
  transform:translateY(8px);
  transition:opacity var(--dur-base),transform var(--dur-base);
  z-index:2;
}
.featured-item:hover .cap{opacity:1;transform:translateY(0)}
.featured-item.hero{grid-column:1/span 4;grid-row:1/span 2}
.featured-item.a{grid-column:5/span 2;grid-row:1/span 1}
.featured-item.b{grid-column:5/span 2;grid-row:2/span 1}
.featured-item.c{grid-column:1/span 2;grid-row:3/span 1}
.featured-item.d{grid-column:3/span 2;grid-row:3/span 1}
.featured-item.e{grid-column:5/span 2;grid-row:3/span 1}
@media (max-width:900px){
  .featured-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}
  .featured-item.hero{grid-column:1/-1;grid-row:auto}
  .featured-item.a,.featured-item.b,.featured-item.c,.featured-item.d,.featured-item.e{grid-column:auto;grid-row:auto}
}

/* ---- Services ---- */
.services{margin:var(--section-gap) 0}
.services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  border-top:1px solid var(--line-strong);
  border-bottom:1px solid var(--line-strong);
}
.service{
  padding:3.5rem 2rem;
  border-right:1px solid var(--line);
  display:flex;flex-direction:column;gap:1.25rem;
  transition:background var(--dur-base);
}
.service:last-child{border-right:none}
.service:hover{background:var(--forest);color:var(--bone)}
.service:hover h3,.service:hover .service-num,.service:hover p{color:var(--bone)}
.service:hover .service-num{color:var(--chartreuse)}
.service-num{
  font-family:var(--font-mono);
  font-size:var(--f-xxs);
  text-transform:uppercase;
  letter-spacing:0.14em;
  color:var(--chartreuse-bright);
  -webkit-text-stroke:0.5px var(--forest);
  transition:all var(--dur-base);
}
.service h3{
  font-family:var(--font-serif);
  font-weight:300;
  font-size:var(--f-2xl);
  line-height:1;
  color:var(--ink);
  max-width:12ch;
  transition:color var(--dur-base);
}
.service p{
  font-size:var(--f-sm);
  color:var(--grey-1);
  line-height:1.55;
  transition:color var(--dur-base);
}
.service .arrow{
  margin-top:auto;
  font-family:var(--font-mono);
  font-size:var(--f-xs);
  text-transform:uppercase;
  letter-spacing:0.14em;
  color:var(--forest);
  transition:color var(--dur-base),transform var(--dur-base);
}
.service:hover .arrow{color:var(--chartreuse);transform:translateX(6px)}
@media (max-width:900px){
  .services-grid{grid-template-columns:1fr}
  .service{border-right:none;border-bottom:1px solid var(--line)}
  .service:last-child{border-bottom:none}
}

/* ---- Process timeline ---- */
.process{margin:var(--section-gap) 0}
.process-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:2rem;
  position:relative;
}
.process-grid::before{
  content:"";
  position:absolute;
  top:2.5rem;left:2rem;right:2rem;
  height:1px;
  background:var(--line-strong);
  z-index:0;
}
.process-step{
  position:relative;z-index:1;
  display:flex;flex-direction:column;gap:1rem;
}
.process-step .dot{
  width:5rem;height:5rem;
  border-radius:50%;
  background:var(--bone);
  border:1px solid var(--line-strong);
  display:grid;place-items:center;
  font-family:var(--font-serif);
  font-size:2rem;
  font-weight:300;
  color:var(--forest);
  transition:all var(--dur-base);
}
.process-step:hover .dot{
  background:var(--forest);
  color:var(--chartreuse);
  border-color:var(--forest);
  transform:scale(1.05);
}
.process-step h4{
  font-family:var(--font-serif);
  font-weight:400;
  font-size:var(--f-xl);
  color:var(--ink);
  margin-top:0.5rem;
}
.process-step p{
  font-size:var(--f-sm);
  color:var(--grey-1);
  line-height:1.55;
  max-width:22ch;
}
@media (max-width:900px){
  .process-grid{grid-template-columns:1fr;gap:2.5rem}
  .process-grid::before{display:none}
}

/* ---- Credentials / social proof ---- */
.credentials{
  margin:var(--section-gap) 0;
  padding:5rem var(--shell-pad);
  background:var(--forest);
  color:var(--bone);
  position:relative;
  overflow:hidden;
}
.credentials::before{
  content:"";
  position:absolute;
  top:0;left:0;
  width:40%;height:100%;
  background:radial-gradient(circle at 0% 50%,rgba(168,216,56,0.08),transparent 60%);
  pointer-events:none;
}
.credentials-inner{
  position:relative;
  max-width:var(--shell-max);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:2rem;
  align-items:center;
}
.credentials-label{
  grid-column:1/span 3;
}
.credentials-label .tag{color:var(--chartreuse)}
.credentials-label .tag::before{background:var(--chartreuse)}
.credentials h3{
  grid-column:4/span 9;
  color:var(--bone);
  font-family:var(--font-serif);
  font-weight:200;
  font-size:var(--f-3xl);
  line-height:1.1;
  max-width:22ch;
}
.credentials h3 em{
  color:var(--chartreuse);
  font-style:italic;
  font-weight:300;
}
@media (max-width:900px){
  .credentials-label{grid-column:1/-1}
  .credentials h3{grid-column:1/-1}
}

/* ---- Pull quote ---- */
.quote-big{
  margin:var(--section-gap) 0;
  padding:4rem 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.quote-big blockquote{
  max-width:920px;
  margin:0 auto;
  font-family:var(--font-serif);
  font-size:clamp(1.5rem,3.5vw,2.5rem);
  font-weight:300;
  font-style:italic;
  line-height:1.25;
  color:var(--ink);
  letter-spacing:-0.02em;
  text-align:center;
}
.quote-big blockquote em{color:var(--forest);font-weight:400}
.quote-big cite{
  display:block;
  margin-top:2rem;
  font-family:var(--font-mono);
  font-size:var(--f-xs);
  text-transform:uppercase;
  letter-spacing:0.14em;
  color:var(--grey-2);
  font-style:normal;
  text-align:center;
}

/* ---- CTA block ---- */
.cta-block{
  margin:var(--section-gap) 0 0;
  padding:6rem var(--shell-pad);
  background:var(--bone-warm);
  text-align:center;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.cta-block .label{margin-bottom:2rem;justify-content:center}
.cta-block h2{
  font-size:clamp(2.5rem,6vw,5rem);
  max-width:18ch;
  margin:0 auto 2.5rem;
  letter-spacing:-0.04em;
}
.cta-block h2 em{color:var(--forest);font-style:italic}
.btn{
  display:inline-flex;align-items:center;gap:0.75rem;
  padding:1.125rem 2.25rem;
  background:var(--forest);
  color:var(--bone);
  font-family:var(--font-mono);
  font-size:var(--f-xs);
  text-transform:uppercase;
  letter-spacing:0.16em;
  border-radius:999px;
  transition:background var(--dur-base),transform var(--dur-fast);
  cursor:pointer;
}
.btn:hover{background:var(--forest-deep);transform:translateY(-2px)}
.btn.ghost{
  background:transparent;
  color:var(--forest);
  border:1px solid var(--forest);
}
.btn.ghost:hover{background:var(--forest);color:var(--bone)}
.btn-arrow{transition:transform var(--dur-base)}
.btn:hover .btn-arrow{transform:translateX(4px)}

/* ---- Footer ---- */
.site-footer{
  background:var(--ink);
  color:var(--bone);
  padding:6rem 0 2rem;
  margin-top:var(--section-gap);
}
.footer-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:2rem;
  padding-bottom:4rem;
  border-bottom:1px solid rgba(251,250,246,0.12);
  margin-bottom:2rem;
}
.footer-brand{grid-column:1/span 5}
.footer-brand .hero-mini{
  font-family:var(--font-serif);
  font-weight:200;
  font-size:clamp(2rem,4vw,3.5rem);
  line-height:0.95;
  letter-spacing:-0.035em;
  color:var(--bone);
  margin-bottom:2rem;
}
.footer-brand .hero-mini em{color:var(--chartreuse);font-style:italic}
.footer-brand p{
  font-size:var(--f-sm);
  color:rgba(251,250,246,0.65);
  max-width:38ch;
  line-height:1.55;
}
.footer-col{grid-column:span 2;display:flex;flex-direction:column;gap:0.75rem}
.footer-col h5{
  font-family:var(--font-mono);
  font-size:var(--f-xxs);
  text-transform:uppercase;
  letter-spacing:0.14em;
  color:var(--chartreuse);
  margin-bottom:0.5rem;
}
.footer-col a{
  font-size:var(--f-sm);
  color:rgba(251,250,246,0.75);
  transition:color var(--dur-fast);
}
.footer-col a:hover{color:var(--chartreuse-bright)}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;
  font-family:var(--font-mono);
  font-size:var(--f-xxs);
  text-transform:uppercase;
  letter-spacing:0.14em;
  color:rgba(251,250,246,0.5);
  flex-wrap:wrap;
  gap:1rem;
}
@media (max-width:900px){
  .footer-brand{grid-column:1/-1}
  .footer-col{grid-column:1/span 6}
}

/* ---- Projects gallery page ---- */
.filters{
  display:flex;
  flex-wrap:wrap;
  gap:0.75rem;
  padding:2rem 0;
  border-bottom:1px solid var(--line);
  margin-bottom:3rem;
}
.filters button{
  padding:0.75rem 1.25rem;
  background:transparent;
  border:1px solid var(--line-strong);
  border-radius:999px;
  font-family:var(--font-mono);
  font-size:var(--f-xxs);
  text-transform:uppercase;
  letter-spacing:0.12em;
  color:var(--ink-soft);
  cursor:pointer;
  transition:all var(--dur-fast);
}
.filters button:hover{background:var(--bone-warm);border-color:var(--forest)}
.filters button.active{background:var(--forest);color:var(--bone);border-color:var(--forest)}

.gallery-meta{
  display:flex;justify-content:space-between;align-items:baseline;
  margin-bottom:2rem;
  font-family:var(--font-mono);
  font-size:var(--f-xxs);
  text-transform:uppercase;
  letter-spacing:0.14em;
  color:var(--grey-2);
}
.gallery-meta .count{color:var(--forest);font-weight:600}

.gallery{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
  padding-bottom:var(--section-gap);
}
.gallery-item{
  position:relative;
  aspect-ratio:3/2;
  overflow:hidden;
  background:var(--grey-3);
  cursor:zoom-in;
  border-radius:2px;
}
.gallery-item img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform 700ms var(--ease-out),filter var(--dur-base);
  filter:saturate(0.9);
}
.gallery-item:hover img{transform:scale(1.05);filter:saturate(1.05)}
.gallery-item::after{
  content:"";
  position:absolute;inset:0;
  background:rgba(13,13,11,0);
  transition:background var(--dur-base);
  pointer-events:none;
}
.gallery-item:hover::after{background:rgba(13,13,11,0.12)}
.gallery-item .idx{
  position:absolute;top:0.75rem;left:0.75rem;
  font-family:var(--font-mono);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:0.14em;
  color:var(--bone);
  background:rgba(13,13,11,0.6);
  padding:4px 8px;
  border-radius:2px;
  z-index:2;
  opacity:0;
  transition:opacity var(--dur-fast);
}
.gallery-item:hover .idx{opacity:1}
@media (max-width:1100px){.gallery{grid-template-columns:repeat(3,1fr)}}
@media (max-width:720px){.gallery{grid-template-columns:repeat(2,1fr)}}

/* ---- Lightbox ---- */
.lightbox{
  position:fixed;inset:0;
  background:rgba(13,13,11,0.96);
  z-index:200;
  display:none;
  align-items:center;justify-content:center;
  padding:2rem;
}
.lightbox.open{display:flex}
.lightbox img{
  max-width:min(95vw,1600px);
  max-height:90vh;
  object-fit:contain;
  box-shadow:0 30px 80px rgba(0,0,0,0.6);
}
.lightbox-close{
  position:absolute;top:1.5rem;right:1.5rem;
  width:3rem;height:3rem;
  border-radius:50%;
  background:rgba(251,250,246,0.12);
  color:var(--bone);
  display:grid;place-items:center;
  font-size:1.5rem;
  cursor:pointer;
  transition:background var(--dur-fast),transform var(--dur-fast);
}
.lightbox-close:hover{background:rgba(251,250,246,0.22);transform:rotate(90deg)}
.lightbox-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:3.5rem;height:3.5rem;
  border-radius:50%;
  background:rgba(251,250,246,0.12);
  color:var(--bone);
  display:grid;place-items:center;
  font-size:1.5rem;
  cursor:pointer;
  transition:background var(--dur-fast);
}
.lightbox-nav:hover{background:rgba(251,250,246,0.22)}
.lightbox-nav.prev{left:2rem}
.lightbox-nav.next{right:2rem}
.lightbox-counter{
  position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);
  font-family:var(--font-mono);
  font-size:var(--f-xxs);
  text-transform:uppercase;
  letter-spacing:0.14em;
  color:rgba(251,250,246,0.6);
}

/* ---- Editorial content (long-form Dlaczego/O nas) ---- */
.editorial{padding:var(--section-gap) 0}
.editorial-col{max-width:68ch;margin:0 auto}
.editorial-col > * + *{margin-top:1.25rem}
.editorial-col h2{
  font-size:var(--f-3xl);
  font-weight:300;
  margin:3rem 0 1.5rem;
  max-width:18ch;
}
.editorial-col p{
  font-size:var(--f-lg);
  line-height:1.6;
  color:var(--ink-soft);
}
.editorial-col p:first-of-type::first-line{
  font-weight:500;
  color:var(--forest);
  letter-spacing:0.01em;
}
.editorial-col .lead{
  font-family:var(--font-serif);
  font-size:var(--f-2xl);
  line-height:1.3;
  color:var(--forest);
  font-weight:300;
  font-style:italic;
  max-width:24ch;
  margin:2rem 0 3rem;
}
.editorial-col .pull{
  border-left:3px solid var(--chartreuse);
  padding-left:1.5rem;
  font-family:var(--font-serif);
  font-size:var(--f-xl);
  font-style:italic;
  font-weight:300;
  color:var(--forest);
  margin:3rem 0;
}
.editorial-col figure{margin:3rem 0}
.editorial-col figure img{width:100%;border-radius:2px}
.editorial-col figcaption{
  margin-top:0.75rem;
  font-family:var(--font-mono);
  font-size:var(--f-xxs);
  text-transform:uppercase;
  letter-spacing:0.12em;
  color:var(--grey-2);
}

/* ---- Contact form ---- */
.contact-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:4rem;
  padding:4rem 0 var(--section-gap);
}
.contact-form{display:flex;flex-direction:column;gap:1.75rem}
.contact-field{display:flex;flex-direction:column;gap:0.5rem}
.contact-field label{
  font-family:var(--font-mono);
  font-size:var(--f-xxs);
  text-transform:uppercase;
  letter-spacing:0.14em;
  color:var(--grey-1);
}
.contact-field input,.contact-field textarea{
  padding:0.875rem 0;
  border:none;
  border-bottom:1px solid var(--line-strong);
  background:transparent;
  font-family:var(--font-sans);
  font-size:var(--f-lg);
  color:var(--ink);
  transition:border-color var(--dur-fast);
}
.contact-field input:focus,.contact-field textarea:focus{
  outline:none;
  border-bottom-color:var(--forest);
}
.contact-field textarea{resize:vertical;min-height:8rem}
.contact-info{display:flex;flex-direction:column;gap:2rem}
.contact-info .block{display:flex;flex-direction:column;gap:0.5rem}
.contact-info .block .label{margin-bottom:0}
.contact-info .block p{font-size:var(--f-lg);color:var(--ink)}
.contact-info .block a{color:var(--forest);border-bottom:1px solid var(--chartreuse);padding-bottom:2px}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;gap:2rem}}

/* ---- Feng Shui page ---- */
.hero-inner-feng{
  position:relative;
  overflow:hidden;
}
.hero-inner-feng::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 12% 20%,rgba(115,81,146,0.14),transparent 30%),
    radial-gradient(circle at 88% 12%,rgba(168,216,56,0.14),transparent 26%),
    linear-gradient(180deg,rgba(251,250,246,0.96),rgba(244,241,232,0.92));
  pointer-events:none;
}
.hero-inner-feng > .shell{
  position:relative;
  z-index:1;
}
.feng-banner{
  padding:0 0 var(--section-gap);
}
.hero-inner-feng .tag-chartreuse,
.feng-philosophy-band .tag-chartreuse{
  color:#5E3C72;
}
.hero-inner-feng .tag-chartreuse::before,
.feng-philosophy-band .tag-chartreuse::before{
  background:linear-gradient(90deg,#7D5C89,#B37CC5);
}
.lang-switch{
  display:flex;
  align-items:center;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:1.5rem;
}
.lang-switch-label{
  font-family:var(--font-mono);
  font-size:var(--f-xxs);
  text-transform:uppercase;
  letter-spacing:0.14em;
  color:var(--grey-2);
}
.lang-switch-links{
  display:flex;
  gap:0.5rem;
  flex-wrap:wrap;
}
.lang-switch-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:3rem;
  padding:0.55rem 0.8rem;
  border:1px solid var(--line-strong);
  background:var(--bone);
  font-family:var(--font-mono);
  font-size:var(--f-xxs);
  text-transform:uppercase;
  letter-spacing:0.12em;
  transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast);
}
.lang-switch-links a:hover{
  border-color:var(--forest);
  color:var(--forest);
}
.lang-switch-links a.active{
  background:var(--forest);
  border-color:var(--forest);
  color:var(--bone);
}
.lang-switch-feng .lang-switch-links a:hover{
  border-color:#7D5C89;
  color:#5E3C72;
}
.lang-switch-feng .lang-switch-links a.active{
  background:#5E3C72;
  border-color:#5E3C72;
  color:var(--bone);
}
.feng-banner-frame{
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--bone-warm);
}
.feng-banner-frame img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}
.feng-mini-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  margin-top:1rem;
}
.feng-mini-card{
  min-height:100%;
  padding:1.25rem 1.25rem 1.5rem;
  background:linear-gradient(180deg,var(--bone-warm),rgba(250,248,242,0.96));
  border-top:2px solid var(--chartreuse);
}
.feng-mini-card p{
  margin-top:0.85rem;
  color:var(--ink-soft);
  font-size:var(--f-base);
  line-height:1.6;
}
.feng-mini-card:nth-child(3){
  border-top-color:#8B63A6;
  background:linear-gradient(180deg,rgba(242,235,246,0.9),rgba(250,248,242,0.96));
}

.feng-split{
  display:grid;
  grid-template-columns:1.05fr 0.95fr;
  gap:3rem;
  align-items:start;
  padding:0 0 var(--section-gap);
}
.feng-copy > * + *{
  margin-top:1.15rem;
}
.feng-copy h2{
  max-width:12ch;
}
.feng-copy p{
  color:var(--ink-soft);
  font-size:var(--f-lg);
  line-height:1.65;
}
.feng-figure,
.feng-portrait{
  border:1px solid var(--line);
  background:var(--bone-warm);
  padding:0.75rem;
}
.feng-figure img,
.feng-portrait img{
  width:100%;
}
.feng-figure figcaption{
  margin-top:0.85rem;
  font-family:var(--font-mono);
  font-size:var(--f-xxs);
  text-transform:uppercase;
  letter-spacing:0.12em;
  color:var(--grey-2);
}
.feng-note{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:1rem;
  align-items:center;
  margin-top:2rem;
  padding:1rem;
  background:linear-gradient(135deg,rgba(168,216,56,0.12),rgba(125,92,137,0.12),rgba(251,250,246,0.98));
  border:1px solid rgba(94,60,114,0.14);
}
.feng-note img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
}
.feng-note strong{
  display:block;
  margin-bottom:0.35rem;
  color:var(--forest);
}
.feng-note p{
  margin:0;
  font-size:var(--f-base);
}

.feng-methods{
  padding-bottom:var(--section-gap);
}
.feng-philosophy-band{
  padding-top:3rem;
  padding-bottom:3rem;
  border-top:1px solid rgba(94,60,114,0.12);
  border-bottom:1px solid rgba(94,60,114,0.12);
  background:
    radial-gradient(circle at 100% 0%,rgba(125,92,137,0.16),transparent 26%),
    radial-gradient(circle at 0% 100%,rgba(168,216,56,0.08),transparent 24%),
    linear-gradient(180deg,rgba(248,243,250,0.82),rgba(251,250,246,0.94));
}
.feng-method-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}
.feng-method{
  display:flex;
  flex-direction:column;
  background:linear-gradient(180deg,rgba(250,247,243,0.98),rgba(243,236,248,0.92));
  border-top:2px solid #7D5C89;
  min-height:100%;
}
.feng-method-media{
  aspect-ratio:4/3;
  overflow:hidden;
  background:var(--grey-3);
}
.feng-method-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.feng-method-copy{
  padding:1.25rem;
}
.feng-method-copy .tag{
  color:#5E3C72;
}
.feng-method-copy .tag::before{
  background:#8B63A6;
}
.feng-method-copy h3{
  font-size:clamp(1.35rem,2vw,1.9rem);
  margin:0.65rem 0 0.85rem;
  max-width:12ch;
}
.feng-method-copy p{
  color:var(--ink-soft);
  line-height:1.6;
}

.feng-bio{
  padding-bottom:var(--section-gap);
}
.feng-bio-grid{
  display:grid;
  grid-template-columns:0.85fr 1.15fr;
  gap:3rem;
  align-items:start;
}
.feng-cred{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0.75rem;
  margin-top:1.75rem;
}
.feng-cred li{
  padding:0.9rem 1rem;
  background:linear-gradient(135deg,#5E3C72,var(--forest));
  color:var(--bone);
  font-family:var(--font-mono);
  font-size:var(--f-xxs);
  text-transform:uppercase;
  letter-spacing:0.12em;
}

@media (max-width:980px){
  .feng-mini-grid,
  .feng-method-grid,
  .feng-cred{
    grid-template-columns:1fr 1fr;
  }
  .feng-split,
  .feng-bio-grid{
    grid-template-columns:1fr;
    gap:2rem;
  }
}

@media (max-width:720px){
  .feng-mini-grid,
  .feng-method-grid,
  .feng-cred{
    grid-template-columns:1fr;
  }
  .feng-note{
    grid-template-columns:1fr;
  }
  .feng-banner-frame img{
    aspect-ratio:4/5;
  }
}

/* ---- Utilities ---- */
.mt-lg{margin-top:var(--section-gap)}
.text-center{text-align:center}
.hide-mobile{display:block}
.show-mobile{display:none}
@media (max-width:720px){
  .hide-mobile{display:none}
  .show-mobile{display:block}
}

/* ---- Scroll reveal animation ---- */
[data-reveal]{
  opacity:0;
  transform:translateY(32px);
  transition:opacity 1.2s var(--ease-out),transform 1.2s var(--ease-out);
}
[data-reveal].visible{opacity:1;transform:translateY(0)}

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

/* ============================================================
 * v5.2 — Global language switcher (topbar PL · EN · NL)
 * ============================================================ */
.lang-switch-global{
  display:inline-flex;
  gap:12px;
  margin-left:24px;
  padding-left:24px;
  border-left:1px solid rgba(26,55,40,0.15);
  font-family:'Inter',sans-serif;
  font-size:11px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  font-weight:500;
}
.lang-switch-global a{
  color:rgba(26,55,40,0.55);
  text-decoration:none;
  padding-bottom:2px;
  transition:color 0.2s,border-color 0.2s;
}
.lang-switch-global a:hover{color:#1A3728}
.lang-switch-global a.active{
  color:#1A3728;
  font-weight:700;
  border-bottom:2px solid #A8D838;
}
@media (max-width:820px){
  .lang-switch-global{
    margin-left:0;
    padding-left:0;
    border-left:none;
    border-top:1px solid rgba(26,55,40,0.15);
    padding-top:12px;
    margin-top:12px;
    width:100%;
    justify-content:center;
  }
}

/* ============================================================
 * v5.2 — Hero brand quote (wariant B)
 * ============================================================ */
.hero-v5-2-content{
  position:relative;
  z-index:2;
  max-width:1100px;
  padding-top:20vh;
  padding-bottom:80px;
}
.hero-v5-2-content .hero-eyebrow{
  font-family:'Inter',sans-serif;
  font-size:11px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:#FBFAF6;
  font-weight:600;
  margin-bottom:40px;
  opacity:0.9;
}
.hero-brand-quote{
  font-family:'Fraunces',Georgia,serif;
  font-style:italic;
  color:#FBFAF6;
  font-size:clamp(26px,4.5vw,48px);
  line-height:1.15;
  font-weight:300;
  max-width:960px;
  margin:0 0 28px;
  padding:0;
  border:none;
  text-shadow:0 2px 24px rgba(13,13,11,0.4);
}
.hero-brand-quote em{
  color:#A8D838;
  font-style:italic;
}
.hero-byline{
  font-family:'Inter',sans-serif;
  font-size:14px;
  color:#FBFAF6;
  letter-spacing:0.04em;
  margin-bottom:48px;
  font-weight:500;
  opacity:0.95;
}
.hero-cta-row{
  display:flex;
  gap:16px;
  align-items:center;
  flex-wrap:wrap;
}
.btn-primary-v52{
  background:#A8D838;
  color:#0D2619;
  padding:15px 32px;
  letter-spacing:0.10em;
  text-transform:uppercase;
  font-size:11px;
  font-weight:700;
  text-decoration:none;
  font-family:'Inter',sans-serif;
  transition:background 0.2s,transform 0.2s;
}
.btn-primary-v52:hover{
  background:#C4F04A;
  transform:translateY(-2px);
}
.btn-secondary-v52{
  color:#FBFAF6;
  letter-spacing:0.10em;
  text-transform:uppercase;
  font-size:11px;
  font-weight:500;
  text-decoration:underline;
  text-decoration-color:#A8D838;
  text-underline-offset:6px;
  font-family:'Inter',sans-serif;
  padding:15px 0;
}
.hero-credentials-strip{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  padding:20px 0;
  background:rgba(13,13,11,0.55);
  border-top:1px solid rgba(251,250,246,0.15);
  font-family:'Inter',sans-serif;
  font-size:11px;
  color:rgba(251,250,246,0.80);
  letter-spacing:0.08em;
  z-index:3;
}
.hero-credentials-strip .shell{
  display:flex;
  gap:28px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
}
.hero-credentials-strip .sep{color:rgba(251,250,246,0.35)}
@media (max-width:820px){
  .hero-v5-2-content{padding-top:15vh;padding-bottom:120px}
  .hero-credentials-strip{font-size:10px;padding:14px 0}
  .hero-credentials-strip .shell{gap:12px}
}

/* ============================================================
 * v5.2 — Projekty layout: Featured + Filter + Archiwum
 * ============================================================ */
.featured-section{padding:80px 0 40px}
.section-head{margin-bottom:40px}
.section-head h2{
  font-family:'Fraunces',Georgia,serif;
  font-style:italic;
  font-weight:300;
  font-size:clamp(28px,3.5vw,42px);
  color:#1A3728;
  line-height:1.1;
  margin:16px 0 0;
}
.featured-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  grid-template-rows:320px 320px;
  gap:8px;
}
.featured-grid .featured-tile:nth-child(1){grid-row:span 2}
.featured-grid .featured-tile:nth-child(6){grid-column:span 2}
.featured-tile{
  position:relative;
  overflow:hidden;
  cursor:pointer;
  background:#1A3728;
  text-decoration:none;
  color:#FBFAF6;
}
.featured-tile img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 0.6s ease;
}
.featured-tile:hover img{transform:scale(1.05)}
.featured-tile .overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(13,13,11,0.85) 0%,rgba(13,13,11,0.15) 60%);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:20px;
}
.featured-tile .featured-cat{
  font-family:'Inter',sans-serif;
  font-size:10px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:#A8D838;
  margin-bottom:8px;
  font-weight:600;
}
.featured-tile .featured-title{
  font-family:'Fraunces',Georgia,serif;
  font-style:italic;
  font-size:22px;
  font-weight:300;
  line-height:1.2;
}
@media (max-width:820px){
  .featured-grid{
    grid-template-columns:1fr;
    grid-template-rows:repeat(6,220px);
  }
  .featured-grid .featured-tile:nth-child(1),
  .featured-grid .featured-tile:nth-child(6){
    grid-column:auto;
    grid-row:auto;
  }
}

/* Filter bar */
.filter-section{
  padding:40px 0 24px;
  border-top:1px solid rgba(26,55,40,0.12);
}
.filter-bar{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.filter-btn{
  font-family:'Inter',sans-serif;
  font-size:11px;
  letter-spacing:0.10em;
  text-transform:uppercase;
  font-weight:500;
  padding:10px 18px;
  background:transparent;
  color:#1A3728;
  border:1px solid rgba(26,55,40,0.2);
  cursor:pointer;
  transition:all 0.2s;
}
.filter-btn:hover{border-color:#1A3728}
.filter-btn.active{
  background:#1A3728;
  color:#FBFAF6;
  border-color:#1A3728;
  font-weight:600;
}
.filter-btn .count{opacity:0.7}

/* Archiwum */
.archiwum-section{padding:24px 0 80px}
.archiwum-section .gallery-meta{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  margin-bottom:24px;
  flex-wrap:wrap;
  gap:12px;
}
.archiwum-section .gallery-meta h3{
  font-family:'Fraunces',Georgia,serif;
  font-style:italic;
  font-weight:300;
  font-size:28px;
  color:#1A3728;
  margin:0;
}
.archiwum-section .gallery-meta > span{
  font-family:'Inter',sans-serif;
  font-size:11px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:rgba(26,55,40,0.60);
}
.gallery-item.filtered-hidden{
  display:none !important;
}

/* ============================================================
 * v5.2 — Kontakt: VIBA links + Dutch Design Week upcoming
 * ============================================================ */
.contact-links-v52{padding:80px 0 40px;border-top:1px solid rgba(26,55,40,0.12)}
.viba-links{
  list-style:none;
  padding:0;
  margin:32px 0 0;
}
.viba-links li{
  padding:18px 0;
  border-bottom:1px solid rgba(26,55,40,0.10);
}
.viba-links a{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  font-family:'Inter',sans-serif;
  font-size:15px;
  color:#1A3728;
  text-decoration:none;
  transition:color 0.2s;
}
.viba-links a:hover{color:#A8D838}
.viba-links a strong{font-weight:600}
.viba-links .arrow{
  font-size:18px;
  color:#A8D838;
  flex-shrink:0;
}
.contact-upcoming-v52{padding:40px 0 80px}
.upcoming-card{
  background:#1A3728;
  color:#FBFAF6;
  padding:48px;
  position:relative;
  overflow:hidden;
}
.upcoming-card::before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:200px;
  height:200px;
  background:radial-gradient(circle,rgba(168,216,56,0.2),transparent 70%);
  pointer-events:none;
}
.upcoming-card .tag-chartreuse{color:#A8D838}
.upcoming-card h2{
  font-family:'Fraunces',Georgia,serif;
  font-style:italic;
  font-weight:300;
  font-size:clamp(32px,4vw,48px);
  color:#FBFAF6;
  margin:16px 0 20px;
  line-height:1.1;
}
.upcoming-card p{
  font-family:'Inter',sans-serif;
  font-size:15px;
  color:rgba(251,250,246,0.85);
  max-width:640px;
  line-height:1.6;
}
.upcoming-card p em{
  color:#A8D838;
  font-style:italic;
}
.upcoming-link{
  display:inline-block;
  margin-top:28px;
  padding:14px 28px;
  background:#A8D838;
  color:#0D2619;
  font-family:'Inter',sans-serif;
  font-size:11px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  font-weight:700;
  text-decoration:none;
  transition:background 0.2s;
}
.upcoming-link:hover{background:#C4F04A}
@media (max-width:820px){
  .upcoming-card{padding:32px 24px}
  .viba-links a{font-size:14px}
}
