@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--ink:#24141d;--plum:#4b2037;--rose:#b76b83;--cream:#fbf4ef;--gold:#b99a6a;--muted:#735e68;--dark:#1b1118}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}.nav{height:76px;display:flex;align-items:center;gap:32px;padding:0 5vw;background:#fffaf7;position:sticky;top:0;z-index:20;border-bottom:1px solid #eadfd9}.brand{font:600 22px 'Playfair Display';letter-spacing:.06em}.brand i{color:var(--rose);font-weight:500}.nav nav{display:flex;gap:24px;margin-left:auto}.nav nav a{font-size:14px}.nav nav a:hover,.nav nav a.active{color:var(--rose)}.shop,.btn{border-radius:999px;padding:12px 20px;background:var(--plum);color:white;font-size:13px;font-weight:600}.hero{min-height:calc(100vh - 76px);position:relative;background:url('assets/hero.webp') center/cover no-repeat;display:flex;align-items:center;padding:7vw}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,11,18,.78) 0%,rgba(24,11,18,.48) 44%,rgba(24,11,18,.05) 75%)}.hero-copy{position:relative;z-index:2;max-width:680px;color:#fff}.kicker{letter-spacing:.18em;font-size:11px;font-weight:600;color:var(--rose)}h1,h2,h3{font-family:'Playfair Display',serif;font-weight:500;margin:.25em 0}h1{font-size:clamp(56px,7vw,105px);line-height:.9}h1 em,h2 em,h3 em{color:#e7a3b6;font-weight:500}.hero p.intro{font-size:18px;line-height:1.65;max-width:610px}.actions{display:flex;gap:12px;margin-top:30px}.btn.alt{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.5)}.home-intro{padding:90px 7vw;text-align:center;max-width:1100px;margin:auto}.home-intro h2,.page-copy h1{font-size:clamp(42px,5vw,70px)}.home-intro>p{font-size:18px;line-height:1.8;color:var(--muted)}.gateways{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#fff}.gate{min-height:600px;position:relative;background-size:cover;background-position:center;display:flex;align-items:end;padding:55px;color:#fff;overflow:hidden}.gate:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,9,15,.85),rgba(20,9,15,.05) 70%)}.gate.real{background:radial-gradient(circle at 78% 20%,rgba(231,163,182,.28),transparent 35%),linear-gradient(135deg,#6b3650,#2a1722)}.gate.fiction{background:radial-gradient(circle at 22% 20%,rgba(185,154,106,.22),transparent 35%),linear-gradient(135deg,#2b1a28,#0e0b10)}.gate div{position:relative;z-index:1;max-width:560px}.gate h2{font-size:48px}.gate p{line-height:1.65}.feature{padding:100px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.feature img{width:100%;max-height:680px;object-fit:cover;border-radius:4px}.feature h2{font-size:56px}.feature p{color:var(--muted);line-height:1.8}.page-hero{min-height:70vh;display:grid;grid-template-columns:1.05fr .95fr;background:#fff}.page-photo{height:70vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#1b1118}.page-photo img{width:100%;height:100%;object-fit:contain;object-position:center}.portrait-seated .page-photo{background:#eee5df}.portrait-seated .page-photo img{object-fit:cover;object-position:center 42%}.journal-photo .page-photo{background:#eee5df}.journal-photo .page-photo img{object-fit:cover;object-position:center}.fiction-photo .page-photo{background:#160f13}.page-copy{padding:8vw 7vw;display:flex;flex-direction:column;justify-content:center}.page-copy p{line-height:1.8;color:var(--muted);font-size:17px}.cards{padding:80px 7vw;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{background:white;padding:32px;min-height:250px;border:1px solid #eadfd9}.card span{font-size:11px;letter-spacing:.16em;color:var(--rose)}.card h3{font-size:30px}.card p{line-height:1.7;color:var(--muted)}.journal-list{max-width:1000px;margin:auto;padding:70px 7vw}.journal-item{padding:35px 0;border-bottom:1px solid #dbcac2}.journal-item h2{font-size:36px}.journal-item p{color:var(--muted);line-height:1.7}.contact-grid{padding:80px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.contact-grid img{width:100%;max-height:700px;object-fit:cover}.contact-grid h1{font-size:64px}footer{padding:42px 7vw;background:var(--dark);color:#e9deda;display:flex;justify-content:space-between;align-items:center;font-size:13px}@media(max-width:800px){.nav nav{display:none}.shop{margin-left:auto}.hero{background-position:58% center}.hero:after{background:rgba(24,11,18,.55)}.gateways,.feature,.page-hero,.contact-grid{grid-template-columns:1fr}.gate{min-height:480px}.feature{padding:65px 6vw}.page-photo{height:62vh}.cards{grid-template-columns:1fr}.page-copy{padding:60px 7vw}footer{gap:15px;flex-direction:column;align-items:flex-start}}

