/* Movements Media — consolidated site styles (deduplicated top-level rules, order: index → …) */

/* from index.html */
/* ═══════════════════════════════════════════════
   TOKENS
   ═══════════════════════════════════════════════ */
:root {
  --background: #e6e6e4;
  --foreground: #111110;
  --primary: #ff2525;
  --primary-foreground: #fff;
  --primary-hover: #e01e1e;
  --muted-foreground: #7d7a72;
  --border: rgba(17,17,16,0.09);
  --border-strong: rgba(17,17,16,0.18);
  --surface: rgba(17,17,16,0.03);

  --section-bg-inverse: #242422;
  --section-inverse-fg: #f4f2ed;
  --section-inverse-muted: rgba(244,242,237,0.45);
  --section-inverse-border: rgba(244,242,237,0.1);

  --font: 'Montserrat', sans-serif;

  --text-hero: clamp(3.5rem, 10vw, 8rem);
  --text-h1: clamp(2.25rem, 4.5vw, 3.25rem);
  --text-h2: clamp(1.625rem, 3vw, 2.5rem);
  --text-h3: 1.375rem;
  --text-h4: 1.1875rem;
  --text-body: 1.15rem;
  --text-body-lg: 1.1875rem;
  --text-caption: 0.75rem;
  --text-tag: 0.75rem;
  --text-nav: 0.75rem;
  --text-btn: 0.75rem;

  --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem;
  --space-5: 1.25rem; --space-6: 1.5rem; --space-8: 2rem;
  --space-10: 2.5rem; --space-12: 3rem; --space-16: 4rem;
  --space-20: 5rem; --space-24: 6rem; --space-32: 8rem;

  --section-px: clamp(1.5rem, 5vw, 3.5rem);
  --section-py: var(--space-24);
  --max-w: 1240px;
  --header-h: 5.5rem;

  --radius-full: 9999px;
  --dur-fast: 0.2s; --dur-normal: 0.4s; --dur-slow: 0.7s; --dur-slower: 1.1s;
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);

  --z-header: 50; --z-modal: 80; --z-cursor: 9998; --z-loader: 200; --z-pattern: -1;

  --glass-bg: rgba(213,211,206,0.88);
  --glass-border: rgba(17,17,16,0.06);
  --footer-bg: var(--section-bg-inverse);
}

/* from index.html */
/* ═══ RESET ═══ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* from index.html */
html{-webkit-font-smoothing:antialiased}

/* from index.html */
body{font-family:var(--font);font-size:var(--text-body);line-height:1.7;color:var(--foreground);background:var(--background);overflow-x:hidden}

/* from index.html */
a{color:inherit;text-decoration:none}

/* from index.html */
img{display:block;max-width:100%}

/* from index.html */
button{font:inherit;cursor:pointer;border:none;background:none}

/* from index.html */
/* ═══ DOT PATTERN (full page) ═══ */
.dot-pattern {
  position: fixed; inset: 0;
  z-index: var(--z-pattern);
  pointer-events: none;
  background-image: radial-gradient(circle, rgba(17,17,16,0.07) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: radial-gradient(ellipse 70% 60% at 80% 30%, black 0%, transparent 70%);
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 80% 30%, black 0%, transparent 70%);
}

/* from index.html */
/* ═══ CURSOR ═══ */
.cursor{position:fixed;width:10px;height:10px;border-radius:var(--radius-full);background:var(--foreground);pointer-events:none;z-index:var(--z-cursor);transform:translate(-50%,-50%);transition:width var(--dur-normal) var(--ease-out),height var(--dur-normal) var(--ease-out),opacity var(--dur-fast);mix-blend-mode:difference}

/* from index.html */
.cursor.hover{width:56px;height:56px;opacity:0.45}

/* from index.html */
@media(pointer:coarse){.cursor{display:none}}

/* from index.html */
@media(max-width:768px){.cursor{display:none}}

/* from index.html */
/* ═══════════════════════════════════════════════
   HEADER
   ═══════════════════════════════════════════════ */
.site-header{
  position:fixed;top:0;left:0;right:0;
  z-index:var(--z-header);
  height:var(--header-h);
  display:flex;align-items:center;
  padding-inline:var(--section-px);
  background:transparent;
  transition:background var(--dur-normal) var(--ease-out),box-shadow 0.5s var(--ease-out);
}

/* from index.html */
.site-header.scrolled{
  background:rgba(230,230,228,0.72);
  backdrop-filter:blur(24px) saturate(1.2);
  -webkit-backdrop-filter:blur(24px) saturate(1.2);
  box-shadow:0 4px 30px rgba(17,17,16,0.06), 0 1px 2px rgba(17,17,16,0.03);
}

/* from index.html */
/* from index.html */
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  margin-inline:auto;width:100%;
}

/* from index.html */
.header-logo{display:flex;align-items:center}

/* from index.html */
.header-logo__img{height:clamp(1.15rem, 2.35vw, 1.65rem);width:auto}

/* from index.html */
/* ═══ NAV — text slide reveal + active indicator ═══ */
.header-nav{display:flex;align-items:center;gap:clamp(var(--space-8), 4vw, var(--space-16))}

/* from index.html */
.nav-link{
  position:relative;
  font-size:0.8125rem;
  font-weight:700;
  color:var(--foreground);
  letter-spacing:0.12em;
  text-transform:uppercase;
  overflow:hidden;
  display:flex;flex-direction:column;
  height:1.2em;
  padding-block:0;
}

/* from index.html */
.nav-link__text{
  display:block;
  transition:transform 0.45s var(--ease-out);
}

/* from index.html */
.nav-link__text span{display:block}

/* from index.html */
.nav-link__text--hover{
  position:absolute;top:0;left:0;
  color:var(--primary);
  transform:translateY(100%);
  transition:transform 0.45s var(--ease-out);
}

/* from index.html */
.nav-link:hover .nav-link__text{transform:translateY(-100%)}

/* from index.html */
.nav-link:hover .nav-link__text--hover{transform:translateY(0)}

/* from index.html */
/* Active section indicator */
.nav-link::after{
  content:'';position:absolute;
  bottom:-6px;left:50%;
  width:4px;height:4px;
  border-radius:var(--radius-full);
  background:var(--primary);
  transform:translateX(-50%) scale(0);
  transition:transform 0.4s var(--ease-out);
}

/* from index.html */
.nav-link.active::after{transform:translateX(-50%) scale(1)}

/* from index.html */
/* Hamburger */
.hamburger{display:none;flex-direction:column;gap:7px;width:26px;z-index:calc(var(--z-modal)+1)}

/* from index.html */
.hamburger span{display:block;width:100%;height:1.5px;background:var(--foreground);transition:transform var(--dur-normal) var(--ease-out),opacity var(--dur-fast);transform-origin:center}

/* from index.html */
.hamburger.active span:nth-child(1){transform:translateY(8.5px) rotate(45deg)}

/* from index.html */
.hamburger.active span:nth-child(2){opacity:0}

/* from index.html */
.hamburger.active span:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}

/* from index.html */
@media(max-width:900px){.header-nav{display:none}.hamburger{display:flex}}

/* from index.html */
/* ═══ OFFCANVAS — with hover image previews ═══ */
.offcanvas{position:fixed;inset:0;z-index:var(--z-modal);background:var(--section-bg-inverse);display:none;flex-direction:row;align-items:center;padding:var(--space-20) var(--section-px);overflow:hidden}

/* from index.html */
/* Image preview column */
.offcanvas__images{
  position:absolute;right:var(--section-px);top:50%;
  transform:translateY(-50%);
  width:clamp(200px, 28vw, 380px);
  aspect-ratio:3/4;
  overflow:hidden;
}

/* from index.html */
.offcanvas__img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  filter:grayscale(1);
  opacity:0;
  transform:scale(1.08);
  transition:opacity 0.6s var(--ease-out), transform 0.8s var(--ease-out), filter 0.8s var(--ease-out);
}

/* from index.html */
.offcanvas__img.visible{
  opacity:1;
  transform:scale(1);
  filter:grayscale(0);
}

/* from index.html */
.offcanvas__nav{display:flex;flex-direction:column;gap:var(--space-10);position:relative;z-index:2}

/* from index.html */
.offcanvas__nav a{
  font-family:var(--font);
  font-size:clamp(2rem,7vw,3.5rem);
  font-weight:800;
  color:var(--section-inverse-fg);
  letter-spacing:0.04em;
  text-transform:uppercase;
  transition:color 0.3s, transform 0.5s var(--ease-out), opacity 0.3s;
  display:flex;align-items:baseline;gap:var(--space-6);
  opacity:0.4;
}

