/* AKC — Shared Stylesheet · autokulture.co */
/* Generated by AKC Editorial Studio */

/* ── TOKENS ── */
:root{
  --black:#080808;--deep:#0f0f0f;--surface:#141414;
  --border:rgba(255,255,255,.07);
  --gold:#c9a84c;--gd:#c9a84c1a;
  --white:#f0ede8;--muted:rgba(240,237,232,.4);--faint:rgba(240,237,232,.12);
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--black);color:var(--white);font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;overflow-x:hidden;}
@media(pointer:fine){body{cursor:none;}}

/* ── GRAIN ── */
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");opacity:0.35;pointer-events:none;z-index:1000;}

/* ── CURSOR ── */
.cur{position:fixed;width:8px;height:8px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);display:none;}
.cur-r{position:fixed;width:36px;height:36px;border:1px solid #c9a84c55;border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);display:none;}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:900;display:flex;align-items:center;justify-content:space-between;padding:28px 48px;border-bottom:1px solid transparent;transition:all .4s;}
nav.sc{border-color:var(--border);background:rgba(8,8,8,.92);backdrop-filter:blur(12px);}
nav.solid{background:rgba(8,8,8,.92);backdrop-filter:blur(12px);border-color:var(--border);}
.nl{font-family:'DM Mono',monospace;font-weight:300;font-size:13px;letter-spacing:.25em;color:var(--white);text-transform:uppercase;text-decoration:none;}
.nls{display:flex;gap:40px;list-style:none;}
.nls a{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .3s;}
.nls a:hover,.nls a.active{color:var(--white);}
.bk{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.2em;color:var(--muted);text-decoration:none;text-transform:uppercase;transition:color .2s;display:flex;align-items:center;gap:8px;}
.bk:hover{color:var(--gold);}

/* ── HAMBURGER ── */
.nav-menu{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;}
.nav-menu span{width:22px;height:1px;background:var(--muted);display:block;transition:all .3s;}
.nav-menu.open span:nth-child(1){transform:translateY(6px) rotate(45deg);background:var(--white);}
.nav-menu.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.nav-menu.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);background:var(--white);}
.mob-nav{display:none;position:fixed;inset:0;background:rgba(8,8,8,.97);z-index:800;flex-direction:column;align-items:center;justify-content:center;gap:32px;}
.mob-nav.open{display:flex;}
.mob-nav a{font-family:'DM Mono',monospace;font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s;}
.mob-nav a:hover{color:var(--gold);}

/* ── HOMEPAGE HERO ── */
.hero{position:relative;height:100vh;min-height:600px;display:flex;flex-direction:column;justify-content:flex-end;padding:0 48px 72px;overflow:hidden;}
.hbg{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 40%,#c9a84c0a,transparent 60%),radial-gradient(ellipse at 20% 80%,#c9a84c08,transparent 50%),linear-gradient(180deg,#080808,#0a0a0a);}
.hln{position:absolute;top:50%;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);}
.hbt{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Cormorant Garamond',serif;font-size:clamp(80px,20vw,260px);font-weight:300;letter-spacing:.15em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,0.04);white-space:nowrap;user-select:none;pointer-events:none;}
.hey{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;opacity:0;animation:sup 1s .4s forwards;}
.ht{font-size:clamp(38px,8vw,110px);font-weight:300;line-height:.95;letter-spacing:-.01em;max-width:900px;opacity:0;animation:sup 1s .6s forwards;}
.ht em{font-style:italic;color:var(--gold);}
.hs{margin-top:24px;font-size:clamp(14px,2vw,17px);font-weight:300;color:var(--muted);max-width:480px;line-height:1.6;opacity:0;animation:sup 1s .8s forwards;}
.hm{position:absolute;right:48px;bottom:72px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;opacity:0;animation:fin 1.2s 1.2s forwards;}
.hm span{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;}
.gl{width:40px;height:1px;background:var(--gold);}

/* ── TICKER ── */
.mq{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:14px 0;overflow:hidden;background:var(--deep);}
.mqt{display:flex;animation:mq 30s linear infinite;white-space:nowrap;}
.mqi{display:flex;align-items:center;gap:32px;padding:0 32px;}
.mqi span{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);}
.dot{width:4px;height:4px;background:var(--gold);border-radius:50%;flex-shrink:0;}

