:root {
      --bg: #0c0b09;
      --bg2: #131210;
      --fg: #f0ece4;
      --fg-muted: #8a8278;
      --accent: #c9a96e;
      --serif: 'Cormorant Garamond', Georgia, serif;
      --sans: 'DM Sans', sans-serif;
    }
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body { background: var(--bg); color: var(--fg); font-family: var(--sans); font-weight: 300; overflow-x: hidden; }

    /* NAV */
    nav {
      position: fixed; top: 0; left: 0; right: 0; z-index: 100;
      display: flex; align-items: center; justify-content: space-between;
      padding: 1.4rem 3rem;
      transition: background 0.4s, backdrop-filter 0.4s;
    }
    nav.scrolled {
      background: rgba(12,11,9,0.92);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid rgba(255,255,255,0.06);
    }
    .nav-links { display: flex; gap: 2.4rem; list-style: none; }
    .nav-links a {
      color: var(--fg-muted); text-decoration: none;
      font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase;
      transition: color 0.2s;
    }
    .nav-links a:hover { color: var(--fg); }
    .nav-logo img { height: 42px; filter: invert(1) brightness(0.85); opacity: 0.9; }
    .nav-social a {
      color: var(--fg-muted); text-decoration: none;
      font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase;
      transition: color 0.2s;
    }
    .nav-social a:hover { color: var(--accent); }

    /* HERO */
    #hero {
      position: relative; height: 100vh;
      display: flex; flex-direction: column; align-items: center; justify-content: center;
      overflow: hidden; text-align: center;
    }
    .hero-bg {
      position: absolute; inset: 0;
      display: grid;
      grid-template-columns: 1.1fr 0.75fr 1fr 0.85fr;
      grid-template-rows: 1fr 1fr;
      gap: 3px;
      transform: scale(1.04);
    }
    .hero-bg .hc {
      overflow: hidden;
      position: relative;
    }
    .hero-bg .hc img {
      width: 100%; height: 100%; object-fit: cover; display: block;
      transition: transform 0.1s linear;
    }
    .hero-bg .hc:nth-child(1) { grid-row: span 2; }
    .hero-bg .hc:nth-child(4) { grid-row: span 2; }
    .hero-overlay {
      position: absolute; inset: 0;
      background: radial-gradient(ellipse 60% 50% at 50% 50%, rgba(12,11,9,0.55) 0%, rgba(12,11,9,0) 100%), linear-gradient(to bottom, rgba(12,11,9,0.7) 0%, rgba(12,11,9,0.6) 40%, rgba(12,11,9,0.88) 100%);
    }
    .hero-content { position: relative; z-index: 2; }
    .hero-eyebrow {
      font-size: 0.72rem; letter-spacing: 0.28em; text-transform: uppercase;
      color: var(--accent); margin-bottom: 1.2rem;
      opacity: 0; animation: fadeUp 1s 0.2s ease forwards;
    }
    .hero-title {
      font-family: var(--serif); font-weight: 300;
      font-size: clamp(3.5rem, 8vw, 7.5rem); line-height: 1;
      color: var(--fg);
      opacity: 0; animation: fadeUp 1s 0.4s ease forwards;
    }
    .hero-tagline {
      margin-top: 1.6rem;
      font-family: var(--serif); font-style: italic;
      font-size: clamp(1.1rem, 2vw, 1.5rem);
      color: rgba(240,236,228,0.7);
      opacity: 0; animation: fadeUp 1s 0.7s ease forwards;
    }
    .hero-scroll {
      position: absolute; bottom: 2.5rem; left: 50%; transform: translateX(-50%);
      display: flex; flex-direction: column; align-items: center; gap: 0.5rem;
      opacity: 0; animation: fadeUp 1s 1.2s ease forwards; cursor: pointer;
    }
    .hero-scroll span { font-size: 0.65rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--fg-muted); }
    .scroll-line {
      width: 1px; height: 48px;
      background: linear-gradient(to bottom, var(--accent), transparent);
      animation: scrollPulse 2s ease-in-out infinite;
    }
    @keyframes fadeUp { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }
    @keyframes scrollPulse { 0%,100% { opacity:0.4; } 50% { opacity:1; } }

    /* SECTION COMMON */
    .section-label {
      font-size: 0.68rem; letter-spacing: 0.3em; text-transform: uppercase;
      color: var(--accent); margin-bottom: 1rem;
    }

    /* PORTFOLIO SPLIT */
    #portfolio { padding: 8rem 0 0; }
    .portfolio-header { text-align: center; margin-bottom: 5rem; }
    .portfolio-header h2 { font-family: var(--serif); font-weight: 300; font-size: clamp(2.2rem, 4vw, 3.5rem); }

    .portfolio-category {
      display: grid; grid-template-columns: 1fr 1.6fr; min-height: 420px;
      opacity: 0; transform: translateY(30px);
      transition: opacity 0.7s ease, transform 0.7s ease;
    }
    .portfolio-category.visible { opacity: 1; transform: translateY(0); }
    .portfolio-category.flip { grid-template-columns: 1.6fr 1fr; }
    .portfolio-category.flip .cat-label { order: 2; }
    .portfolio-category.flip .cat-image { order: 1; }

    .cat-label {
      background: var(--bg2);
      display: flex; flex-direction: column; align-items: center; justify-content: center;
      gap: 1rem; padding: 3rem;
      position: relative; overflow: hidden; cursor: default;
    }
    .cat-label::after {
      content: ''; position: absolute; inset: 0;
      background: var(--accent); opacity: 0; transition: opacity 0.3s;
    }
    .cat-label:hover::after { opacity: 0.04; }
    .cat-number { font-family: var(--serif); font-size: 0.9rem; color: var(--fg-muted); letter-spacing: 0.1em; }
    .cat-name { font-family: var(--serif); font-style: italic; font-size: clamp(2rem, 3.5vw, 3rem); font-weight: 300; text-align: center; }
    .cat-desc { font-size: 0.8rem; color: var(--fg-muted); text-align: center; max-width: 200px; line-height: 1.7; }
    .cat-cta {
      margin-top: 0.5rem; font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase;
      color: var(--accent); text-decoration: none; border-bottom: 1px solid var(--accent);
      padding-bottom: 2px; transition: opacity 0.2s; position: relative; z-index: 1;
    }
    .cat-cta:hover { opacity: 0.7; }
    .cat-image { position: relative; overflow: hidden; background: #1a1814; cursor: pointer; }
    .cat-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; display: block; }
    .cat-image:hover img { transform: scale(1.04); }

    /* GALLERY GRID */
    .gallery-wrap { background: var(--bg2); padding: 3px 0 0; }
    .gallery-inner { padding: 2rem 3rem; }
    .gallery-meta {
      display: flex; justify-content: space-between; align-items: center;
      margin-bottom: 1.2rem;
    }
    .gallery-meta h4 {
      font-family: var(--serif); font-weight: 300; font-style: italic;
      font-size: 1.1rem; color: var(--fg-muted);
    }
    .gallery-count { font-size: 0.68rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--fg-muted); }
    .photo-grid{columns:4;column-gap:6px}
    .g-item{overflow:hidden;cursor:pointer;position:relative;background:#1a1814;break-inside:avoid;margin-bottom:6px}
    .g-item img{width:100%;height:auto;display:block;transition:transform 0.5s ease}
    .g-item:hover img { transform: scale(1.06); }
    .g-item .g-overlay {
      position: absolute; inset: 0;
      background: rgba(12,11,9,0); transition: background 0.3s;
    }
    .g-item:hover .g-overlay { background: rgba(12,11,9,0.2); }

    /* LIGHTBOX */
    #lightbox {
      display: none; position: fixed; inset: 0; z-index: 9000;
      background: rgba(8,7,6,0.97); backdrop-filter: blur(10px);
      align-items: center; justify-content: center; flex-direction: column;
    }
    #lightbox.open { display: flex; }
    #lightbox img { max-width: 88vw; max-height: 84vh; object-fit: contain; display: block; }
    #lb-close {
      position: absolute; top: 1.5rem; right: 2rem;
      color: var(--fg-muted); font-size: 2rem; cursor: pointer;
      line-height: 1; transition: color 0.2s; background: none; border: none;
    }
    #lb-close:hover { color: var(--fg); }
    #lb-prev, #lb-next {
      position: absolute; top: 50%; transform: translateY(-50%);
      background: none; border: 1px solid rgba(255,255,255,0.15);
      color: var(--fg); width: 48px; height: 48px;
      cursor: pointer; font-size: 1.2rem;
      display: flex; align-items: center; justify-content: center;
      transition: border-color 0.2s, color 0.2s;
    }
    #lb-prev { left: 1.5rem; }
    #lb-next { right: 1.5rem; }
    #lb-prev:hover, #lb-next:hover { border-color: var(--accent); color: var(--accent); }
    #lb-caption {
      margin-top: 1rem; font-size: 0.7rem; letter-spacing: 0.18em;
      text-transform: uppercase; color: var(--fg-muted);
    }

    /* ABOUT */
    #about {
      padding: 10rem 4rem;
      display: grid; grid-template-columns: 1fr 1.1fr;
      max-width: 1200px; margin: 0 auto; gap: 7rem; align-items: start;
    }
    .about-image-wrap { position: relative; }
    .about-img {
      width: 100%; aspect-ratio: 3/4; object-fit: cover; display: block;
    }
    .about-placeholder {
      width: 100%; aspect-ratio: 3/4;
      background: repeating-linear-gradient(-45deg,#1a1814 0,#1a1814 12px,#1f1d1a 12px,#1f1d1a 24px);
      display: flex; flex-direction: column; align-items: center; justify-content: center;
      color: var(--fg-muted); font-size: 0.72rem; letter-spacing: 0.15em;
      text-transform: uppercase; gap: 0.8rem;
    }
    .about-accent-box {
      position: absolute; bottom: -2rem; right: -2rem;
      width: 80px; height: 80px; border: 1px solid var(--accent); opacity: 0.4;
    }
    .about-text { padding-top: 1rem; }
    .about-text h2 {
      font-family: var(--serif); font-weight: 300;
      font-size: clamp(2rem, 3.5vw, 3rem); margin-bottom: 2rem; line-height: 1.1;
    }
    .about-text p { font-size: 0.95rem; line-height: 1.9; color: rgba(240,236,228,0.75); margin-bottom: 1.4rem; }
    .about-stat-row {
      display: flex; gap: 2.5rem; margin-top: 2.5rem; padding-top: 2.5rem;
      border-top: 1px solid rgba(255,255,255,0.08);
    }
    .stat { display: flex; flex-direction: column; gap: 0.3rem; }
    .stat-num { font-family: var(--serif); font-size: 2.2rem; font-weight: 300; color: var(--accent); }
    .stat-label { font-size: 0.72rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--fg-muted); }

    /* MARKETING */
    #marketing {
      background: var(--bg2); padding: 9rem 3rem;
      text-align: center; position: relative; overflow: hidden;
    }
    #marketing::before {
      content: 'MARKETING';
      position: absolute; font-family: var(--serif);
      font-size: clamp(6rem, 15vw, 14rem); font-weight: 300;
      color: rgba(255,255,255,0.025);
      top: 50%; left: 50%; transform: translate(-50%,-50%);
      white-space: nowrap; pointer-events: none; letter-spacing: 0.05em;
    }
    .marketing-inner { position: relative; z-index: 1; max-width: 700px; margin: 0 auto; }
    .marketing-inner h2 {
      font-family: var(--serif); font-weight: 300;
      font-size: clamp(2rem, 4vw, 3.2rem); margin-bottom: 1.5rem; line-height: 1.15;
    }
    .marketing-inner p { font-size: 0.95rem; line-height: 1.9; color: rgba(240,236,228,0.65); margin-bottom: 2.5rem; }
    .marketing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 3.5rem; text-align: left; }
    .mkt-card {
      background: rgba(255,255,255,0.03);
      border: 1px solid rgba(255,255,255,0.07);
      padding: 2rem 1.5rem; transition: border-color 0.3s;
    }
    .mkt-card:hover { border-color: rgba(201,169,110,0.35); }
    .mkt-card-line { width: 24px; height: 1px; background: var(--accent); margin-bottom: 1.2rem; opacity: 0.6; }
    .mkt-card h4 { font-family: var(--serif); font-weight: 400; font-size: 1.1rem; margin-bottom: 0.6rem; }
    .mkt-card p { font-size: 0.82rem; line-height: 1.7; color: var(--fg-muted); margin: 0; }
    .coming-soon-badge {
      display: inline-block; border: 1px solid var(--accent);
      color: var(--accent); font-size: 0.65rem; letter-spacing: 0.25em;
      text-transform: uppercase; padding: 0.4rem 1.2rem; margin-bottom: 2rem;
    }

    /* BOOK */
    #book {
      padding: 9rem 3rem; text-align: center; position: relative;
    }
    #book::before {
      content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px;
      background: linear-gradient(to right, transparent, var(--accent), transparent); opacity: 0.3;
    }
    #book h2 { font-family: var(--serif); font-weight: 300; font-size: clamp(2.2rem, 5vw, 4rem); margin-bottom: 1rem; }
    #book p { font-size: 0.95rem; color: var(--fg-muted); margin-bottom: 2.5rem; max-width: 480px; margin-left: auto; margin-right: auto; line-height: 1.8; }
    .btn-primary {
      display: inline-block; background: var(--accent); color: #0c0b09;
      text-decoration: none; font-size: 0.75rem; letter-spacing: 0.2em;
      text-transform: uppercase; padding: 1rem 2.8rem;
      font-family: var(--sans); font-weight: 500;
      transition: opacity 0.2s, transform 0.2s; cursor: pointer; border: none;
    }
    .btn-primary:hover { opacity: 0.85; transform: translateY(-1px); }
    .btn-outline {
      display: inline-block; border: 1px solid rgba(240,236,228,0.25);
      color: var(--fg); text-decoration: none; font-size: 0.75rem; letter-spacing: 0.2em;
      text-transform: uppercase; padding: 1rem 2.8rem;
      font-family: var(--sans); font-weight: 400;
      transition: border-color 0.2s, color 0.2s; margin-left: 1rem;
    }
    .btn-outline:hover { border-color: var(--accent); color: var(--accent); }

    /* CONTACT */
    .contact-wrap { background: var(--bg2); }
    #contact { padding: 8rem 3rem; max-width: 700px; margin: 0 auto; }
    #contact h2 { font-family: var(--serif); font-weight: 300; font-size: clamp(2rem, 4vw, 3rem); margin-bottom: 0.6rem; }
    #contact .sub { color: var(--fg-muted); font-size: 0.9rem; margin-bottom: 3rem; line-height: 1.7; }
    .contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
    .contact-form .full { grid-column: 1 / -1; }
    .form-group { display: flex; flex-direction: column; gap: 0.4rem; }
    .form-group label { font-size: 0.68rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--fg-muted); }
    .form-group input, .form-group select, .form-group textarea {
      background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1);
      color: var(--fg); padding: 0.85rem 1rem;
      font-family: var(--sans); font-size: 0.9rem; font-weight: 300;
      outline: none; transition: border-color 0.2s; width: 100%; resize: none;
    }
    .form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: var(--accent); }
    .form-group select option { background: #1a1814; }
    .form-submit { margin-top: 0.8rem; }

    /* FOOTER */
    footer {
      border-top: 1px solid rgba(255,255,255,0.06);
      padding: 3rem; display: flex; justify-content: space-between; align-items: center;
    }
    footer img { height: 32px; filter: invert(1); opacity: 0.5; }
    footer p { font-size: 0.72rem; color: var(--fg-muted); letter-spacing: 0.1em; }
    footer a { color: var(--fg-muted); text-decoration: none; font-size: 0.72rem; letter-spacing: 0.1em; transition: color 0.2s; }
    footer a:hover { color: var(--accent); }

    /* TWEAKS */
    #tweaks-panel {
      display: none; position: fixed; bottom: 2rem; right: 2rem; z-index: 9999;
      background: rgba(19,18,16,0.97); border: 1px solid rgba(255,255,255,0.12);
      padding: 1.5rem; width: 240px; backdrop-filter: blur(12px);
    }
    #tweaks-panel h3 { font-family: var(--serif); font-size: 1rem; font-weight: 400; margin-bottom: 1.2rem; }
    .tweak-row { margin-bottom: 1.2rem; }
    .tweak-row label { display: block; font-size: 0.65rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--fg-muted); margin-bottom: 0.4rem; }
    .tweak-row input[type="text"] {
      width: 100%; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1);
      color: var(--fg); padding: 0.5rem 0.7rem; font-family: var(--sans); font-size: 0.85rem; outline: none;
    }
    .tweak-swatches { display: flex; gap: 0.5rem; flex-wrap: wrap; }
    .swatch {
      width: 26px; height: 26px; border-radius: 50%; cursor: pointer;
      border: 2px solid transparent; transition: border-color 0.2s;
    }
    .swatch.active { border-color: white; }

    /* RESPONSIVE */
    @media (max-width: 900px) {
      nav { padding: 1rem 1.5rem; }
      .nav-links { gap: 1.2rem; }
      .portfolio-category, .portfolio-category.flip { grid-template-columns: 1fr; }
      .portfolio-category.flip .cat-label { order: 0; }
      .portfolio-category.flip .cat-image { order: 0; }
      .cat-image { min-height: 280px; }
      .photo-grid{columns:3}
      #about { grid-template-columns: 1fr; padding: 6rem 1.5rem; gap: 3rem; }
      .marketing-grid { grid-template-columns: 1fr; }
      .contact-form { grid-template-columns: 1fr; }
      footer { flex-direction: column; gap: 1rem; text-align: center; }
      .gallery-inner { padding: 1.5rem; }
    }
    @media (max-width: 600px) {
      .photo-grid{columns:2}
    }