/* from index.html */
.offcanvas__nav a:hover{color:var(--primary);transform:translateX(var(--space-8));opacity:1}

/* from index.html */
.offcanvas__nav a .oc-text{
  position:relative;
  display:inline-block;
}

/* from index.html */
/* Accent underline draw on hover */
.offcanvas__nav a .oc-text::after{
  content:'';position:absolute;
  bottom:-4px;left:0;right:0;
  height:3px;background:var(--primary);
  transform:scaleX(0);transform-origin:left;
  transition:transform 0.5s var(--ease-out);
}

/* from index.html */
.offcanvas__nav a:hover .oc-text::after{transform:scaleX(1)}

/* from index.html */
.offcanvas__num{
  font-size:var(--text-caption);
  color:var(--section-inverse-muted);
  font-weight:400;
  letter-spacing:0.05em;
  min-width:2em;
}

/* from index.html */
.offcanvas__footer{position:absolute;bottom:var(--space-12);left:var(--section-px);right:var(--section-px);display:flex;justify-content:space-between;font-size:var(--text-caption);color:var(--section-inverse-muted);letter-spacing:0.1em;z-index:2}

/* from index.html */
@media(max-width:768px){
  .offcanvas__images{display:none}
  .offcanvas__nav a{opacity:1}
}

/* from index.html */
/* ═══════════════════════════════════════════════
   SECTIONS
   ═══════════════════════════════════════════════ */
.section{position:relative;width:100%;padding-block:var(--section-py);padding-inline:var(--section-px)}

/* from index.html */
.section[data-spacing="none"]{padding-block:0}

/* from index.html */
.section[data-spacing="large"]{padding-block:var(--space-32)}

/* from index.html */
.section[data-bg="inverse"]{
  background:var(--section-bg-inverse);
  color:var(--section-inverse-fg);
  --foreground:var(--section-inverse-fg);
  --muted-foreground:var(--section-inverse-muted);
  --border:var(--section-inverse-border);
  --border-strong:rgba(244,242,237,0.2);
}

/* from index.html */
.section-inner{position:relative;max-width:var(--max-w);margin-inline:auto;display:flex;flex-direction:column}

/* from index.html */
/* Section Header */
.section-header{display:flex;flex-direction:column;gap:var(--space-5)}

/* from index.html */
.section-header__tag{
  font-size:var(--text-tag);font-weight:600;
  text-transform:uppercase;letter-spacing:0.2em;
  color:var(--primary);
  display:flex;align-items:center;gap:var(--space-4);
}

/* from index.html */
.section-header__tag::before{content:'';width:28px;height:3px;background:var(--primary);flex-shrink:0;border-radius:1px}

/* from index.html */
.section-header__title{
  font-family:var(--font);font-weight:800;
  letter-spacing:0.03em;text-transform:uppercase;
  line-height:1.1;color:var(--foreground);
}

/* from index.html */
.section-header__desc{
  font-size:var(--text-body-lg);font-weight:300;
  color:var(--muted-foreground);line-height:1.75;
  max-width:34rem;
}

/* from index.html */
/* ═══ BTN — Felix-style text reveal hover ═══ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  height:3.25rem;padding-inline:2.25rem;
  border:2px solid transparent;border-radius:0;
  font-size:var(--text-btn);font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;
  font-family:var(--font);cursor:pointer;
  position:relative;overflow:hidden;
  transition:border-color var(--dur-normal) var(--ease-out),box-shadow var(--dur-normal) var(--ease-out);
}

/* from index.html */
.btn span{
  display:inline-block;
  transition:transform 0.5s var(--ease-out);
}

/* from index.html */
.btn::after{
  content:attr(data-text);
  position:absolute;left:0;right:0;
  display:flex;align-items:center;justify-content:center;
  height:100%;
  font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;
  transform:translateY(110%);
  transition:transform 0.5s var(--ease-out);
}

/* from index.html */
.btn:hover span{transform:translateY(-110%)}

/* from index.html */
.btn:hover::after{transform:translateY(0)}

/* from index.html */
.btn--primary{
  background:var(--foreground);
  color:var(--primary-foreground);
  border-color:var(--foreground);
  box-shadow:0 4px 16px rgba(17,17,16,0.12);
}

/* from index.html */
.btn--primary::after{color:var(--primary-foreground)}

/* from index.html */
.btn--primary:hover{
  box-shadow:0 8px 28px rgba(17,17,16,0.22);
}

/* from index.html */
.btn--outline{
  border-color:var(--foreground);color:var(--foreground);
}

/* from index.html */
.btn--outline::after{color:var(--foreground)}

/* from index.html */
.btn--outline:hover{
  box-shadow:0 4px 16px rgba(17,17,16,0.08);
}

/* from index.html */
/* ═══════════════════════════════════════════════
   HERO
   ═══════════════════════════════════════════════ */
.hero{
  min-height:100svh;
  display:flex;align-items:flex-end;
  padding-top:calc(var(--header-h) + var(--space-12));
  padding-bottom:var(--space-12);
}

/* from index.html — default hero column matches strategie (--max-w); index/about use .hero--full */
.hero .section-inner{
  width:100%;
  max-width:var(--max-w);
  margin-inline:auto;
  display:flex;flex-direction:column;
  gap:var(--space-16);
}
.hero.hero--full .section-inner{
  max-width:none;
}

/* from index.html */
/* Floating hero photo — visible through text */
.hero-photo{
  position:absolute;
  top:calc(var(--header-h) + var(--space-8));
  right:calc(var(--section-px) + 1rem);
  width:clamp(220px, 24vw, 360px);
  aspect-ratio:3/4;
  overflow:hidden;z-index:0;
  opacity:0.1;
  mix-blend-mode:multiply;
  pointer-events:none;
}

/* from index.html */
.hero-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15)}

/* from index.html */
.hero-title{
  font-family:var(--font);
  font-size:var(--text-hero);
  line-height:1.1;
  font-weight:900;
  letter-spacing:-0.01em;
  text-transform:uppercase;
  color:var(--foreground);
  max-width:15ch;
  position:relative;z-index:1;
}

/* from index.html */
.hero-title em{
  font-style:italic;
  font-weight:600;
  color:var(--primary);
  letter-spacing:0.01em;
}

/* Hero headlines — balanced line breaks where supported */
.hero-title,
.hero__title,
.hero-centered__title,
.project-hero__title,
.contact-hero .section-header__title,
.legal-hero .section-header__title{
  text-wrap: balance;
}

/* from index.html */
.hw-wrap{display:inline-block;overflow:hidden;vertical-align:top}

/* from index.html */
.hw{display:inline-block}

/* from index.html */
.hero-bottom{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:var(--space-8);
  padding-top:var(--space-8);
  position:relative;z-index:1;
}

/* from index.html */
.hero-desc{
  font-size:clamp(1rem, 1.4vw, 1.25rem);
  font-weight:400;
  color:var(--muted-foreground);
  max-width:30rem;line-height:1.7;
}

/* from index.html */
.hero-desc strong{font-weight:700;color:var(--foreground)}

/* from index.html */
/* Vertical scroll indicator */




@keyframes scroll-line{
  0%{top:-100%}
  50%{top:0}
  100%{top:100%}
}

/* from index.html */
@media(max-width:768px){
  .hero-bottom{flex-direction:column;align-items:flex-start;gap:var(--space-6)}

  .hero-photo{display:none}
  .hero-title{max-width:none}
}

/* from index.html */
/* ═══════════════════════════════════════════════
   ABOUT — Editorial split with bold scroll effects
   ═══════════════════════════════════════════════ */
.about-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:var(--space-16);align-items:start}

/* from index.html */
.about-visual{position:relative;overflow:hidden;margin-left:calc(-1 * var(--space-8));margin-top:calc(-1 * var(--space-6))}

/* from index.html */
.about-visual img{width:100%;height:auto;display:block;object-fit:cover;filter:grayscale(1);will-change:transform}

/* from index.html */
.about-visual:hover img{filter:grayscale(0);transition:filter 1.4s var(--ease-out)}

/* from index.html */
.about-visual__overlay{position:absolute;inset:0;background:var(--background);z-index:2;transform-origin:top}

/* from index.html */
.about-text{display:flex;flex-direction:column;gap:var(--space-10);padding-top:var(--space-6)}

