/* ═══════════════════════════════════════════════════════════════════════════
   JAQUE PLATT — Premium Editorial Design System
   Maximum Technology: CSS Custom Properties, @property, color-mix,
   Scroll Animations, Container Queries, has(), View Transitions, Glass
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── DESIGN TOKENS ─────────────────────────────────────────────────────── */
:root {
  /* Color System */
  --cream:#F3EEE7;--cream-deep:#E9DFD3;--cream-paper:#FFFAF5;
  --charcoal:#26231F;--charcoal-soft:#3B3631;
  --ink-muted:#756D64;--ink-light:#9B9089;
  --terracotta:#CF6F20;--terracotta-deep:#A95018;--terracotta-light:#E8944A;
  --terracotta-glow:rgba(207,111,32,0.12);--terracotta-glow-strong:rgba(207,111,32,0.22);
  --line:rgba(38,35,31,0.13);--line-strong:rgba(38,35,31,0.22);
  --warm-shadow:rgba(61,42,25,0.13);--warm-shadow-deep:rgba(41,37,33,0.18);

  /* Typography — Modular Scale (Major Third 1.25) */
  --heading-font:'Playfair Display',Georgia,'Times New Roman',serif;
  --body-font:'DM Sans','Helvetica Neue',Arial,sans-serif;
  --mono-font:'DM Mono','Courier New',monospace;
  --accent-font:'Cormorant Garamond','Playfair Display',Georgia,serif;
  --display-font:'Fraunces','Playfair Display',Georgia,serif;

  /* Type Scale (1.25 ratio) */
  --text-xs:0.64rem;    /* 10.24px */
  --text-sm:0.8rem;     /* 12.8px */
  --text-base:1rem;     /* 16px */
  --text-md:1.125rem;   /* 18px */
  --text-lg:1.25rem;    /* 20px */
  --text-xl:1.563rem;   /* 25px */
  --text-2xl:1.953rem;  /* 31.25px */
  --text-3xl:2.441rem;  /* 39px */
  --text-4xl:3.052rem;  /* 48.8px */
  --text-5xl:3.815rem;  /* 61px */
  --text-6xl:4.768rem;  /* 76.3px */
  --text-hero:clamp(3.2rem,8vw,6.5rem);

  /* Line Heights */
  --lh-tight:0.88;
  --lh-heading:0.92;
  --lh-snug:1.1;
  --lh-normal:1.55;
  --lh-relaxed:1.72;
  --lh-loose:1.85;

  /* Letter Spacing */
  --ls-tight:-0.035em;
  --ls-snug:-0.02em;
  --ls-normal:0;
  --ls-wide:0.04em;
  --ls-wider:0.08em;
  --ls-widest:0.14em;

  /* Spacing Scale (8px grid) */
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;
  --sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--sp-10:128px;

  /* Shadows */
  --shadow-sm:0 1px 3px rgba(41,37,33,0.05);
  --shadow-md:0 4px 16px rgba(41,37,33,0.07);
  --shadow-lg:0 12px 40px rgba(41,37,33,0.10);
  --shadow-xl:0 24px 60px rgba(41,37,33,0.14);
  --shadow-glow:0 8px 24px rgba(207,111,32,0.18);

  /* Radius */
  --radius-sm:4px;--radius-md:6px;--radius-lg:12px;--radius-xl:20px;--radius-full:999px;

  /* Motion */
  --ease-out:cubic-bezier(0.23,1,0.32,1);
  --ease-spring:cubic-bezier(0.34,1.56,0.64,1);
  --ease-smooth:cubic-bezier(0.4,0,0.2,1);
  --dur-fast:160ms;--dur-normal:300ms;--dur-slow:500ms;--dur-enter:600ms;

  /* Layout */
  --max-w:1400px;
  --gutter:clamp(24px,5vw,80px);
  --section-py:clamp(60px,8vw,120px);
  --section-px:clamp(24px,9vw,160px);

  /* Image Sizes — Premium Consistent System */
  --img-avatar:clamp(180px,22vw,280px);
  --img-about-main:clamp(220px,28vw,340px);
  --img-about-detail:clamp(140px,16vw,200px);
  --img-hero-profile:clamp(220px,28vw,380px);
  --img-hero-height:clamp(420px,65vh,700px);
  --img-gallery-max:320px;
  --img-collab-max:480px;
  --img-styles-max:560px;

  /* JP aliases (backward compat) */
  --jp-paper:var(--cream-paper);--jp-warm-ink:var(--charcoal);--jp-muted:var(--ink-muted);
  --jp-accent:var(--terracotta);--jp-accent-deep:var(--terracotta-deep);
  --jp-line:var(--line);--jp-ease:var(--ease-out);
  --paper-shadow:0 20px 60px var(--warm-shadow);
  --terracotta-ink:#fffaf5;
  --terracotta-accessible:#9c4a19;

  /* Dynamic hover colors via color-mix */
  --hover-surface:color-mix(in srgb, var(--cream-paper) 8%, transparent);
  --hover-surface-strong:color-mix(in srgb, var(--cream-paper) 14%, transparent);
  --hover-accent:color-mix(in srgb, var(--terracotta) 12%, transparent);
  --hover-accent-strong:color-mix(in srgb, var(--terracotta) 22%, transparent);

  /* Glass refinements (The-morphism inset recipe) */
  --glass-border:rgba(255,250,245,0.25);
  --glass-border-dark:rgba(255,250,245,0.08);
  --glass-inset:inset 0 1px 1px rgba(255,250,245,0.4);
}

/* ─── @property (animated custom properties) ────────────────────────────── */
@property --glow-opacity {
  syntax:'<number>'; inherits:false; initial-value:0;
}
@property --parallax-y {
  syntax:'<length>'; inherits:false; initial-value:0px;
}
@property --card-lift {
  syntax:'<length>'; inherits:false; initial-value:0px;
}

/* ─── RESET & BASE ──────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:320px;background:var(--cream);color:var(--charcoal);font-family:var(--body-font);font-size:var(--text-base);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:'liga' 1,'kern' 1,'calt' 1}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button{font:inherit;cursor:pointer}
h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--heading-font);font-weight:400;line-height:var(--lh-heading)}

/* ─── FOCUS & ACCESSIBILITY ─────────────────────────────────────────────── */
:focus-visible{outline:3px solid var(--terracotta);outline-offset:4px;border-radius:2px}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* ─── SCROLL ANIMATIONS ─────────────────────────────────────────────────── */
@keyframes fadeUp{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes scaleIn{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}
@keyframes slideRight{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes pulseGlow{0%,100%{box-shadow:0 0 0 0 rgba(207,111,32,0)}50%{box-shadow:0 0 0 8px rgba(207,111,32,0.08)}}

.js-ready .animate-on-scroll{opacity:0;transform:translateY(32px);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}
.js-ready .animate-on-scroll.is-visible{opacity:1;transform:translateY(0)}
.js-ready .animate-on-scroll:nth-child(2){transition-delay:80ms}
.js-ready .animate-on-scroll:nth-child(3){transition-delay:160ms}
.js-ready .animate-on-scroll:nth-child(4){transition-delay:240ms}

/* ─── HOME PAGE ─────────────────────────────────────────────────────────── */
.home-page{min-height:100vh;overflow:hidden;position:relative;background:var(--cream)}
.home-paper{position:absolute;inset:0;background:url('/manus-storage/jaque-abstract-paper_4ec93f75.jpg') center/cover;opacity:.15;mix-blend-mode:multiply;pointer-events:none}

/* Home Grid Layout — Editorial */
.home-layout{width:min(var(--max-w),calc(100% - 48px));margin:0 auto;min-height:100vh;display:grid;grid-template-columns:min-content 1fr;gap:clamp(32px,6vw,120px);position:relative;z-index:1}
.home-aside{padding:34px 0 40px;display:flex;flex-direction:column;min-height:100vh;width:clamp(200px,20vw,280px);flex-shrink:0}

/* ─── HOME EDITORIAL — Classic Two-Column ────────────────────────────────── */
.home-layout-editorial .home-layout{grid-template-columns:280px 1fr;gap:clamp(40px,6vw,100px)}
.home-layout-editorial .home-aside{padding:48px 0 48px;border-right:1px solid var(--line)}
.home-layout-editorial .home-content{padding:48px 0;display:flex;flex-direction:column;gap:var(--sp-8)}
.home-layout-editorial .home-identity{text-align:left}
.home-layout-editorial .home-identity h1{font-family:var(--heading-font);font-size:var(--text-hero);font-weight:400;letter-spacing:var(--ls-tight);line-height:var(--lh-tight);color:var(--charcoal)}
.home-layout-editorial .home-identity h1 em{font-style:italic;color:var(--terracotta-deep)}
.home-layout-editorial .home-identity .identity-sub{max-width:42ch;line-height:var(--lh-relaxed);color:var(--charcoal-soft);font-size:var(--text-md);margin-top:var(--sp-3)}
.home-layout-editorial .home-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-5);margin-top:var(--sp-6)}
.home-layout-editorial .home-grid-item{position:relative;overflow:hidden;border-radius:2px;background:var(--cream-paper);box-shadow:0 4px 20px rgba(41,37,33,.08)}
.home-layout-editorial .home-grid-item img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;filter:saturate(0.9) contrast(1.03);transition:transform 0.6s var(--ease-out),filter 0.6s var(--ease-out)}
.home-layout-editorial .home-grid-item:hover img{transform:scale(1.03);filter:saturate(1) contrast(1)}
.home-layout-editorial .home-footer{margin-top:auto;padding-top:var(--sp-8)}

/* ─── HOME MINIMAL — Single Column Centered ──────────────────────────────── */
.home-layout-minimal .home-layout{grid-template-columns:1fr;gap:0;max-width:560px;margin:0 auto;padding:0 var(--gutter)}
.home-layout-minimal .home-aside{display:none}
.home-layout-minimal .home-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:clamp(80px,14vh,160px);gap:var(--sp-6)}
.home-layout-minimal .brand-mark{width:72px;height:72px;margin:0 auto var(--sp-4)}
.home-layout-minimal .home-identity{text-align:center}
.home-layout-minimal .home-identity h1{font-family:var(--heading-font);font-size:var(--text-4xl);font-weight:400;letter-spacing:var(--ls-tight);line-height:var(--lh-heading);color:var(--charcoal)}
.home-layout-minimal .home-identity h1 em{font-style:italic;color:var(--terracotta-deep)}
.home-layout-minimal .home-identity .identity-sub{max-width:32ch;line-height:var(--lh-relaxed);color:var(--charcoal-soft);font-size:var(--text-base);margin-top:var(--sp-3)}
.home-layout-minimal .social-row{justify-content:center;margin:var(--sp-4) 0}
.home-layout-minimal .home-cta{margin:var(--sp-4) auto 0}
.home-layout-minimal .home-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-6);margin-top:var(--sp-10);width:100%}
.home-layout-minimal .home-grid-item{position:relative;overflow:hidden;border-radius:2px;background:var(--cream-paper);box-shadow:0 4px 20px rgba(41,37,33,.08)}
.home-layout-minimal .home-grid-item img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;filter:saturate(0.9) contrast(1.03);transition:transform 0.6s var(--ease-out),filter 0.6s var(--ease-out)}
.home-layout-minimal .home-grid-item:hover img{transform:scale(1.02);filter:saturate(1) contrast(1)}
.home-layout-minimal .home-footer{margin-top:var(--sp-10);padding-top:var(--sp-6);border-top:1px solid var(--line);width:100%;text-align:center}
@media(max-width:800px){.home-layout-minimal .home-layout{max-width:100%;padding:0 16px}.home-layout-minimal .home-content{padding-top:clamp(60px,10vh,100px)}}