/* ── SECTIONS ── */
section{padding:80px 48px;}
.sl{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:36px;display:flex;align-items:center;gap:14px;}
.sl::after{content:'';flex:1;height:1px;background:var(--border);}

/* ── JOURNAL GRID ── */
.eg{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;}
.card{position:relative;aspect-ratio:3/4;background:var(--surface);overflow:hidden;cursor:pointer;display:block;text-decoration:none;}
.card:hover .cimg-wrap{position:absolute;inset:0;overflow:hidden;}
.cimg-blur{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(12px);transform:scale(1.05);transition:opacity .5s ease;}
.cimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;}
.cph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--surface),var(--deep));}
.cph span{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(36px,8vw,72px);font-weight:300;color:var(--faint);}
.co{position:absolute;bottom:0;left:0;right:0;padding:20px;background:linear-gradient(0deg,rgba(8,8,8,.95) 0%,transparent 100%);z-index:2;}
.ct{font-family:'DM Mono',monospace;font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:6px;}
.ch{font-size:clamp(13px,2.5vw,18px);font-weight:300;line-height:1.25;color:var(--white);margin-bottom:8px;}
.cm{font-family:'DM Mono',monospace;font-size:8px;color:var(--muted);letter-spacing:.12em;}

/* ── ABOUT SECTION ── */
.about{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.al .sl{margin-bottom:24px;}
.al h2{font-size:clamp(26px,3.5vw,52px);font-weight:300;line-height:1.1;}
.al h2 em{font-style:italic;color:var(--gold);}
.ar{padding-top:48px;}
.ar p{font-size:clamp(15px,1.8vw,17px);font-weight:300;line-height:1.7;color:var(--muted);margin-bottom:24px;}
.gbtn{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--white);text-decoration:none;display:inline-flex;align-items:center;gap:8px;padding-bottom:2px;border-bottom:1px solid var(--gold);}

/* ── EVENTS ── */
.ei{display:flex;align-items:center;gap:24px;padding:20px 0;border-bottom:1px solid var(--border);text-decoration:none;color:inherit;}
.ei:first-child{border-top:1px solid var(--border);}
.ei:hover .en{color:var(--gold);}
.ed{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.13em;color:var(--muted);text-transform:uppercase;min-width:70px;flex-shrink:0;}
.en{font-size:clamp(15px,2vw,20px);font-weight:300;flex:1;transition:color .2s;}
.etg{font-family:'DM Mono',monospace;font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);border:1px solid var(--border);padding:5px 10px;flex-shrink:0;}

/* ── HOMEPAGE FOOTER ── */
footer{background:var(--black);border-top:1px solid var(--border);padding:48px;display:flex;align-items:flex-end;justify-content:space-between;}
.fl2{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,6vw,48px);font-weight:300;font-style:italic;color:var(--white);opacity:.15;line-height:1;}
.fr{text-align:right;display:flex;flex-direction:column;gap:10px;}
.fr a{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s;}
.fr a:hover{color:var(--white);}
.fc{font-family:'DM Mono',monospace;font-size:8px;letter-spacing:.13em;color:var(--faint);text-transform:uppercase;margin-top:6px;}

/* ── REVEAL ── */
.rev{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.25,.46,.45,.94),transform .7s cubic-bezier(.25,.46,.45,.94);}
.rev.vis{opacity:1;transform:translateY(0);}
.rev.vis.d1{transition-delay:.07s;}
.rev.vis.d2{transition-delay:.14s;}
.rev.vis.d3{transition-delay:.21s;}
.rev.vis.d4{transition-delay:.28s;}
.rev.vis.d5{transition-delay:.35s;}
/* body paragraphs — tighter stagger, no layout shift */
.text .rev{display:block;}