.nav-links a.active{color:var(--fg)}
.page-head{padding:11rem 3rem 4rem;text-align:center}
.page-head h1{font-family:var(--serif);font-weight:300;font-size:clamp(2.6rem,6vw,5rem);line-height:1.05}
.page-head h1 em{color:var(--accent)}
.page-head p.lede{margin:1.4rem auto 0;max-width:520px;color:var(--fg-muted);font-size:.95rem;line-height:1.8}
.cat-anchor{scroll-margin-top:90px}
#featured{padding:8rem 3rem}
.featured-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;max-width:1300px;margin:0 auto 3rem}
.featured-head h2{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,4vw,3.2rem);line-height:1.1}
.link-arrow{color:var(--accent);text-decoration:none;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid var(--accent);padding-bottom:2px}
.link-arrow:hover{opacity:.7}
.featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-width:1300px;margin:0 auto}
.f-tile{position:relative;aspect-ratio:3/4;overflow:hidden;display:block;color:var(--fg);text-decoration:none;background:#1a1814}
.f-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.f-tile:hover img{transform:scale(1.05)}
.f-tile .f-cap{position:absolute;inset:auto 0 0 0;padding:1.4rem;background:linear-gradient(to top,rgba(12,11,9,.92),rgba(12,11,9,0));display:flex;flex-direction:column;gap:.3rem}
.f-cap .n{font-family:var(--serif);font-size:.85rem;color:var(--accent)}
.f-cap .t{font-family:var(--serif);font-style:italic;font-size:1.7rem;font-weight:300}
.f-tile .soon{width:100%;height:100%;background:repeating-linear-gradient(-45deg,#1a1814 0,#1a1814 12px,#1f1d1a 12px,#1f1d1a 24px)}
.about-page #about{padding-top:4rem}
.contact-page .contact-wrap{background:transparent}
.contact-page #contact{padding-top:0}
@media (max-width:900px){.featured-grid{grid-template-columns:minmax(0,1fr)}.page-head{padding:8rem 1.5rem 3rem}#featured{padding:5rem 1.5rem}.nav-logo img{height:34px}}
#main-nav .nav-logo{order:-1}#main-nav .nav-social{display:none}
#main-nav{background:linear-gradient(to bottom,rgba(12,11,9,.85),rgba(12,11,9,.45) 70%,rgba(12,11,9,0))}#main-nav.scrolled{background:rgba(12,11,9,.92)}
.hero-bg{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:1fr}.hero-bg .hc:nth-child(n){grid-row:auto}.hero-bg .hc img{object-position:center 30%}@media (max-width:900px){.hero-bg{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-bg .hc:nth-child(n+4){display:none}}
.hero-bg{display:block}.hero-slide{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;opacity:0;transition:opacity 1.6s ease}.hero-slide.on{opacity:1}.hero-slide .hc img{transform:scale(1.06);transition:transform 7s ease-out}.hero-slide.on .hc img{transform:scale(1)}.hero-dots{position:absolute;z-index:3;bottom:2.6rem;right:3rem;display:flex;gap:10px}.hero-dots button{width:28px;height:2px;border:0;padding:0;background:rgba(240,236,228,.35);cursor:pointer;transition:background .3s}.hero-dots button.on{background:var(--accent)}@media (max-width:900px){.hero-slide{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-dots{right:50%;transform:translateX(50%);bottom:6.5rem}}

/* EDGE THEME */
:root{--serif:'Anton',Impact,sans-serif;--sans:'Archivo',sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace;--bg:#0a0a0a;--bg2:#141414;--fg:#f2f0eb;--fg-muted:#9b9a95;--accent:#ff4a1c}
body{font-family:var(--sans);font-weight:400}
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.08;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero-title,.cat-name,.page-head h1,.featured-head h2,.f-cap .t,.about-text h2,.marketing-inner h2,#book h2,#contact h2,.mkt-card h4{font-family:var(--serif);font-weight:400;font-style:normal;text-transform:uppercase;letter-spacing:-.005em;line-height:.92}
.hero-title em,.cat-name em,.page-head h1 em,.featured-head h2 em,.about-text h2 em,.marketing-inner h2 em,#book h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px var(--fg)}
.hero-title{font-size:clamp(4rem,11vw,10.5rem)}
.page-head h1{font-size:clamp(3.4rem,9vw,8rem)}
.featured-head h2,.about-text h2,.marketing-inner h2{font-size:clamp(2.6rem,5.5vw,4.6rem)}
#book h2{font-size:clamp(3rem,7vw,6rem)}
.cat-name{font-size:clamp(2.6rem,4.5vw,4rem)}
.f-cap .t{font-size:2.6rem}
.mkt-card h4{font-size:1.4rem}
.hero-tagline{font-family:var(--mono);font-style:normal;text-transform:uppercase;font-size:.85rem;letter-spacing:.12em;color:var(--fg)}
.section-label,.hero-eyebrow,.nav-links a,.cat-cta,.link-arrow,.gallery-count,.btn-primary,.btn-outline,.stat-label,.form-group label,footer p,footer a,.hero-scroll span,.coming-soon-badge,#lb-caption,.cat-number,.f-cap .n{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase}
.gallery-meta h4{font-family:var(--mono);font-style:normal;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em}
.cat-number,.f-cap .n{color:var(--accent);font-size:.8rem}
.about-text p,.marketing-inner p,#book p,.cat-desc,.page-head p.lede,#contact .sub{font-family:var(--sans)}
.btn-primary{color:#0a0a0a;font-weight:500}
.btn-outline{border-color:var(--fg)}
.f-tile .f-cap{background:linear-gradient(to top,rgba(10,10,10,.95),rgba(10,10,10,0))}
#marketing::before{font-family:var(--serif);color:rgba(255,255,255,.035)}
.coming-soon-badge{background:var(--accent);color:#0a0a0a;border-color:var(--accent)}

/* MONO GALLERY THEME */
:root{--bg:#1e1e1e;--bg2:#262626;--fg:#e1e1e1;--fg-muted:#8f8f8f;--accent:#e1e1e1}
#hero{background:var(--bg)}
.trail{position:absolute;inset:0;overflow:hidden;z-index:1}
.tr-i{position:absolute;width:clamp(150px,16vw,260px);aspect-ratio:3/4;object-fit:cover;transform:translate(-50%,-50%) rotate(var(--r)) scale(.85);opacity:0;animation:trIn .35s ease forwards;transition:opacity .8s ease,transform .8s ease;pointer-events:none}
.tr-i.out{opacity:0!important;transform:translate(-50%,-50%) rotate(var(--r)) scale(.6)}
@keyframes trIn{to{opacity:1;transform:translate(-50%,-50%) rotate(var(--r)) scale(1)}}
#hero .hero-overlay{background:none;pointer-events:none}
#hero .hero-content{z-index:2;pointer-events:none;mix-blend-mode:difference}
#hero .hero-title,#hero .hero-eyebrow,#hero .hero-tagline{color:#fff}
#hero .hero-title em{-webkit-text-stroke-color:#fff}
.hero-scroll{z-index:2}
.work-list{max-width:1300px;margin:0 auto;border-top:1px solid #3a3a3a}
.wl-row{display:grid;grid-template-columns:4rem minmax(0,1fr) auto 3rem;align-items:center;gap:1.5rem;padding:1.6rem .5rem;border-bottom:1px solid #3a3a3a;color:var(--fg);text-decoration:none;transition:padding .35s ease,background .35s ease}
.wl-row:hover{padding-left:1.5rem;background:var(--fg);color:var(--bg);opacity:1}
.wl-n,.wl-c,.wl-a{font-family:var(--mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.wl-t{font-family:var(--serif);text-transform:uppercase;font-size:clamp(3rem,8vw,7rem);line-height:.9}
.wl-a{font-size:1.4rem;text-align:right}
.wl-m{display:none}
.wl-float{position:fixed;z-index:50;width:280px;aspect-ratio:3/4;object-fit:cover;pointer-events:none;transform:translate(-50%,-50%) scale(.6) rotate(-4deg);opacity:0;transition:opacity .3s ease,transform .3s ease}
.wl-float.on{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-4deg)}
.btn-primary{background:var(--fg);color:var(--bg)}
.coming-soon-badge{background:var(--fg);color:var(--bg);border-color:var(--fg)}
@media (max-width:900px){.wl-row{grid-template-columns:2.5rem minmax(0,1fr) 2rem;gap:1rem}.wl-c{display:none}.wl-m{display:block;grid-column:1/-1;width:100%;aspect-ratio:4/3;object-fit:cover}.wl-float{display:none}}
@media (hover:none){.wl-float{display:none}}
.flow{position:absolute;inset:0;z-index:0;overflow:hidden;filter:blur(60px);opacity:.7;pointer-events:none}
.flow i{position:absolute;border-radius:50%;mix-blend-mode:screen;will-change:transform}
.flow i:nth-child(1){width:38vw;height:38vw;left:8%;top:5%;background:radial-gradient(circle,oklch(0.55 0.25 300) 0%,transparent 68%);animation:fl1 18s ease-in-out infinite}
.flow i:nth-child(2){width:32vw;height:32vw;right:6%;top:18%;background:radial-gradient(circle,oklch(0.78 0.15 200) 0%,transparent 68%);animation:fl2 22s ease-in-out infinite}
.flow i:nth-child(3){width:36vw;height:36vw;left:35%;bottom:0;background:radial-gradient(circle,oklch(0.55 0.25 262) 0%,transparent 68%);animation:fl3 26s ease-in-out infinite}
@keyframes fl1{0%,100%{transform:translate(0,0) scale(1)}25%{transform:translate(28vw,18vh) scale(1.15)}50%{transform:translate(45vw,-4vh) scale(.9)}75%{transform:translate(12vw,30vh) scale(1.1)}}
@keyframes fl2{0%,100%{transform:translate(0,0) scale(1)}25%{transform:translate(-30vw,22vh) scale(.9)}50%{transform:translate(-50vw,0) scale(1.2)}75%{transform:translate(-18vw,-14vh) scale(1)}}
@keyframes fl3{0%,100%{transform:translate(0,0) scale(1)}25%{transform:translate(-25vw,-30vh) scale(1.1)}50%{transform:translate(20vw,-45vh) scale(.95)}75%{transform:translate(30vw,-10vh) scale(1.15)}}
.flow i:nth-child(4){width:24vw;height:24vw;left:55%;top:-5%;background:radial-gradient(circle,oklch(0.7 0.2 320) 0%,transparent 68%);animation:fl2 20s ease-in-out infinite reverse}
.flow i:nth-child(5){width:22vw;height:22vw;left:-4%;bottom:5%;background:radial-gradient(circle,oklch(0.8 0.14 215) 0%,transparent 68%);animation:fl1 24s ease-in-out infinite reverse}
.flow i:nth-child(6){width:28vw;height:28vw;right:20%;bottom:-8%;background:radial-gradient(circle,oklch(0.5 0.24 275) 0%,transparent 68%);animation:fl3 28s ease-in-out infinite reverse}
@media (prefers-reduced-motion:reduce){.flow i{animation:none}}
.wl-row{grid-template-columns:4rem minmax(0,1fr) 3rem;grid-template-rows:auto 0fr;transition:grid-template-rows .5s ease,padding .35s ease,background .35s ease}
.wl-row:hover{grid-template-rows:auto 1fr}
.wl-strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;overflow:hidden;min-height:0}
.wl-strip img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;margin-top:1.4rem;transform:translateY(20px);opacity:0;transition:transform .5s ease,opacity .5s ease}
.wl-row:hover .wl-strip img{transform:none;opacity:1}
.wl-row:hover .wl-strip img:nth-child(2){transition-delay:.04s}.wl-row:hover .wl-strip img:nth-child(3){transition-delay:.08s}.wl-row:hover .wl-strip img:nth-child(4){transition-delay:.12s}.wl-row:hover .wl-strip img:nth-child(5){transition-delay:.16s}.wl-row:hover .wl-strip img:nth-child(6){transition-delay:.2s}
.wl-float,.wl-c,.wl-m{display:none!important}
@media (max-width:900px){.wl-row{grid-template-columns:2.5rem minmax(0,1fr) 2rem;grid-template-rows:auto 1fr}.wl-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.wl-strip img{opacity:1;transform:none}.wl-strip img:nth-child(n+4){display:none}}
@media (hover:none){.wl-row{grid-template-rows:auto 1fr}.wl-strip img{opacity:1;transform:none}}
.wl-strip{align-self:stretch;pointer-events:none}.wl-row:hover .wl-strip{pointer-events:auto}
@media (max-width:900px){.wl-strip{pointer-events:auto}}@media (hover:none){.wl-strip{pointer-events:auto}}
.wl-strip{grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px}.wl-strip img{aspect-ratio:4/5}
.page-head p.lede{max-width:none}@media (min-width:900px){.page-head p.lede{white-space:nowrap}}
.contact-page .page-head h1{font-size:clamp(2.4rem,5.5vw,4.8rem)}
.wl-row.wl-above{grid-template-rows:0fr auto}.wl-row.wl-above:hover{grid-template-rows:1fr auto}.wl-above .wl-strip{grid-row:1;grid-template-columns:minmax(0,320px)}.wl-above>span:not(.wl-strip){grid-row:2}.wl-above .wl-strip img{margin:0 0 1.4rem;transform:translateY(-20px)}
@media (max-width:900px){.wl-row.wl-above{grid-template-rows:1fr auto}.wl-above .wl-strip{grid-template-columns:minmax(0,1fr)}.wl-above .wl-strip img{transform:none}}@media (hover:none){.wl-row.wl-above{grid-template-rows:1fr auto}.wl-above .wl-strip img{transform:none}}
.wl-above .wl-strip{grid-column:2;justify-content:start}@media (max-width:900px){.wl-above .wl-strip{grid-column:2}}
.portfolio-category{min-height:0;height:min(62vh,620px)}.cat-image img{height:100%}@media (max-width:900px){.portfolio-category{height:auto}.cat-image{aspect-ratio:3/2;min-height:0}}
#logos{padding:8rem 3rem;max-width:1300px;margin:0 auto}
.lg-head{margin-bottom:3rem}.lg-head h2{font-family:var(--serif);text-transform:uppercase;font-size:clamp(2.6rem,5.5vw,4.6rem);line-height:.92;font-weight:400}.lg-head h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px var(--fg)}
.lg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1px;background:#3a3a3a;border:1px solid #3a3a3a}
.lg-card{margin:0;background:var(--bg);display:flex;flex-direction:column}
.lg-mark{aspect-ratio:5/4;display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--fg);transition:background .3s}
.lg-card:hover .lg-mark{background:var(--bg2)}
.lg-mark svg{width:100%;max-width:260px;height:auto;overflow:visible}
.lg-mono{font-family:var(--mono);font-size:9px;letter-spacing:.18em;fill:currentColor}
.lg-anton{font-family:var(--serif);font-size:96px;fill:currentColor}.lg-out{fill:none;stroke:currentColor;stroke-width:2}
.lg-card figcaption{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:.3rem 1rem;padding:1.4rem 1.5rem;border-top:1px solid #3a3a3a}
.lg-n{font-family:var(--mono);font-size:.75rem;color:var(--fg-muted);grid-row:span 2}
.lg-t{font-family:var(--mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.lg-d{font-size:.85rem;line-height:1.6;color:var(--fg-muted);text-wrap:pretty}
.page-head .section-label{margin-bottom:1.6rem}
.about-page #about{padding-top:12rem}@media (max-width:900px){.about-page #about{padding-top:8rem}}
.nav-logo img{filter:none;opacity:1;height:46px;width:auto}
.nav-logo .nav-kgm{height:72px;width:auto;display:block}@media (max-width:900px){.nav-logo .nav-kgm{height:56px}}
.nav-logo .nav-kgm{height:60px}@media (max-width:900px){.nav-logo .nav-kgm{height:48px}}footer .ft-kgm{height:60px;width:auto;display:block}

/* PURPLE ACCENTS */
:root{--purple:oklch(0.68 0.22 300)}
::selection{background:var(--purple);color:#0a0a0a}
a:hover{color:var(--purple)}
.section-label,.cat-number,.f-cap .n,.wl-n{color:var(--purple)}
.nav-links a:hover,.nav-links a.active,.nav-links a[aria-current="page"]{color:var(--purple)}
.cat-cta{color:var(--purple);border-bottom-color:var(--purple)}
.wl-row:hover .wl-a{color:var(--purple)}
.wl-row:hover .wl-t{color:var(--bg)}
.btn-outline:hover{border-color:var(--purple);color:var(--purple)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--purple)}
#lb-prev:hover,#lb-next:hover{border-color:var(--purple);color:var(--purple)}
.scroll-line{background:linear-gradient(to bottom,var(--purple),transparent)}
footer a:hover{color:var(--purple)}
#book h2{margin-bottom:2.5rem}
#book .section-label{color:var(--purple)!important}
.nav-dd{position:relative;display:flex;align-items:center;gap:.35rem}
.dd-toggle{background:none;border:0;color:var(--fg-muted);cursor:pointer;padding:.35rem;display:flex;transition:color .2s,transform .25s}
.dd-toggle:hover,.nav-dd.open .dd-toggle{color:var(--purple)}
.nav-dd.open .dd-toggle{transform:rotate(180deg)}
.dd-menu{position:absolute;top:100%;left:-1rem;margin-top:.9rem;list-style:none;min-width:180px;padding:.5rem 0;background:rgba(14,14,14,.96);backdrop-filter:blur(12px);border:1px solid #333;border-top:2px solid var(--purple);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility .2s;z-index:120}
.dd-menu::before{content:'';position:absolute;left:0;right:0;top:-1.1rem;height:1.1rem}
.nav-dd.open .dd-menu{opacity:1;visibility:visible;transform:none}
@media (hover:hover){.nav-dd:hover .dd-menu{opacity:1;visibility:visible;transform:none}.nav-dd:hover .dd-toggle{color:var(--purple);transform:rotate(180deg)}}
.dd-menu a{display:block;padding:.7rem 1.1rem;color:var(--fg)!important;white-space:nowrap}
.dd-menu a:hover{color:var(--purple)!important;background:rgba(255,255,255,.04)}
.page-head{position:relative;overflow:hidden;isolation:isolate}.page-head>.flow{z-index:-1}.page-head>*:not(.flow){position:relative;z-index:1}