/* Safe-area e padding global para botões fixos */
:root{
  --safe-bottom:max(0px, env(safe-area-inset-bottom, 0px));
  --safe-top:max(0px, env(safe-area-inset-top, 0px));
}

/* Botão de admin do site — padronizado em 44px */
.home-manage-button{position:absolute;top:24px;right:clamp(18px,4vw,56px);z-index:5;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:transparent;padding:0;color:var(--charcoal);box-shadow:none;transition:color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-spring)}
.home-manage-button:hover{background:transparent;color:var(--terracotta-deep);transform:translateY(-2px)}
.home-manage-button:active{transform:scale(0.97)}
.manage-icon{font-size:17px;line-height:1}

/* Brand Lockup */
.brand-lockup,.portfolio-brand{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-wider);text-transform:uppercase;font-weight:500}
.brand-mark{width:100%;height:100%;object-fit:inherit;object-position:inherit;max-width:100%}
.brand-lockup .brand-mark,.portfolio-brand .brand-mark{width:var(--logo-width,30px);height:var(--logo-width,30px);max-width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;background:transparent;box-shadow:none;aspect-ratio:1/1}
.brand-lockup .brand-mark{width:min(var(--logo-width,30px),80px);height:min(var(--logo-width,30px),80px);max-height:80px;padding:0;box-sizing:border-box}
.portfolio-brand .brand-mark{width:50px;height:50px;padding:0;box-sizing:border-box}
.brand-lockup .brand-mark img,.portfolio-brand .brand-mark img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;object-position:center;border-radius:50%;border:none;display:block}
.brand-lockup>span,.portfolio-brand>span{letter-spacing:.075em;font-weight:500}

/* Aside */
.home-aside .aside-kicker{letter-spacing:var(--ls-wider);font-weight:500;font-size:var(--text-xs)}
.home-aside .aside-note{max-width:19ch;line-height:var(--lh-relaxed);color:var(--charcoal-soft);font-size:var(--text-sm)}
.aside-rule{width:100%;height:1px;background:var(--line);margin:var(--sp-5) 0}
.aside-meta{font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-wider);color:var(--ink-muted);line-height:1.6}

/* Home Identity */
.home-content{max-width:620px}
.home-identity{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-5);animation:fadeUp var(--dur-enter) var(--ease-out) both}
.avatar-ring{width:var(--img-avatar);height:var(--img-avatar);border-radius:var(--radius-full);overflow:hidden;box-shadow:var(--shadow-lg);border:3px solid var(--cream-paper);transition:box-shadow var(--dur-normal) var(--ease-out),transform var(--dur-normal) var(--ease-out)}
.avatar-ring:hover{box-shadow:var(--shadow-xl),0 0 0 4px var(--terracotta-glow);transform:scale(1.02)}
.avatar-ring img{width:100%;height:100%;object-fit:cover;object-position:center top}
.home-identity .eyebrow{font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--ink-muted);font-weight:500}
.home-identity h1{font-family:var(--heading-font);font-size:var(--text-hero);font-weight:400;letter-spacing:var(--ls-tight);line-height:var(--lh-tight);color:var(--charcoal);font-optical-sizing:auto}
.home-identity h1 em{font-style:italic;color:var(--terracotta-deep)}
.identity-sub{max-width:40ch;line-height:var(--lh-relaxed);color:var(--charcoal-soft);font-size:var(--text-md)}

/* Social Row */
.social-row{display:flex;gap:var(--sp-3)}
.social-link{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:all var(--dur-fast) var(--ease-spring);color:var(--charcoal);opacity:0;animation:socialPop 0.4s var(--ease-spring) forwards}
.social-link:nth-child(1){animation-delay:0.7s}
.social-link:nth-child(2){animation-delay:0.8s}
.social-link:nth-child(3){animation-delay:0.9s}
.social-link:nth-child(4){animation-delay:1s}
.social-link:nth-child(5){animation-delay:1.1s}
.social-link:hover{background:var(--terracotta-glow);color:var(--terracotta-deep);transform:translateY(-2px)}
.social-link svg{display:block}
@keyframes socialPop{0%{opacity:0;transform:scale(0.5) translateY(10px)}60%{opacity:1;transform:scale(1.1) translateY(-2px)}100%{opacity:1;transform:scale(1) translateY(0)}}

/* Home CTA */
.home-cta{display:inline-flex;align-items:center;gap:var(--sp-3);min-height:54px;padding:0 28px;background:var(--terracotta);color:var(--terracotta-ink);font-weight:600;font-size:var(--text-base);letter-spacing:var(--ls-wide);border-radius:var(--radius-full);box-shadow:var(--shadow-glow);transition:all var(--dur-normal) var(--ease-spring);animation:fadeUp var(--dur-enter) var(--ease-out) 300ms both}
.home-cta:hover{background:var(--terracotta-deep);box-shadow:0 16px 40px rgba(207,111,32,0.28);transform:translateY(-3px)}
.home-cta:active{transform:scale(0.985)}

/* Home Grid (Work Section) */
.home-work{margin-top:var(--sp-8)}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--sp-5)}
.section-heading .eyebrow{font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--ink-muted);margin-bottom:var(--sp-2)}
.section-heading h2{font-family:var(--heading-font);font-size:var(--text-3xl);font-weight:400;letter-spacing:var(--ls-snug)}
.quiet-link{font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-wider);color:var(--ink-muted);transition:color var(--dur-fast) var(--ease-out)}
.quiet-link:hover{color:var(--terracotta-deep)}
.home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.home-grid-item{position:relative;overflow:hidden;border-radius:var(--radius-md);background:#EAE2D8;aspect-ratio:1}
.home-grid-item img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(0.93) contrast(1.035);transition:transform var(--dur-slow) var(--ease-out),filter var(--dur-slow) var(--ease-out)}
.home-grid-item:hover img{filter:saturate(1.04) contrast(1.04);transform:scale(1.04)}
.home-grid-item .grid-index{position:absolute;bottom:8px;left:8px;background:rgba(41,37,33,0.72);color:var(--cream-paper);backdrop-filter:blur(6px);font-family:var(--mono-font);font-size:10px;letter-spacing:.08em;padding:4px 8px;border-radius:var(--radius-sm)}

/* Home Footer */
.home-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-5) 0;font-family:var(--mono-font);font-size:10px;letter-spacing:.08em;color:var(--ink-muted);border-top:1px solid var(--line)}

/* ─── HOME MINIMAL ──────────────────────────────────────────────────────── */
.home-layout-minimal .home-layout{grid-template-columns:1fr;gap:0}
.home-layout-minimal .home-aside{display:none}
.home-layout-minimal .home-content{max-width:620px;padding-top:clamp(72px,12vh,140px)}
.home-layout-minimal .home-work{display:none}
.home-layout-minimal .home-footer{margin-top:clamp(64px,10vh,120px)}
@media(max-width:800px){.home-layout-minimal .home-layout{display:grid}.home-layout-minimal .home-content{padding-top:clamp(64px,10vh,110px)}}

/* ─── HOME STACKED — Premium Cinematic Layout ───────────────────────────── */
.stacked-layout{width:100%;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;position:relative}

/* Paper texture overlay — atmospheric depth */
.stacked-layout::before{content:"";position:absolute;inset:0;background:url('/manus-storage/jaque-abstract-paper_4ec93f75.jpg') center/cover;opacity:.08;mix-blend-mode:multiply;pointer-events:none;z-index:0}
.stacked-layout::after{content:"";position:absolute;inset:0;background:repeating-conic-gradient(rgba(38,35,31,.015) 0% 25%,transparent 0% 50%) 0 0/3px 3px;pointer-events:none;z-index:0;opacity:.5}

/* ─── HERO — Cinematic Full-Width Split ─────────────────────────────────── */
.stacked-hero{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:100vh;overflow:hidden;z-index:1}

/* Left: Text column — generous whitespace */
.stacked-hero-text{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(60px,8vh,100px) clamp(40px,6vw,100px) clamp(60px,8vh,100px) clamp(48px,8vw,140px);gap:var(--sp-4);position:relative;z-index:2}
.stacked-hero-text::after{content:"";position:absolute;top:15%;right:0;width:1px;height:70%;background:linear-gradient(180deg,transparent,var(--line-strong),transparent);opacity:.4}
.stacked-hero-text .eyebrow{font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--terracotta-deep);font-weight:600;display:flex;align-items:center;gap:var(--sp-3);opacity:0;animation:fadeSlideRight 0.6s var(--ease-out) 0.2s forwards}
.stacked-hero-text .eyebrow::before{content:"";width:24px;height:1.5px;background:var(--terracotta);flex-shrink:0}

/* Hero heading — compact, names together */
.stacked-hero-text h1{font-family:var(--display-font);font-size:clamp(3.5rem,8vw,7.5rem);font-weight:300;letter-spacing:-0.04em;line-height:0.85;color:var(--charcoal);font-optical-sizing:auto;position:relative}
.stacked-hero-text h1 .name-first{display:block;opacity:0;transform:translateY(15px);animation:heroTextIn 0.6s var(--ease-out) 0.15s forwards}
.stacked-hero-text h1 em{font-style:italic;color:var(--terracotta-deep);display:block;font-family:var(--heading-font);font-weight:400;position:relative;opacity:0;transform:translateY(15px);animation:heroTextIn 0.6s var(--ease-out) 0.25s forwards;margin-top:-0.06em}
.stacked-hero-text h1 em::after{content:"";position:absolute;bottom:0.05em;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--terracotta),transparent);opacity:.5;animation:lineGrow 0.5s var(--ease-out) 0.6s forwards}
@keyframes heroTextIn{0%{opacity:0;transform:translateY(15px)}100%{opacity:1;transform:translateY(0)}}
@keyframes lineGrow{0%{width:0}100%{width:100%}}