/* ── ARTICLE PAGE ── */
.hero-img{width:100%;height:70vh;min-height:380px;overflow:hidden;position:relative;}
.hero-blur,.hero-main{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.hero-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--surface),#060606);font-family:'Cormorant Garamond',serif;font-size:clamp(52px,14vw,100px);font-style:italic;color:var(--faint);}
.hero-ov{position:absolute;bottom:0;left:0;right:0;height:55%;background:linear-gradient(0,var(--black),transparent);}
.body{max-width:740px;margin:0 auto;padding:64px 36px 80px;}
.ey{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
h1{font-size:clamp(28px,5vw,64px);font-weight:300;line-height:1.05;letter-spacing:-.01em;margin-bottom:13px;}
.sub{font-size:clamp(16px,2.2vw,21px);font-weight:300;font-style:italic;color:var(--muted);margin-bottom:24px;line-height:1.5;}
.rule{width:36px;height:1px;background:var(--gold);margin-bottom:24px;}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding-bottom:18px;border-bottom:1px solid var(--border);margin-bottom:40px;}
.mi{font-family:'DM Mono',monospace;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
.md{width:3px;height:3px;background:var(--gold);border-radius:50%;flex-shrink:0;}
.cap{font-family:'DM Mono',monospace;font-size:8px;letter-spacing:.13em;color:rgba(240,237,232,.28);text-align:center;margin-top:-28px;margin-bottom:36px;}
.text{font-size:clamp(16px,2vw,19px);line-height:1.85;color:rgba(240,237,232,.73);}
.text p{margin-bottom:26px;}
.pull{display:block;font-size:clamp(18px,2.8vw,34px);font-style:italic;color:var(--white);line-height:1.2;padding:24px 0;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);margin:32px 0;text-align:center;}
.text hr{border:none;border-top:1px solid var(--border);margin:32px 0;}
.text strong{color:var(--white);font-weight:400;}
.text figure{margin:32px 0;}
.text figure img{width:100%;display:block;}
.text figure figcaption{font-family:'DM Mono',monospace;font-size:8px;letter-spacing:.13em;color:rgba(240,237,232,.28);margin-top:8px;text-align:center;}

/* ── ARTICLE NAV ── */
.art-nav{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:72px;border-top:1px solid var(--border);padding-top:40px;}
.an-item{padding:20px;border:1px solid var(--border);text-decoration:none;transition:border-color .2s;display:block;}
.an-item:hover{border-color:var(--gold);}
.an-dir{font-family:'DM Mono',monospace;font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.an-title{font-size:clamp(13px,1.8vw,16px);font-weight:300;color:var(--white);line-height:1.3;}
.an-right{text-align:right;}
.an-empty{border-color:transparent;pointer-events:none;}

/* ── ARTICLE FOOTER ── */
.art-footer{border-top:1px solid var(--border);padding:40px 48px;display:flex;justify-content:space-between;align-items:center;}
.flogo{font-family:'Cormorant Garamond',serif;font-size:clamp(24px,5vw,36px);font-style:italic;color:var(--white);opacity:.14;text-decoration:none;}
.fcopy{font-family:'DM Mono',monospace;font-size:8px;letter-spacing:.14em;color:var(--faint);text-transform:uppercase;}

/* ── GALLERY ── */
.gallery{margin-top:80px;border-top:1px solid var(--border);padding-top:52px;}
.gallery-label{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:28px;display:flex;align-items:center;gap:14px;}
.gallery-label::after{content:'';flex:1;height:1px;background:var(--border);}
.gallery-grid{display:grid;gap:3px;}
.gallery-grid.g1{grid-template-columns:1fr;}
.gallery-grid.g2{grid-template-columns:1fr 1fr;}
.gallery-grid.g3{grid-template-columns:1fr 1fr 1fr;}
.gallery-grid.g4plus{grid-template-columns:1fr 1fr;}
.gallery-grid.g4plus figure:first-child{grid-column:1/-1;}
.gallery-grid figure{margin:0;}
.gallery-grid img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;}
.gallery-grid.g1 img{aspect-ratio:16/9;}
.gallery-grid.g4plus figure:first-child img{aspect-ratio:16/9;}
.gallery-grid figcaption{font-family:'DM Mono',monospace;font-size:7px;letter-spacing:.12em;color:rgba(240,237,232,.3);margin-top:5px;padding:0 2px;}