/* from index.html */
.about-pullquote{
  font-family:var(--font);
  font-size:clamp(1.375rem, 2.5vw, 2rem);
  font-weight:500;
  line-height:1.55;
  color:var(--foreground);
}

/* from index.html */
.about-pullquote strong{font-weight:800;color:var(--primary)}

/* from index.html */
.about-body{
  font-size:var(--text-body);font-weight:300;
  color:var(--muted-foreground);line-height:1.75;
  max-width:34rem;
}

/* from index.html */
@media(max-width:768px){.about-grid{grid-template-columns:1fr}.about-visual{margin-left:0;margin-top:0}}

/* from index.html */
/* ═══════════════════════════════════════════════
   SERVICES — List layout with hover fill (Felix-style)
   ═══════════════════════════════════════════════ */
.services-list{
  display:flex;flex-direction:column;
  margin-top:var(--space-16);
}

/* from index.html */
.service-item{
  display:flex;align-items:center;
  gap:var(--space-8);
  padding:var(--space-8) 0;
  border-top:1px solid var(--border);
  position:relative;
  cursor:default;
  overflow:hidden;
  transition:color 0.5s var(--ease-out);
}
a.service-item{
  text-decoration:none;
  color:inherit;
  cursor:pointer;
}

/* from index.html */
.service-item:last-child{border-bottom:1px solid var(--border)}

/* from index.html */
/* Hover fill background */
.service-item::before{
  content:'';position:absolute;
  inset:0;
  background:var(--primary);
  transform:scaleY(0);transform-origin:bottom;
  transition:transform 0.5s var(--ease-out);
  z-index:0;
}

/* from index.html */
.service-item:hover::before{transform:scaleY(1)}

/* from index.html */
.service-item:hover{color:var(--primary-foreground)}

/* from index.html */
.service-item:hover .service-item__num{color:rgba(255,255,255,0.5)}

/* from index.html */
.service-item:hover .service-item__desc{color:rgba(255,255,255,0.7)}

/* from index.html */
.service-item__num{
  font-size:clamp(1rem, 1.5vw, 1.25rem);
  font-family:var(--font);font-weight:300;
  color:var(--muted-foreground);
  min-width:3rem;
  position:relative;z-index:1;
  transition:color 0.5s var(--ease-out);
}

/* from index.html */
.service-item__title{
  font-family:var(--font);
  font-size:clamp(1.5rem, 3.5vw, 2.75rem);
  font-weight:700;
  letter-spacing:0.03em;
  text-transform:uppercase;
  position:relative;z-index:1;
  flex:1;
}

/* from index.html */
.service-item__desc{
  font-size:var(--text-body);font-weight:300;
  color:var(--muted-foreground);
  max-width:20rem;line-height:1.65;
  position:relative;z-index:1;
  opacity:0;
  transform:translateX(20px);
  transition:opacity 0.5s var(--ease-out), transform 0.5s var(--ease-out), color 0.5s var(--ease-out);
}

/* from index.html */
.service-item:hover .service-item__desc{
  opacity:1;transform:translateX(0);
}

/* from index.html */
@media(max-width:768px){
  .service-item{flex-wrap:wrap;gap:var(--space-4)}
  .service-item__desc{opacity:1;transform:none;max-width:none}
}

/* from index.html */
/* ═══════════════════════════════════════════════
   PORTFOLIO — Fullwidth stacked
   ═══════════════════════════════════════════════ */
.portfolio-stack{
  display:flex;flex-direction:column;
  gap:2px;
  margin-top:var(--space-16);
}

/* from index.html */
.portfolio-card{
  position:relative;
  overflow:hidden;
  aspect-ratio:21/9;
  cursor:pointer;
  background:var(--section-bg-inverse);
}

/* from index.html */
.portfolio-card .clip-reveal{position:absolute;inset:0;background:var(--background);z-index:3;pointer-events:none}

/* from index.html */
.portfolio-card img{
  position:absolute;
  left:0;right:0;
  top:-10%;
  width:100%;height:120%;
  object-fit:cover;
  filter:grayscale(1) contrast(1.05);
  transition:filter 1s var(--ease-out), transform 1.6s var(--ease-out);
}

/* from index.html */
.portfolio-card:hover img{
  filter:grayscale(0) contrast(1);
  transform:scale(1.05);
}

/* from index.html */
.portfolio-card__content{
  position:absolute;inset:0;
  display:flex;align-items:flex-end;
  padding:var(--space-8) var(--space-10);
  z-index:2;
  background:linear-gradient(to top, rgba(17,17,16,0.7) 0%, rgba(17,17,16,0.15) 45%, transparent 70%);
}

/* from index.html */
.portfolio-card__info{
  display:flex;flex-direction:column;gap:var(--space-2);
}

/* from index.html */
.portfolio-card__title{
  font-family:var(--font);
  font-size:clamp(1.5rem, 3vw, 2.5rem);
  font-weight:800;color:#fff;
  text-transform:uppercase;
  letter-spacing:0.03em;
}

/* from index.html */
.portfolio-card__cat{
  font-size:var(--text-caption);
  font-weight:500;
  color:rgba(255,255,255,0.6);
  text-transform:uppercase;
  letter-spacing:0.12em;
}

/* from index.html */
.portfolio-card__arrow{
  width:44px;height:44px;
  border-radius:var(--radius-full);
  background:var(--primary);
  display:flex;align-items:center;justify-content:center;
  margin-left:auto;align-self:flex-end;
  transition:transform 0.5s var(--ease-out), box-shadow 0.5s var(--ease-out);
  box-shadow:0 4px 16px rgba(255,37,37,0.2);
}

/* from index.html */
.portfolio-card:hover .portfolio-card__arrow{
  transform:translate(4px, -4px);
  box-shadow:0 8px 24px rgba(255,37,37,0.35);
}

/* from index.html */
.portfolio-card__arrow svg{width:16px;height:16px;color:#fff}

/* from index.html */
@media(max-width:768px){
  .portfolio-card{aspect-ratio:16/10}
}

/* from index.html */
/* ═══════════════════════════════════════════════
   CONTACT
   ═══════════════════════════════════════════════ */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--space-20);margin-top:var(--space-16);align-items:start}

/* from index.html */
.contact-info{display:flex;flex-direction:column;gap:var(--space-10)}

/* from index.html */
.contact-detail{display:flex;flex-direction:column;gap:var(--space-2)}

/* from index.html */
.contact-detail-label{font-size:var(--text-caption);font-weight:600;text-transform:uppercase;letter-spacing:0.15em;color:var(--muted-foreground)}

/* from index.html */
.contact-detail-value{font-size:var(--text-body);color:var(--foreground);font-weight:400}

/* from index.html */
.contact-detail-value a{transition:color var(--dur-fast)}

/* from index.html */
.contact-detail-value a:hover{color:var(--primary)}

/* from index.html */
.cta-email{
  font-family:var(--font);
  font-size:clamp(1.25rem,2.2vw,1.75rem);
  font-weight:700;color:var(--foreground);
  position:relative;display:inline-block;
}

/* from index.html */
.cta-email::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:3px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-slow) var(--ease-out)}

/* from index.html */
.cta-email:hover::after{transform:scaleX(1)}

/* from index.html */
.contact-form{display:flex;flex-direction:column;gap:var(--space-8)}

/* from index.html */
.field{display:flex;flex-direction:column;gap:0.375rem}

/* from index.html */
.field-label{font-size:var(--text-caption);font-weight:600;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:0.15em}

/* from index.html */
.field input,.field textarea{
  font-family:var(--font);font-size:var(--text-body);font-weight:300;
  padding:0.875rem 0;border:none;border-bottom:2px solid var(--border-strong);
  border-radius:0;background:transparent;color:var(--foreground);
  transition:border-color var(--dur-normal) var(--ease-out),box-shadow var(--dur-normal);outline:none;width:100%;
}

/* from index.html */
.field input::placeholder,.field textarea::placeholder{color:rgba(125,122,114,0.4);font-weight:300}

/* from index.html */
.field input:focus,.field textarea:focus{
  border-color:var(--primary);
  box-shadow:0 2px 0 var(--primary);
}

/* from index.html */
.field textarea{min-height:130px;resize:vertical}

/* from index.html */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8)}

/* from index.html */
@media(max-width:768px){.contact-grid{grid-template-columns:1fr;gap:var(--space-12)}.form-row{grid-template-columns:1fr}}

/* from index.html */
/* ═══════════════════════════════════════════════
   FOOTER HERO TEXT
   ═══════════════════════════════════════════════ */