.stacked-tagline{max-width:32ch;line-height:var(--lh-relaxed);color:var(--charcoal-soft);font-size:var(--text-md);font-family:var(--body-font);letter-spacing:0.005em;opacity:0;animation:fadeSlideUp 0.6s var(--ease-out) 0.5s forwards}
.stacked-hero-text .social-row{margin-top:var(--sp-2)}
.stacked-hero-text .home-cta{margin-top:var(--sp-3);opacity:0;animation:fadeSlideUp 0.5s var(--ease-out) 0.65s forwards}

/* Right: Photo column — layered depth composition */
.stacked-hero-photos{position:relative;display:flex;align-items:flex-start;justify-content:center;overflow:hidden;z-index:1;background:linear-gradient(135deg,var(--cream-deep) 0%,var(--cream) 50%,var(--cream-paper) 100%);padding-top:clamp(40px,6vh,80px)}

/* Atmospheric grain on photos */
.stacked-hero-photos::before{content:"";position:absolute;inset:0;background:repeating-conic-gradient(rgba(38,35,31,.02) 0% 25%,transparent 0% 50%) 0 0/4px 4px;z-index:10;pointer-events:none;mix-blend-mode:multiply}

/* Photo pile container — bigger */
.stacked-photo-pile{position:relative;width:clamp(340px,38vw,480px);height:clamp(420px,52vh,580px)}

/* Individual polaroid cards — premium depth, stacked on top of each other */
.stacked-photo{position:absolute;background:var(--cream-paper);padding:8px 8px 40px;border-radius:2px;box-shadow:0 4px 12px rgba(41,37,33,.06),0 12px 40px rgba(41,37,33,.1),0 24px 80px rgba(41,37,33,.08);overflow:hidden;opacity:0;transition:z-index 0s}
.stacked-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(0.88) contrast(1.04) brightness(1.01)}

/* Photo 1 — Top of pile (avatar), biggest */
.stacked-photo--1{width:clamp(220px,24vw,300px);height:clamp(290px,34vw,400px);top:clamp(60px,8vh,100px);left:clamp(20px,3vw,50px);z-index:3;transform:rotate(-4deg);opacity:0;animation:photoDrop1 1s cubic-bezier(0.34,1.56,0.64,1) 0.3s forwards}
.stacked-photo--1 img{filter:saturate(0.85) contrast(1.05) brightness(1.02)}

/* Photo 2 — Middle of pile, overlaps photo 1 */
.stacked-photo--2{width:clamp(200px,22vw,270px);height:clamp(260px,30vw,360px);top:clamp(30px,4vh,60px);left:clamp(60px,7vw,120px);z-index:2;transform:rotate(2.5deg);opacity:0;animation:photoDrop2 1s cubic-bezier(0.34,1.56,0.64,1) 0.1s forwards}

/* Photo 3 — Bottom of pile, smallest */
.stacked-photo--3{width:clamp(180px,20vw,240px);height:clamp(230px,27vw,320px);top:clamp(80px,10vh,140px);left:clamp(100px,11vw,180px);z-index:1;transform:rotate(-1.5deg);opacity:0;animation:photoDrop3 1s cubic-bezier(0.34,1.56,0.64,1) 0s forwards}
.stacked-photo--3 img{filter:saturate(0.82) contrast(1.06)}

/* Realistic falling animations — photos drop from above with bounce */
@keyframes photoDrop1{
  0%{opacity:0;transform:translateY(-120px) rotate(-15deg) scale(0.85)}
  50%{opacity:1;transform:translateY(10px) rotate(-2deg) scale(1.02)}
  70%{transform:translateY(-5px) rotate(-5deg) scale(0.99)}
  85%{transform:translateY(3px) rotate(-3.5deg) scale(1.01)}
  100%{opacity:1;transform:translateY(0) rotate(-4deg) scale(1)}
}
@keyframes photoDrop2{
  0%{opacity:0;transform:translateY(-140px) rotate(12deg) scale(0.85)}
  50%{opacity:1;transform:translateY(8px) rotate(1deg) scale(1.02)}
  70%{transform:translateY(-4px) rotate(3.5deg) scale(0.99)}
  85%{transform:translateY(2px) rotate(2deg) scale(1.01)}
  100%{opacity:1;transform:translateY(0) rotate(2.5deg) scale(1)}
}
@keyframes photoDrop3{
  0%{opacity:0;transform:translateY(-160px) rotate(-10deg) scale(0.85)}
  50%{opacity:1;transform:translateY(6px) rotate(0deg) scale(1.02)}
  70%{transform:translateY(-3px) rotate(-2.5deg) scale(0.99)}
  85%{transform:translateY(2px) rotate(-1deg) scale(1.01)}
  100%{opacity:1;transform:translateY(0) rotate(-1.5deg) scale(1)}
}

/* ─── DIVIDER — Editorial rule between hero and work ────────────────────── */
.stacked-divider{width:min(800px,80%);height:1px;background:linear-gradient(90deg,transparent,var(--line-strong) 20%,var(--line-strong) 80%,transparent);margin:0 auto;position:relative;z-index:1}
.stacked-divider::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:var(--terracotta);border-radius:50%;box-shadow:0 0 0 3px var(--cream),0 0 12px var(--terracotta-glow-strong)}

/* ─── WORK SECTION — Scattered Editorial Grid ───────────────────────────── */
.stacked-work{padding:clamp(60px,8vw,120px) clamp(48px,8vw,140px);position:relative;z-index:1}
.stacked-work-header{max-width:600px;margin-bottom:clamp(40px,6vw,80px)}
.stacked-work .eyebrow{font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--terracotta-deep);font-weight:600;display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4)}
.stacked-work .eyebrow::before{content:"";width:24px;height:1.5px;background:var(--terracotta);flex-shrink:0}
.stacked-work h2{font-family:var(--display-font);font-size:clamp(2.5rem,5vw,4.5rem);font-weight:300;letter-spacing:-0.035em;line-height:0.92;color:var(--charcoal);font-optical-sizing:auto}
.stacked-work h2 em{font-style:italic;color:var(--terracotta-deep);font-family:var(--heading-font);font-weight:400}

/* Scattered grid — flexible masonry-like */
.stacked-grid{columns:3;column-gap:var(--sp-5)}

/* Cards — Premium polaroid with depth */
.stacked-card{position:relative;margin:0 0 var(--sp-5);cursor:pointer;break-inside:avoid}
.stacked-card-inner{background:var(--cream-paper);padding:6px 6px 36px;border-radius:2px;box-shadow:0 2px 8px rgba(41,37,33,.04),0 8px 28px rgba(41,37,33,.08),0 16px 56px rgba(41,37,33,.06);overflow:hidden;transition:box-shadow 0.5s var(--ease-out),transform 0.5s var(--ease-out)}
.stacked-card-inner img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;filter:saturate(0.88) contrast(1.04);transition:filter 0.6s var(--ease-out),transform 0.6s var(--ease-out)}
.stacked-card:hover .stacked-card-inner{box-shadow:0 4px 12px rgba(41,37,33,.06),0 16px 48px rgba(41,37,33,.12),0 32px 80px rgba(41,37,33,.08);transform:translateY(-8px)}
.stacked-card:hover .stacked-card-inner img{filter:saturate(1) contrast(1.02);transform:scale(1.02)}

/* Rotation scatter — applied only via card-inner to avoid conflicting with scroll animation */
.stacked-card--1 .stacked-card-inner{transform:rotate(-1.5deg);transition:transform 0.6s var(--ease-out),box-shadow 0.5s var(--ease-out)}
.stacked-card--1:hover .stacked-card-inner{transform:rotate(0deg) translateY(-8px)}

.stacked-card--2 .stacked-card-inner{transform:rotate(0.8deg);transition:transform 0.6s var(--ease-out),box-shadow 0.5s var(--ease-out)}
.stacked-card--2:hover .stacked-card-inner{transform:rotate(0deg) translateY(-8px)}

.stacked-card--3 .stacked-card-inner{transform:rotate(-0.5deg);transition:transform 0.6s var(--ease-out),box-shadow 0.5s var(--ease-out)}
.stacked-card--3:hover .stacked-card-inner{transform:rotate(0deg) translateY(-8px)}

.stacked-card--4 .stacked-card-inner{transform:rotate(1.2deg);transition:transform 0.6s var(--ease-out),box-shadow 0.5s var(--ease-out)}
.stacked-card--4:hover .stacked-card-inner{transform:rotate(0deg) translateY(-8px)}

.stacked-card--5 .stacked-card-inner{transform:rotate(-0.8deg);transition:transform 0.6s var(--ease-out),box-shadow 0.5s var(--ease-out)}
.stacked-card--5:hover .stacked-card-inner{transform:rotate(0deg) translateY(-8px)}

/* Stacked card scroll animation */
.js-ready .stacked-card.animate-on-scroll{opacity:0;transform:translateY(40px);transition:opacity 0.7s var(--ease-out),transform 0.7s var(--ease-out)}
.js-ready .stacked-card.animate-on-scroll.is-visible{opacity:1;transform:translateY(0)}
.js-ready .stacked-card.animate-on-scroll:nth-child(2){transition-delay:0.08s}
.js-ready .stacked-card.animate-on-scroll:nth-child(3){transition-delay:0.16s}
.js-ready .stacked-card.animate-on-scroll:nth-child(4){transition-delay:0.24s}
.js-ready .stacked-card.animate-on-scroll:nth-child(5){transition-delay:0.32s}
.js-ready .stacked-card.animate-on-scroll:nth-child(6){transition-delay:0.40s}

/* Card captions — editorial style */
.stacked-card figcaption{padding:var(--sp-3) 2px 0;display:flex;align-items:baseline;gap:var(--sp-3)}
.stacked-card-num{font-family:var(--mono-font);font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--terracotta-deep);opacity:.7}
.stacked-card-title{font-size:var(--text-sm);font-weight:500;color:var(--charcoal-soft);letter-spacing:var(--ls-normal);font-family:var(--heading-font)}

.home-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-6) clamp(48px,8vw,140px);font-family:var(--mono-font);font-size:10px;letter-spacing:.08em;color:var(--ink-muted);border-top:1px solid var(--line);position:relative;z-index:1}

