/*
Theme Name: Margaret MacKenzie
Theme URI: https://margaretmackenziebooks.com
Author: Astris Publishing LTD
Description: Custom theme for the Margaret MacKenzie author site. Dark paranormal romance identity: ink, silver and heather, with a continuous night-sky background.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.0
License: Proprietary
Text Domain: margaret-mackenzie
*/

/* ==========================================================================
   Fonts. Birds of Paradise is licensed from Hero Fonts.
   The file shipped here must be the FULL licensed version. The personal use
   cut replaces every digit 0-9 with the foundry's logo.
   ========================================================================== */

@font-face{
  font-family:"Birds of Paradise";
  src:url(assets/fonts/birds-of-paradise.woff2) format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
}

:root{
  --ink:#07060C;
  --ink-2:#0C0A14;
  --silver:#C7CAD4;
  --silver-bright:#EEF0F6;
  --silver-dim:#8E93A1;
  --heather:#9A6FCB;
  --heather-lift:#B88FE4;
  --glass:rgba(24,19,34,.5);
  --glass-2:rgba(30,24,42,.38);
  --edge:rgba(199,202,212,.13);
  --edge-lit:rgba(238,240,246,.075);
  --metal:linear-gradient(158deg,#EEF0F6 0%,#C7CAD4 36%,#8E93A1 57%,#E4E6EE 78%,#EEF0F6 100%);
  --script:"Birds of Paradise",Palatino,serif;
  --ui:"Archivo","Helvetica Neue",Arial,sans-serif;
  --serif:"EB Garamond",Georgia,serif;
  --r:26px;--r-sm:16px;
  --shadow:0 26px 80px -28px rgba(0,0,0,.85);
}

body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(46% 38% at 86% 20%,rgba(154,111,203,.13),transparent 66%),radial-gradient(52% 42% at 10% 70%,rgba(58,84,128,.12),transparent 70%);}
[hidden]{display:none!important;}
body{
  margin:0;
  background:var(--ink);
  color:var(--silver);
  font-family:var(--ui);
  font-size:1rem;font-weight:300;line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3{margin:0;font-weight:400;text-wrap:balance;}
p{margin:0 0 1em;max-width:60ch;}
p:last-child{margin-bottom:0;}
.dim{color:var(--silver-dim);}
.metal{background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent;}
.shell{max-width:1160px;margin:0 auto;padding-inline:20px;}
.narrow{max-width:780px;}

.script-xl{font-family:var(--script);font-weight:400;font-size:clamp(3.75rem,2rem + 8vw,7.5rem);line-height:1.06;color:var(--silver-bright);padding-bottom:.07em;}
.script-l{font-family:var(--script);font-weight:400;font-size:clamp(2.5rem,1.8rem + 3vw,3.75rem);line-height:1.16;color:var(--silver-bright);padding-bottom:.05em;}
.script-m{font-family:var(--script);font-weight:400;font-size:clamp(1.875rem,1.5rem + 1.5vw,2.375rem);line-height:1.22;color:var(--silver-bright);padding-bottom:.04em;}
.lede{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,1.1rem + .8vw,1.65rem);line-height:1.45;color:var(--silver-bright);margin:0;}
.label{font-size:.6875rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--silver-dim);}
.pill{display:inline-block;font-size:.6875rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--heather-lift);border:1px solid rgba(154,111,203,.4);background:rgba(154,111,203,.1);padding:7px 15px;border-radius:999px;}

.glass{background:var(--glass);-webkit-backdrop-filter:blur(26px) saturate(150%);backdrop-filter:blur(26px) saturate(150%);border:1px solid var(--edge);border-radius:var(--r);box-shadow:var(--shadow),inset 0 1px 0 var(--edge-lit);}
.glass-2{background:var(--glass-2);-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%);border:1px solid var(--edge);border-radius:var(--r-sm);box-shadow:inset 0 1px 0 var(--edge-lit);}

