/* REVENANT · Dead Nor Alive — shared stylesheet */
:root{
  --ground:#0e0c0a;
  --bone:#e7e0d2;
  --bone-2:#c9bfa8;
  --muted:#b3aa98;
  --faint:#6f685c;
  --ember:#b23a2b;
  --ember-bright:#d6552f;
  --ember-hot:#ef7a44;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:
    radial-gradient(ellipse 72% 46% at 50% 22%, rgba(178,58,43,.12) 0%, transparent 72%),
    var(--ground);
  color:var(--bone);
  font-family:'Spectral',serif; font-weight:400;
  font-size:clamp(1.02rem,0.9rem + 0.6vw,1.2rem);
  line-height:1.78; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  min-height:100vh;
}
a{color:var(--ember-bright);}
em{font-style:italic;}

/* responsive keyline frame */
.frame{position:fixed; inset:clamp(10px,2.4vw,34px); border:1.5px solid rgba(178,58,43,.42); pointer-events:none; z-index:5; box-shadow:0 0 0 100vmax #000;}
.frame::after{content:''; position:absolute; inset:8px; border:1px solid rgba(231,224,210,.10);}

.page{max-width:760px; margin:0 auto; padding:clamp(30px,5vw,54px) clamp(26px,6vw,44px) clamp(64px,9vw,120px); position:relative; z-index:1;}
.narrow{max-width:720px;}

/* nav */
.nav{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 26px; padding-bottom:clamp(34px,6vw,56px); border-bottom:1px solid rgba(231,224,210,.10); margin-bottom:clamp(40px,7vw,68px);}
.nav-brand{font-family:'Fraunces',serif; font-weight:600; font-size:1.12rem; letter-spacing:.34em; text-indent:.34em; color:var(--bone); text-decoration:none;}
.nav-links{display:flex; flex-wrap:wrap; gap:18px 22px;}
.nav-links a{font-family:'Spectral',serif; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); text-decoration:none; transition:color .2s ease;}
.nav-links a:hover{color:var(--ember-bright);}

/* brand masthead (the logo, as the site header) */
.masthead{text-align:center; padding-top:clamp(18px,4vw,38px); margin-bottom:clamp(40px,7vw,66px);}
.brandmark{display:inline-block; text-decoration:none;}
.masthead .flame{display:block; margin:0 auto 20px; height:clamp(66px,11vw,106px); width:auto; filter:drop-shadow(0 0 32px rgba(178,58,43,.42));}
.masthead .wordmark{display:block; font-family:'Fraunces',serif; font-weight:600; font-optical-sizing:auto; font-size:clamp(1.7rem,1.3rem + 2.6vw,2.7rem); letter-spacing:.34em; text-indent:.34em; color:var(--bone); text-shadow:0 0 42px rgba(10,8,6,.92),0 0 14px rgba(10,8,6,.9);}
.masthead .tagline{display:block; font-family:'Spectral',serif; font-size:clamp(.6rem,.55rem + .3vw,.74rem); letter-spacing:.2em; text-indent:.2em; text-transform:uppercase; color:var(--muted); margin:16px auto 0; max-width:30ch;}
.brand-nav{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px 24px; margin-top:clamp(26px,5vw,40px); padding-top:clamp(24px,4vw,34px); border-top:1px solid rgba(231,224,210,.10);}
.brand-nav a{font-family:'Spectral',serif; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); text-decoration:none; transition:color .2s ease;}
.brand-nav a:hover{color:var(--ember-bright);}

/* masthead flame + wordmark (home hero) */
.flame{width:50px; height:60px; margin:0 auto 26px; display:block;}
.hero{text-align:center; margin-bottom:clamp(48px,8vw,86px);}
.hero h1{font-family:'Fraunces',serif; font-weight:500; font-optical-sizing:auto; font-size:clamp(2.1rem,1.5rem + 4vw,3.6rem); line-height:1.08; letter-spacing:.01em; margin:0 0 18px; color:var(--bone);}
.hero h1 em{color:var(--ember-bright); font-style:italic;}
.hero .lede{font-size:clamp(1.1rem,1rem + .8vw,1.4rem); color:var(--bone); margin:0 auto 14px; max-width:34ch;}
.hero .sub{font-style:italic; color:var(--muted); max-width:40ch; margin:0 auto; font-size:1.02rem;}
.hero .hero-tag{font-family:'Spectral',serif; text-transform:uppercase; letter-spacing:.34em; text-indent:.34em; font-size:clamp(.64rem,.58rem + .3vw,.8rem); color:var(--muted); margin:0 auto 24px;}