/* ─── RESPONSIVE STACKED ────────────────────────────────────────────────── */
@media(max-width:1024px){
  .stacked-hero{grid-template-columns:1fr;min-height:auto}
  .stacked-hero-text{padding:clamp(50px,6vh,80px) clamp(32px,5vw,60px);text-align:center;align-items:center}
  .stacked-hero-text::after{display:none}
  .stacked-hero-text .eyebrow{justify-content:center}
  .stacked-hero-text h1{text-align:center}
  .stacked-hero-text .social-row{justify-content:center}
  .stacked-hero-text .home-cta{margin-left:auto;margin-right:auto}
  .stacked-hero-photos{min-height:clamp(340px,45vh,440px);padding:clamp(20px,3vh,40px) var(--gutter) 0;background:linear-gradient(180deg,var(--cream) 0%,var(--cream-deep) 100%)}
  .stacked-photo-pile{position:relative;width:100%;max-width:320px;height:clamp(280px,35vh,360px);margin:0 auto}
  .stacked-photo--1{width:clamp(150px,40vw,200px);height:clamp(190px,25vh,260px);top:0;left:0;right:auto;bottom:auto}
  .stacked-photo--2{width:clamp(130px,36vw,180px);height:clamp(170px,22vh,230px);top:clamp(20px,3vh,40px);left:clamp(80px,22vw,140px);right:auto;bottom:auto}
  .stacked-photo--3{width:clamp(120px,32vw,160px);height:clamp(150px,20vh,210px);top:clamp(50px,6vh,90px);left:clamp(30px,8vw,60px);right:auto;bottom:auto}
  .stacked-divider{margin:var(--sp-6) auto}
  .stacked-work{padding:clamp(40px,5vw,60px) var(--gutter)}
  .stacked-grid{columns:2;column-gap:var(--sp-3)}
  .stacked-card{margin-bottom:var(--sp-3)}
}
@media(max-width:640px){
  .stacked-hero-text{padding:clamp(40px,5vh,60px) var(--gutter)}
  .stacked-hero-text h1{font-size:clamp(2.5rem,13vw,3.8rem)}
  .stacked-hero-photos{min-height:clamp(280px,40vh,340px);padding-top:clamp(16px,2vh,24px)}
  .stacked-photo-pile{max-width:280px;height:clamp(240px,32vh,300px)}
  .stacked-photo--1{width:clamp(130px,38vw,170px);height:clamp(170px,22vh,220px)}
  .stacked-photo--2{width:clamp(110px,34vw,150px);height:clamp(140px,18vh,190px);left:clamp(70px,20vw,120px)}
  .stacked-photo--3{width:clamp(100px,30vw,140px);height:clamp(130px,16vh,180px);left:clamp(25px,7vw,50px)}
  .stacked-work{padding:clamp(24px,3vw,40px) var(--gutter)}
  .stacked-grid{columns:2;column-gap:var(--sp-2)}
  .stacked-card{margin-bottom:var(--sp-2)}
  .stacked-card-inner{padding:4px 4px 28px}
  .home-footer{padding:var(--sp-5) var(--gutter);flex-direction:column;gap:var(--sp-2);text-align:center}
}

/* ─── PORTFOLIO PREMIUM — Modern Stacked Photography ────────────────────── */
.portfolio-premium{background:var(--cream);overflow:hidden}

/* Premium Hero — Full bleed photo */
.premium-hero{position:relative;min-height:100vh;display:flex;flex-direction:column}
.premium-hero-fullimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;filter:saturate(0.85) contrast(1.04);opacity:0;animation:heroImageIn 1.2s ease forwards;animation-delay:0.1s}
.premium-hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(243,238,231,0) 0%,rgba(243,238,231,0) 50%,rgba(243,238,231,0.85) 85%,rgba(243,238,231,1) 100%);pointer-events:none}
.premium-hero-bottom{position:relative;z-index:2;margin-top:auto;padding:0 var(--gutter) clamp(48px,8vh,100px);display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-5)}
.premium-hero-bottom .eyebrow{font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--ink-muted);font-weight:500;opacity:0;animation:fadeSlideUp 0.8s ease forwards;animation-delay:0.3s}
.premium-hero-bottom h1{font-family:var(--heading-font);font-size:clamp(5rem,12vw,11rem);font-weight:400;font-style:italic;letter-spacing:-0.04em;line-height:0.85;color:var(--charcoal);font-optical-sizing:auto;position:relative}
.premium-hero-bottom h1 .first-name{display:block;position:relative;opacity:0;animation:fadeSlideUp 0.9s ease forwards;animation-delay:0.5s}
.premium-hero-bottom h1 .first-name::after{content:"";position:absolute;bottom:0.06em;left:0;width:100%;height:1.5px;background:linear-gradient(90deg,var(--charcoal) 40%,transparent 85%);opacity:.12}
.premium-hero-bottom h1 .last-name{display:block;color:var(--terracotta-deep);margin-top:-0.05em;position:relative;opacity:0;animation:fadeSlideUp 0.9s ease forwards;animation-delay:0.7s}
.premium-hero-bottom h1 .last-name::before{content:"";position:absolute;top:0.12em;left:-0.03em;width:0.07em;height:0.07em;border-radius:50%;background:var(--terracotta);opacity:.25}
.premium-hero-sub{max-width:38ch;line-height:var(--lh-relaxed);color:var(--charcoal-soft);font-size:var(--text-md);margin-top:var(--sp-4);font-family:var(--body-font);letter-spacing:0.01em;opacity:0;animation:fadeSlideUp 0.8s ease forwards;animation-delay:0.9s}
@keyframes heroImageIn{from{opacity:0;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}
@keyframes fadeSlideRight{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}
@keyframes fadeSlideUp{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}

/* Niche Bar */
.premium-niche-bar{position:relative;z-index:2;display:flex;gap:var(--sp-6);padding:var(--sp-5) var(--gutter);background:rgba(243,238,231,0.75);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}
.premium-niche-bar::-webkit-scrollbar{display:none}
.premium-niche-bar span{font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-wider);text-transform:uppercase;white-space:nowrap;padding:var(--sp-2) var(--sp-3);font-weight:500;transition:all var(--dur-fast) var(--ease-out);scroll-snap-align:start;border-radius:var(--radius-full);background:transparent;opacity:0;transform:translateY(10px)}
.premium-niche-bar.is-visible span{animation:nicheItemIn 0.5s ease forwards}
.premium-niche-bar.is-visible span:nth-child(1){animation-delay:0.05s}
.premium-niche-bar.is-visible span:nth-child(2){animation-delay:0.12s}
.premium-niche-bar.is-visible span:nth-child(3){animation-delay:0.19s}
.premium-niche-bar.is-visible span:nth-child(4){animation-delay:0.26s}
.premium-niche-bar.is-visible span:nth-child(5){animation-delay:0.33s}
.premium-niche-bar.is-visible span:nth-child(6){animation-delay:0.40s}
.premium-niche-bar.is-visible span:nth-child(7){animation-delay:0.47s}
.premium-niche-bar.is-visible span:nth-child(8){animation-delay:0.54s}
.premium-niche-bar span:first-child{color:var(--cream-paper);font-weight:600;background:var(--terracotta)}
.premium-niche-bar span:hover{color:var(--terracotta-deep);transform:translateY(-2px);background:var(--terracotta-glow)}
@keyframes nicheItemIn{from{opacity:0;transform:translateY(10px) scale(0.95)}to{opacity:1;transform:translateY(0) scale(1)}}

/* Premium About */
.premium-about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);align-items:center;padding:var(--section-py) var(--section-px);position:relative}
.premium-about-text .section-label{font-family:var(--mono-font);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--terracotta-deep);margin-bottom:var(--sp-3);display:flex;align-items:center;gap:var(--sp-3)}
.premium-about-text .section-label::before{content:"";width:32px;height:1px;background:var(--terracotta)}
.premium-about-text h2{font-family:var(--display-font);font-size:clamp(2.5rem,5.5vw,5rem);font-weight:400;letter-spacing:-0.03em;line-height:0.9;margin-bottom:var(--sp-6);font-optical-sizing:auto;position:relative}
.premium-about-text h2 em{font-style:italic;color:var(--terracotta-deep);display:block;margin-top:0.08em}
.premium-about-text h2 em::after{content:"";display:block;width:48px;height:2px;background:var(--terracotta);margin-top:var(--sp-4);opacity:.6}
.premium-about-text .about-paragraphs p{font-weight:400;line-height:var(--lh-normal);margin-bottom:1.3em;color:var(--charcoal-soft);font-size:var(--text-md);max-width:50ch}
.about-signature{margin-top:var(--sp-6);font-family:var(--accent-font);font-size:var(--text-3xl);font-weight:500;letter-spacing:var(--ls-normal);line-height:1.1;color:var(--charcoal);font-style:italic;padding-left:var(--sp-5);border-left:3px solid var(--terracotta)}
.about-signature span{color:var(--terracotta-deep)}

/* About Photos — Circular + Polaroid */
.premium-about-photos{position:relative;display:flex;align-items:center;justify-content:center;min-height:480px}
.premium-about-main{width:clamp(320px,36vw,440px);height:clamp(320px,36vw,440px);border-radius:50%;overflow:hidden;box-shadow:0 30px 80px rgba(41,37,33,.12),0 8px 24px rgba(41,37,33,.06);border:4px solid var(--cream-paper);transition:transform var(--dur-normal) var(--ease-out),box-shadow var(--dur-normal) var(--ease-out)}
.premium-about-main:hover{transform:scale(1.02);box-shadow:0 36px 90px rgba(41,37,33,.16)}
.premium-about-main img{width:100%;height:100%;object-fit:cover;object-position:center}
.premium-about-detail{position:absolute;bottom:-10px;left:-10px;width:clamp(160px,18vw,220px);background:var(--cream-paper);padding:6px 6px 32px;border-radius:2px;box-shadow:0 12px 36px rgba(41,37,33,.15);transform:rotate(-3deg);transition:transform var(--dur-normal) var(--ease-spring);z-index:2}
.premium-about-detail:hover{transform:rotate(-1deg) translateY(-4px)}
.premium-about-detail img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;filter:saturate(0.9) contrast(1.03)}
.photo-caption{display:block;margin-top:var(--sp-5);font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--ink-muted);text-align:right;position:absolute;bottom:0;right:0}

/* Premium Formats — Dark section */
.premium-formats{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);align-items:start;padding:var(--section-py) var(--section-px);background:var(--charcoal);color:var(--cream)}
.premium-formats .section-label{color:var(--terracotta-light);display:flex;align-items:center;gap:var(--sp-3)}
.premium-formats .section-label::before{content:"";width:32px;height:1px;background:var(--terracotta-light)}
.premium-formats h2{color:var(--cream);font-family:var(--display-font);font-size:clamp(2.2rem,4.5vw,4rem);font-weight:400;letter-spacing:-0.03em;line-height:0.9;font-optical-sizing:auto}
.premium-formats h2 em{color:var(--terracotta-light);font-style:italic;display:block;margin-top:0.08em}
.premium-formats h2 em::after{content:"";display:block;width:48px;height:2px;background:var(--terracotta-light);margin-top:var(--sp-4);opacity:.4}
.premium-formats-intro p:last-child{margin-top:var(--sp-4);font-size:var(--text-md);line-height:var(--lh-relaxed);color:var(--ink-light);max-width:42ch}
.premium-format-row{display:flex;align-items:center;gap:var(--sp-4);border-top:1px solid rgba(248,240,231,0.1);padding:var(--sp-3) 0;transition:all var(--dur-fast) var(--ease-out)}
.premium-format-row:hover{padding-left:var(--sp-4);background:rgba(255,250,245,0.03)}
.premium-format-num{font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-wider);color:var(--terracotta-light);min-width:28px}
.premium-format-row strong{font-weight:400;letter-spacing:var(--ls-snug);flex:1;font-size:var(--text-lg);color:var(--cream);font-family:var(--heading-font)}
.premium-format-arrow{font-size:14px;color:var(--ink-light);transition:color var(--dur-fast) var(--ease-out)}
.premium-format-row:hover .premium-format-arrow{color:var(--terracotta-light)}
.premium-formats-visual{position:relative;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 25px 60px rgba(0,0,0,.25);margin-top:var(--sp-6);max-width:var(--img-styles-max);justify-self:end}
.premium-formats-visual img{width:100%;display:block;filter:saturate(0.85) contrast(1.05);object-fit:cover}