/* ── ABOUT PAGE ── */
.page-hero{padding:160px 48px 80px;border-bottom:1px solid var(--border);}
.page-eyebrow{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;}
.page-h1{font-size:clamp(36px,6vw,80px);font-weight:300;line-height:1;letter-spacing:-.01em;max-width:800px;}
.page-body{max-width:680px;margin:0 auto;padding:72px 48px 100px;}
.page-body p{font-size:clamp(16px,1.8vw,20px);line-height:1.85;color:rgba(240,237,232,.72);margin-bottom:28px;}
.page-body p:last-child{color:var(--muted);font-size:clamp(13px,1.4vw,15px);font-family:'DM Mono',monospace;font-weight:300;line-height:1.7;margin-top:52px;padding-top:32px;border-top:1px solid var(--border);}

/* ── ANIMATIONS ── */
@keyframes fin{from{opacity:0}to{opacity:1}}
@keyframes sup{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── RESPONSIVE ── */
@media(max-width:768px){
  nav{padding:20px 24px;}
  .nls{display:none;}
  .nav-menu{display:flex;}
  .hero{padding:0 24px 52px;min-height:100svh;}
  .hey{font-size:9px;letter-spacing:.2em;margin-bottom:16px;}
  .ht{font-size:clamp(36px,10vw,56px);line-height:1;}
  .hs{font-size:14px;margin-top:18px;max-width:100%;}
  .hm{display:none!important;}
  section{padding:56px 24px;}
  .eg{grid-template-columns:repeat(2,1fr);}
  .co{padding:14px;}
  .ch{font-size:13px;}
  .about{grid-template-columns:1fr;gap:32px;}
  .ar{padding-top:0;}
  .ei{flex-wrap:wrap;gap:8px;padding:16px 0;}
  .ed{min-width:unset;width:100%;margin-bottom:2px;}
  .en{font-size:15px;width:100%;flex:unset;}
  .etg{margin-left:auto;}
  footer{padding:36px 24px;flex-direction:column;align-items:flex-start;gap:24px;}
  .fr{text-align:left;}
  .hero-img{height:55vmax;min-height:280px;}
  .body{padding:44px 22px 64px;}
  .art-nav{grid-template-columns:1fr;}
  .an-right{text-align:left;}
  .art-footer{padding:32px 22px;flex-direction:column;align-items:flex-start;gap:16px;}
  .page-hero{padding:120px 24px 56px;}
  .page-body{padding:48px 24px 72px;}
  .gallery-grid.g3{grid-template-columns:1fr 1fr;}
  .gallery-grid.g4plus{grid-template-columns:1fr;}
  .gallery-grid.g4plus figure:first-child{grid-column:auto;}
}
@media(max-width:480px){
  .ht{font-size:clamp(32px,11vw,46px);}
  .eg{grid-template-columns:1fr 1fr;}
  .ch{font-size:12px;line-height:1.2;}
  .hbt{display:none;}
  .body{padding:36px 18px 56px;}
  .text{font-size:16px;line-height:1.8;}
  .pull{font-size:18px;padding:18px 0;}
}