/* home: slim topbar + the LinkedIn-banner cover, replicated in code */
.topbar{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px 22px; padding:clamp(16px,4vw,30px) 0 clamp(18px,4vw,28px); border-bottom:1px solid rgba(231,224,210,.10); margin-bottom:clamp(16px,4vw,30px);}
.topbar .brand-nav{margin-top:0; padding-top:0; border-top:none;}
.home-crest{text-align:center; margin:clamp(30px,6vw,58px) auto clamp(6px,2vw,18px);}
.home-crest img{display:block; width:100%; max-width:360px; height:auto; margin:0 auto;}
.topbar-brand{font-family:'Fraunces',serif; font-weight:600; font-size:1.15rem; letter-spacing:.32em; text-indent:.32em; color:var(--bone); text-decoration:none;}
.cover{position:relative; overflow:hidden; text-align:center; padding:clamp(10px,2.5vw,22px) 0 clamp(16px,3.5vw,30px); margin-bottom:clamp(14px,3vw,26px);}
.cover-inner{position:relative; z-index:2;}
.cover h1{font-family:'Fraunces',serif; font-weight:500; font-optical-sizing:auto; font-size:clamp(2.05rem,1.35rem + 5.2vw,4.4rem); line-height:1.07; letter-spacing:.004em; margin:0; color:var(--bone); text-shadow:0 2px 44px rgba(10,8,6,.82);}
.cover h1 em{color:var(--ember-bright); font-style:italic;}
.cover-tag{font-family:'Spectral',serif; text-transform:uppercase; letter-spacing:.42em; text-indent:.42em; font-size:clamp(.64rem,.54rem + .5vw,.92rem); color:var(--muted); margin:clamp(18px,3vw,28px) 0 0;}
.cover .rising{position:absolute; left:0; right:0; bottom:0; height:clamp(128px,24vw,248px); z-index:1; pointer-events:none;}
.cover .rising svg{width:100%; height:100%; display:block;}
.cover-follow{text-align:center; font-style:italic; color:var(--bone-2); max-width:46ch; margin:0 auto clamp(24px,5vw,40px); font-size:1.06rem; line-height:1.6;}
.cover-img{display:block; width:100%; height:auto; margin:0 auto;}
.brand-logo-link{display:block; text-align:center; text-decoration:none;}
.brand-logo{display:block; width:100%; max-width:330px; height:auto; margin:0 auto;}
.visually-hidden{position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;}
/* full-bleed cover hero (home) */
html{overflow-x:hidden;}
.cover-hero{width:100vw; position:relative; left:50%; margin-left:-50vw; padding:0; overflow:hidden; margin-top:0; margin-bottom:clamp(22px,4vw,40px);}
.cover-hero .cover-img{width:100%; display:block;}

/* wordmark block (interior page mastheads) */
.mast{text-align:center; margin-bottom:clamp(30px,6vw,56px);}
.mast .word{font-family:'Fraunces',serif; font-weight:600; font-size:clamp(1.4rem,1.2rem + 1.6vw,1.9rem); letter-spacing:.34em; text-indent:.34em; color:var(--bone); margin:0;}
.mast .tag{font-family:'Spectral',serif; font-size:.66rem; letter-spacing:.44em; text-indent:.44em; text-transform:uppercase; color:var(--muted); margin:12px 0 0;}

.rule{width:70px; height:0; margin:clamp(38px,6vw,58px) auto; border-top:1px solid rgba(178,58,43,.55); position:relative;}
.rule::after{content:'\25C6'; position:absolute; top:-.72em; left:50%; transform:translateX(-50%); color:var(--ember); font-size:.7rem; background:var(--ground); padding:0 .5em;}

/* section */
.section{margin:clamp(46px,8vw,82px) 0;}
.eyebrow{font-family:'Spectral',serif; font-size:.7rem; letter-spacing:.34em; text-transform:uppercase; color:var(--ember); text-align:center; margin:0 0 18px;}
.section h2{font-family:'Fraunces',serif; font-weight:500; font-size:clamp(1.5rem,1.2rem + 1.6vw,2.15rem); line-height:1.16; text-align:center; margin:0 0 26px; color:var(--bone);}