/* Premium Gallery — Scattered polaroid grid */
.premium-gallery{padding:var(--section-py) var(--section-px)}
.premium-gallery-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:clamp(32px,5vw,64px);gap:var(--sp-5)}
.premium-gallery-header .section-label{font-family:var(--mono-font);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--terracotta-deep);margin-bottom:var(--sp-3);display:flex;align-items:center;gap:var(--sp-3)}
.premium-gallery-header .section-label::before{content:"";width:32px;height:1px;background:var(--terracotta)}
.premium-gallery-header h2{font-family:var(--display-font);font-size:clamp(2.2rem,4.5vw,4rem);font-weight:400;letter-spacing:-0.03em;line-height:0.9;font-optical-sizing:auto}
.premium-gallery-header h2 em{font-style:italic;color:var(--terracotta-deep);display:block;margin-top:0.08em}
.premium-gallery-header h2 em::after{content:"";display:block;width:48px;height:2px;background:var(--terracotta);margin-top:var(--sp-4);opacity:.6}
.premium-gallery-header p{max-width:36ch;line-height:var(--lh-relaxed);font-size:var(--text-md);color:var(--ink-muted)}
.premium-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5);grid-auto-flow:dense}
.premium-gallery-card{margin:0;cursor:pointer;transition:transform var(--dur-slow) var(--ease-out)}
.premium-gallery-card-inner{background:var(--cream-paper);padding:6px 6px 32px;border-radius:2px;box-shadow:0 6px 24px rgba(41,37,33,.08),0 1px 4px rgba(41,37,33,.04);overflow:hidden;transition:box-shadow var(--dur-normal) var(--ease-out),transform var(--dur-normal) var(--ease-out)}
.premium-gallery-card-inner img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;filter:saturate(0.88) contrast(1.03);transition:filter var(--dur-slow) var(--ease-out)}
.premium-gallery-card:hover .premium-gallery-card-inner{box-shadow:0 14px 44px rgba(41,37,33,.14);transform:translateY(-4px)}
.premium-gallery-card:hover .premium-gallery-card-inner img{filter:saturate(1) contrast(1.02)}
.premium-gallery-card--1{transform:rotate(-1.2deg)}
.premium-gallery-card--1:hover{transform:rotate(0deg) translateY(-8px)}
.premium-gallery-card--2{transform:rotate(0.7deg);margin-top:var(--sp-5)}
.premium-gallery-card--2:hover{transform:rotate(0deg) translateY(-8px)}
.premium-gallery-card--3{transform:rotate(-0.4deg);margin-top:calc(var(--sp-5) * -1)}
.premium-gallery-card--3:hover{transform:rotate(0deg) translateY(-8px)}
.premium-gallery-card--4{transform:rotate(1deg);margin-top:var(--sp-4)}
.premium-gallery-card--4:hover{transform:rotate(0deg) translateY(-8px)}
.premium-gallery-card--5{transform:rotate(-0.6deg);margin-top:calc(var(--sp-4) * -0.5)}
.premium-gallery-card--5:hover{transform:rotate(0deg) translateY(-8px)}
.premium-gallery-card figcaption{padding:var(--sp-3) 2px 0;display:flex;align-items:baseline;gap:var(--sp-2)}
.premium-gallery-num{font-family:var(--mono-font);font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--terracotta-deep)}
.premium-gallery-title{font-size:var(--text-sm);font-weight:500;color:var(--charcoal-soft);font-family:var(--heading-font);letter-spacing:var(--ls-snug)}

/* Premium Equipment */
.premium-equipment{padding:var(--section-py) var(--section-px);background:var(--charcoal);color:var(--cream)}
.premium-equipment .section-label{color:var(--terracotta-light);display:flex;align-items:center;gap:var(--sp-3)}
.premium-equipment .section-label::before{content:"";width:32px;height:1px;background:var(--terracotta-light)}
.premium-equipment h2{color:var(--cream);font-family:var(--display-font);font-size:clamp(2.2rem,4.5vw,4rem);font-weight:400;letter-spacing:-0.03em;line-height:0.9;font-optical-sizing:auto}
.premium-equipment h2 em{color:var(--terracotta-light);font-style:italic;display:block;margin-top:0.08em}
.premium-equipment h2 em::after{content:"";display:block;width:48px;height:2px;background:var(--terracotta-light);margin-top:var(--sp-4);opacity:.4}
.premium-equipment-header p:last-child{margin-top:var(--sp-4);font-size:var(--text-md);line-height:var(--lh-relaxed);color:var(--ink-light);max-width:42ch}
.premium-equipment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-5);margin-top:var(--sp-7)}
.premium-equipment-card{border-radius:var(--radius-md);overflow:hidden;background:rgba(255,250,245,0.04);border:1px solid rgba(255,250,245,0.06);transition:transform var(--dur-normal) var(--ease-out),box-shadow var(--dur-normal) var(--ease-out),border-color var(--dur-normal) var(--ease-out)}
.premium-equipment-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,.18);border-color:rgba(207,111,32,0.2)}
.premium-equipment-img{border-radius:var(--radius-md) var(--radius-md) 0 0;overflow:hidden;aspect-ratio:1;background:rgba(255,250,245,0.06)}
.premium-equipment-img img{width:100%;height:100%;object-fit:contain;padding:var(--sp-5);filter:brightness(1.1);transition:transform var(--dur-normal) var(--ease-out)}
.premium-equipment-card:hover .premium-equipment-img img{transform:scale(1.08)}
.premium-equipment-copy{padding:clamp(16px,2.5vw,24px)}
.premium-equipment-copy span{font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-wider);color:var(--terracotta-light);display:block;margin-bottom:var(--sp-2)}
.premium-equipment-copy strong{font-weight:400;letter-spacing:var(--ls-snug);display:block;margin-bottom:var(--sp-2);font-size:var(--text-xl);color:var(--cream);font-family:var(--heading-font)}
.premium-equipment-copy p{font-weight:400;line-height:var(--lh-relaxed);color:var(--ink-light);font-size:var(--text-sm)}

/* Premium Collab */
.premium-collab{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);align-items:center;padding:var(--section-py) var(--section-px)}
.premium-collab-text .section-label{font-family:var(--mono-font);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--terracotta-deep);margin-bottom:var(--sp-3);display:flex;align-items:center;gap:var(--sp-3)}
.premium-collab-text .section-label::before{content:"";width:32px;height:1px;background:var(--terracotta)}
.premium-collab-text h2{font-family:var(--display-font);font-size:clamp(2.2rem,4.5vw,4rem);font-weight:400;letter-spacing:-0.03em;line-height:0.9;margin-bottom:var(--sp-5);font-optical-sizing:auto}
.premium-collab-text h2 em{font-style:italic;color:var(--terracotta-deep);display:block;margin-top:0.08em}
.premium-collab-text h2 em::after{content:"";display:block;width:48px;height:2px;background:var(--terracotta);margin-top:var(--sp-4);opacity:.6}
.premium-collab-text p{font-weight:400;line-height:var(--lh-loose);font-size:var(--text-md);color:var(--charcoal-soft)}
.premium-collab-visual{position:relative;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 30px 70px rgba(21,17,14,.12);border:1px solid rgba(191,105,36,.2);max-width:var(--img-collab-max);justify-self:end;transition:transform var(--dur-normal) var(--ease-out),box-shadow var(--dur-normal) var(--ease-out)}
.premium-collab-visual:hover{transform:translateY(-4px);box-shadow:0 36px 80px rgba(21,17,14,.16)}
.premium-collab-visual img{width:100%;display:block;object-fit:cover}

/* Premium Contact */
.premium-contact{position:relative;overflow:hidden;padding:var(--section-py) var(--section-px);display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--charcoal);color:var(--cream)}
.premium-contact-bg{position:absolute;inset:0}
.premium-contact-bg img{width:100%;height:100%;object-fit:cover;opacity:0.3}
.premium-contact-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(38,35,31,0.7) 0%,rgba(38,35,31,0.9) 100%)}
.premium-contact-content{position:relative;z-index:2;max-width:500px}
.premium-contact-content .section-label{color:var(--terracotta-light);display:flex;align-items:center;justify-content:center;gap:var(--sp-3)}
.premium-contact-content .section-label::before{content:"";width:32px;height:1px;background:var(--terracotta-light)}
.premium-contact-content h2{font-family:var(--display-font);font-size:clamp(2rem,4vw,3.5rem);font-weight:400;letter-spacing:-0.03em;line-height:0.9;margin-top:var(--sp-3);margin-bottom:var(--sp-6);color:var(--cream);font-optical-sizing:auto}
.premium-contact-content h2 em{font-style:italic;color:var(--terracotta-light);display:block;margin-top:0.08em}
.premium-contact-content h2 em::after{content:"";display:block;width:48px;height:2px;background:var(--terracotta-light);margin:var(--sp-4) auto 0;opacity:.4}
.premium-contact-links{display:flex;flex-direction:column;gap:var(--sp-3)}
.premium-contact-link{display:flex;align-items:center;gap:var(--sp-3);min-height:52px;padding:0 var(--sp-5);font-weight:600;letter-spacing:var(--ls-wide);border-radius:var(--radius-md);border:1px solid rgba(255,250,245,0.12);background:rgba(255,250,245,0.04);backdrop-filter:blur(4px);transition:all var(--dur-fast) var(--ease-out);color:var(--cream);font-size:var(--text-base)}
.premium-contact-link:first-child{background:var(--terracotta);border-color:var(--terracotta);box-shadow:var(--shadow-glow)}
.premium-contact-link:first-child:hover{background:var(--terracotta-deep);box-shadow:0 14px 36px rgba(207,111,32,0.32);transform:translateY(-3px)}
.premium-contact-link:not(:first-child):hover{border-color:var(--terracotta);color:var(--terracotta-light);transform:translateY(-2px)}
.premium-contact-link span{flex:1;text-align:left}
.premium-contact-link svg:last-child{opacity:0.5;transition:opacity var(--dur-fast) var(--ease-out)}
.premium-contact-link:hover svg:last-child{opacity:1}
.premium-contact-location{position:relative;z-index:2;margin-top:var(--sp-6);font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--ink-light);font-weight:600}