.footer-hero-text{
  padding:var(--space-16) 0 var(--space-12);
  border-bottom:1px solid var(--section-inverse-border);
  margin-bottom:var(--space-12);
  text-align:center;
  overflow:hidden;
}

/* from index.html */
.footer-hero-text__word{
  font-family:var(--font);
  font-size:clamp(4rem, 13vw, 13rem);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.03em;
  color:var(--section-inverse-fg);
  opacity:0.4;
  display:block;
  line-height:1;
  animation:shake 5s ease-in-out infinite;
}

/* from index.html */
@keyframes shake{
  0%,88%,100%{transform:translate(0,0) rotate(0)}
  90%{transform:translate(-3px,1px) rotate(-0.5deg)}
  92%{transform:translate(3px,-1px) rotate(0.5deg)}
  94%{transform:translate(-2px,0px) rotate(-0.3deg)}
  96%{transform:translate(2px,1px) rotate(0.3deg)}
  98%{transform:translate(-1px,-1px) rotate(0)}
}

/* from index.html */
/* ═══════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════ */
.site-footer{background:var(--section-bg-inverse);color:var(--section-inverse-muted);padding:var(--space-16) var(--section-px)}

/* from index.html */
.footer-inner{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:var(--space-8);max-width:var(--max-w);margin-inline:auto;padding-bottom:var(--space-12);border-bottom:1px solid var(--section-inverse-border)}

/* from index.html */
.footer-brand-col{display:flex;flex-direction:column;gap:var(--space-6)}

/* from index.html */
.footer-brand{font-family:var(--font);font-size:var(--text-caption);font-weight:800;color:var(--section-inverse-fg);letter-spacing:0.22em;text-transform:uppercase}

/* from index.html */
.footer-tagline{font-size:var(--text-body);font-weight:300;color:var(--section-inverse-muted);max-width:22rem;line-height:1.75}

/* from index.html */
.footer-socials{display:flex;gap:var(--space-6);margin-top:var(--space-2)}

/* from index.html */
.footer-socials a{font-size:var(--text-caption);font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:var(--section-inverse-muted);transition:color var(--dur-fast)}

/* from index.html */
.footer-socials a:hover{color:var(--section-inverse-fg)}

/* from index.html */
.footer-col{display:flex;flex-direction:column}

/* from index.html */
.footer-col h4{font-size:var(--text-caption);font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--section-inverse-fg);margin-bottom:var(--space-6)}

/* from index.html */
.footer-col a{display:block;font-size:var(--text-body);font-weight:300;color:var(--section-inverse-muted);padding:var(--space-2) 0;transition:color var(--dur-fast)}

/* from index.html */
.footer-col a:hover{color:var(--section-inverse-fg)}

/* from index.html */
.footer-bottom{max-width:var(--max-w);margin-inline:auto;padding-top:var(--space-8);font-size:var(--text-caption);color:var(--section-inverse-muted);display:flex;justify-content:space-between;letter-spacing:0.05em}

/* from index.html */
@media(max-width:768px){.footer-inner{grid-template-columns:1fr 1fr}.footer-brand-col{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:var(--space-2)}}

/* from index.html */
@media(max-width:480px){.footer-inner{grid-template-columns:1fr}}

/* from about.html */
/* Grain */
body::after{content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:0.028;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px}

/* from about.html */
/* Dot pattern */
.dot-pattern{position:fixed;inset:0;z-index:var(--z-pattern);pointer-events:none;background-image:radial-gradient(circle,rgba(17,17,16,0.07) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(ellipse 70% 60% at 80% 30%,black 0%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 80% 30%,black 0%,transparent 70%)}

/* from about.html */
.cursor.hover{width:52px;height:52px;opacity:0.45}

/* from about.html */
/* ═══ HEADER ═══ */
.site-header{position:fixed;top:0;left:0;right:0;z-index:var(--z-header);height:var(--header-h);display:flex;align-items:center;padding-inline:var(--section-px);background:transparent;transition:background var(--dur-normal) var(--ease-out),box-shadow 0.5s var(--ease-out)}

/* from about.html */
.site-header.scrolled{background:rgba(230,230,228,0.72);backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);box-shadow:0 4px 30px rgba(17,17,16,0.06),0 1px 2px rgba(17,17,16,0.03)}

/* from about.html */
.header-inner{display:flex;align-items:center;justify-content:space-between;width:100%}

/* from about.html */
.header-logo__img{height:clamp(1.15rem,2.35vw,1.65rem);width:auto}

/* from about.html */
/* from about.html */
.header-nav{display:flex;align-items:center;gap:clamp(var(--space-8),4vw,var(--space-16))}

/* from about.html */
.nav-link{position:relative;font-size:0.8125rem;font-weight:700;color:var(--foreground);letter-spacing:0.12em;text-transform:uppercase;overflow:hidden;display:flex;flex-direction:column;height:1.2em}

/* from about.html */
.nav-link__text{display:block;transition:transform 0.45s var(--ease-out)}

/* from about.html */
.nav-link__text--hover{position:absolute;top:0;left:0;color:var(--primary);transform:translateY(100%);transition:transform 0.45s var(--ease-out)}

/* from about.html */
.nav-link::after{content:'';position:absolute;bottom:-6px;left:50%;width:4px;height:4px;border-radius:var(--radius-full);background:var(--primary);transform:translateX(-50%) scale(0);transition:transform 0.4s var(--ease-out)}

/* from about.html */
.offcanvas__nav a{font-family:var(--font);font-size:clamp(2rem,7vw,3.5rem);font-weight:800;color:var(--section-inverse-fg);letter-spacing:0.04em;text-transform:uppercase;transition:color 0.3s,transform 0.5s var(--ease-out),opacity 0.3s;display:flex;align-items:baseline;gap:var(--space-6);opacity:0.4}

/* from about.html */
.offcanvas__num{font-size:var(--text-caption);color:var(--section-inverse-muted);font-weight:400;min-width:2em}

/* from about.html */
.section[data-spacing="compact"]{padding-block:var(--space-16)}

/* from about.html */
.section[data-bg="inverse"]{background:var(--section-bg-inverse);color:var(--section-inverse-fg);--foreground:var(--section-inverse-fg);--muted-foreground:var(--section-inverse-muted);--border:var(--section-inverse-border)}

/* from about.html */
.section-header[data-align="center"]{align-items:center;text-align:center}

/* from about.html */
.section-header__tag{font-size:var(--text-tag);font-weight:600;text-transform:uppercase;letter-spacing:0.2em;color:var(--primary);display:flex;align-items:center;gap:var(--space-4)}

/* from about.html */
.section-header__tag::before{content:'';width:28px;height:3px;background:var(--primary);border-radius:1px;flex-shrink:0}

/* from about.html */
.section-header__title{font-family:var(--font);font-weight:800;letter-spacing:0.03em;text-transform:uppercase;line-height:1.1;color:var(--foreground)}

/* from about.html */
.section-header__desc{font-size:var(--text-body-lg);font-weight:300;color:var(--muted-foreground);line-height:1.75;max-width:34rem}

/* from about.html */
/* Btn (Felix-style) */
.btn{display:inline-flex;align-items:center;justify-content:center;height:3.25rem;padding-inline:2.25rem;border:2px solid transparent;border-radius:0;font-size:var(--text-btn);font-weight:700;letter-spacing:0.14em;text-transform:uppercase;font-family:var(--font);cursor:pointer;position:relative;overflow:hidden;transition:border-color var(--dur-normal) var(--ease-out),box-shadow var(--dur-normal) var(--ease-out)}

/* from about.html */
.btn span{display:inline-block;transition:transform 0.5s var(--ease-out)}

/* from about.html */
.btn::after{content:attr(data-text);position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:center;height:100%;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;transform:translateY(110%);transition:transform 0.5s var(--ease-out)}

/* from about.html */
.btn--primary{background:var(--foreground);color:var(--primary-foreground);border-color:var(--foreground);box-shadow:0 4px 16px rgba(17,17,16,0.12)}

/* from about.html */
.btn--primary:hover{box-shadow:0 8px 28px rgba(17,17,16,0.22)}

/* from about.html */
.btn--outline{border-color:var(--foreground);color:var(--foreground)}

/* from about.html */
.btn--outline:hover{box-shadow:0 4px 16px rgba(17,17,16,0.08)}

/* from about.html */
.hero-title em{font-style:italic;font-weight:600;color:var(--primary);letter-spacing:0.01em}