/* prose */
.prose p{margin:0 0 1.35em;}
.prose p:last-child{margin-bottom:0;}
.prose strong{font-family:'Fraunces',serif; font-weight:600; color:#f2ecdf;}
.lead-first{font-size:1.05em;}
.you{font-family:'Fraunces',serif; font-weight:700; color:var(--ember-bright);}

/* article / dispatch */
h1.title{font-family:'Fraunces',serif; font-weight:500; font-optical-sizing:auto; font-size:clamp(1.9rem,1.4rem + 3vw,3rem); letter-spacing:.02em; line-height:1.12; text-align:center; margin:0 0 6px; color:var(--bone);}
.kicker{text-align:center; font-style:italic; color:var(--muted); font-size:clamp(.92rem,.85rem + .3vw,1.02rem); margin:0 0 clamp(38px,6vw,58px);}

.motto{font-family:'Fraunces',serif; font-style:italic; font-weight:500; color:var(--ember-bright); font-size:clamp(1.15rem,1rem + 1.1vw,1.5rem); line-height:1.4; text-align:center; margin:clamp(34px,6vw,52px) 0;}
.close{text-align:center; font-family:'Fraunces',serif; font-weight:500; font-size:clamp(1.05rem,.95rem + .7vw,1.28rem); color:var(--bone); margin:clamp(30px,5vw,46px) 0 0; line-height:1.5;}
.close .door{color:var(--ember-bright);}

/* propositions (offers) */
.props{display:grid; gap:2px; margin-top:14px;}
.prop{border:1px solid rgba(231,224,210,.14); padding:clamp(24px,4vw,34px);}
.prop-head{display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 18px; margin-bottom:12px;}
.prop-name{font-family:'Fraunces',serif; font-weight:600; font-size:1.28rem; color:var(--bone); margin:0;}
.prop-price{font-family:'Fraunces',serif; font-weight:500; color:var(--ember-bright); font-size:1.1rem; white-space:nowrap;}
.prop-meta{font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin:0 0 12px;}
.prop-desc{margin:0; color:var(--bone-2);}

/* dispatch list */
.dispatches{margin-top:20px;}
.d-item{display:block; text-decoration:none; color:inherit; border-top:1px solid rgba(231,224,210,.12); padding:clamp(22px,3.5vw,30px) 0;}
.d-item:last-child{border-bottom:1px solid rgba(231,224,210,.12);}
.d-item:hover .d-title{color:var(--ember-bright);}
.d-eyebrow{font-size:.66rem; letter-spacing:.24em; text-transform:uppercase; color:var(--ember); margin:0 0 8px;}
.d-title{font-family:'Fraunces',serif; font-weight:600; font-size:1.4rem; color:var(--bone); margin:0 0 8px; transition:color .2s ease;}
.d-excerpt{margin:0; color:var(--muted); font-size:.98rem;}

/* intake */
.enter{margin-top:clamp(56px,9vw,96px); padding-top:clamp(34px,6vw,52px); border-top:1px solid rgba(231,224,210,.12);}
.enter h2{font-family:'Fraunces',serif; font-weight:500; font-size:clamp(1.35rem,1.1rem + 1.1vw,1.75rem); text-align:center; margin:0 0 10px; color:var(--bone);}
.enter .intro{text-align:center; color:var(--bone-2); font-size:.99rem; max-width:47ch; margin:0 auto clamp(32px,5vw,42px); line-height:1.72;}
form{max-width:440px; margin:0 auto;}
.field{margin-bottom:26px;}
.field label{display:block; font-family:'Spectral',serif; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-bottom:9px;}
.field input,.field textarea{width:100%; background:transparent; border:none; border-bottom:1px solid rgba(231,224,210,.28); color:var(--bone); font-family:'Spectral',serif; font-size:1.02rem; padding:9px 2px; line-height:1.6; transition:border-color .25s ease;}
.field textarea{resize:vertical; min-height:74px;}
.field input:focus,.field textarea:focus{outline:none; border-bottom-color:var(--ember-bright);}
.field input::placeholder,.field textarea::placeholder{color:var(--faint);}
.submit{display:block; width:100%; margin-top:8px; cursor:pointer; font-family:'Fraunces',serif; font-weight:600; font-size:.95rem; letter-spacing:.16em; text-transform:uppercase; text-indent:.16em; color:var(--bone); background:transparent; border:1px solid rgba(178,58,43,.6); padding:15px 30px; transition:background .25s ease,color .25s ease;}
.submit:hover{background:var(--ember); color:#0e0c0a; border-color:var(--ember);}
.submit:disabled{opacity:.6; cursor:default;}
.privacy{text-align:center; color:var(--muted); font-style:italic; font-size:.86rem; margin:22px auto 0; max-width:40ch;}
.secondary{text-align:center; color:var(--muted); font-size:.85rem; margin:14px auto 0; max-width:52ch; line-height:1.7;}
.secondary a{color:var(--ember-bright); text-decoration:none;}
.secondary a:hover{text-decoration:underline;}

/* confirmation (after send) */
.confirm{max-width:48ch; margin:0 auto; text-align:center;}
.confirm-lead{font-family:'Fraunces',serif; font-weight:600; font-size:1.2rem; color:var(--ember-bright); margin:0 0 16px;}
.confirm p{color:var(--bone-2); margin:0 0 14px;}
.confirm-sign{font-style:italic; color:var(--muted); margin-top:20px;}

/* enter CTA (dispatch pages) */
.enter-link{margin-top:clamp(52px,9vw,88px); padding-top:clamp(32px,5vw,44px); border-top:1px solid rgba(231,224,210,.12); text-align:center;}
.enter-link a{display:inline-block; font-family:'Fraunces',serif; font-weight:600; font-size:.95rem; letter-spacing:.16em; text-transform:uppercase; text-indent:.16em; color:var(--bone); text-decoration:none; border:1px solid rgba(178,58,43,.6); padding:15px 30px; transition:background .25s ease,color .25s ease;}
.enter-link a:hover{background:var(--ember); color:#0e0c0a; border-color:var(--ember);}

/* footer */
footer{margin-top:clamp(56px,9vw,96px); padding-top:clamp(30px,5vw,44px); border-top:1px solid rgba(231,224,210,.12); text-align:center;}
.care{color:var(--muted); font-size:.86rem; line-height:1.7; margin:0 auto 16px; max-width:52ch;}
.care a{color:var(--ember-bright); text-decoration:none;}
.disclaimer{color:var(--faint); font-size:.76rem; line-height:1.65; margin:0 auto 22px; max-width:56ch;}
.signoff{color:var(--muted); font-style:italic; font-size:.9rem; margin:0; letter-spacing:.02em;}
.back{display:block; margin-top:22px; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); text-decoration:none;}
.back:hover{color:var(--ember-bright);}

/* home → The Door (CTA to the standalone page) */
.door-call{text-align:center;}
.door-lead{color:var(--bone-2); max-width:48ch; margin:0 auto clamp(28px,5vw,40px); line-height:1.72;}
.door-cta-row{margin:0;}
.doorbtn{display:inline-block; font-family:'Fraunces',serif; font-weight:600; font-size:.95rem; letter-spacing:.16em; text-transform:uppercase; text-indent:.16em; color:var(--bone); text-decoration:none; border:1px solid rgba(178,58,43,.6); padding:15px 34px; transition:background .25s ease,color .25s ease;}
.doorbtn:hover{background:var(--ember); color:#0e0c0a; border-color:var(--ember);}
.footer-door{margin:0 0 22px;}
.footer-door a{font-family:'Fraunces',serif; font-weight:600; font-size:.8rem; letter-spacing:.18em; text-transform:uppercase; text-indent:.18em; color:var(--bone); text-decoration:none; border-bottom:1px solid rgba(178,58,43,.55); padding-bottom:4px; transition:color .2s ease;}
.footer-door a:hover{color:var(--ember-bright);}

/* the work made inside (gallery link section) */
.work-inside{margin-top:clamp(44px,8vw,72px);}

/* caveat — a word for the sneerers */
.caveat{border:1px solid rgba(178,58,43,.30); background:rgba(178,58,43,.045); padding:clamp(24px,4.5vw,38px); margin:clamp(40px,7vw,64px) 0;}
.caveat-head{font-family:'Spectral',serif; font-size:.7rem; letter-spacing:.28em; text-transform:uppercase; color:var(--ember); text-align:center; margin:0 0 18px;}
.caveat p{color:var(--bone-2); font-size:.98rem; line-height:1.72; margin:0 0 1.05em;}
.caveat p:last-child{margin-bottom:0;}

/* propositions note (fees held) */
.props-note{text-align:center; color:var(--muted); font-style:italic; font-size:.9rem; margin:clamp(20px,4vw,30px) auto 0; max-width:54ch; line-height:1.7;}