/* Premium Responsive */
@media(max-width:800px){
  .premium-about{grid-template-columns:1fr;gap:var(--sp-7)}
  .premium-about-photos{align-items:center}
  .premium-formats{grid-template-columns:1fr}
  .premium-formats-visual{max-width:100%;justify-self:stretch}
  .premium-gallery-grid{grid-template-columns:repeat(2,1fr);gap:var(--sp-4)}
  .premium-equipment-grid{grid-template-columns:repeat(2,1fr)}
  .premium-collab{grid-template-columns:1fr}
  .premium-collab-visual{max-width:100%;justify-self:stretch}
}
@media(max-width:560px){
  .premium-gallery-grid{grid-template-columns:1fr 1fr;gap:var(--sp-3)}
  .premium-equipment-grid{grid-template-columns:1fr}
}

/* ─── PORTFOLIO NAVIGATION ──────────────────────────────────────────────── */
.portfolio-nav{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:var(--sp-4) var(--gutter);background:rgba(243,238,231,0.88);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid var(--line);box-shadow:var(--glass-inset),0 1px 0 var(--line);transition:box-shadow var(--duration-normal) var(--ease-out)}
.portfolio-nav:has(.portfolio-brand){box-shadow:0 1px 0 var(--line)}
.portfolio-brand{flex-direction:row;align-items:center;gap:var(--sp-3)}
.portfolio-brand>span{font-weight:500;letter-spacing:var(--ls-wider)}
.portfolio-nav-actions{display:flex;align-items:center;gap:20px}
.nav-status{font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-wider);color:var(--ink-muted);font-weight:500;display:flex;align-items:center;gap:var(--sp-2)}
.nav-status i{width:7px;height:7px;border-radius:50%;background:var(--terracotta);display:inline-block;animation:pulseGlow 2s ease-in-out infinite}
.portfolio-back{font-weight:600;font-size:var(--text-sm);letter-spacing:var(--ls-wide);padding-bottom:4px;border-bottom:1.5px solid transparent;transition:all var(--dur-fast) var(--ease-out)}
.portfolio-back:hover{color:var(--terracotta-deep);border-color:var(--terracotta-deep)}

/* ─── PORTFOLIO HERO ────────────────────────────────────────────────────── */
.portfolio-hero{position:relative;height:var(--img-hero-height);display:flex;align-items:flex-end;overflow:hidden}
.portfolio-hero-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(0.85) contrast(1.05);transform:scale(1.05);animation:fadeIn 1.2s var(--ease-out) both}
.portfolio-hero-image{position:relative;width:var(--img-hero-profile);max-width:380px;height:auto;object-fit:contain;z-index:2;margin-left:clamp(24px,6vw,80px);margin-bottom:clamp(40px,8vh,80px);filter:drop-shadow(0 20px 50px rgba(0,0,0,0.25));animation:scaleIn 0.8s var(--ease-out) 0.2s both}
.portfolio-hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(243,238,231,0) 0%,rgba(243,238,231,0.3) 50%,rgba(243,238,231,0.92) 100%);z-index:1}
.portfolio-hero-copy{position:relative;z-index:3;padding:0 var(--gutter) clamp(48px,8vh,80px);max-width:600px;animation:fadeUp var(--dur-enter) var(--ease-out) 0.3s both}
.portfolio-eyebrow{font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--terracotta-deep);font-weight:600;margin-bottom:var(--sp-3)}
.portfolio-eyebrow span{color:var(--ink-muted);font-weight:400}
.portfolio-hero-copy h1{font-family:var(--heading-font);font-size:var(--text-hero);font-weight:400;letter-spacing:var(--ls-tight);line-height:var(--lh-tight);text-shadow:0 2px 40px rgba(0,0,0,0.08);margin-bottom:var(--sp-5);font-optical-sizing:auto}
.portfolio-hero-copy h1 em{font-style:italic;color:var(--terracotta-deep)}
.hero-bottomline{display:flex;align-items:flex-end;gap:var(--sp-4)}
.hero-bottomline p{font-weight:500;letter-spacing:var(--ls-wide);line-height:var(--lh-relaxed);font-size:var(--text-md);color:var(--charcoal-soft)}
.hero-bottomline span{font-size:var(--text-xl);color:var(--terracotta);animation:fadeUp 1s var(--ease-out) 0.8s both}
.hero-index{position:absolute;bottom:clamp(24px,4vh,48px);right:var(--gutter);z-index:3;font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-wider);color:var(--ink-muted);font-weight:600}

/* ─── NICHE BAR ─────────────────────────────────────────────────────────── */
.niche-bar{display:flex;gap:var(--sp-5);padding:clamp(12px,1.5vw,18px) var(--gutter);background:rgba(243,238,231,0.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow-x:auto;scroll-snap-type:x proximity;-ms-overflow-style:none;scrollbar-width:none}
.niche-bar::-webkit-scrollbar{display:none}
.niche-bar span{font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-wider);text-transform:uppercase;white-space:nowrap;padding:var(--sp-1) var(--sp-2);position:relative;font-weight:500;transition:color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-spring);scroll-snap-align:start}
.niche-bar span:first-child{color:var(--terracotta-deep);font-weight:600}
.niche-bar span:first-child::after{position:absolute;right:0;bottom:-2px;left:0;height:2px;background:var(--terracotta);border-radius:1px;content:""}
.niche-bar span:hover{color:var(--terracotta-deep);transform:translateY(-1px)}

/* ─── SECTION FRAME ─────────────────────────────────────────────────────── */
.section-frame{padding:var(--section-py) var(--section-px);position:relative}
.section-frame::before{content:"";display:block;width:48px;height:2px;background:linear-gradient(90deg,var(--terracotta),var(--terracotta-light));margin-bottom:clamp(24px,4vw,48px);border-radius:1px}
.section-label{font-family:var(--mono-font);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--terracotta-deep);margin-bottom:var(--sp-3)}
.section-frame h2{font-family:var(--heading-font);font-size:var(--text-4xl);font-weight:400;letter-spacing:var(--ls-tight);line-height:var(--lh-tight);font-optical-sizing:auto}
.section-frame h2 em{font-style:italic;color:var(--terracotta-deep)}

/* ─── PORTFOLIO ABOUT ───────────────────────────────────────────────────── */
.portfolio-about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);align-items:center}
.about-copy{animation:fadeUp var(--dur-slow) var(--ease-out) both}
.about-paragraphs{margin-top:var(--sp-5)}
.about-paragraphs p{font-weight:400;letter-spacing:var(--ls-normal);line-height:var(--lh-relaxed);margin-bottom:1.2em;color:var(--charcoal-soft);font-size:var(--text-md)}
.about-paragraphs p:last-child{margin-bottom:0}
.about-signature{margin-top:var(--sp-6);font-family:var(--accent-font);font-size:var(--text-2xl);font-weight:500;letter-spacing:var(--ls-snug);line-height:var(--lh-snug);color:var(--charcoal);font-style:italic}
.about-signature span{color:var(--terracotta-deep)}
.about-visual{position:relative;display:flex;flex-direction:column;align-items:flex-end;animation:fadeUp var(--dur-slow) var(--ease-out) 0.15s both}
.about-photo-main{width:var(--img-about-main);height:var(--img-about-main);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 30px 80px rgba(41,37,33,.12),0 8px 24px rgba(41,37,33,.06);border:1px solid rgba(255,250,245,.5);transition:box-shadow var(--dur-normal) var(--ease-out),transform var(--dur-normal) var(--ease-out)}
.about-photo-main:hover{box-shadow:0 35px 90px rgba(41,37,33,.15),0 10px 28px rgba(41,37,33,.07);transform:translateY(-3px)}
.about-photo-main img{width:100%;height:100%;object-fit:cover;object-position:center top}
.about-photo-detail{position:absolute;bottom:-20px;left:-30px;width:var(--img-about-detail);height:var(--img-about-detail);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 20px 50px rgba(41,37,33,.15),0 4px 12px rgba(41,37,33,.08);border:3px solid var(--cream);transition:transform var(--dur-normal) var(--ease-spring)}
.about-photo-detail:hover{transform:scale(1.05) rotate(-2deg)}
.photo-caption{display:block;margin-top:var(--sp-5);font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--ink-muted);text-align:right}
@media(max-width:800px){.portfolio-about{grid-template-columns:1fr;gap:var(--sp-7)}.about-visual{align-items:center}}

/* ─── PORTFOLIO STYLES (FORMATOS) ──────────────────────────────────────── */
.portfolio-styles{background:var(--charcoal);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);align-items:start}
.portfolio-styles::before{background:linear-gradient(90deg,var(--terracotta-light),var(--terracotta))}
.portfolio-styles .section-label{color:var(--terracotta-light)}
.portfolio-styles h2{color:var(--cream)}
.portfolio-styles h2 em{color:var(--terracotta-light)}
.styles-description{margin-top:var(--sp-4);font-size:var(--text-md);line-height:var(--lh-relaxed);color:var(--ink-light);max-width:42ch}
.styles-list{margin-top:var(--sp-6)}
.style-row{display:flex;align-items:center;gap:var(--sp-4);border-top:1px solid rgba(248,240,231,0.1);padding:var(--sp-4) 0;transition:all var(--dur-fast) var(--ease-out)}
.style-row:hover{padding-left:var(--sp-4);background:rgba(255,250,245,0.03)}
.style-row span:first-child{font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-wider);color:var(--terracotta-light);min-width:28px}
.style-row strong{font-weight:500;letter-spacing:var(--ls-snug);flex:1;font-size:var(--text-lg)}
.style-row span:last-child{font-size:14px;color:var(--ink-light);transition:color var(--dur-fast) var(--ease-out)}
.style-row:hover span:last-child{color:var(--terracotta-light)}
.styles-image-wrap{position:relative;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 25px 60px rgba(0,0,0,.25),0 8px 20px rgba(0,0,0,.12);border:1px solid rgba(255,250,245,.08);margin-top:var(--sp-6);max-width:var(--img-styles-max);justify-self:end}
.styles-image-wrap img{width:100%;display:block;filter:saturate(0.9) contrast(1.05);object-fit:cover}
.styles-image-wrap span{position:absolute;bottom:var(--sp-4);left:var(--sp-4);font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--cream);font-weight:600;background:rgba(41,37,33,0.6);backdrop-filter:blur(8px);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm)}
@media(max-width:800px){.portfolio-styles{grid-template-columns:1fr}.styles-image-wrap{max-width:100%;justify-self:stretch}}