/* from about.html */
.hero-bottom{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:var(--space-8);padding-top:var(--space-8);
  position:relative;z-index:1;
}

/* from about.html */
.hero-desc{font-size:clamp(1rem,1.4vw,1.25rem);font-weight:400;color:var(--muted-foreground);max-width:30rem;line-height:1.7}

/* from about.html */
.hero-scroll-vertical{
  display:flex;flex-direction:column;align-items:center;
  gap:var(--space-4);flex-shrink:0;
  position:absolute;right:0;bottom:0;
}

/* from about.html */
.hero-scroll-vertical__label{font-size:0.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:0.25em;color:var(--muted-foreground);writing-mode:vertical-rl}

/* from about.html */
.hero-scroll-vertical__line{width:1px;height:60px;background:var(--border-strong);position:relative;overflow:hidden}

/* from about.html */
.hero-scroll-vertical__line::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--primary);animation:scroll-line 2s ease-in-out infinite}

/* from about.html */
@keyframes scroll-line{0%{top:-100%}50%{top:0}100%{top:100%}}

/* from about.html */
@media(max-width:768px){
  .hero-bottom{flex-direction:column;align-items:flex-start;gap:var(--space-6)}
  .hero-scroll-vertical{display:none}
  .hero-photo{display:none}
  .hero-title{max-width:none}
}

/* from about.html */
/* ═══ FULLWIDTH PHOTO — with scroll zoom effect ═══ */
.fullwidth-photo{
  position:relative;overflow:hidden;
}

/* from about.html */
.fullwidth-photo img{
  width:100%;height:auto;display:block;
  object-fit:cover;
  filter:grayscale(1);
  will-change:transform;
}

/* from about.html */
/* ═══ STORY TEXT ═══ */
.story-text{
  display:flex;flex-direction:column;gap:var(--space-6);
  max-width:42rem;margin-top:var(--space-12);
}

/* from about.html */
.story-text p{
  font-size:var(--text-body);font-weight:300;
  color:var(--muted-foreground);line-height:1.85;
}

/* from about.html */
.story-text strong{font-weight:700;color:var(--foreground)}

/* from about.html */
.story-cta{
  font-size:clamp(1.25rem, 2vw, 1.5rem);
  font-weight:600;
  color:var(--foreground);
  margin-top:var(--space-4);
}

/* from about.html */
/* ═══ TEAM ═══ */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-8);margin-top:var(--space-16)}

/* from about.html */
.team-card{display:flex;flex-direction:column;gap:var(--space-4)}

/* from about.html */
.team-card__photo{aspect-ratio:3/4;overflow:hidden;position:relative}

/* from about.html */
.team-card__photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter 1s var(--ease-out),transform 1.2s var(--ease-out)}

/* from about.html */
.team-card:hover .team-card__photo img{filter:grayscale(0);transform:scale(1.04)}

/* from about.html */
.team-card__photo .clip-reveal{position:absolute;inset:0;background:var(--background);z-index:2;pointer-events:none}

/* from about.html */
.team-card__info{display:flex;flex-direction:column;gap:var(--space-2)}

/* from about.html */
.team-card__name{font-family:var(--font);font-size:var(--text-h4);font-weight:700;color:var(--foreground)}

/* from about.html */
.team-card__role{font-size:var(--text-caption);font-weight:500;color:var(--primary);text-transform:uppercase;letter-spacing:0.1em}

/* from about.html */
.team-card__bio{font-size:0.9375rem;font-weight:300;color:var(--muted-foreground);line-height:1.65;margin-top:var(--space-2)}

/* from about.html */
.team-card__socials{display:flex;gap:var(--space-4);margin-top:var(--space-3)}

/* from about.html */
.team-card__socials a{color:var(--muted-foreground);transition:color var(--dur-fast)}

/* from about.html */
.team-card__socials a:hover{color:var(--foreground)}

/* from about.html */
.team-card__socials svg{width:16px;height:16px}

/* from about.html */
@media(max-width:1024px){.team-grid{grid-template-columns:repeat(2,1fr)}}

/* from about.html */
@media(max-width:640px){.team-grid{grid-template-columns:1fr}}

/* from about.html */
/* ═══ JOIN CTA ═══ */
.join-cta{border-top:1px solid var(--border)}

/* from about.html */
.join-cta .section-inner{max-width:640px}

/* from about.html */
.cta-email{font-family:var(--font);font-size:clamp(1.25rem,2.2vw,1.75rem);font-weight:700;color:var(--foreground);position:relative;display:inline-block}

/* from about.html */
.field input,.field textarea{font-family:var(--font);font-size:var(--text-body);font-weight:300;padding:0.875rem 0;border:none;border-bottom:2px solid var(--border-strong);border-radius:0;background:transparent;color:var(--foreground);transition:border-color var(--dur-normal) var(--ease-out),box-shadow var(--dur-normal);outline:none;width:100%}

/* from about.html */
.field input:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 2px 0 var(--primary)}

/* from about.html */
/* ═══ FOOTER ═══ */
.site-footer{background:var(--footer-bg);color:var(--section-inverse-muted);padding:var(--space-16) var(--section-px)}

/* from about.html */
.footer-hero-text{padding:var(--space-16) 0 var(--space-12);border-bottom:1px solid var(--section-inverse-border);margin-bottom:var(--space-12);text-align:center;overflow:hidden}

/* from about.html */
.footer-hero-text__word{font-family:var(--font);font-size:clamp(4rem,13vw,13rem);font-weight:700;text-transform:uppercase;letter-spacing:0.03em;color:var(--section-inverse-fg);opacity:0.4;display:block;line-height:1;animation:shake 5s ease-in-out infinite}

/* from portfolio.html */
.dot-pattern{position:fixed;inset:0;z-index:var(--z-pattern);pointer-events:none;background-image:radial-gradient(circle,rgba(17,17,16,0.07) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(ellipse 70% 60% at 80% 30%,black 0%,transparent 70%)}

/* from portfolio.html */
.offcanvas__nav{display:flex;flex-direction:column;gap:var(--space-10);z-index:2}

/* from portfolio.html */
.hero{min-height:100svh;display:flex;align-items:center;padding-top:calc(var(--header-h) + var(--space-12));padding-bottom:var(--space-12)}

/* from portfolio.html */
.hero__title{font-family:var(--font);font-size:clamp(2.5rem,6vw,5rem);line-height:1.1;font-weight:900;letter-spacing:-0.01em;text-transform:uppercase;color:var(--foreground);max-width:18ch}

/* from portfolio.html */
.hero__title em{font-style:italic;font-weight:300;color:var(--primary)}

/* from portfolio.html */
.hero__lead{font-size:clamp(1rem,1.5vw,1.25rem);font-weight:300;color:var(--muted-foreground);max-width:34rem;line-height:1.8}

/* from portfolio.html */
.portfolio-stack{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-16)}

/* from portfolio.html */
.portfolio-card{position:relative;overflow:hidden;aspect-ratio:21/9;cursor:pointer;background:var(--section-bg-inverse)}

/* from portfolio.html */
.portfolio-card img{position:absolute;left:0;right:0;top:-10%;width:100%;height:120%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter 1s var(--ease-out),transform 1.6s var(--ease-out)}

/* from portfolio.html */
.portfolio-card:hover img{filter:grayscale(0) contrast(1);transform:scale(1.05)}

/* from portfolio.html */
.portfolio-card__content{position:absolute;inset:0;display:flex;align-items:flex-end;padding:var(--space-8) var(--space-10);z-index:2;background:linear-gradient(to top,rgba(17,17,16,0.7) 0%,rgba(17,17,16,0.15) 45%,transparent 70%)}

/* from portfolio.html */
.portfolio-card__info{display:flex;flex-direction:column;gap:var(--space-2)}

/* from portfolio.html */
.portfolio-card__title{font-family:var(--font);font-size:clamp(1.5rem,3vw,2.5rem);font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:0.03em}

/* from portfolio.html */
.portfolio-card__cat{font-size:var(--text-caption);font-weight:500;color:rgba(255,255,255,0.6);text-transform:uppercase;letter-spacing:0.12em}

/* from portfolio.html */
.portfolio-card__arrow{width:44px;height:44px;border-radius:var(--radius-full);background:var(--primary);display:flex;align-items:center;justify-content:center;margin-left:auto;align-self:flex-end;transition:transform 0.5s var(--ease-out),box-shadow 0.5s var(--ease-out);box-shadow:0 4px 16px rgba(255,37,37,0.2)}

