  :root{
    --navy:#12224b;
    --navy-2:#1d3a8a;
    --blue:#2450d6;
    --pink:#e5327f;
    --ink:#20242c;
    --grey:#5c6270;
    --line:#e6e8ee;
    --bg:#ffffff;
    --serif:'Cormorant Garamond', Georgia, serif;
    --sans:'Inter', system-ui, sans-serif;
    --script:'Caveat', cursive;
    --hand:'Patrick Hand', 'Comic Sans MS', cursive;
    --type:'Cutive Mono', monospace;
    --fs-2xs:12px;
    --fs-xs:13px;
    --fs-title-md:30px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .wrap{max-width:1240px;margin:0 auto;padding:0 32px}
  .doodle{display:inline-block;vertical-align:middle}

  /* ---------- NAV ---------- */
  header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;max-width:1400px;margin:0 auto}
  .brand{font-family:var(--serif);font-weight:600;font-size:26px;line-height:1;letter-spacing:.14em;color:var(--ink)}
  .brand span{display:block}
  .nav-right{display:flex;align-items:center;gap:20px}
  .nav-links{display:flex;gap:34px;list-style:none}
  .nav-links a{font-size:var(--fs-xs);font-weight:600;letter-spacing:.11em;color:var(--grey);position:relative;padding-bottom:4px;transition:color .2s}
  .nav-links a:hover{color:var(--ink)}
  .nav-links a.active{color:var(--blue)}
  .nav-links a.active::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--blue)}
  .nav-star{width:22px;height:22px;color:var(--pink)}
  .menu-btn{display:none;background:none;border:none;font-size:26px;cursor:pointer;color:var(--ink)}

  /* ---------- HERO ---------- */
  .hero{border-bottom:1px solid var(--line);padding-top:70px}
  .hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:0 0 56px}
  .hero-photo{display:flex;flex-direction:column;align-items:center;gap:8px}
  .hero-banner{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:5px;box-shadow:0 20px 50px rgba(18,34,75,.16);background:linear-gradient(135deg,#eef1f6,#e3e8f0)}
  .hero-banner > img{width:100%;height:100%;object-fit:contain;object-position:center}
  .hero-text{text-align:left}
  .tagline{font-family:var(--type);font-size:15px;color:var(--pink);letter-spacing:.01em;line-height:1.5;text-align:center;position:relative;display:inline-block;margin-bottom:0}
  .tagline .squiggle{display:block;width:180px;height:10px;color:var(--pink);margin-top:2px;margin-inline:auto}
  .tagline .moto{position:absolute;right:-46px;bottom:6px;width:40px;color:var(--pink)}
  .tagline .heart-sm{position:absolute;right:-58px;bottom:24px;width:16px;color:var(--pink)}
  .hero-quote{font-family:var(--script);color:var(--pink);font-size:27px;line-height:1.3;margin-bottom:12px;display:block}
  .hero-quote-below{margin:20px 0 0}
  h1.big{font-family:var(--hand);font-weight:400;font-size:clamp(40px,4.6vw,68px);line-height:1;letter-spacing:.5px;color:var(--ink);margin-bottom:26px;position:relative;display:inline-block}
  h1.big .dot{color:inherit}
  h1.big .u{position:absolute;left:0;bottom:-2px;width:52%;height:9px;color:var(--blue)}
  .hero-copy{text-align:left;max-width:560px}
  .hero-copy p{font-size:16px;color:var(--grey);margin-bottom:15px}
  .script{font-family:var(--script);color:var(--blue);font-size:36px;line-height:1;display:inline-block;position:relative;margin:8px 0 22px}
  .script .u{position:absolute;left:0;bottom:-8px;width:100%;height:9px;color:var(--blue)}
  .btn{display:inline-flex;align-items:center;gap:14px;background:#fff;color:var(--blue);font-size:var(--fs-xs);font-weight:600;letter-spacing:.14em;padding:16px 26px;border:1px solid var(--blue);transition:background .2s,color .2s,transform .2s,box-shadow .2s}
  .btn:hover{background:var(--blue);color:#fff;transform:translateY(-2px);box-shadow:0 10px 24px rgba(18,34,75,.16)}
  .hero-btns{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px}
  /* note above hero photo */
  .anno{align-self:flex-start;text-align:left}
  .anno .lines{font-family:var(--script);font-size:28px;line-height:1.3;color:var(--pink)}
  .anno .lines span{display:block}
  .anno .lines span:nth-child(2){margin-left:46px}
  .anno .lines span:nth-child(3){margin-left:92px}
  .anno .arrow{width:52px;height:52px;color:var(--pink);margin:6px 0 0 78px}

  /* ---------- TRIPTYCH (homepage: status + extracts) ---------- */
  .triptych{display:grid;grid-template-columns:.9fr 1.6fr;gap:52px;padding:64px 0;border-bottom:1px solid var(--line)}
  .eyebrow{font-size:var(--fs-2xs);font-weight:600;letter-spacing:.18em;color:var(--blue);margin-bottom:16px}
  .eyebrow.center{text-align:center}
  .eyebrow .star{width:16px;height:16px;color:var(--blue);margin-left:6px}
  .col-title{font-family:var(--serif);font-size:27px;line-height:1.15;color:var(--ink);margin-bottom:20px}
  .col-title.center{text-align:center;margin-bottom:24px}

  .status-col{border-right:1px solid var(--line);padding:0 48px 0 4px}
  .status-item{display:flex;gap:15px;margin-bottom:22px;align-items:flex-start}
  .status-item .ico{font-size:22px;line-height:1;color:var(--navy);flex-shrink:0;width:28px;text-align:center}
  .status-item .lbl{font-size:var(--fs-xs);color:var(--grey)}
  .status-item .val{font-family:var(--script);font-size:23px;color:var(--blue);line-height:1.1}
  .status-item .val .heart-sm{width:15px;color:var(--pink);margin-left:4px}
  .updated{border-top:1px solid var(--line);margin-top:6px;padding-top:14px;text-align:center;font-size:var(--fs-2xs);color:var(--grey)}

  .read-col{position:relative}
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .card .thumb{aspect-ratio:4/3;background:#e7ebf2;overflow:hidden;margin-bottom:13px}
  .card .thumb img{width:100%;height:100%;object-fit:cover}
  .thumb-note{display:flex;align-items:center;justify-content:flex-start;padding:22px 20px 22px 40px;position:relative;
    background-color:#fdfcf6;
    background-image:
      linear-gradient(90deg, transparent 0, transparent 26px, #f0b8c4 26px, #f0b8c4 27px, transparent 27px),
      repeating-linear-gradient(#fdfcf6 0, #fdfcf6 27px, #cfd8ea 28px, #fdfcf6 29px);
    box-shadow:inset 0 0 24px rgba(18,34,75,.05)}
  .thumb-note-mark{position:absolute;top:2px;left:44px;font-family:var(--serif);font-size:40px;color:var(--pink);opacity:.45}
  .thumb-note-text{font-family:var(--script);font-size:19px;line-height:27px;color:var(--navy);text-align:left}
  .card h4{font-size:var(--fs-xs);font-weight:700;letter-spacing:.05em;color:var(--navy);margin-bottom:7px;line-height:1.3}
  .card p{font-size:var(--fs-xs);color:var(--grey);margin-bottom:11px}
  .card .more{font-size:var(--fs-xs);font-weight:600;color:var(--blue)}
  .more-soon{position:absolute;right:-22px;top:70px;font-family:var(--script);color:var(--pink);font-size:25px;line-height:1.1;transform:rotate(-4deg)}
  .more-soon .arrow{display:block;width:60px;height:40px;color:var(--pink);margin-top:2px;transform:rotate(6deg)}

  /* ---------- BOOK PAGE ---------- */
  .book-page{max-width:720px;margin:0 auto;padding:70px 0 84px}
  .book-lead{font-family:var(--serif);font-size:clamp(30px,4.4vw,48px);line-height:1.12;color:var(--ink);text-align:center;margin-bottom:36px}
  .book-mug{position:relative;width:96px;height:120px;margin:0 auto 44px;color:#9aa2b4}
  .book-mug svg{width:96px;height:120px}
  .book-mug-txt{position:absolute;left:13px;top:44px;width:70px;text-align:center;font-family:var(--hand);font-size:12px;line-height:1.2;color:#6b7284}
  .book-photos{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 auto 44px;max-width:460px}
  .book-photos img{width:100%;height:200px;object-fit:contain;background:#fff;border-radius:5px;box-shadow:0 12px 34px rgba(18,34,75,.14)}
  .book-body p{font-size:16.5px;color:var(--grey);line-height:1.75;margin-bottom:18px}
  .book-body .strong{color:var(--ink);font-weight:600;font-size:17.5px}
  .book-body .accent{color:var(--pink);font-family:var(--script);font-size:28px;line-height:1.35;margin-top:8px}
  .book-back{display:inline-flex;align-items:center;gap:10px;margin-top:36px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.12em;color:var(--blue)}

  /* ---------- WRITING PAGE ---------- */
  .writing-page{max-width:900px;margin:0 auto;padding:66px 0 88px}
  .writing-hero{text-align:center;max-width:600px;margin:0 auto 56px}
  .writing-title{font-family:var(--serif);font-size:clamp(34px,5vw,54px);line-height:1.08;color:var(--ink);margin:6px 0 18px}
  .writing-intro{font-size:16px;color:var(--grey);line-height:1.7}
  .writing-intro .script{font-family:var(--script);color:var(--blue);font-size:26px;display:block;margin-top:10px}
  .pieces{display:flex;flex-direction:column;gap:38px}
  .piece{position:relative;background:#fff;border:1px solid var(--line);border-radius:5px;box-shadow:0 12px 34px rgba(18,34,75,.07);padding:46px 52px}
  .piece-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}
  .piece-tag{font-size:var(--fs-2xs);font-weight:600;letter-spacing:.16em;color:var(--blue);border:1px solid #d5ddf5;background:#f3f6fe;border-radius:20px;padding:5px 14px}
  .piece-tag.poem{color:var(--pink);border-color:#f6cfe0;background:#fdf1f7}
  .piece-meta{font-size:var(--fs-2xs);color:var(--grey)}
  .piece-title{font-family:var(--serif);font-size:var(--fs-title-md);line-height:1.15;color:var(--ink);margin-bottom:6px}
  .piece-title .pinkline{display:block;width:120px;height:7px;color:var(--pink);margin:8px auto 0}
  .piece.poem-piece{text-align:center}
  .poem p{font-family:var(--serif);font-size:19.5px;line-height:1.55;color:var(--ink);margin:0 auto 22px;max-width:500px}
  .poem p:last-child{margin-bottom:0}
  .poem .close{font-family:var(--script);color:var(--pink);font-size:24px}
  .prose{max-width:660px}
  .prose p{font-size:15.5px;line-height:1.85;color:#3f4654;margin-bottom:15px}
  .prose p.lead{font-size:17px;color:var(--ink)}
  .prose .end{font-family:var(--script);color:var(--pink);font-size:24px;margin-top:4px}
  .category-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
  .category-card{background:#fff;border:1px solid var(--line);border-radius:5px;box-shadow:0 12px 34px rgba(18,34,75,.07);padding:44px 36px;text-align:center;transition:transform .2s,box-shadow .2s}
  .category-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(18,34,75,.12)}
  .category-card .piece-tag{margin-bottom:18px;display:inline-block}
  .category-card h3{font-family:var(--serif);font-size:var(--fs-title-md);color:var(--ink);margin-bottom:10px}
  .category-card p{font-size:14.5px;color:var(--grey);line-height:1.65;margin-bottom:18px}
  .category-card .more{font-size:var(--fs-xs);font-weight:600;color:var(--blue)}
  .back-link{display:inline-flex;align-items:center;gap:10px;margin-bottom:34px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.12em;color:var(--blue)}

  /* ---------- CONTACT PAGE ---------- */
  .contact-page{max-width:900px;margin:0 auto;padding:70px 0 90px;text-align:center}
  .contact-title{font-family:var(--serif);font-size:clamp(34px,5vw,54px);line-height:1.08;color:var(--ink);margin:6px 0 44px}
  .contact-card{display:grid;grid-template-columns:auto 1fr;gap:56px;align-items:center;text-align:left;max-width:720px;margin:0 auto}
  .contact-photo{position:relative;width:300px;flex-shrink:0}
  .contact-photo img{width:300px;height:390px;object-fit:cover;object-position:center;box-shadow:0 14px 34px rgba(18,34,75,.18);border-radius:3px}
  .contact-photo .heart-sm{position:absolute;right:-16px;top:-14px;width:30px;color:var(--pink)}
  .contact-lead{font-size:17px;color:var(--grey);line-height:1.7;margin-bottom:28px;max-width:320px}
  .contact-page .socials a{font-size:17px;margin-bottom:20px}
  .contact-page .socials .sq{width:30px;height:30px}

  /* ---------- ABOUT ---------- */
  .about{display:grid;grid-template-columns:auto 1.5fr 1fr;gap:52px;align-items:center;padding:0 0 72px;border-bottom:1px solid var(--line)}
  .about-photo{position:relative;width:210px;padding-bottom:30px}
  .about-photo .main{width:210px;height:250px;background:#ddd;overflow:hidden;filter:grayscale(1);box-shadow:0 6px 20px rgba(18,34,75,.12)}
  .about-photo .main img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
  .about-photo .polaroid{position:absolute;right:-34px;bottom:-4px;width:118px;background:#fff;padding:7px 7px 20px;box-shadow:0 8px 22px rgba(18,34,75,.22);transform:rotate(6deg);border-radius:2px}
  .about-photo .polaroid img{width:100%;height:118px;object-fit:contain;background:#fff;display:block}
  .about-text .eyebrow{color:var(--blue)}
  .about-text p{font-size:14.5px;color:var(--grey);margin-bottom:15px;max-width:520px}
  .quote{font-family:var(--script);font-size:33px;color:var(--ink);line-height:1.22;position:relative}
  .quote .qmark{color:var(--pink);font-size:44px;font-family:var(--serif);position:absolute;left:-26px;top:-10px}
  .quote .qmark-end{color:var(--pink);font-family:var(--serif);margin-left:6px}
  .quote .pinkline{display:block;width:180px;height:8px;color:var(--pink);margin-top:2px}
  .quote .heart-sm{width:17px;color:var(--pink);margin-left:8px}
  .about-right{display:flex;flex-direction:column;gap:16px}
  .socials a{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--ink);font-weight:500;margin-bottom:14px}
  .socials .sq{width:26px;height:26px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;border-radius:5px;font-size:var(--fs-xs);font-weight:700}
  .ps{font-family:var(--script);font-size:22px;color:var(--ink);line-height:1.2;position:relative;padding-bottom:8px}
  .ps .pinkline{display:block;width:150px;height:7px;color:var(--pink);margin-top:1px}

  /* ---------- FOOTER ---------- */
  footer{background:var(--navy);color:#dfe3ee}
  .foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:26px;padding:24px 32px;max-width:1400px;margin:0 auto}
  .foot .heart{color:var(--pink);width:30px}
  .foot h5{color:#fff;font-size:15px;margin-bottom:3px}
  .foot .sub{font-size:var(--fs-2xs);color:#aeb6cc;max-width:270px}
  .subscribe{display:flex}
  .subscribe input{border:none;padding:14px 16px;font-size:var(--fs-xs);min-width:270px;font-family:var(--sans)}
  .subscribe button{background:var(--blue);color:#fff;border:none;padding:0 26px;font-size:var(--fs-2xs);font-weight:600;letter-spacing:.12em;cursor:pointer;transition:background .2s}
  .subscribe button:hover{background:var(--navy-2)}
  .foot-right{text-align:right;font-size:var(--fs-2xs);color:#aeb6cc}
  .foot-right .heart-sm{width:30px;color:var(--pink);margin-left:5px;vertical-align:middle}

  /* Newsletter signup (Brevo) */
  .sib-form{width:100%}
  .sib-form-container{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}
  :where(.sib-form-message-panel){display:none}
  .sib-form-message-panel{font-family:var(--sans);font-size:var(--fs-2xs);text-align:left;padding:8px 12px;border-radius:4px;max-width:300px}
  .sib-form-message-panel--error{color:#661d1d;background:#ffeded;border:1px solid #ff4949}
  .sib-form-message-panel--success{color:#085229;background:#e7faf0;border:1px solid #13ce66}
  .sib-form-message-panel__text{display:flex;align-items:center;gap:6px}
  :where(.sib-notification__icon){width:16px;height:16px;flex-shrink:0}
  #sib-container{width:auto;max-width:none}
  #sib-form>div,.sib-input,.sib-form-block,.form__entry,.entry_block,.form__label-row,.entry__field{display:contents}
  .subscribe .input--hidden{display:none}
  .subscribe .entry__error{display:none;font-family:var(--sans)}
  .subscribe .sib-hide-loader-icon{display:none}

  /* ---------- RESPONSIVE ---------- */
  @media(max-width:1024px){
    .triptych{grid-template-columns:1fr;gap:42px}
    .status-col{border:none;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
    .about{grid-template-columns:1fr;text-align:center;justify-items:center}
    .about-text p{margin-inline:auto}
    .about-right{align-items:center}
    .quote .pinkline{margin-left:auto;margin-right:auto}
    .quote .qmark{position:relative;left:0;top:-6px}
    .hero-grid{grid-template-columns:1fr;gap:36px}
    .hero-photo{order:-1;max-width:520px;margin:0 auto}
    .hero-text{text-align:center}
    .hero-copy{text-align:left;margin:0 auto}
    .anno{align-self:center;text-align:center}
    .anno .lines span{margin-left:0 !important}
    .anno .arrow{display:none}
  }
  @media(max-width:820px){
    .nav-links{display:none}
    .menu-btn{display:block}
    .hero{padding-top:44px}
    .hero-text{padding:36px 24px 48px}
    .tagline .moto,.tagline .heart-sm{display:none}
    .foot{flex-direction:column;text-align:center;gap:18px}
    .foot-right{text-align:center}
    .subscribe{width:100%}.subscribe input{min-width:0;flex:1}
    .sib-form-container{width:100%}
    .more-soon{display:none}
    .book-page{padding:48px 0 64px}
    .writing-page{padding:44px 0 60px}
    .piece{padding:32px 26px}
    .piece-title{font-size:26px}
    .contact-page{padding:44px 0 64px}
    .contact-card{grid-template-columns:1fr;gap:32px;text-align:center;justify-items:center}
    .contact-lead{margin-inline:auto}
    .contact-page .socials a{justify-content:center}
  }
  @media(max-width:560px){.cards{grid-template-columns:1fr}.wrap{padding:0 20px}.category-cards{grid-template-columns:1fr}.book-photos{grid-template-columns:1fr}.book-photos img{height:180px}}