/* V5: landscape photography framing */
.page-photo{
  height:clamp(420px,58vw,720px);
  width:100%;
  overflow:hidden;
  background:#eee5df;
}
.page-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 30%;
}
.portrait-full .page-photo img,
.fiction-photo .page-photo img,
.journal-photo .page-photo img{
  object-position:center 28%;
}
/* Keep Brianna's eyes comfortably inside the visible crop */
.contact-grid img{
  width:100%;
  height:100%;
  max-height:720px;
  object-fit:cover;
  object-position:center 18%;
}
@media(max-width:800px){
  .page-photo{height:58vw;min-height:300px}
  .page-photo img{object-position:center 24%}
  .contact-grid img{height:auto;max-height:none;object-fit:contain;object-position:center top}
}

/* V6 crop corrections: move image content DOWN so faces remain fully visible */
.portrait-seated .page-photo img{
  object-position:center 15%;
}
.contact-grid img{
  object-position:center 5%;
}
@media(max-width:800px){
  .portrait-seated .page-photo img{object-position:center 10%}
  .contact-grid img{object-position:center top}
}

/* V7 final image placement */
.portrait-full .page-photo,
.fiction-photo .page-photo,
.journal-photo .page-photo{
    aspect-ratio:16 / 9;
    height:auto;
    max-height:none;
    background:transparent;
}
.portrait-full .page-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
}
.fiction-photo .page-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 42%;
}
.journal-photo .page-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 34%;
}
/* Retain the corrected face-safe framing from V6 */
.portrait-seated .page-photo img{object-position:center 15%;}
.contact-grid img{object-position:center 5%;}

@media(max-width:800px){
    .portrait-full .page-photo,
    .fiction-photo .page-photo,
    .journal-photo .page-photo{
        aspect-ratio:16 / 9;
        min-height:0;
        height:auto;
    }
    .portrait-full .page-photo img{object-position:center center;}
    .fiction-photo .page-photo img{object-position:center 38%;}
    .journal-photo .page-photo img{object-position:center 30%;}
    .portrait-seated .page-photo img{object-position:center 10%;}
    .contact-grid img{object-position:center top;}
}

/* V9 Journal hero: preserve the deliberate headroom in the approved image */
.journal-photo .page-photo img{
    object-position:center center;
}
@media(max-width:800px){
    .journal-photo .page-photo img{
        object-position:center center;
    }
}


/* V11 About page expansion */
.about-story{padding:90px 7vw;display:grid;grid-template-columns:1.15fr .85fr;gap:70px;max-width:1400px;margin:auto;align-items:start}
.about-story h2{font-size:clamp(38px,4.5vw,60px)}
.about-story p,.about-close p{font-size:17px;line-height:1.85;color:var(--muted)}
.ai-note{background:#fff;padding:42px;border:1px solid #eadfd9}
.ai-note h2{margin-top:.25em}
.about-close{max-width:920px;margin:0 auto;padding:0 7vw 100px;text-align:center}
@media(max-width:800px){.about-story{grid-template-columns:1fr;padding:65px 7vw;gap:40px}.ai-note{padding:30px}.about-close{padding-bottom:70px}}


/* V12: Real Life Payhip bookshop */
.bookshop{padding:85px 7vw 100px;background:#fffaf7;}
.bookshop-intro{max-width:820px;margin:0 auto 42px;text-align:center;}
.bookshop-intro h2{font-size:clamp(38px,5vw,58px);}
.bookshop-intro>p:last-child{font-size:17px;line-height:1.8;color:var(--muted);}
.payhip-wrap{max-width:1100px;margin:0 auto;background:#fff;padding:24px;border:1px solid #eadfd9;border-radius:4px;}
@media(max-width:800px){.bookshop{padding:60px 6vw 70px}.payhip-wrap{padding:10px;}}

/* V13 Journal articles */
.journal-live h2 a:hover{color:var(--rose)}
.journal-read{display:inline-block;margin-top:8px;color:var(--plum);font-weight:600;font-size:14px}
.article-page{background:#fffaf7}
.article-header{max-width:980px;margin:0 auto;padding:90px 7vw 45px;text-align:center}
.article-header h1{font-size:clamp(48px,6vw,82px);line-height:1.02}
.article-deck{max-width:720px;margin:24px auto 0;font:500 clamp(20px,2.2vw,28px) 'Playfair Display',serif;color:var(--muted);line-height:1.45}
.article-image{max-width:1100px;margin:0 auto 65px;padding:0 7vw}
.article-image img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center center}
.article-image figcaption{font-size:12px;color:var(--muted);margin-top:10px;text-align:center}
.article-body{max-width:780px;margin:0 auto;padding:0 7vw 65px}
.article-body p{font-size:18px;line-height:1.9;color:#493640;margin:0 0 1.45em}
.article-body h2{font-size:clamp(32px,4vw,45px);margin:1.65em 0 .55em;color:var(--ink)}
.article-body strong{color:var(--ink)}
.article-end{max-width:900px;margin:0 auto 90px;padding:50px 7vw;text-align:center;border-top:1px solid #dbcac2;border-bottom:1px solid #dbcac2}
.article-end h2{font-size:clamp(34px,4vw,48px)}
.article-end p{color:var(--muted);font-size:17px;line-height:1.75;margin-bottom:30px}
@media(max-width:800px){.article-header{padding-top:60px}.article-image{margin-bottom:45px}.article-body p{font-size:17px}.article-end{margin-bottom:60px}}