/* ================= NIGHT SCENE ================= */
.page{position:relative;overflow:clip;min-height:100vh;}
.atmos{
  position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  background:linear-gradient(180deg,
    #0B0917 0px,
    #130E24 26vh,
    #0E0A1B 62vh,
    #0A0813 100vh,
    #08070E 140vh,
    #07060C 185vh);
}
#stars{position:absolute;top:0;left:0;width:100%;height:min(170vh,1500px);display:block;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 52%,transparent 94%);
  mask-image:linear-gradient(180deg,#000 0%,#000 52%,transparent 94%);}
.moon{
  position:absolute;top:7%;right:7%;left:auto;
  width:min(238px,27vw);aspect-ratio:1;border-radius:50%;
  background:
    radial-gradient(circle at 62% 34%,rgba(190,175,215,.30) 0 9%,transparent 10%),
    radial-gradient(circle at 38% 60%,rgba(180,165,205,.26) 0 7%,transparent 8%),
    radial-gradient(circle at 55% 72%,rgba(185,170,210,.22) 0 5%,transparent 6%),
    radial-gradient(circle at 40% 34%,#F6F3FA 0%,#D9D3E8 46%,#A99EC4 78%,#8B80A8 100%);
  box-shadow:0 0 90px 24px rgba(184,143,228,.28),0 0 220px 70px rgba(122,86,170,.22);
}
.mist{position:absolute;left:-24%;right:-24%;top:34vh;height:150vh;pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 46%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 0%,#000 46%,transparent 100%);}
.mist i{position:absolute;inset:0;display:block;filter:blur(40px);}
.mist i:nth-child(1){background:radial-gradient(38% 26% at 26% 24%,rgba(154,111,203,.26),transparent 70%);animation:float 38s ease-in-out infinite alternate;}
.mist i:nth-child(2){background:radial-gradient(34% 24% at 76% 38%,rgba(58,84,128,.24),transparent 72%);animation:float 50s ease-in-out infinite alternate-reverse;}
.mist i:nth-child(3){background:radial-gradient(46% 20% at 48% 56%,rgba(154,111,203,.16),transparent 74%);}
@keyframes float{from{transform:translate3d(-2%,0,0) scale(1);}to{transform:translate3d(3%,-2%,0) scale(1.08);}}
.nav{position:sticky;top:14px;z-index:40;padding-inline:20px;margin-top:14px;}
.nav-in{width:max-content;max-width:100%;margin:0 auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:999px;}
.brand{font-family:var(--script);font-weight:400;font-size:2rem;line-height:1.3;border:0;padding:0;cursor:pointer;-webkit-appearance:none;appearance:none;}
.nav-links{display:flex;gap:6px;list-style:none;margin:0;padding:0;}
.nav-links li{list-style:none;}
.nav-links a,.nav-links button{display:block;text-decoration:none;font-family:var(--ui);font-size:.75rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--silver-dim);background:none;border:0;cursor:pointer;padding:9px 16px;border-radius:999px;}
.nav-links a:hover,.nav-links button:hover{color:var(--silver-bright);background:rgba(199,202,212,.06);}
.nav-links a[aria-current="page"],.nav-links .current-menu-item > a,.nav-links button[aria-current="page"]{color:var(--silver-bright);background:rgba(154,111,203,.2);}

/* ================= HERO ================= */
.hero{position:relative;z-index:1;background:transparent;min-height:min(88vh,860px);display:grid;align-items:center;margin-top:-96px;padding-top:96px;}
.hero-in{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;width:100%;gap:22px;padding-block:clamp(72px,12vw,150px) clamp(56px,9vw,110px);}
.hero-in .lede{max-width:30ch;}
.intro{font-family:var(--serif);font-size:clamp(1.0625rem,.98rem + .45vw,1.25rem);line-height:1.66;color:var(--silver-bright);max-width:56ch;margin:0 auto;text-align:center;}
.intro em{font-style:italic;color:var(--heather-lift);}
.sub-cta{font-family:var(--ui);font-size:clamp(.9375rem,.9rem + .25vw,1.0625rem);line-height:1.66;color:var(--silver);max-width:50ch;margin:26px auto 0;text-align:center;}
.logo{width:min(640px,88%);height:auto;display:block;transform:translateX(-3.1%);filter:drop-shadow(0 18px 46px rgba(0,0,0,.75));}
.join{display:flex;flex-direction:column;gap:13px;align-items:stretch;width:min(460px,100%);margin-inline:auto;}
.consent{display:flex;gap:10px;align-items:center;justify-content:center;text-align:left;cursor:pointer;align-self:center;width:max-content;max-width:100%;}
.consent input{appearance:none;-webkit-appearance:none;flex:none;width:18px;height:18px;border:1px solid rgba(199,202,212,.4);border-radius:5px;background:rgba(7,6,12,.6);cursor:pointer;position:relative;}
.consent input:checked{background:var(--heather);border-color:var(--heather);}
.consent input:checked::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #140E1F;border-width:0 2px 2px 0;transform:rotate(43deg);}
.consent input:focus-visible{outline:2px solid var(--heather);outline-offset:3px;}
.consent span{font-size:.8125rem;line-height:1.5;color:var(--silver-dim);}
.consent input:checked::after{top:3px;}
.inline-form{display:flex;flex-direction:column;gap:12px;width:100%;align-items:center;}
.inline-form input{width:min(370px,100%);align-self:center;}
input[type="email"]{
  font-family:var(--ui);font-size:1rem;font-weight:300;
  background:rgba(7,6,12,.6);color:var(--silver-bright);
  border:1px solid rgba(199,202,212,.22);border-radius:999px;
  padding:15px 22px;width:100%;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
input[type="email"]::placeholder{color:var(--silver-dim);}
.inline-form input[type="email"]{width:min(370px,100%);align-self:center;}
input[type="email"]:focus-visible{outline:2px solid var(--heather);outline-offset:2px;border-color:transparent;}
.btn{width:auto;align-self:center;font-family:var(--ui);font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;background:var(--heather);color:#140E1F;border:0;border-radius:999px;padding:14px 34px;cursor:pointer;box-shadow:0 12px 34px -12px rgba(154,111,203,.8);transition:background .18s ease,transform .18s ease;white-space:nowrap;}
.btn:hover{background:var(--heather-lift);transform:translateY(-1px);}
.btn:focus-visible{outline:2px solid var(--silver-bright);outline-offset:3px;}
.fineprint{font-size:.75rem;color:var(--silver-dim);line-height:1.55;margin:0;}
.thanks{font-family:var(--serif);font-style:italic;font-size:1.0625rem;color:var(--heather-lift);margin:0;}

/* ================= BANDS ================= */
.band{position:relative;z-index:2;padding-block:clamp(52px,7vw,96px);}
.band-head{display:flex;flex-direction:column;gap:12px;margin-bottom:34px;}

/* inbox strip: one panel, three columns, hairline separated */
.strip{display:grid;grid-template-columns:repeat(3,1fr);padding:clamp(10px,1.4vw,18px);}
.strip > div{padding:clamp(20px,2.4vw,30px);display:flex;flex-direction:column;gap:8px;}
.strip > div + div{border-left:1px solid var(--edge);}
.strip .n{font-size:.6875rem;font-weight:600;letter-spacing:.22em;color:var(--heather-lift);}
.strip p{font-size:.9375rem;margin:0;color:var(--silver-dim);}

/* arch frames */
.arch{
  position:relative;border-radius:50% 50% var(--r-sm) var(--r-sm) / 34% 34% var(--r-sm) var(--r-sm);
  border:1px solid rgba(199,202,212,.18);
  box-shadow:0 0 60px -14px rgba(154,111,203,.45),inset 0 1px 0 var(--edge-lit);
  overflow:hidden;background:#0A0812;
}
.arch::after{
  content:attr(data-slot);position:absolute;inset:auto 0 0 0;
  font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(199,202,212,.5);
  text-align:center;padding:10px 8px 14px;
  background:linear-gradient(transparent,rgba(7,6,12,.85));
}
.art-a{background:
  radial-gradient(52% 34% at 50% 20%,rgba(238,240,246,.5),transparent 58%),
  radial-gradient(70% 46% at 34% 74%,rgba(154,111,203,.42),transparent 72%),
  linear-gradient(180deg,#1B1430 0%,#0D0A18 100%);}
.art-b{background:
  radial-gradient(40% 26% at 68% 22%,rgba(238,240,246,.42),transparent 60%),
  radial-gradient(74% 50% at 40% 80%,rgba(58,84,128,.5),transparent 72%),
  linear-gradient(180deg,#141B2E 0%,#0B0A14 100%);}
.art-c{background:
  radial-gradient(46% 30% at 40% 24%,rgba(238,240,246,.36),transparent 60%),
  radial-gradient(72% 48% at 62% 78%,rgba(120,52,84,.46),transparent 74%),
  linear-gradient(180deg,#221426 0%,#0C0810 100%);}

/* split rows */
.split{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(30px,4.4vw,68px);align-items:center;}
.split.flip{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);}
.split.flip .split-media{order:2;}
.split-media{aspect-ratio:3/4;}
.split-copy{display:flex;flex-direction:column;gap:18px;align-items:flex-start;}

/* cover */
.cover-wrap{position:relative;width:min(280px,100%);}
.cover{
  aspect-ratio:2/3;border-radius:6px;border:1px solid rgba(199,202,212,.2);
  box-shadow:0 34px 70px -26px rgba(0,0,0,.95),0 0 70px -14px rgba(154,111,203,.5);
  display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:22px 20px;
  background:
    radial-gradient(46% 30% at 50% 18%,rgba(238,240,246,.42),transparent 58%),
    radial-gradient(80% 48% at 50% 86%,rgba(154,111,203,.36),transparent 72%),
    linear-gradient(180deg,#1A1330 0%,#090711 100%);
}
.cover .t{font-family:var(--script);font-weight:400;font-size:2rem;line-height:1.15;color:var(--silver-bright);}
.cover .a{font-size:.625rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(199,202,212,.62);}

/* quote break */
.quote{position:relative;z-index:2;text-align:center;padding-block:clamp(54px,8vw,110px);}
.quote .script-l{max-width:20ch;margin:0 auto;}
.quote .label{margin-top:18px;display:block;}

/* list rows */
.rows{display:flex;flex-direction:column;}
.rowitem{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:22px;align-items:center;padding:22px 4px;border-top:1px solid var(--edge);}
.rowitem:last-child{border-bottom:1px solid var(--edge);}
.thumb{width:64px;height:80px;border-radius:32px 32px 6px 6px / 22px 22px 6px 6px;border:1px solid rgba(199,202,212,.18);}
.rowitem h3{font-family:var(--script);font-weight:400;font-size:1.875rem;line-height:1.2;color:var(--silver-bright);}
.rowitem p{margin:0;font-size:.9375rem;color:var(--silver-dim);}
.rowitem .tag{font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--silver-dim);white-space:nowrap;}

/* signup band */
.joinband{padding:clamp(32px,4vw,56px);display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;}
.joinband-copy{font-family:var(--serif);font-size:clamp(1rem,.95rem + .3vw,1.125rem);line-height:1.65;color:var(--silver);max-width:50ch;margin:0;}

/* about */
.about-head{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;}
.about-sub{font-family:var(--serif);font-style:italic;font-size:clamp(1.125rem,1rem + .6vw,1.4rem);line-height:1.5;color:var(--heather-lift);max-width:34ch;margin:0;}
.portrait{aspect-ratio:4/5;}
.about-copy{display:flex;flex-direction:column;gap:16px;align-items:flex-start;}
.prose{padding:clamp(28px,3.4vw,46px);max-width:800px;margin:30px auto 0;}
.prose p{font-family:var(--serif);font-size:clamp(1.1875rem,1.08rem + .5vw,1.375rem);line-height:1.75;max-width:58ch;margin:0 auto 1.15em;}
.prose p:last-child{margin-bottom:0;}

/* footer */
.foot{position:relative;z-index:2;padding-block:40px 60px;}
.foot-in{display:flex;gap:16px 32px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:20px 28px;border-radius:999px;}
.doc{max-width:840px;margin:0 auto;padding:clamp(30px,4vw,54px);}
.doc .updated{font-family:var(--ui);font-size:.6875rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--silver-dim);margin:14px 0 30px;}
.doc h1{font-family:var(--serif);font-weight:600;font-size:clamp(1.875rem,1.6rem + 1.1vw,2.375rem);line-height:1.22;color:var(--silver-bright);margin:0;}
.doc h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.25rem,1.15rem + .5vw,1.5rem);line-height:1.35;color:var(--silver-bright);margin:36px 0 12px;}
.doc h3{font-family:var(--ui);font-weight:600;font-size:.9375rem;letter-spacing:.02em;color:var(--silver-bright);margin:26px 0 10px;}
.doc p,.doc li{font-family:var(--serif);font-size:1.0625rem;line-height:1.74;color:var(--silver);}
.doc p{margin:0 0 1.05em;max-width:none;}
.doc ul{margin:0 0 1.15em;padding-left:1.35em;}
.doc li{margin-bottom:.45em;}
.doc li::marker{color:var(--heather);}
.doc strong{color:var(--silver-bright);font-weight:400;}
.doc a{color:var(--heather-lift);text-decoration:none;border-bottom:1px solid rgba(184,143,228,.4);}
.doc a:hover{border-bottom-color:var(--heather-lift);}
.doc .note-inline{color:var(--silver-dim);font-size:.9375rem;}
.tablewrap{overflow-x:auto;margin:0 0 1.4em;}
.doc table{width:100%;border-collapse:collapse;font-family:var(--ui);font-size:.875rem;min-width:540px;}
.doc th{text-align:left;font-family:var(--ui);font-weight:600;font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--silver-dim);border-bottom:1px solid var(--edge);padding:0 18px 10px 0;}
.doc td{border-bottom:1px solid var(--edge);padding:13px 18px 13px 0;color:var(--silver);line-height:1.55;vertical-align:top;font-family:var(--ui);font-size:.875rem;font-weight:300;}
.doc th:last-child,.doc td:last-child{padding-right:0;}
.soon{padding:clamp(32px,4vw,56px);display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;}
.soon-copy{font-family:var(--serif);font-size:clamp(1.0625rem,.98rem + .45vw,1.25rem);line-height:1.72;color:var(--silver);max-width:50ch;margin:0;}
.legal{margin-top:20px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 0;}
.legal a{font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--silver-dim);text-decoration:none;padding:6px 13px;border-radius:999px;}
.legal a:hover{color:var(--silver-bright);background:rgba(199,202,212,.06);}
.legal a:focus-visible{outline:2px solid var(--heather);outline-offset:2px;}
.legal .sep{color:rgba(199,202,212,.26);font-size:.6875rem;line-height:1;}
.legal-co{margin:12px auto 0;text-align:center;font-size:.6875rem;line-height:1.7;color:rgba(199,202,212,.4);max-width:62ch;}
@media (max-width:560px){.legal .sep{display:none;}.legal a{padding:7px 11px;}}
.foot .brand-sm{font-family:var(--script);font-weight:400;font-size:1.5rem;line-height:1.3;}
.foot ul{display:flex;gap:4px;list-style:none;margin:0;padding:0;flex-wrap:wrap;}
.foot a{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--silver-dim);text-decoration:none;padding:7px 13px;border-radius:999px;}
.foot a:hover{color:var(--silver-bright);background:rgba(199,202,212,.06);}

label.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

@media (max-width:900px){
  .split,.split.flip,.about-hero,.joinband{grid-template-columns:1fr;}
  .split.flip .split-media{order:0;}
  .split-media,.portrait{max-width:340px;}
  .strip{grid-template-columns:1fr;}
  .strip > div + div{border-left:0;border-top:1px solid var(--edge);}
}
@media (max-width:560px){
  .logo{width:94%;}
  .moon{top:2%;right:4%;width:min(132px,23vw);}
  .nav-in{padding-left:18px;border-radius:var(--r);}
  .nav-links{margin-left:0;}
  .brand{font-size:1.75rem;}
  .rowitem{grid-template-columns:52px minmax(0,1fr);gap:16px;}
  .rowitem .tag{grid-column:2;}
  .thumb{width:52px;height:66px;}
  .foot-in{border-radius:var(--r);}
}
@media (prefers-reduced-motion:reduce){
  .mist i{animation:none;}
  *{transition:none!important;}
}

/* ---------- cookie consent ---------- */
.consent-bar{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:80;
  max-width:760px;margin:0 auto;
  padding:18px 22px;
  display:flex;gap:16px 24px;align-items:center;justify-content:space-between;flex-wrap:wrap;
}
.consent-bar-copy{font-family:var(--ui);font-size:.8125rem;line-height:1.6;color:var(--silver);margin:0;max-width:56ch;}
.consent-bar-copy a{color:var(--heather-lift);text-decoration:none;border-bottom:1px solid rgba(184,143,228,.4);}
.consent-bar-actions{display:flex;gap:10px;flex:none;}
.consent-bar .btn{width:auto;padding:11px 22px;font-size:.6875rem;}
.btn-quiet{background:transparent;color:var(--silver);border:1px solid rgba(199,202,212,.3);box-shadow:none;}
.btn-quiet:hover{background:rgba(199,202,212,.08);color:var(--silver-bright);}
.legal-reopen{text-align:center;margin:14px auto 0;max-width:none;}
.legal-reopen a{font-family:var(--ui);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--silver-dim);text-decoration:none;}
.legal-reopen a:hover{color:var(--silver-bright);}
@media (max-width:600px){
  .consent-bar{flex-direction:column;align-items:stretch;}
  .consent-bar-actions{justify-content:stretch;}
  .consent-bar-actions .btn{flex:1;}
}
