:root{
    --paper:#f7f3ed; --stone:#d8d0c5; --charcoal:#181818;
    --muted:#777; --bronze:#9b6b43; --sand:#c9aa86; --white:#fff;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;background:var(--paper);color:var(--charcoal);overflow-x:hidden;}
a{text-decoration:none;color:inherit;}
img{width:100%;display:block;object-fit:cover;}

.header{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:28px 48px;display:flex;justify-content:space-between;align-items:center;color:#fff;mix-blend-mode:difference;}
.logo{font-size:15px;letter-spacing:3px;text-transform:uppercase;}
.nav{display:flex;gap:34px;font-size:12px;letter-spacing:2px;text-transform:uppercase;}

.hero{height:100vh;position:relative;overflow:hidden;background:#000;}
.hero .hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72;transform:scale(1.08);animation:slowZoom 14s ease forwards;}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.35),rgba(0,0,0,.15),rgba(0,0,0,.7));}
.hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:0 8vw 12vh;color:#fff;}
.kicker{font-size:12px;letter-spacing:4px;text-transform:uppercase;margin-bottom:24px;color:#d8c5af;}
.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(4rem,10vw,11rem);font-weight:400;line-height:.85;max-width:980px;}
.scroll-mark{position:absolute;right:60px;bottom:55px;z-index:3;color:#fff;font-size:11px;letter-spacing:3px;writing-mode:vertical-rl;text-transform:uppercase;}

.section{min-height:100vh;padding:130px 8vw;position:relative;}
.dark{background:var(--charcoal);color:#fff;}
.dark .para{color:#bbb;}
.big-text{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,7vw,8rem);line-height:.95;font-weight:400;}
.para{font-size:16px;line-height:1.9;color:#555;max-width:520px;}
.scene-title{font-size:12px;letter-spacing:4px;text-transform:uppercase;color:var(--bronze);margin-bottom:28px;}

.process{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(0,0,0,.15);}
.step{padding:38px 24px;min-height:360px;border-right:1px solid rgba(0,0,0,.15);display:flex;flex-direction:column;justify-content:space-between;}
.step span{color:var(--bronze);font-size:13px;}
.step h3{font-family:'Cormorant Garamond',serif;font-size:42px;font-weight:400;}
.step p{color:#666;line-height:1.7;font-size:14px;}

.projects{padding:0;}
.project-panel{height:100vh;position:sticky;top:0;overflow:hidden;}
.project-panel img{height:100%;filter:brightness(.65);}
.project-info{position:absolute;left:8vw;bottom:12vh;color:#fff;z-index:2;}
.project-info h2{font-family:'Cormorant Garamond',serif;font-size:clamp(4rem,8vw,9rem);font-weight:400;line-height:.9;}
.project-info p{margin-top:22px;max-width:420px;line-height:1.8;color:#ddd;}
.project-info a{display:inline-block;margin-top:32px;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#d8c5af;}

.materials{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center;}
.material-list{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,6vw,7rem);line-height:1.05;}
.material-list div{border-bottom:1px solid rgba(255,255,255,.18);padding:18px 0;cursor:pointer;transition:.4s;}
.material-list div:hover{color:var(--bronze);transform:translateX(18px);}
.material-img{height:620px;overflow:hidden;}
.material-img img{height:100%;}

.turnkey{background:#e8e0d6;}
.turnkey-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.turnkey-list{counter-reset:item;}
.turnkey-list div{padding:28px 0;border-bottom:1px solid rgba(0,0,0,.15);font-family:'Cormorant Garamond',serif;font-size:42px;position:relative;}
.turnkey-list div::before{counter-increment:item;content:"0" counter(item);font-family:'Inter',sans-serif;font-size:12px;letter-spacing:3px;color:var(--bronze);margin-right:25px;}

.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.journal-card{background:#fff;}
.journal-card img{height:340px;}
.journal-card .content{padding:28px;}
.journal-card h3{font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:400;margin-bottom:16px;}
.journal-card p{color:#666;line-height:1.7;}

.contact{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;}
.contact-left{padding:130px 8vw;background:var(--charcoal);color:#fff;}
.contact-left h2{font-family:'Cormorant Garamond',serif;font-size:clamp(4rem,8vw,9rem);line-height:.9;font-weight:400;}
.contact-form{padding:130px 8vw;background:var(--paper);}
input,textarea{width:100%;border:0;border-bottom:1px solid #aaa;background:transparent;padding:22px 0;margin-bottom:18px;font-family:'Inter',sans-serif;font-size:15px;outline:none;}
textarea{height:130px;}
.btn{margin-top:30px;border:1px solid var(--charcoal);background:transparent;padding:18px 38px;letter-spacing:3px;text-transform:uppercase;cursor:pointer;transition:.35s;display:inline-block;}
.btn:hover{background:var(--charcoal);color:#fff;}
.form-note{padding:16px 0;font-size:14px;letter-spacing:1px;}
.form-note.ok{color:#2e6f3e;}
.form-note.err{color:#a23b3b;}

.footer{padding:50px 8vw;background:#111;color:#888;display:flex;justify-content:space-between;font-size:12px;letter-spacing:2px;text-transform:uppercase;}

.reveal{opacity:0;transform:translateY(60px);transition:1.1s ease;}
.reveal.show{opacity:1;transform:translateY(0);}
@keyframes slowZoom{to{transform:scale(1);}}

/* ===== STUDIO TRANSFORMATION REVEAL ===== */
.studio-reveal{height:340vh;position:relative;background:#0c0b0a;}
.sr-stage{position:sticky;top:0;height:100vh;overflow:hidden;}
.sr-layer{position:absolute;inset:0;}
.sr-layer img{height:100%;}
.sr-before img{filter:grayscale(.55) brightness(.5) contrast(1.05);}
.sr-before{background:linear-gradient(135deg,#3a3a3a,#1c1c1c);}
.sr-after{clip-path:inset(0 100% 0 0);will-change:clip-path;}
.sr-after img{filter:brightness(.74) contrast(1.06) saturate(1.05);will-change:transform;}
.sr-after{background:linear-gradient(135deg,#6e4a2f,#2a201a);}
.sr-edge{position:absolute;top:0;bottom:0;left:0;width:2px;background:linear-gradient(to bottom,transparent,var(--sand),transparent);box-shadow:0 0 26px 4px rgba(201,170,134,.45);opacity:0;z-index:4;pointer-events:none;}
.sr-vignette{position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(circle at 50% 42%,transparent 30%,rgba(0,0,0,.55) 100%),linear-gradient(to bottom,rgba(0,0,0,.45),transparent 30%,rgba(0,0,0,.7));}
.sr-ui{position:absolute;inset:0;z-index:5;color:#fff;pointer-events:none;}
.sr-kicker{position:absolute;top:9vh;left:8vw;font-size:12px;letter-spacing:4px;text-transform:uppercase;color:var(--sand);}
.sr-tag{position:absolute;top:9vh;right:8vw;font-size:11px;letter-spacing:3px;text-transform:uppercase;border:1px solid rgba(255,255,255,.35);padding:8px 16px;border-radius:40px;transition:.5s ease;}
.sr-tag b{color:var(--sand);font-weight:500;}
.sr-captions{position:absolute;left:8vw;right:8vw;bottom:16vh;}
.sr-cap{position:absolute;left:0;bottom:0;font-family:'Cormorant Garamond',serif;font-size:clamp(2.6rem,6.5vw,7rem);line-height:.92;font-weight:400;letter-spacing:-2px;max-width:14ch;opacity:0;transform:translateY(28px);transition:.7s ease;}
.sr-cap.on{opacity:1;transform:translateY(0);}
.sr-cap small{display:block;font-family:'Inter',sans-serif;font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--sand);margin-bottom:18px;font-weight:400;}
.sr-rail{position:absolute;left:8vw;right:8vw;bottom:8vh;height:1px;background:rgba(255,255,255,.18);}
.sr-rail span{display:block;height:100%;width:0;background:var(--sand);transition:width .12s linear;}
.sr-pct{position:absolute;right:8vw;bottom:9.5vh;font-size:11px;letter-spacing:2px;color:#cfc7bb;}

@media(max-width:900px){
    .header{padding:24px;}
    .nav{display:none;}
    .materials,.turnkey-grid,.contact{grid-template-columns:1fr;}
    .process,.journal-grid{grid-template-columns:1fr;}
    .step{border-right:0;border-bottom:1px solid rgba(0,0,0,.15);}
    .section{padding:90px 24px;}
    .hero-content{padding:0 24px 12vh;}
    .scroll-mark{right:24px;}
    .project-info{left:24px;bottom:12vh;}
    .contact-left,.contact-form{padding:90px 24px;}
    .studio-reveal{height:300vh;}
    .sr-kicker{left:24px;}
    .sr-tag{top:auto;bottom:24vh;right:24px;}
    .sr-captions{left:24px;right:24px;bottom:14vh;}
    .sr-cap{letter-spacing:-1px;}
    .sr-rail{left:24px;right:24px;}
    .sr-pct{right:24px;}
}
@media(prefers-reduced-motion:reduce){.sr-cap{transition:none;}}


/* ===================== INNER PAGES (editorial) ===================== */
.header .logo a{color:inherit;}
.header.solid{mix-blend-mode:normal;color:var(--charcoal);background:rgba(247,243,237,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--stone);}
.header.solid .nav a{position:relative;}
.header.solid .nav a:hover{color:var(--bronze);}

/* shared editorial hero for listing/standalone pages */
.lede{padding:200px 8vw 90px;position:relative;}
.lede .eyebrow{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--bronze);margin-bottom:30px;display:flex;align-items:center;gap:16px;}
.lede .eyebrow::after{content:"";height:1px;width:70px;background:var(--bronze);opacity:.5;}
.lede h1{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(3.4rem,9vw,9rem);line-height:.86;letter-spacing:-3px;}
.lede h1 em{font-style:italic;color:var(--bronze);}
.lede .lead{margin-top:34px;max-width:600px;color:#5a544c;line-height:1.95;font-size:18px;}
.lede .count{position:absolute;right:8vw;bottom:90px;font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,6vw,6rem);color:var(--stone);line-height:1;}
.crumbs{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#a39c90;}
.crumbs a:hover{color:var(--bronze);}

/* ---- WORKS: alternating editorial index ---- */
.work-index{padding:30px 0 60px;}
.work-row{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:6vw;padding:7vh 8vw;border-top:1px solid var(--stone);}
.work-row:last-child{border-bottom:1px solid var(--stone);}
.work-row .shot{overflow:hidden;height:74vh;min-height:460px;background:#e7e1d7;}
.work-row .shot img{height:100%;transform:scale(1.02);transition:transform 1.3s cubic-bezier(.2,.7,.2,1);filter:saturate(.96);}
.work-row:hover .shot img{transform:scale(1.09);}
.work-row .txt .num{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--bronze);}
.work-row .txt .cat{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:#a39c90;margin:22px 0 14px;}
.work-row .txt h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(2.8rem,5vw,5.2rem);line-height:.92;letter-spacing:-2px;transition:color .4s;}
.work-row:hover .txt h2{color:var(--bronze);}
.work-row .txt p{color:#5a544c;line-height:1.9;margin-top:24px;max-width:440px;}
.work-row .txt .go{display:inline-flex;align-items:center;gap:12px;margin-top:34px;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--charcoal);}
.work-row .txt .go::after{content:"→";transition:transform .4s;}
.work-row:hover .txt .go::after{transform:translateX(8px);}
.work-row .txt .specs{margin-top:30px;display:flex;gap:34px;font-size:12px;color:#8b857b;letter-spacing:.5px;}
.work-row:nth-child(even) .shot{order:2;}
.work-row:nth-child(even) .txt{order:1;}

/* ---- WORK DETAIL ---- */
.work-hero{height:100vh;position:relative;overflow:hidden;background:#000;}
.work-hero img{height:100%;filter:brightness(.62);transform:scale(1.06);animation:slowZoom 16s ease forwards;}
.work-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.4),transparent 35%,rgba(0,0,0,.75));}
.work-hero .cap{position:absolute;left:8vw;right:8vw;bottom:13vh;z-index:2;color:#fff;}
.work-hero .cap .eyebrow{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--sand);margin-bottom:24px;}
.work-hero .cap h1{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(3.4rem,10vw,11rem);line-height:.84;letter-spacing:-3px;}
.work-hero .scrollcue{position:absolute;right:8vw;bottom:8vh;z-index:3;color:#fff;font-size:10px;letter-spacing:3px;writing-mode:vertical-rl;text-transform:uppercase;opacity:.8;}
.work-meta{display:grid;grid-template-columns:repeat(4,1fr);}
.work-meta .m{padding:56px 40px;border-right:1px solid var(--stone);border-bottom:1px solid var(--stone);}
.work-meta .m:first-child{padding-left:8vw;}
.work-meta .m:last-child{border-right:0;padding-right:8vw;}
.work-meta .m small{display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#a39c90;margin-bottom:14px;}
.work-meta .m span{font-family:'Cormorant Garamond',serif;font-size:30px;}
.work-body{max-width:880px;padding:13vh 8vw;}
.work-body .lead-line{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.4;color:#2a2722;font-weight:400;margin-bottom:46px;}
.work-body .copy{font-size:18px;line-height:2.05;color:#4a463f;max-width:680px;}
.work-body .copy p{margin-bottom:26px;}
.work-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;padding:0 8vw 12vh;}
.work-gallery .g{overflow:hidden;height:560px;background:#e7e1d7;}
.work-gallery .g:nth-child(3n+1){grid-column:1 / -1;height:78vh;}
.work-gallery .g img{height:100%;transition:transform 1.3s cubic-bezier(.2,.7,.2,1);}
.work-gallery .g:hover img{transform:scale(1.05);}
.work-nav{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--stone);}
.work-nav a{padding:9vh 8vw;transition:background .5s;}
.work-nav a:hover{background:#efe9df;}
.work-nav .n2{text-align:right;border-left:1px solid var(--stone);}
.work-nav small{display:block;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:#a39c90;margin-bottom:16px;}
.work-nav .t{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,3.4rem);line-height:1;transition:color .4s;}
.work-nav a:hover .t{color:var(--bronze);}

/* ---- JOURNAL ---- */
.journal-feature{display:grid;grid-template-columns:1.1fr .9fr;gap:5vw;align-items:center;padding:20px 8vw 9vh;border-bottom:1px solid var(--stone);}
.journal-feature .shot{overflow:hidden;height:72vh;min-height:440px;background:#e7e1d7;}
.journal-feature .shot img{height:100%;transition:transform 1.3s cubic-bezier(.2,.7,.2,1);}
.journal-feature:hover .shot img{transform:scale(1.06);}
.journal-feature .eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--bronze);margin-bottom:22px;}
.journal-feature h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(2.6rem,5vw,5rem);line-height:.95;letter-spacing:-2px;}
.journal-feature p{color:#5a544c;line-height:1.95;margin-top:24px;max-width:460px;font-size:17px;}
.journal-feature .go{display:inline-block;margin-top:30px;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--charcoal);}
.journal-more{padding:9vh 8vw 13vh;}
.journal-more .row-head{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:#a39c90;margin-bottom:44px;}
.jgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:46px 38px;}
.jcard .shot{overflow:hidden;height:300px;background:#e7e1d7;margin-bottom:24px;}
.jcard .shot img{height:100%;transition:transform 1.1s ease;}
.jcard:hover .shot img{transform:scale(1.07);}
.jcard h3{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:30px;line-height:1.05;transition:color .4s;}
.jcard:hover h3{color:var(--bronze);}
.jcard p{color:#6a645b;line-height:1.7;margin-top:12px;font-size:15px;}

/* ---- ARTICLE ---- */
.article-hero{height:78vh;min-height:480px;overflow:hidden;background:#000;position:relative;}
.article-hero img{height:100%;filter:brightness(.7);transform:scale(1.05);animation:slowZoom 16s ease forwards;}
.article-wrap{max-width:720px;margin:0 auto;padding:11vh 24px 13vh;}
.article-wrap .a-meta{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--bronze);margin-bottom:28px;display:flex;gap:14px;flex-wrap:wrap;}
.article-wrap h1{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(2.8rem,6vw,5.2rem);line-height:.98;letter-spacing:-1.5px;margin-bottom:48px;}
.article-wrap .body{font-size:20px;line-height:2.05;color:#36322c;}
.article-wrap .body p{margin-bottom:30px;}
.article-wrap .body p:first-of-type:first-letter{font-family:'Cormorant Garamond',serif;float:left;font-size:78px;line-height:.72;padding:8px 14px 0 0;color:var(--bronze);}
.back-link{display:inline-block;margin-top:60px;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--bronze);}

/* ---- FOUNDER band ---- */
.founder{display:grid;grid-template-columns:.92fr 1.08fr;background:var(--charcoal);color:#fff;}
.founder .portrait{position:relative;overflow:hidden;min-height:88vh;}
.founder .portrait img{height:100%;object-fit:cover;filter:grayscale(.15) contrast(1.04);}
.founder .body{padding:13vh 7vw;display:flex;flex-direction:column;justify-content:center;}
.founder .eyebrow{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--sand);margin-bottom:30px;display:flex;align-items:center;gap:16px;}
.founder .eyebrow::after{content:"";height:1px;width:60px;background:var(--sand);opacity:.5;}
.founder h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(3rem,5.5vw,5.5rem);line-height:.9;letter-spacing:-2px;}
.founder .role{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#b8b0a4;margin-top:20px;}
.founder .quote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.6rem,2.6vw,2.4rem);line-height:1.35;color:#e9e2d6;margin:46px 0;padding-left:28px;border-left:2px solid var(--bronze);}
.founder .bio{color:#cfc9c0;line-height:2;max-width:520px;font-size:16px;}
.founder .bio p{margin-bottom:20px;}
.founder .sign{margin-top:40px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:30px;color:var(--sand);}

/* ---- standalone CONTACT ---- */
.contact-split{display:grid;grid-template-columns:1.05fr .95fr;min-height:92vh;border-top:1px solid var(--stone);}
.contact-split .left{padding:14vh 7vw;background:var(--charcoal);color:#fff;display:flex;flex-direction:column;justify-content:center;}
.contact-split .left .eyebrow{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--sand);margin-bottom:30px;}
.contact-split .left h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(3rem,6vw,6.5rem);line-height:.9;letter-spacing:-2px;}
.contact-split .info{margin-top:60px;display:grid;gap:28px;}
.contact-split .info .blk small{display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#8b857b;margin-bottom:8px;}
.contact-split .info .blk a,.contact-split .info .blk span{font-family:'Cormorant Garamond',serif;font-size:26px;color:#ece5da;}
.contact-split .info .blk a:hover{color:var(--sand);}
.contact-split .right{padding:14vh 7vw;display:flex;flex-direction:column;justify-content:center;}
.contact-split .right .eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--bronze);margin-bottom:30px;}

/* reveals already wired in main.js via .reveal */
@media(max-width:900px){
    .lede{padding:140px 24px 50px;}
    .lede .count{display:none;}
    .work-row,.work-meta,.work-gallery,.work-nav,.journal-feature,.contact-split,.founder{grid-template-columns:1fr;}
    .work-row{padding:5vh 24px;gap:30px;}
    .work-row:nth-child(even) .shot{order:0;}
    .work-row:nth-child(even) .txt{order:0;}
    .work-row .shot{height:52vh;min-height:0;}
    .work-hero .cap{left:24px;right:24px;}
    .work-meta .m,.work-meta .m:first-child,.work-meta .m:last-child{padding:30px 24px;border-right:0;}
    .work-body{padding:9vh 24px;}
    .work-gallery{padding:0 24px 9vh;}
    .work-gallery .g,.work-gallery .g:nth-child(3n+1){height:300px;grid-column:auto;}
    .work-nav a{padding:6vh 24px;}
    .work-nav .n2{text-align:left;border-left:0;border-top:1px solid var(--stone);}
    .journal-feature{padding:30px 24px 7vh;}
    .journal-feature .shot{height:44vh;min-height:0;}
    .journal-more{padding:7vh 24px 9vh;}
    .jgrid{grid-template-columns:1fr;gap:40px;}
    .article-wrap{padding:8vh 24px 10vh;}
    .founder .portrait{min-height:60vh;}
    .founder .body{padding:9vh 24px;}
    .contact-split .left,.contact-split .right{padding:9vh 24px;}
}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}.work-hero img,.article-hero img{animation:none;transform:none;}}
