/* ---------- Shared ---------- */
:root{
  --navy:#0f1b2d; --navy-2:#1a2a44; --ink:#121212; --steel:#5b6b80;
  --gold:#c8a25c; --line:#e3e6eb; --paper:#f7f4ee; --cream:#fbf8f2;
  --rust:#9c4f2e; --text:#2a2a2a;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Inter",system-ui,sans-serif;color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}

/* ---------- Landing ---------- */
.landing{height:100vh;min-height:560px;display:grid;grid-template-columns:1fr 1fr;position:relative;background:var(--ink)}
.landing__name{position:absolute;top:0;left:0;right:0;z-index:5;text-align:center;padding:2.2rem 1rem;pointer-events:none;
  font-family:"Cormorant Garamond",serif;font-weight:500;color:#fff;font-size:clamp(1.8rem,3.4vw,3rem);letter-spacing:.04em;
  text-shadow:0 2px 20px rgba(0,0,0,.35)}
.landing__name small{display:block;font-family:"Inter",sans-serif;font-size:.72rem;letter-spacing:.35em;text-transform:uppercase;opacity:.8;margin-top:.4rem}
.panel{position:relative;overflow:hidden;text-decoration:none;color:#fff;display:flex;align-items:flex-end}
.panel__img{position:absolute;inset:0;background-size:cover;background-position:center top;transition:transform 1.2s ease,filter .6s ease}
.panel--pro .panel__img{background-color:var(--navy);background-image:url(images/professional.jpg)}
.panel--writer .panel__img{background-color:#8a6a52;background-image:url(images/casual.jpg);background-position:center top}
.panel::after{content:"";position:absolute;inset:0;transition:opacity .6s}
.panel--pro::after{background:linear-gradient(to top,rgba(10,20,36,.92) 0%,rgba(10,20,36,.35) 45%,rgba(10,20,36,.15) 100%)}
.panel--writer::after{background:linear-gradient(to top,rgba(60,32,18,.88) 0%,rgba(60,32,18,.3) 45%,rgba(60,32,18,.1) 100%)}
.panel:hover .panel__img{transform:scale(1.04);filter:grayscale(0)}
.panel__label{position:relative;z-index:2;padding:3rem clamp(1.5rem,4vw,4rem);width:100%}
.panel__kicker{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;opacity:.85}
.panel__title{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;margin:.5rem 0 .8rem}
.panel--pro .panel__title{font-family:"Archivo",sans-serif;font-weight:800;letter-spacing:-.02em}
.panel--writer .panel__title{font-family:"Cormorant Garamond",serif;font-weight:500;font-style:italic}
.panel__cta{display:inline-flex;gap:.6rem;align-items:center;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;
  border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:.25rem;transition:gap .3s}
.panel:hover .panel__cta{gap:1.1rem}
.panel--pro .panel__cta{border-color:var(--gold)}
.divider{position:absolute;top:0;bottom:0;left:50%;width:1px;background:rgba(255,255,255,.25);z-index:4}
@media (max-width:760px){
  .landing{grid-template-columns:1fr;grid-template-rows:1fr 1fr;height:auto;min-height:100vh}
  .panel{min-height:72vh}
  .panel__title{font-size:1.7rem}
  .panel__label{padding:1.6rem 1.5rem!important}
  .panel--writer .panel__img{background-position:center top}
  .divider{display:none}
  .landing__name{padding:1.4rem 1rem}
  .panel__label{padding:2rem 1.5rem}
}

/* ---------- Top nav (inner pages) ---------- */
.topnav{display:flex;justify-content:space-between;align-items:center;padding:1.2rem clamp(1.2rem,5vw,4rem);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}
.topnav a{text-decoration:none;opacity:.8}
.topnav a:hover{opacity:1}
.topnav .home{font-weight:600;opacity:1}

/* ---------- Portfolio (corporate) ---------- */
.pro{background:#fff;font-family:"Inter",sans-serif}
.pro .topnav{background:var(--navy);color:#fff}
.pro-hero{background:var(--navy);color:#fff;display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;align-items:center;
  padding:3rem clamp(1.2rem,5vw,4rem) 0;overflow:hidden}
.pro-hero h1{font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(2.6rem,6vw,5rem);line-height:.95;letter-spacing:-.03em}
.pro-hero .role{color:var(--gold);font-size:.8rem;letter-spacing:.3em;text-transform:uppercase;margin-bottom:1.2rem}
.pro-hero .lede{font-size:clamp(1.1rem,1.8vw,1.35rem);color:#c9d3e0;max-width:34ch;margin:1.6rem 0 2rem;font-weight:300}
.pro-hero__copy{padding-bottom:3rem}
.pro-hero__photo{align-self:end;aspect-ratio:3/4;background:var(--navy-2) url(images/professional.jpg) center top/cover;border-top:4px solid var(--gold)}
.btns{display:flex;gap:.8rem;flex-wrap:wrap}
.btn{display:inline-block;padding:.85rem 1.5rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;font-weight:600;transition:.25s}
.btn--gold{background:var(--gold);color:var(--navy)}
.btn--gold:hover{background:#d9b670}
.btn--ghost{border:1px solid rgba(255,255,255,.4);color:#fff}
.btn--ghost:hover{border-color:#fff}

.stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.stat{padding:2.4rem clamp(1rem,3vw,2.4rem);border-right:1px solid var(--line)}
.stat:last-child{border-right:none}
.stat b{display:block;font-family:"Archivo",sans-serif;font-size:clamp(2rem,4vw,3rem);font-weight:800;color:var(--navy);letter-spacing:-.03em;line-height:1}
.stat span{display:block;margin-top:.6rem;color:var(--steel);font-size:.9rem;line-height:1.4}

.section{padding:5rem clamp(1.2rem,5vw,4rem);max-width:1200px;margin:0 auto}
.eyebrow{font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:.8rem}
.pro h2{font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(1.8rem,3.4vw,2.6rem);color:var(--navy);letter-spacing:-.02em;line-height:1.1;margin-bottom:2.4rem}
.statement{font-size:clamp(1.2rem,2.2vw,1.6rem);line-height:1.5;color:var(--navy);max-width:52ch;font-weight:300}
.statement strong{font-weight:600}

.caps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.cap{background:#fff;padding:2rem}
.cap .n{font-family:"Archivo",sans-serif;color:var(--gold);font-weight:800;font-size:.9rem}
.cap h3{font-size:1.1rem;color:var(--navy);margin:.6rem 0 .5rem}
.cap p{color:var(--steel);font-size:.93rem}

.bg-soft{background:#f4f6f9}
.job{display:grid;grid-template-columns:240px 1fr;gap:2.5rem;padding:2.6rem 0;border-top:1px solid var(--line)}
.job:first-of-type{border-top:2px solid var(--navy)}
.job__meta .co{font-family:"Archivo",sans-serif;font-weight:800;font-size:1.3rem;color:var(--navy)}
.job__meta .when{color:var(--steel);font-size:.88rem;margin-top:.3rem}
.job h3{font-size:1.15rem;color:var(--navy);margin-bottom:.8rem}
.job ul{list-style:none}
.job li{position:relative;padding-left:1.4rem;margin-bottom:.6rem}
.job li::before{content:"";position:absolute;left:0;top:.7em;width:.6rem;height:2px;background:var(--gold)}

.creds{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.cred{border-left:3px solid var(--gold);padding-left:1.2rem}
.cred b{display:block;color:var(--navy)}
.cred span{color:var(--steel);font-size:.92rem}

.contact{background:var(--navy);color:#fff;text-align:center;padding:5rem 1.5rem}
.contact h2{color:#fff;margin-bottom:1rem}
.contact p{color:#c9d3e0;max-width:46ch;margin:0 auto 2rem}
.contact .btns{justify-content:center}
.foot{text-align:center;padding:1.6rem;font-size:.78rem;color:var(--steel)}
.foot a{color:inherit}
.pro .foot{background:var(--navy);color:#7f8ea3;border-top:1px solid rgba(255,255,255,.08)}

@media (max-width:860px){
  .pro-hero{grid-template-columns:1fr;gap:0}
  .pro-hero__photo{max-width:340px;width:100%;margin:0 auto}
  .stats{grid-template-columns:1fr 1fr}
  .stat:nth-child(2){border-right:none}
  .stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .caps,.creds{grid-template-columns:1fr}
  .job{grid-template-columns:1fr;gap:.8rem}
}

/* ---------- Writing ---------- */
.writer{background:var(--cream);color:#2b2420;font-family:"Inter",sans-serif}
.writer .topnav{color:#2b2420}
.w-hero{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding:2rem clamp(1.2rem,6vw,6rem) 5rem;max-width:1250px;margin:0 auto}
.w-hero__photo{aspect-ratio:4/5;background:#b8977d url(images/casual.jpg) center top/cover;border-radius:2px;box-shadow:18px 18px 0 #eadfce}
.w-hero h1{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:clamp(2.8rem,6vw,5rem);line-height:1;letter-spacing:-.01em}
.w-hero h1 em{color:var(--rust)}
.w-hero .kicker{font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:var(--rust);margin-bottom:1.2rem}
.w-hero p{font-size:1.08rem;max-width:44ch;margin:1.4rem 0 2rem;color:#4a403a}
.btn--rust{background:var(--rust);color:#fff}
.btn--rust:hover{background:#7f3e22}
.btn--line{border:1px solid #2b2420;color:#2b2420}
.btn--line:hover{background:#2b2420;color:var(--cream)}

.w-section{padding:5rem clamp(1.2rem,6vw,6rem);max-width:1100px;margin:0 auto}
.writer h2{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:clamp(2rem,4vw,3rem);margin-bottom:2.5rem}
.writer .eyebrow{color:var(--rust)}
.rule{border:none;border-top:1px solid #e2d8c8;max-width:1100px;margin:0 auto}

.sample{display:grid;grid-template-columns:220px 1fr;gap:3rem;padding:3rem 0;border-top:1px solid #e2d8c8}
.sample__meta .genre{font-size:.72rem;letter-spacing:.25em;text-transform:uppercase;color:var(--rust)}
.sample__meta h3{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:1.8rem;line-height:1.1;margin:.5rem 0}
.sample__meta .note{font-size:.88rem;color:#7a6d63}
.sample__text{font-family:"Cormorant Garamond",serif;font-size:1.3rem;line-height:1.65;color:#2b2420}
.sample__text p+p{text-indent:1.5em}
.sample__text p:first-child::first-letter{float:left;font-size:3.6em;line-height:.85;padding:.08em .1em 0 0;color:var(--rust)}
details.more summary{cursor:pointer;margin-top:1.2rem;font-family:"Inter",sans-serif;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--rust);list-style:none}
details.more summary::-webkit-details-marker{display:none}
details.more[open] summary{display:none}
details.more p{margin-top:0}

.credits{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.credit{background:#fff;padding:1.8rem;border:1px solid #ece3d5}
.credit b{display:block;font-family:"Cormorant Garamond",serif;font-size:1.4rem;font-weight:600}
.credit span{font-size:.9rem;color:#7a6d63}

.amazon{background:#2b2420;color:var(--cream);text-align:center;padding:5rem 1.5rem}
.amazon h2{color:var(--cream);margin-bottom:1rem}
.amazon p{max-width:44ch;margin:0 auto 2rem;color:#d6cbbd}
.amazon .btn--line{border-color:var(--cream);color:var(--cream)}
.amazon .btn--line:hover{background:var(--cream);color:#2b2420}
.writer .foot{background:#2b2420;color:#9d9086;border-top:1px solid rgba(255,255,255,.08)}

@media (max-width:860px){
  .w-hero{grid-template-columns:1fr;gap:2.5rem}
  .w-hero__photo{max-width:380px}
  .sample{grid-template-columns:1fr;gap:1rem}
  .credits{grid-template-columns:1fr}
}

/* ---------- Portfolio v2 additions ---------- */
.pro .topnav{position:sticky;top:0;z-index:20}
.navlinks a{margin-left:1.6rem}
.profile{display:grid;grid-template-columns:repeat(4,1fr);background:var(--navy-2);color:#fff}
.profile__item{padding:1.6rem clamp(1rem,3vw,2.4rem);border-right:1px solid rgba(255,255,255,.08)}
.profile__item:last-child{border-right:none}
.profile__item span{display:block;font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem}
.profile__item b{font-weight:600;font-size:.98rem;line-height:1.4}
.pro .intro{color:var(--steel);max-width:62ch;font-size:1.08rem;margin:-1.2rem 0 2.6rem}
.impact{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.impact__card{border-top:3px solid var(--navy);padding:1.6rem 0 0}
.impact__card b{display:block;font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(2.2rem,4vw,3.2rem);color:var(--navy);letter-spacing:-.03em;line-height:1}
.impact__card h3{font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:.7rem 0 .5rem}
.impact__card p{color:var(--steel);font-size:.95rem}
.case{display:grid;grid-template-columns:1fr 1.4fr;gap:2.5rem;background:#fff;border:1px solid var(--line);padding:2.2rem;margin-bottom:1.2rem}
.case__head{display:flex;gap:1rem;align-items:flex-start}
.case__n{font-family:"Archivo",sans-serif;font-weight:800;color:var(--gold);font-size:1rem;padding-top:.25rem}
.case__head h3{font-family:"Archivo",sans-serif;font-weight:800;color:var(--navy);font-size:1.35rem;line-height:1.2}
.case__where{margin-bottom:.9rem}
.tag{display:inline-block;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;background:var(--navy);color:#fff;padding:.3rem .7rem;margin-right:.4rem}
.case ul{list-style:none;margin-bottom:1rem}
.case li{position:relative;padding-left:1.4rem;margin-bottom:.5rem}
.case li::before{content:"";position:absolute;left:0;top:.7em;width:.6rem;height:2px;background:var(--gold)}
.case__result{background:#f4f6f9;border-left:3px solid var(--gold);padding:.8rem 1rem;color:var(--navy);font-size:.95rem}
.job__meta .when{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:.3rem}
.job__meta .where{color:var(--steel);font-size:.88rem;margin-top:.2rem}
.job__sum{color:var(--steel)}
.tools{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2.4rem}
.tools span{border:1px solid #cfd6df;color:var(--navy);padding:.5rem 1rem;font-size:.85rem;background:#fff}
.cred a{color:var(--navy)}
@media (max-width:860px){
  .navlinks{display:none}
  .profile{grid-template-columns:1fr 1fr}
  .profile__item:nth-child(2){border-right:none}
  .impact{grid-template-columns:1fr 1fr}
  .case{grid-template-columns:1fr;gap:1rem;padding:1.6rem}
}
@media (max-width:520px){.impact{grid-template-columns:1fr}}
.articles{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.article{display:block;text-decoration:none;border:1px solid var(--line);padding:1.8rem;transition:.25s;background:#fff}
.article:hover{border-color:var(--navy);transform:translateY(-2px);box-shadow:0 10px 30px rgba(15,27,45,.08)}
.article__tag{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:600}
.article h3{font-family:"Archivo",sans-serif;font-weight:800;color:var(--navy);font-size:1.2rem;line-height:1.25;margin:.6rem 0}
.article p{color:var(--steel);font-size:.95rem;margin-bottom:1rem}
.article__more{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);font-weight:600}
.creds{grid-template-columns:repeat(4,1fr)!important;row-gap:2rem}
@media (max-width:860px){.articles{grid-template-columns:1fr}.creds{grid-template-columns:1fr 1fr!important}}
@media (max-width:520px){.creds{grid-template-columns:1fr!important}}

/* ---------- Stories index (writing page) ---------- */
.stories-intro{color:#6b5f56;max-width:52ch;margin:-1.6rem 0 2.6rem;font-size:1.02rem}
.story-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}
.story-card{display:flex;flex-direction:column;text-decoration:none;background:#fff;border:1px solid #ece3d5;padding:2rem 2rem 1.8rem;transition:transform .25s,box-shadow .25s,border-color .25s}
.story-card:hover,.story-card:focus-visible{transform:translateY(-3px);border-color:#d9c6ad;box-shadow:0 14px 34px rgba(43,36,32,.08)}
.story-card:first-child{grid-column:1/-1}
.story-card__meta{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--rust);font-weight:600}
.story-card h3{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:clamp(1.7rem,3vw,2.2rem);line-height:1.1;margin:.6rem 0 .8rem;color:#2b2420}
.story-card p{font-family:"Source Serif 4",Georgia,serif;font-size:1.02rem;line-height:1.65;color:#5a4e46;flex:1}
.story-card__cta{margin-top:1.4rem;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:#2b2420;font-weight:600;display:inline-flex;gap:.5rem;transition:gap .25s}
.story-card:hover .story-card__cta{gap:.9rem}
@media (max-width:760px){.story-grid{grid-template-columns:1fr}.story-card{padding:1.6rem 1.4rem}}

/* ---------- Story reading pages ---------- */
.reader{--bg:var(--cream);--fg:#2b2420;--muted:#7a6d63;--hair:#e2d8c8;--accent:var(--rust);background:var(--bg);color:var(--fg);transition:background .3s,color .3s}
html[data-theme="night"] .reader{--bg:#1d1916;--fg:#e9e1d6;--muted:#a3968a;--hair:#3a322c;--accent:#e0a27f}
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:30;background:transparent}
.progress span{display:block;height:100%;width:0;background:var(--accent)}
.readbar{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--hair);color:var(--fg)!important;padding-top:.9rem;padding-bottom:.9rem}
.readbar .home{font-weight:600}
.readbar__tools{display:flex;gap:.4rem}
.tool{font:inherit;background:none;border:1px solid var(--hair);color:var(--fg);width:2.4rem;height:2.4rem;border-radius:50%;cursor:pointer;font-size:.95rem;letter-spacing:0;text-transform:none;display:inline-flex;align-items:center;justify-content:center;transition:border-color .2s}
.tool:hover{border-color:var(--fg)}
.tool span{font-size:.7em}
.story{max-width:40rem;margin:0 auto;padding:clamp(2.5rem,7vw,5rem) clamp(1.3rem,5vw,2rem) 3rem}
.story__head{text-align:center;margin-bottom:clamp(2.2rem,6vw,3.5rem)}
.story__head .kicker{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);font-weight:600}
.story__head h1{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:clamp(2.6rem,8vw,4.4rem);line-height:1.02;margin:.8rem 0 1rem}
.story__head .byline{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.25rem;color:var(--muted)}
.story__head .byline::before,.story__head .byline::after{content:"";display:inline-block;width:2rem;height:1px;background:var(--hair);vertical-align:middle;margin:0 .8rem}
.story__text{font-family:"Source Serif 4",Georgia,serif;font-size:1.14rem;line-height:1.78;font-optical-sizing:auto;hyphens:manual;overflow-wrap:break-word}
html[data-size="l"] .story__text{font-size:1.28rem}
html[data-size="xl"] .story__text{font-size:1.44rem}
.story__text p{margin:0}
.story__text p+p{text-indent:1.6em}
.story__text p:first-child::first-letter{float:left;font-family:"Cormorant Garamond",serif;font-size:4.1em;line-height:.8;padding:.06em .1em 0 0;color:var(--accent)}
.story__text .scene-break{text-align:center;text-indent:0;color:var(--accent);margin:1.8em 0;letter-spacing:.4em}
.story__text .scene-break+p{text-indent:0}
.story__text em{font-style:italic}
.story__end{text-align:center;color:var(--accent);margin:3rem 0 2.5rem;font-size:1rem}
.prevnext{display:grid;grid-template-columns:1fr 1fr;gap:1rem;border-top:1px solid var(--hair);padding-top:2rem}
.pn{display:block;text-decoration:none;padding:1.2rem 1.3rem;border:1px solid var(--hair);transition:border-color .2s}
.pn:hover{border-color:var(--fg)}
.pn--next{text-align:right}
.pn--empty{border:none}
.pn__label{display:block;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:600}
.pn__title{display:block;font-family:"Cormorant Garamond",serif;font-weight:600;font-size:1.45rem;line-height:1.15;margin-top:.35rem}
.story__back{text-align:center;margin-top:2rem;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}
.story__back a{color:var(--muted)}
@media (max-width:560px){
  .story__text{font-size:1.06rem;line-height:1.72}
  html[data-size="l"] .story__text{font-size:1.18rem}
  html[data-size="xl"] .story__text{font-size:1.32rem}
  .prevnext{grid-template-columns:1fr}
  .pn--empty{display:none}
  .pn--next{text-align:left}
  .readbar{font-size:.72rem}
}
.story__text .beat{height:1.78em}
.story__text .beat+p{text-indent:0}

/* ---------- Portfolio v3 ---------- */
.impact{grid-template-columns:repeat(3,1fr)}
.article-list{list-style:none;margin:0 0 2rem;border-top:1px solid var(--line)}
.article-list li{font-family:"Archivo",sans-serif;font-weight:800;color:var(--navy);font-size:1.1rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}
.btn--navy{background:var(--navy);color:#fff}
.btn--navy:hover{background:var(--navy-2)}
.contact h2{margin-bottom:2rem}
.pro-hero h1{margin-bottom:2rem}
.contact__email{margin-top:1.6rem;font-size:1rem;letter-spacing:.02em}.contact__email a{color:#c9d3e0;user-select:all}