/* ─── PORTFOLIO GALLERY ─────────────────────────────────────────────────── */
.gallery-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:clamp(24px,4vw,48px);gap:var(--sp-5)}
.gallery-heading p{max-width:36ch;line-height:var(--lh-relaxed);font-size:var(--text-md);color:var(--ink-muted)}
.gallery-masonry{columns:3;column-gap:var(--sp-5)}
.gallery-item{break-inside:avoid;margin-bottom:var(--sp-5);overflow:hidden;border-radius:var(--radius-md);background:var(--cream-deep);box-shadow:var(--shadow-md);transition:transform var(--dur-normal) var(--ease-out),box-shadow var(--dur-normal) var(--ease-out);position:relative;max-width:var(--img-gallery-max)}
.gallery-item::after{content:"";position:absolute;inset:0;border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px rgba(255,250,245,.08);pointer-events:none;transition:box-shadow var(--dur-normal) var(--ease-out)}
.gallery-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.gallery-item:hover::after{box-shadow:inset 0 0 0 1px rgba(207,111,32,0.18)}
.gallery-item img{display:block;width:100%;object-fit:cover;filter:saturate(0.92) contrast(1.03);transition:transform var(--dur-slow) var(--ease-out),filter var(--dur-slow) var(--ease-out)}
.gallery-item:hover img{transform:scale(1.04);filter:saturate(1.05) contrast(1.02)}
.gallery-item figcaption{padding:var(--sp-4) var(--sp-1) var(--sp-1);font-weight:500;line-height:var(--lh-snug)}
.gallery-item figcaption span:first-child{font-family:var(--mono-font);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--ls-wider);color:var(--terracotta-deep);display:block;margin-bottom:2px}
.gallery-item figcaption span:last-child{font-size:var(--text-sm);color:var(--ink-muted);letter-spacing:var(--ls-normal);transition:color var(--dur-fast) var(--ease-out)}
.gallery-item:hover figcaption span:last-child{color:var(--terracotta-deep)}
@media(max-width:800px){.gallery-masonry{columns:2;column-gap:var(--sp-4)}.gallery-item{margin-bottom:var(--sp-4);max-width:none}}
@media(max-width:560px){.gallery-masonry{columns:1}.gallery-item{max-width:none}}

/* ─── PORTFOLIO EQUIPMENT ───────────────────────────────────────────────── */
.portfolio-equipment{background:var(--charcoal);color:var(--cream)}
.portfolio-equipment::before{background:linear-gradient(90deg,var(--terracotta-light),var(--terracotta))}
.portfolio-equipment .section-label{color:var(--terracotta-light)}
.portfolio-equipment h2{color:var(--cream)}
.portfolio-equipment h2 em{color:var(--terracotta-light)}
.equipment-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--sp-7);gap:var(--sp-5)}
.equipment-heading p{max-width:36ch;line-height:var(--lh-relaxed);font-size:var(--text-md);color:var(--ink-light)}
.equipment-editorial-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-5)}
.equipment-editorial-card{border-radius:var(--radius-md);overflow:hidden;background:rgba(255,250,245,0.04);border:1px solid rgba(255,250,245,0.06);transition:transform var(--dur-normal) var(--ease-out),box-shadow var(--dur-normal) var(--ease-out),border-color var(--dur-normal) var(--ease-out)}
.equipment-editorial-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,.18);border-color:rgba(207,111,32,0.2)}
.equipment-crop{border-radius:var(--radius-md) var(--radius-md) 0 0;overflow:hidden;aspect-ratio:1;background:rgba(255,250,245,0.06)}
.equipment-crop img{width:100%;height:100%;object-fit:contain;padding:var(--sp-5);filter:brightness(1.1);transition:transform var(--dur-normal) var(--ease-out)}
.equipment-editorial-card:hover .equipment-crop img{transform:scale(1.08)}
.equipment-editorial-copy{padding:clamp(16px,2.5vw,24px)}
.equipment-editorial-copy span{font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-wider);color:var(--terracotta-light);display:block;margin-bottom:var(--sp-2)}
.equipment-editorial-copy strong{font-weight:500;letter-spacing:var(--ls-snug);display:block;margin-bottom:var(--sp-2);font-size:var(--text-lg);color:var(--cream)}
.equipment-editorial-copy p{font-weight:400;letter-spacing:var(--ls-normal);line-height:var(--lh-relaxed);color:var(--ink-light);font-size:var(--text-sm)}
@media(max-width:800px){.equipment-editorial-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.equipment-editorial-grid{grid-template-columns:1fr}}

/* ─── PORTFOLIO COLLAB ──────────────────────────────────────────────────── */
.portfolio-collab{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);align-items:center}
.collab-copy{animation:fadeUp var(--dur-slow) var(--ease-out) both}
.collab-copy p{font-weight:400;letter-spacing:var(--ls-normal);line-height:var(--lh-loose);margin-top:var(--sp-4);font-size:var(--text-md);color:var(--charcoal-soft)}
.collab-visual{position:relative;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 30px 70px rgba(21,17,14,.12),0 10px 24px rgba(21,17,14,.06);border:1px solid rgba(191,105,36,.2);transition:transform var(--dur-normal) var(--ease-out),box-shadow var(--dur-normal) var(--ease-out);max-width:var(--img-collab-max);justify-self:end}
.collab-visual:hover{transform:translateY(-3px);box-shadow:0 35px 80px rgba(21,17,14,.15),0 12px 28px rgba(21,17,14,.07)}
.collab-visual img{width:100%;display:block;object-fit:cover}
@media(max-width:800px){.portfolio-collab{grid-template-columns:1fr}.collab-visual{max-width:100%;justify-self:stretch}}

/* ─── PORTFOLIO CONTACT ─────────────────────────────────────────────────── */
.portfolio-contact{position:relative;overflow:hidden;background:var(--charcoal);color:var(--cream);padding:var(--section-py) var(--section-px);display:flex;flex-direction:column;align-items:center;text-align:center}
.contact-paper{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.15;mix-blend-mode:screen;pointer-events:none}
.contact-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.3;pointer-events:none}
.contact-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(38,35,31,0.7) 0%,rgba(38,35,31,0.9) 100%);pointer-events:none}
.contact-content{position:relative;z-index:2;max-width:500px}
.contact-content .section-label{color:var(--terracotta-light)}
.contact-content h2{font-family:var(--heading-font);font-size:var(--text-4xl);font-weight:400;letter-spacing:var(--ls-tight);line-height:var(--lh-tight);margin-top:var(--sp-3);margin-bottom:var(--sp-6);color:var(--cream)}
.contact-content h2 em{font-style:italic;color:var(--terracotta-light)}
.contact-links{display:flex;flex-direction:column;gap:var(--sp-3)}
.contact-links .group{display:flex;align-items:center;gap:var(--sp-3);min-height:52px;padding:0 var(--sp-5);font-weight:600;letter-spacing:var(--ls-wide);border-radius:var(--radius-md);border:1px solid rgba(255,250,245,0.12);background:rgba(255,250,245,0.04);backdrop-filter:blur(4px);box-shadow:var(--glass-inset);transition:all var(--dur-fast) var(--ease-out);color:var(--cream);font-size:var(--text-base)}
.contact-links .group:first-child{background:var(--terracotta);border-color:var(--terracotta);box-shadow:var(--shadow-glow)}
.contact-links .group:first-child:hover{background:var(--terracotta-deep);box-shadow:0 14px 36px rgba(207,111,32,0.32);transform:translateY(-3px)}
.contact-links .group:not(:first-child):hover{border-color:var(--terracotta);color:var(--terracotta-light);transform:translateY(-2px);box-shadow:0 4px 16px rgba(207,111,32,0.1)}
.contact-links .group svg:first-child{flex-shrink:0}
.contact-links .group svg:last-child{margin-left:auto;opacity:0.5;transition:opacity var(--dur-fast) var(--ease-out)}
.contact-links .group:hover svg:last-child{opacity:1}
.contact-location{position:relative;z-index:2;margin-top:var(--sp-6);font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--ink-light);font-weight:600}

/* ─── PORTFOLIO FOOTER ──────────────────────────────────────────────────── */
.portfolio-footer{display:flex;justify-content:space-between;align-items:center;padding:clamp(24px,4vw,48px) var(--gutter);border-top:1px solid var(--line);font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-wider);color:var(--ink-muted);font-weight:500}
.portfolio-footer a{font-weight:600;border-bottom:1.5px solid transparent;transition:all var(--dur-fast) var(--ease-out);padding-bottom:2px}
.portfolio-footer a:hover{border-color:var(--terracotta);color:var(--terracotta)}

/* ─── PORTFOLIO EDITORIAL — Classic Clean ────────────────────────────────── */
.portfolio-editorial{background:var(--cream);overflow:hidden}
.portfolio-editorial .premium-hero{min-height:80vh}
.portfolio-editorial .premium-hero-bottom{max-width:700px}
.portfolio-editorial .premium-about{grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);max-width:1100px;margin:0 auto}
.portfolio-editorial .premium-formats-inner{max-width:1100px;margin:0 auto}
.portfolio-editorial .premium-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5);max-width:1200px;margin:0 auto}
.portfolio-editorial .premium-equipment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-5);max-width:1000px;margin:0 auto}
.portfolio-editorial .premium-collab{max-width:1000px;margin:0 auto}
.portfolio-editorial .premium-contact-content{max-width:600px;margin:0 auto}

/* ─── PORTFOLIO MINIMAL — Simple Centered ────────────────────────────────── */
.portfolio-minimal{background:var(--cream);overflow:hidden}
.portfolio-minimal .premium-hero{min-height:70vh}
.portfolio-minimal .premium-hero-bottom{align-items:center;text-align:center;max-width:600px;margin:0 auto}
.portfolio-minimal .premium-hero-sub{margin-left:auto;margin-right:auto}
.portfolio-minimal .premium-niche-bar{justify-content:center}
.portfolio-minimal .premium-about{grid-template-columns:1fr;gap:var(--sp-8);max-width:700px;margin:0 auto;text-align:center}
.portfolio-minimal .premium-about-text{order:2}
.portfolio-minimal .premium-about-photos{order:1;max-width:400px;margin:0 auto}
.portfolio-minimal .section-label{text-align:center}
.portfolio-minimal .premium-about h2{text-align:center}
.portfolio-minimal .about-signature{border-left:none;padding-left:0;border-top:2px solid var(--terracotta);padding-top:var(--sp-4);margin:0 auto}
.portfolio-minimal .premium-formats{max-width:800px;margin:0 auto}
.portfolio-minimal .premium-formats-intro{text-align:center}
.portfolio-minimal .premium-gallery-header{text-align:center}
.portfolio-minimal .premium-gallery-header p{margin:0 auto}
.portfolio-minimal .premium-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-5);max-width:800px;margin:0 auto}
.portfolio-minimal .premium-equipment-header{text-align:center}
.portfolio-minimal .premium-equipment-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-4);max-width:500px;margin:0 auto}
.portfolio-minimal .premium-collab{text-align:center}
.portfolio-minimal .premium-collab-text{max-width:500px;margin:0 auto}
.portfolio-minimal .premium-contact-content{text-align:center;max-width:500px;margin:0 auto}
.portfolio-minimal .premium-contact-links{justify-content:center}
.portfolio-minimal .premium-contact-location{margin:var(--sp-6) auto 0}
@media(max-width:800px){.portfolio-minimal .premium-gallery-grid{grid-template-columns:1fr}.portfolio-minimal .premium-about{grid-template-columns:1fr}}