/* from portfolio.html */
.portfolio-card:hover .portfolio-card__arrow{transform:translate(4px,-4px);box-shadow:0 8px 24px rgba(255,37,37,0.35)}

/* from portfolio.html */
@media(max-width:768px){.portfolio-card{aspect-ratio:16/10}}

/* from portfolio.html */
.contact-detail-value{font-size:var(--text-body);color:var(--foreground)}

/* from portfolio.html */
.footer-brand{font-size:var(--text-caption);font-weight:800;color:var(--section-inverse-fg);letter-spacing:0.22em;text-transform:uppercase}

/* from portfolio.html */
.footer-socials{display:flex;gap:var(--space-6)}


/* from portfolio-detail.html */
/* ═══ SCROLL INDICATOR — fixed right side ═══ */
.scroll-indicator{
  position:fixed;right:var(--section-px);bottom:var(--space-12);
  display:flex;flex-direction:column;align-items:center;gap:var(--space-4);
  z-index:40;
  mix-blend-mode:difference;
}

/* from portfolio-detail.html */
.scroll-indicator__label{
  font-size:0.5625rem;font-weight:700;
  text-transform:uppercase;letter-spacing:0.25em;
  color:#f4f2ed;
  writing-mode:vertical-rl;
}

/* from portfolio-detail.html */
.scroll-indicator__line{
  width:1px;height:40px;
  background:rgba(244,242,237,0.25);
  position:relative;overflow:hidden;
}

/* from portfolio-detail.html */
.scroll-indicator__line::after{
  content:'';position:absolute;top:-100%;left:0;
  width:100%;height:100%;
  background:#f4f2ed;
  animation:scroll-line 2s ease-in-out infinite;
}

/* from portfolio-detail.html */
.scroll-indicator__circle{
  width:52px;height:52px;
  position:relative;
}

/* from portfolio-detail.html */
.scroll-indicator__circle svg{width:100%;height:100%;transform:rotate(-90deg)}

/* from portfolio-detail.html */
.scroll-indicator__circle .track{fill:none;stroke:rgba(244,242,237,0.15);stroke-width:2}

/* from portfolio-detail.html */
.scroll-indicator__circle .progress{fill:none;stroke:var(--primary);stroke-width:2;stroke-linecap:round;stroke-dasharray:138.23;stroke-dashoffset:138.23;transition:stroke-dashoffset 0.1s}

/* from portfolio-detail.html */
.scroll-indicator__pct{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  font-size:0.625rem;font-weight:700;color:#f4f2ed;
  letter-spacing:0.02em;
}

/* from portfolio-detail.html */
@media(max-width:768px){.scroll-indicator{display:none}}

/* from portfolio-detail.html */
/* ═══ PROJECT HERO ═══ */
.project-hero{padding-top:calc(var(--header-h) + var(--space-20));padding-bottom:var(--space-16)}

/* from portfolio-detail.html */
.project-hero .section-inner{gap:var(--space-12)}

/* from portfolio-detail.html */
.project-hero__top{display:grid;grid-template-columns:1fr auto;gap:var(--space-16);align-items:start}

/* from portfolio-detail.html */
.project-hero__title{font-family:var(--font);font-size:var(--text-h1);font-weight:900;text-transform:uppercase;letter-spacing:0.03em;line-height:1.1}

/* from portfolio-detail.html */
.project-hero__desc{font-size:var(--text-body);font-weight:300;color:var(--muted-foreground);max-width:28rem;line-height:1.75;margin-top:var(--space-4)}

/* from portfolio-detail.html */
.project-meta{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6) var(--space-12)}

/* from portfolio-detail.html */
.project-meta__item{display:flex;align-items:flex-start;gap:var(--space-4)}

/* from portfolio-detail.html */
.project-meta__icon{width:20px;height:20px;color:var(--primary);flex-shrink:0;margin-top:0.15em}

/* from portfolio-detail.html */
.project-meta__text{display:flex;flex-direction:column;gap:var(--space-2)}

/* from portfolio-detail.html */
.project-meta__label{font-size:var(--text-caption);font-weight:600;text-transform:uppercase;letter-spacing:0.15em;color:var(--muted-foreground)}

/* from portfolio-detail.html */
.project-meta__value{font-size:var(--text-body);font-weight:500;color:var(--foreground)}

/* from portfolio-detail.html */
.project-meta__value a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}

/* from portfolio-detail.html */
@media(max-width:768px){.project-hero__top{grid-template-columns:1fr}}

/* from portfolio-detail.html */
/* ═══ STATS ═══ */
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:var(--space-16)}

/* from portfolio-detail.html */
.stat-card{padding:var(--space-10) var(--space-8);border-left:3px solid var(--primary);display:flex;flex-direction:column;gap:var(--space-4);position:relative;overflow:hidden}

/* from portfolio-detail.html */
.stat-card::before{content:'';position:absolute;inset:0;background:rgba(255,37,37,0.04);transform:scaleX(0);transform-origin:left;transition:transform 0.6s var(--ease-out)}

/* from portfolio-detail.html */
.stat-card:hover::before{transform:scaleX(1)}

/* from portfolio-detail.html */
.stat-card__number{font-family:var(--font);font-size:clamp(3rem,5vw,4.5rem);font-weight:900;color:var(--foreground);letter-spacing:-0.03em;line-height:1;position:relative;z-index:1}

/* from portfolio-detail.html */
.stat-card__label{font-size:var(--text-body);font-weight:300;color:var(--muted-foreground);line-height:1.5;max-width:18rem;position:relative;z-index:1}

/* from portfolio-detail.html */
@media(max-width:640px){.stats-grid{grid-template-columns:1fr}}

/* from portfolio-detail.html */
/* ═══ FULLWIDTH IMAGE ═══ */
.fullwidth-img{position:relative;overflow:hidden}

/* from portfolio-detail.html */
.fullwidth-img img{width:100%;height:auto;display:block;filter:grayscale(1);will-change:transform}

/* from portfolio-detail.html */
/* ═══ BODY TEXT ═══ */
.body-section{display:grid;grid-template-columns:1fr 1.3fr;gap:var(--space-20);align-items:start;margin-top:var(--space-16)}

/* from portfolio-detail.html */
.body-section__title{font-family:var(--font);font-size:var(--text-h2);font-weight:800;text-transform:uppercase;letter-spacing:0.03em;line-height:1.2;position:sticky;top:calc(var(--header-h) + var(--space-8))}

/* from portfolio-detail.html */
.body-section__content{display:flex;flex-direction:column;gap:var(--space-6)}

/* from portfolio-detail.html */
.body-section__content p{font-size:var(--text-body);font-weight:300;color:var(--muted-foreground);line-height:1.85}

/* from portfolio-detail.html */
.body-section__content strong{font-weight:700;color:var(--foreground)}

/* from portfolio-detail.html */
@media(max-width:768px){.body-section{grid-template-columns:1fr}.body-section__title{position:static}}

/* from portfolio-detail.html */
/* ═══ NEXT PROJECT ═══ */
.next-project{border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-8);margin-top:var(--space-16)}

/* from portfolio-detail.html */
.next-project__label{font-size:var(--text-caption);font-weight:600;text-transform:uppercase;letter-spacing:0.15em;color:var(--muted-foreground)}

/* from portfolio-detail.html */
.next-project__name{font-family:var(--font);font-size:var(--text-h3);font-weight:800;text-transform:uppercase;letter-spacing:0.03em;display:flex;align-items:center;gap:var(--space-3);transition:color var(--dur-fast)}

/* from portfolio-detail.html */
.next-project__name:hover{color:var(--primary)}

/* from portfolio-detail.html */
.next-project__name svg{width:18px;height:18px}


/* from kontakt.html */
/* ═══ CONTACT HERO ═══ */
.contact-hero{padding-top:calc(var(--header-h) + var(--space-20));padding-bottom:var(--space-12)}

/* from kontakt.html */
.contact-hero__grid{display:grid;grid-template-columns:1fr auto;gap:var(--space-16);align-items:start;margin-top:var(--space-4)}

/* from kontakt.html */
.contact-hero__left{display:flex;flex-direction:column;gap:var(--space-6)}

/* from kontakt.html */
.contact-hero__desc{font-size:var(--text-body);font-weight:300;color:var(--muted-foreground);max-width:28rem;line-height:1.75}

/* from kontakt.html */
.contact-channels{display:flex;flex-direction:column;gap:var(--space-8)}

/* from kontakt.html */
.contact-channel{display:flex;align-items:flex-start;gap:var(--space-5)}

/* from kontakt.html */
.contact-channel__icon{width:20px;height:20px;color:var(--primary);flex-shrink:0;margin-top:0.2em}

/* from kontakt.html */
.contact-channel__label{font-size:var(--text-caption);font-weight:600;text-transform:uppercase;letter-spacing:0.15em;color:var(--muted-foreground)}

/* from kontakt.html */
.contact-channel__value{font-size:var(--text-body);font-weight:500;color:var(--foreground)}

/* from kontakt.html */
.contact-channel__value a{transition:color var(--dur-fast)}

/* from kontakt.html */
.contact-channel__value a:hover{color:var(--primary)}

/* from kontakt.html */
@media(max-width:768px){.contact-hero__grid{grid-template-columns:1fr}}

/* from kontakt.html */
/* ═══ PHOTO ═══ */
.contact-photo{overflow:hidden}

/* from kontakt.html */
.contact-photo img{width:100%;height:auto;filter:grayscale(1);will-change:transform}

/* from kontakt.html */
/* ═══ FORM SECTION ═══ */
.form-section{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:start;margin-top:var(--space-16)}

/* from kontakt.html */
.form-section__left{display:flex;flex-direction:column;gap:var(--space-8)}

/* from kontakt.html */
.field textarea{min-height:160px;resize:vertical}

/* from kontakt.html */
.form-section__photo{overflow:hidden;position:relative}

/* from kontakt.html */
.form-section__photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter 1s var(--ease-out)}

/* from kontakt.html */
.form-section__photo:hover img{filter:grayscale(0)}

/* from kontakt.html */
@media(max-width:768px){.form-section{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.form-section__photo{aspect-ratio:4/3}}

/* from weby.html */
/* ═══ HERO — left aligned ═══ */
.hero-centered{min-height:100svh;display:flex;align-items:flex-end;padding-top:calc(var(--header-h) + var(--space-12));}

/* from weby.html */
.hero-centered .section-inner{gap:var(--space-16);}

/* from weby.html */
.hero-centered__title{font-family:var(--font);font-size:clamp(2.5rem,6vw,5rem);line-height:1.1;font-weight:900;letter-spacing:-0.01em;text-transform:uppercase;color:var(--foreground);max-width:18ch}

/* from weby.html */
.hero-centered__title em{font-style:italic;font-weight:300;color:var(--primary)}

/* from weby.html */
.hero-centered__lead{font-size:clamp(1rem,1.5vw,1.25rem);font-weight:300;color:var(--muted-foreground);max-width:34rem;line-height:1.8}

/* from weby.html */
.hero-centered__lead strong{font-weight:700;color:var(--foreground)}

/* from weby.html */
/* ═══ PAIN POINTS — 3 col icons ═══ */
.pain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);margin-top:var(--space-16)}

/* from weby.html */
.pain-card{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-8);border:1px solid var(--border);position:relative;overflow:hidden;transition:border-color var(--dur-normal)}

/* from weby.html */
.pain-card::before{content:'';position:absolute;inset:0;background:var(--primary);transform:scaleY(0);transform-origin:bottom;transition:transform 0.5s var(--ease-out);z-index:0}

/* from weby.html */
.pain-card:hover::before{transform:scaleY(1)}

/* from weby.html */
.pain-card:hover{border-color:var(--primary);color:var(--primary-foreground)}

/* from weby.html */
.pain-card:hover .pain-card__icon{color:var(--primary-foreground)}

/* from weby.html */
.pain-card:hover .pain-card__text{color:rgba(255,255,255,0.8)}

/* from weby.html */
.pain-card__icon{width:32px;height:32px;color:var(--primary);position:relative;z-index:1;transition:color 0.5s}

/* from weby.html */
.pain-card__title{font-family:var(--font);font-size:var(--text-h4);font-weight:700;text-transform:uppercase;letter-spacing:0.03em;position:relative;z-index:1}

/* from weby.html */
.pain-card__text{font-size:var(--text-body);font-weight:300;color:var(--muted-foreground);line-height:1.7;position:relative;z-index:1;transition:color 0.5s}

/* from weby.html */
@media(max-width:768px){.pain-grid{grid-template-columns:1fr}}

/* from weby.html */
/* ═══ SOLUTION — split text ═══ */
.solution-split{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--space-20);align-items:start;margin-top:var(--space-16)}

/* from weby.html */
.solution-text{display:flex;flex-direction:column;gap:var(--space-6)}

/* from weby.html */
.solution-text p{font-size:var(--text-body);font-weight:300;color:var(--muted-foreground);line-height:1.85}

/* from weby.html */
.solution-text strong{font-weight:700;color:var(--foreground)}

/* from weby.html */
.solution-pullquote{font-family:var(--font);font-size:clamp(1.375rem,2.5vw,2rem);font-weight:500;line-height:1.55;color:var(--foreground)}

/* from weby.html */
.solution-pullquote strong{font-weight:800;color:var(--primary)}

/* from weby.html */
@media(max-width:768px){.solution-split{grid-template-columns:1fr}}

/* from weby.html */
/* ═══ PROCESS — numbered steps ═══ */
.process-list{display:flex;flex-direction:column;margin-top:var(--space-16)}

/* from weby.html */
.process-step{display:grid;grid-template-columns:4rem 1fr;gap:var(--space-8);padding:var(--space-8) 0;border-top:1px solid var(--border);align-items:start}

/* from weby.html */
.process-step:last-child{border-bottom:1px solid var(--border)}

/* from weby.html */
.process-step__num{font-family:var(--font);font-size:clamp(1rem,1.5vw,1.25rem);font-weight:300;color:var(--muted-foreground);padding-top:0.15em}

/* from weby.html */
.process-step__content{display:flex;flex-direction:column;gap:var(--space-3)}

/* from weby.html */
.process-step__title{font-family:var(--font);font-size:var(--text-h3);font-weight:700;text-transform:uppercase;letter-spacing:0.03em}

/* from weby.html */
.process-step__desc{font-size:var(--text-body);font-weight:300;color:var(--muted-foreground);line-height:1.7;max-width:38rem}

/* from weby.html */
.process-step__meta{font-size:var(--text-caption);font-weight:600;color:var(--primary);text-transform:uppercase;letter-spacing:0.1em}

/* from weby.html */
/* ═══ PRICING ═══ */
.pricing-block{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-6);margin-top:var(--space-12)}

/* from weby.html */
.pricing-amount{font-family:var(--font);font-size:clamp(2.5rem,5vw,4rem);font-weight:900;color:var(--foreground);letter-spacing:-0.01em}

/* from weby.html */
.pricing-note{font-size:var(--text-body);font-weight:300;color:var(--muted-foreground);max-width:34rem;line-height:1.75}

/* from weby.html */
/* ═══ TESTIMONIALS ═══ */
.testimonial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-8);margin-top:var(--space-16)}

/* from weby.html */
.testimonial-card{padding:var(--space-8);border:1px solid var(--border);display:flex;flex-direction:column;gap:var(--space-6)}

/* from weby.html */
.testimonial-card__quote{font-size:var(--text-body);font-weight:300;color:var(--muted-foreground);line-height:1.75;font-style:italic}

/* from weby.html */
.testimonial-card__author{font-size:var(--text-caption);font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--foreground)}

/* from weby.html */
.testimonial-card__role{font-size:var(--text-caption);font-weight:400;color:var(--primary);letter-spacing:0.08em}

/* from weby.html */
@media(max-width:768px){.testimonial-grid{grid-template-columns:1fr}}

/* from strategie.html */
/* ═══ HERO — left aligned ═══ */
.hero-centered{min-height:100svh;display:flex;align-items:flex-end;padding-top:calc(var(--header-h) + var(--space-12));padding-bottom:var(--space-12)}

/* from socsite.html */
/* ═══ 4-COL FEATURES ═══ */
.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-8);margin-top:var(--space-16)}

/* from socsite.html */
.feature-card{display:flex;flex-direction:column;gap:var(--space-4)}

/* from socsite.html */
.feature-card__icon{width:28px;height:28px;color:var(--primary)}

/* from socsite.html */
.feature-card__title{font-family:var(--font);font-size:var(--text-h4);font-weight:700;text-transform:uppercase;letter-spacing:0.03em}

/* from socsite.html */
.feature-card__text{font-size:0.9375rem;font-weight:300;color:var(--muted-foreground);line-height:1.7}

/* from socsite.html */
@media(max-width:1024px){.features-grid{grid-template-columns:repeat(2,1fr)}}