/* ─── BACKGROUND MUSIC CONTROL ──────────────────────────────────────────── */
.background-music-control{position:fixed;bottom:calc(12px + var(--safe-bottom));right:calc(12px + var(--safe-bottom));z-index:200;display:flex;align-items:center}
#music-toggle{background:var(--charcoal);color:var(--cream);border:0;min-width:44px;min-height:44px;width:auto;padding:0 16px;border-radius:999px;font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-wider);box-shadow:var(--shadow-lg);transition:all var(--dur-fast) var(--ease-spring);cursor:pointer;line-height:1}
#music-toggle:hover{background:var(--terracotta-deep);transform:translateY(-2px);box-shadow:var(--shadow-xl)}
#music-toggle[aria-pressed="true"]{background:var(--terracotta)}

/* Botão discreto e circular em mobile — move para esquerda onde há menos CTAs */
@media(max-width:800px){
  .background-music-control{right:auto;left:calc(12px + var(--safe-bottom));bottom:calc(12px + var(--safe-bottom))}
  #music-toggle{width:44px;height:44px;padding:0;border-radius:50%;font-size:0;line-height:1}
  #music-toggle::before{content:"";display:block;width:14px;height:14px;margin:0 auto;background:currentColor;border-radius:50%;flex:0 0 auto}
  #music-toggle[aria-pressed="true"]{background:var(--terracotta)}
}

/* Evita sobreposição de conteúdo em páginas com botão fixo */
body.prefers-music-fixed{padding-bottom:0}
@media(max-width:800px){
  .home-footer,.portfolio-footer{bottom:calc(10px + var(--safe-bottom));position:relative}
  .home-footer{padding-top:var(--sp-5)}
  .portfolio-footer{padding-top:clamp(24px,4vw,48px)}
}

/* ─── NOT FOUND ─────────────────────────────────────────────────────────── */
.not-found{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-5);text-align:center;padding:var(--gutter);padding-bottom:calc(12px + var(--safe-bottom))}
.not-found .eyebrow{font-family:var(--mono-font);font-size:var(--text-5xl);font-weight:700;letter-spacing:var(--ls-snug);color:var(--line-strong)}
.not-found h1{font-family:var(--heading-font);font-size:var(--text-3xl);font-weight:400}

/* ─── RESPONSIVE — HOME ─────────────────────────────────────────────────── */
@media(max-width:800px){
  .brand-lockup .brand-mark{width:min(var(--logo-width,30px),70px);max-height:70px}
  .home-aside .aside-note{max-width:28ch}
  .portfolio-nav-actions{gap:12px}
  .niche-bar{scroll-snap-type:x proximity}
  .niche-bar span{scroll-snap-align:start}
  .home-grid{gap:7px}
  .home-layout-editorial .home-layout{grid-template-columns:1fr;gap:var(--sp-6)}
  .home-layout-editorial .home-aside{border-right:none;border-bottom:1px solid var(--line);padding:24px 0;min-height:auto;width:100%}
  .home-layout-editorial .home-content{padding:32px 0}
  .home-layout-editorial .home-grid{grid-template-columns:repeat(2,1fr);gap:var(--sp-4)}
}
@media(max-width:560px){
  .home-aside{grid-template-columns:minmax(0,1fr) auto}
  .brand-lockup .brand-mark{width:min(var(--logo-width,30px),60px);max-height:60px;padding:2px}
  .brand-lockup>span{font-size:9px}
  .portfolio-brand .brand-mark{width:min(var(--logo-width,30px),45px);max-height:45px}
  .social-row{gap:var(--sp-2);margin:var(--sp-4) 0}
  .social-link{min-width:44px;min-height:44px}
  .home-cta{min-height:50px;padding-inline:21px}
  .home-identity .identity-sub{max-width:31ch}
  .portfolio-hero-image{object-position:65% center}
  .portfolio-hero-copy{padding-bottom:32px}
  .portfolio-hero-copy h1{letter-spacing:var(--ls-snug)}
  .home-layout-editorial .home-grid{grid-template-columns:1fr}
  .home-layout-minimal .home-identity h1{font-size:var(--text-3xl)}
  .hero-bottomline{margin-top:23px}
  .niche-bar span{font-size:9px}
  .gallery-heading>p{max-width:31ch}
  .portfolio-contact .contact-links .group{min-height:46px}
}

/* ─── CONTAINER QUERIES (modern browsers) ───────────────────────────────── */
@container style(--container-type:inline-size){
  .equipment-editorial-card{container-type:inline-size}
  @container(min-width:300px){.equipment-editorial-copy{padding:var(--sp-5)}}
}

/* ─── VIEW TRANSITIONS (progressive enhancement) ────────────────────────── */
@view-transition{navigation:auto}
::view-transition-old(root){animation:fadeIn 0.2s var(--ease-out) both}
::view-transition-new(root){animation:fadeIn 0.3s var(--ease-out) 0.1s both}

/* ─── TYPOGRAPHY UTILITIES ──────────────────────────────────────────────── */
.text-display{font-family:var(--heading-font);font-size:var(--text-hero);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);font-weight:400}
.text-heading{font-family:var(--heading-font);font-size:var(--text-4xl);line-height:var(--lh-heading);letter-spacing:var(--ls-tight);font-weight:400}
.text-subheading{font-family:var(--heading-font);font-size:var(--text-2xl);line-height:var(--lh-snug);letter-spacing:var(--ls-snug);font-weight:400}
.text-body{font-family:var(--body-font);font-size:var(--text-md);line-height:var(--lh-relaxed);letter-spacing:var(--ls-normal)}
.text-caption{font-family:var(--mono-font);font-size:var(--text-xs);letter-spacing:var(--ls-widest);text-transform:uppercase}
.text-accent{font-family:var(--accent-font);font-size:var(--text-2xl);font-style:italic;line-height:var(--lh-snug)}
.text-display-font{font-family:var(--display-font);font-size:var(--text-hero);line-height:var(--lh-tight);font-weight:400}
.text-small-caps{font-variant-caps:small-caps;letter-spacing:var(--ls-wide)}
.text-ordinal{font-feature-settings:'ordn' 1}
.text-fractions{font-feature-settings:'frac' 1}

/* ─── PORTFOLIO SCROLL ANIMATIONS ──────────────────────────────────────── */
.js-ready .animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity 0.8s ease,transform 0.8s ease}
.js-ready .animate-on-scroll.is-visible{opacity:1;transform:translateY(0)}
.js-ready .premium-about.animate-on-scroll{transition-delay:0.1s}
.js-ready .premium-formats.animate-on-scroll{transition-delay:0.15s}
.js-ready .premium-gallery.animate-on-scroll{transition-delay:0.1s}
.js-ready .premium-equipment.animate-on-scroll{transition-delay:0.15s}
.js-ready .premium-collab.animate-on-scroll{transition-delay:0.1s}
.js-ready .premium-contact.animate-on-scroll{transition-delay:0.1s}
.js-ready .premium-about-text.animate-on-scroll,.js-ready .premium-about-photos.animate-on-scroll{opacity:0;transform:translateY(25px);transition:opacity 0.7s ease,transform 0.7s ease}
.js-ready .premium-about-text.is-visible,.js-ready .premium-about-photos.is-visible{opacity:1;transform:translateY(0)}
.js-ready .premium-format-row{opacity:0;transform:translateX(-20px);transition:opacity 0.5s ease,transform 0.5s ease}
.js-ready .premium-format-row.is-visible{opacity:1;transform:translateX(0)}
.js-ready .premium-gallery-card{opacity:0;transform:scale(0.95) translateY(20px);transition:opacity 0.6s ease,transform 0.6s ease}
.js-ready .premium-gallery-card.is-visible{opacity:1;transform:scale(1) translateY(0)}
.js-ready .premium-equipment-card{opacity:0;transform:translateY(25px);transition:opacity 0.6s ease,transform 0.6s ease}
.js-ready .premium-equipment-card.is-visible{opacity:1;transform:translateY(0)}
.js-ready .premium-contact-content{opacity:0;transform:translateY(30px);transition:opacity 0.8s ease 0.2s,transform 0.8s ease 0.2s}
.js-ready .premium-contact.is-visible .premium-contact-content{opacity:1;transform:translateY(0)}

/* ─── PRINT STYLES ──────────────────────────────────────────────────────── */
@media print{
  .portfolio-nav,.background-music-control,.home-manage-button,.niche-bar{display:none!important}
  body{background:#fff;color:#000}
  .portfolio-hero{height:auto;min-height:0}
  .section-frame{padding:2rem}
}

/* ─── RESPONSIVE TYPE SCALE ─────────────────────────────────────────────── */
@media(max-width:800px){
  :root{
    --text-hero:clamp(2.5rem,10vw,4rem);
    --text-4xl:clamp(1.8rem,5vw,3rem);
    --text-3xl:clamp(1.5rem,4.5vw,2.5rem);
  }
}
@media(max-width:560px){
  :root{
    --text-hero:clamp(2rem,11vw,3.5rem);
    --text-4xl:clamp(1.5rem,6vw,2.2rem);
    --text-3xl:clamp(1.3rem,5.5vw,1.8rem);
    --text-2xl:clamp(1.1rem,4.5vw,1.4rem);
  }
}

/* ─── SCROLL-DRIVEN ANIMATIONS (CSS-only, progressive enhancement) ─────── */
@supports(animation-timeline:scroll()){
  .section-frame{animation:fadeUp linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
  .gallery-item{animation:scaleIn linear both;animation-timeline:view();animation-range:entry 0% entry 80%}
  .equipment-editorial-card{animation:fadeUp linear both;animation-timeline:view();animation-range:entry 0% entry 80%}
  .portfolio-hero-copy{animation:fadeUp linear both;animation-timeline:view();animation-range:entry 0% entry 60%}
}

/* ─── REDUCED MOTION ───────────────────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  .premium-hero-fullimg,.premium-hero-bottom .eyebrow,.premium-hero-bottom h1 .first-name,.premium-hero-bottom h1 .last-name,.premium-hero-sub,.premium-niche-bar span,.animate-on-scroll,.premium-format-row,.premium-gallery-card,.premium-equipment-card,.premium-contact-content,.stacked-photo,.stacked-hero-text .eyebrow,.social-link,.name-first,.stacked-hero-text h1 em,.stacked-tagline,.stacked-hero-text .home-cta{animation:none!important;opacity:1!important;transform:none!important;clip-path:none!important}
}