/* from socsite.html */
@media(max-width:640px){.features-grid{grid-template-columns:1fr}}

/* from socsite.html */
/* ═══ FAQ — split layout ═══ */
.faq-split{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--space-20);margin-top:var(--space-16);align-items:start}

/* from socsite.html */
.faq-left{display:flex;flex-direction:column;gap:var(--space-6);position:sticky;top:calc(var(--header-h) + var(--space-8))}

/* from socsite.html */
.accordion{display:flex;flex-direction:column}

/* from socsite.html */
.accordion-item{border-top:1px solid var(--border)}

/* from socsite.html */
.accordion-item:last-child{border-bottom:1px solid var(--border)}

/* from socsite.html */
.accordion-trigger{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;padding:var(--space-6) 0;
  font-family:var(--font);font-size:var(--text-h4);font-weight:700;
  text-align:left;cursor:pointer;
  transition:color var(--dur-fast);
}

/* from socsite.html */
.accordion-trigger:hover{color:var(--primary)}

/* from socsite.html */
.accordion-icon{font-size:1.25rem;font-weight:300;transition:transform 0.4s var(--ease-out)}

/* from socsite.html */
.accordion-item.open .accordion-icon{transform:rotate(45deg)}

/* from socsite.html */
.accordion-content{
  max-height:0;overflow:hidden;
  transition:max-height 0.5s var(--ease-out);
}

/* from socsite.html */
.accordion-item.open .accordion-content{max-height:500px}

/* from socsite.html */
.accordion-content-inner{
  padding-bottom:var(--space-6);
  font-size:var(--text-body);font-weight:300;
  color:var(--muted-foreground);line-height:1.75;
}

/* from socsite.html */
@media(max-width:768px){.faq-split{grid-template-columns:1fr}.faq-left{position:static}}

/* from socsite.html */
/* ═══ GALLERY — masonry-ish grid ═══ */
.gallery-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);
  margin-top:var(--space-12);
}

/* from socsite.html */
.gallery-grid__item{overflow:hidden;position:relative}

/* from socsite.html */
.gallery-grid__item:nth-child(1){grid-column:span 2;grid-row:span 2}

/* from socsite.html */
.gallery-grid__item img{
  width:100%;height:100%;object-fit:cover;
  filter:grayscale(1);
  transition:filter 0.8s var(--ease-out),transform 1.2s var(--ease-out);
}

/* from socsite.html */
.gallery-grid__item:hover img{filter:grayscale(0);transform:scale(1.04)}

/* from socsite.html */
@media(max-width:768px){.gallery-grid{grid-template-columns:1fr}.gallery-grid__item:nth-child(1){grid-column:auto;grid-row:auto}}

/* from foceni.html */
/* ═══ GALLERY — horizontal scroll snap ═══ */
.gallery{margin-top:var(--space-12)}

/* from foceni.html */
.gallery__track{
  display:flex;gap:var(--space-6);
  overflow-x:auto;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;padding-bottom:var(--space-4);
}

/* from foceni.html */
.gallery__track::-webkit-scrollbar{display:none}

/* from foceni.html */
.gallery__item{
  flex:0 0 auto;
  width:clamp(280px, 38vw, 480px);
  aspect-ratio:4/3;
  overflow:hidden;
  scroll-snap-align:start;
  position:relative;
}

/* from foceni.html */
.gallery__item img,.gallery__item video{
  width:100%;height:100%;object-fit:cover;
  filter:grayscale(1);
  transition:filter 0.8s var(--ease-out),transform 1.4s var(--ease-out);
}

/* from foceni.html */
.gallery__item:hover img,.gallery__item:hover video{
  filter:grayscale(0);transform:scale(1.06);
}

/* from foceni.html */
/* Overlay shimmer on hover */
.gallery__item::before{
  content:'';position:absolute;inset:0;z-index:2;
  background:linear-gradient(105deg, transparent 40%, rgba(255,255,255,0.12) 45%, rgba(255,255,255,0.2) 50%, rgba(255,255,255,0.12) 55%, transparent 60%);
  background-size:300% 100%;
  background-position:200% 0;
  transition:background-position 0s;
  pointer-events:none;
}

/* from foceni.html */
.gallery__item:hover::before{
  background-position:-100% 0;
  transition:background-position 0.9s var(--ease-out);
}

/* from foceni.html */
/* Lift + shadow on hover */
.gallery__item{
  transition:transform 0.5s var(--ease-out),box-shadow 0.5s var(--ease-out);
}

/* from foceni.html */
.gallery__item:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 40px rgba(17,17,16,0.12),0 8px 16px rgba(17,17,16,0.06);
}

/* from foceni.html */
/* Zoom icon for photo items */
.gallery__item:not(.gallery__item--video)::after{
  content:'+';
  position:absolute;bottom:var(--space-4);right:var(--space-4);
  width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  background:var(--foreground);color:var(--background);
  font-size:1.25rem;font-weight:300;line-height:1;
  opacity:0;transform:translateY(8px);
  transition:opacity 0.4s var(--ease-out),transform 0.4s var(--ease-out);
  z-index:3;pointer-events:none;
}

/* from foceni.html */
.gallery__item:not(.gallery__item--video):hover::after{
  opacity:1;transform:translateY(0);
}

/* from foceni.html */
.gallery__controls{
  display:flex;align-items:center;justify-content:space-between;
  margin-top:var(--space-6);
}

/* from foceni.html */
.gallery__dots{display:flex;gap:var(--space-3)}

/* from foceni.html */
.gallery__dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--border-strong);transition:background var(--dur-fast),width var(--dur-normal)}

/* from foceni.html */
.gallery__dot.active{width:24px;background:var(--foreground)}

/* from foceni.html */
.gallery__arrows{display:flex;gap:var(--space-4)}

/* from foceni.html */
.gallery__arrow{
  width:40px;height:40px;
  border:2px solid var(--border-strong);
  display:flex;align-items:center;justify-content:center;
  transition:border-color var(--dur-fast),background var(--dur-fast);
  cursor:pointer;
}

/* from foceni.html */
.gallery__arrow:hover{border-color:var(--foreground);background:var(--foreground);color:var(--background)}

/* from foceni.html */
.gallery__arrow svg{width:16px;height:16px}

/* from foceni.html */
/* Video items have play indicator */
.gallery__item--video::after{
  content:'▶';
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:56px;height:56px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(17,17,16,0.6);color:#fff;
  border-radius:var(--radius-full);
  font-size:1rem;padding-left:3px;
  pointer-events:none;
  transition:background var(--dur-fast),transform var(--dur-fast);
  z-index:2;
}

/* from foceni.html */
.gallery__item--video:hover::after{
  background:var(--primary);
  transform:translate(-50%,-50%) scale(1.1);
}

/* from gdpr.html */
/* Legal hero */
.legal-hero{padding-top:calc(var(--header-h) + var(--space-20));padding-bottom:var(--space-12)}

/* from gdpr.html */
.legal-hero__meta{font-size:var(--text-caption);font-weight:500;color:var(--muted-foreground);letter-spacing:0.05em;margin-top:var(--space-4)}

/* from gdpr.html */
/* Richtext */
.richtext{max-width:72ch;margin-top:var(--space-16);display:flex;flex-direction:column;gap:var(--space-6)}

/* from gdpr.html */
.richtext h2{font-family:var(--font);font-size:var(--text-h2);font-weight:800;text-transform:uppercase;letter-spacing:0.03em;color:var(--foreground);margin-top:var(--space-12)}

/* from gdpr.html */
.richtext h3{font-family:var(--font);font-size:var(--text-h3);font-weight:700;color:var(--foreground);margin-top:var(--space-8)}

/* from gdpr.html */
.richtext p{font-size:var(--text-body);font-weight:300;color:var(--muted-foreground);line-height:1.85}

/* from gdpr.html */
.richtext strong{font-weight:700;color:var(--foreground)}

/* from gdpr.html */
.richtext a{color:var(--primary);text-decoration:underline;text-underline-offset:3px;transition:color var(--dur-fast)}

/* from gdpr.html */
.richtext a:hover{color:var(--foreground)}

/* from gdpr.html */
.richtext ul,.richtext ol{padding-left:var(--space-8);display:flex;flex-direction:column;gap:var(--space-3)}

/* from gdpr.html */
.richtext li{font-size:var(--text-body);font-weight:300;color:var(--muted-foreground);line-height:1.75}

/* from gdpr.html */
.richtext li::marker{color:var(--primary)}

