/* Ulta Baba. Light violet-white daylight, an ink night side, gold only on the night side.
   The one big idea: a card that turns from day to night, the way he turns a belief over. */
@font-face{font-family:"Fraunces";font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/fraunces-opsz.woff2) format("woff2");}
@font-face{font-family:"Fraunces";font-style:italic;font-weight:100 900;font-display:swap;src:url(fonts/fraunces-opsz-italic.woff2) format("woff2");}
@font-face{font-family:"Spectral";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/spectral-latin-400-normal.woff2) format("woff2");}
@font-face{font-family:"Spectral";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/spectral-latin-400-italic.woff2) format("woff2");}

:root{
  --day:#f6f3fa;          /* page */
  --lilac:#dccff0;        /* the day side of the card */
  --ink:#1b1625;          /* text and the night side */
  --soft:#59506a;         /* quiet text */
  --violet:#4a2f7c;       /* links and marks on light */
  --gold:#F4AB43;         /* brand gold, only on the night side */
  --glint:#FBD46A;
  --night-soft:#cdc4dc;
  --rule:rgba(27,22,37,0.16);
  --display:"Fraunces",Georgia,serif;
  --body:"Spectral",Georgia,serif;
  --pad:clamp(22px,5vw,48px);
  --wide:1120px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{margin:0;background:var(--day);color:var(--ink);font-family:var(--body);font-size:19.5px;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-wrap:break-word;}
a{color:var(--violet);text-underline-offset:3px;}
img{max-width:100%;height:auto;}
p{margin:0 0 20px;}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--day);padding:10px 14px;z-index:9;}
.skip:focus{left:8px;top:8px;}
:focus-visible{outline:3px solid var(--violet);outline-offset:3px;}
.wrap{max-width:var(--wide);margin:0 auto;padding:0 var(--pad);}
h2{font-family:var(--display);font-weight:500;font-variation-settings:"opsz" 72;font-size:clamp(1.9rem,4.6vw,2.7rem);line-height:1.12;margin:0 0 18px;letter-spacing:-0.005em;}
.sub{color:var(--soft);}

/* buttons */
.btn{display:inline-block;font-family:var(--body);font-size:1rem;line-height:1.2;padding:0.85em 1.5em;border:1.5px solid var(--ink);background:var(--ink);color:var(--day);text-decoration:none;border-radius:999px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;}
.btn:hover{background:var(--violet);border-color:var(--violet);}
.btn.line{background:transparent;color:var(--ink);}
.btn.line:hover{background:var(--ink);color:var(--day);border-color:var(--ink);}
.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--ink);}
.btn.gold:hover{background:var(--glint);border-color:var(--glint);}

/* ---------- top: wordmark and the turning card ---------- */
.hero{padding:clamp(28px,5vw,56px) 0 clamp(36px,6vw,72px);}
.hero .wrap{display:grid;gap:clamp(28px,5vw,48px);align-items:center;}
@media(max-width:899px){.brand{display:contents;}.brand>*{order:1;}.hero .stage{order:2;}.brand>.go{order:3;}.hero .wrap{gap:0;}.tagline{margin:18px 0 26px;}.brand .logo{margin-bottom:14px;}.go{margin-top:26px !important;}}
@media(min-width:900px){.hero .wrap{grid-template-columns:minmax(0,5fr) minmax(0,7fr);}}
.brand .logo{width:clamp(96px,16vw,148px);height:auto;display:block;margin:0 0 18px;}
.wordmark{margin:0;font-family:var(--display);font-weight:500;font-variation-settings:"opsz" 144;font-size:clamp(3.2rem,9vw,5.6rem);line-height:0.92;letter-spacing:-0.015em;}
.wordmark .u1{display:block;}
.wordmark .u2{display:block;transform:scaleY(-1);opacity:0.2;margin-top:-0.05em;user-select:none;}
.tagline{font-size:1.22rem;color:var(--soft);margin:22px 0 26px;max-width:22em;}
.brand .go{display:flex;flex-wrap:wrap;gap:12px;margin:0;}

/* the stage */
.stage{margin:0;}
.turn{display:block;width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer;color:inherit;font:inherit;perspective:1400px;-webkit-tap-highlight-color:transparent;}
.turn .inner{display:grid;position:relative;}
.face{grid-area:1/1;display:flex;align-items:center;min-height:clamp(250px,34vw,360px);padding:clamp(26px,4.5vw,52px);font-family:var(--display);font-weight:500;font-variation-settings:"opsz" 96;font-size:clamp(1.85rem,4.4vw,2.9rem);line-height:1.14;letter-spacing:-0.005em;border-radius:6px;}
.face.front{background:var(--lilac);color:var(--ink);}
.face.back{background:var(--ink);color:var(--gold);}
.js .turn .inner{transition:transform .7s cubic-bezier(.3,.7,.2,1);transform-style:preserve-3d;}
.js .face{-webkit-backface-visibility:hidden;backface-visibility:hidden;}
.js .face.back{transform:rotateX(180deg);}
.turn.is-turned .inner{transform:rotateX(180deg);}
.no-js-hide{display:none;}
.js .turn:focus-visible{outline:3px solid var(--violet);outline-offset:6px;border-radius:8px;}
.stagebar{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:14px 2px 0;font-style:italic;color:var(--soft);font-size:1rem;}
.stagebar button{font:inherit;font-style:normal;background:none;border:0;border-bottom:1.5px solid var(--violet);color:var(--violet);padding:2px 0;cursor:pointer;}
.stagebar button:hover{color:var(--ink);border-color:var(--ink);}
@media(prefers-reduced-motion:reduce){.js .turn .inner{transition:none;}}

/* ---------- join: the night band ---------- */
.band{background:var(--ink);color:var(--day);padding:clamp(40px,6vw,72px) 0;}
.band .wrap{display:grid;gap:26px;align-items:center;}
@media(min-width:900px){.band .wrap{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:56px;}}
.band h2{color:var(--day);margin:0 0 10px;}
.band .lead{color:var(--night-soft);margin:0;}
.signup{display:flex;flex-wrap:wrap;gap:10px;margin:0;}
.signup input[type=email]{flex:1 1 230px;min-width:0;font-family:var(--body);font-size:16px;padding:0.95em 1.2em;border:1.5px solid #8a7fa0;background:var(--day);color:var(--ink);border-radius:999px;}
.signup input[type=email]::placeholder{color:#6d6480;}
.signup .btn{flex:0 0 auto;min-height:48px;}
.band .alt{margin:14px 0 0;font-size:0.97rem;color:var(--night-soft);}
.band .alt a,.band .thanks a{color:var(--gold);}
.band .thanks{margin:0;color:var(--day);}
.band :focus-visible{outline-color:var(--gold);}

/* ---------- about ---------- */
.about{padding:clamp(48px,8vw,104px) 0;}
.about .wrap{display:grid;gap:22px;}
@media(min-width:900px){.about .wrap{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;}.about h2{position:sticky;top:32px;align-self:start;}}
.about .first{font-family:var(--display);font-variation-settings:"opsz" 36;font-size:1.34rem;line-height:1.5;margin-bottom:20px;}
.about p:last-child{margin-bottom:0;}

/* ---------- books: shown large, no boxes ---------- */
.books{padding:0 0 clamp(52px,8vw,104px);}
.books .intro{max-width:34em;margin-bottom:clamp(28px,5vw,48px);}
.shelf{display:grid;gap:clamp(34px,5vw,48px);}
@media(min-width:900px){.shelf{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3.4vw,52px);}}
.book{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.5fr);gap:20px;align-items:start;}
@media(min-width:900px){.book{display:block;}}
.book img{display:block;width:100%;height:auto;border-radius:3px;}
.book .kicker{font-style:italic;color:var(--violet);font-size:0.98rem;margin:0 0 4px;}
.book h3{font-family:var(--display);font-weight:500;font-variation-settings:"opsz" 48;font-size:1.5rem;line-height:1.2;margin:0 0 10px;}
@media(min-width:900px){.book .cover{margin-bottom:18px;}}
.book p.blurb{color:var(--soft);font-size:1rem;line-height:1.65;margin:0 0 12px;}
.book .meta{font-size:0.95rem;margin:0 0 14px;}
.stores{display:flex;flex-wrap:wrap;gap:8px;}
.stores .btn{font-size:0.9rem;padding:0.6em 1.15em;background:transparent;color:var(--ink);}
.stores .btn:hover{background:var(--ink);color:var(--day);border-color:var(--ink);}
.stores .btn.primary{background:var(--ink);color:var(--day);}
.stores .btn.primary:hover{background:var(--violet);border-color:var(--violet);}
.buylabel{display:block;font-style:italic;color:var(--soft);font-size:0.92rem;margin-bottom:8px;}
.worldwide{margin:clamp(26px,4vw,40px) 0 0;color:var(--soft);}

/* ---------- the pull line ---------- */
.pull{padding:0 0 clamp(52px,8vw,104px);}
.pull blockquote{margin:0;font-family:var(--display);font-style:italic;font-weight:400;font-variation-settings:"opsz" 120;font-size:clamp(2rem,5.6vw,3.9rem);line-height:1.1;color:var(--violet);max-width:17em;letter-spacing:-0.01em;}
.pull cite{display:block;margin-top:18px;font-family:var(--body);font-size:1rem;color:var(--soft);}

/* ---------- where he came from ---------- */
.maker{padding:clamp(40px,7vw,88px) 0;border-top:1px solid var(--rule);}
.maker .wrap{display:grid;gap:22px;}
@media(min-width:900px){.maker .wrap{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;}.maker h2{position:sticky;top:32px;align-self:start;}}
.maker .opening{font-family:var(--display);font-variation-settings:"opsz" 36;font-size:1.34rem;line-height:1.5;margin-bottom:20px;}
.maker .signoff{margin:6px 0 0;padding-top:14px;border-top:1px solid var(--rule);}
.maker .name{font-family:var(--display);font-size:1.1rem;}

/* ---------- footer ---------- */
footer.dark{background:var(--ink);color:var(--day);padding:clamp(44px,7vw,80px) 0 clamp(36px,5vw,52px);}
footer.dark .wrap{display:grid;gap:30px;}
footer.dark .sign{font-family:var(--display);font-style:italic;font-weight:400;font-variation-settings:"opsz" 96;font-size:clamp(1.7rem,4.4vw,2.6rem);line-height:1.15;margin:0;max-width:20em;color:var(--day);}
footer.dark .attrib{margin:6px 0 0;color:var(--night-soft);font-size:0.97rem;}
footer.dark .follow{color:var(--night-soft);font-size:0.97rem;line-height:1.7;max-width:38em;margin:0;}
footer.dark .channels,footer.dark .channels li{list-style:none;margin:0;padding:0;}
footer.dark .channels{display:flex;flex-wrap:wrap;gap:6px 24px;font-size:1.05rem;}
footer.dark .channels li::marker{content:"";}
footer.dark .channels a{color:var(--gold);text-decoration:none;}
footer.dark .channels a:hover{color:var(--glint);text-decoration:underline;}
footer.dark .fine{margin:0;font-size:0.9rem;line-height:1.9;color:var(--night-soft);border-top:1px solid rgba(205,196,220,0.22);padding-top:22px;}
footer.dark .fine a{color:var(--day);}
footer.dark :focus-visible{outline-color:var(--gold);}

/* ---------- quiet pages ---------- */
.page{max-width:660px;margin:0 auto;padding:clamp(36px,7vw,72px) var(--pad) clamp(40px,6vw,64px);}
.page .back{font-size:0.95rem;color:var(--violet);text-decoration:none;}
.page .back:hover{text-decoration:underline;}
.page h1{font-family:var(--display);font-weight:500;font-variation-settings:"opsz" 96;font-size:clamp(2.2rem,6.4vw,3.2rem);margin:26px 0 10px;line-height:1.08;}
.page .stand{color:var(--soft);font-style:italic;margin:0 0 30px;}
.page h2{font-size:1.4rem;margin:30px 0 10px;}
.page .quote{font-family:var(--display);font-variation-settings:"opsz" 36;font-size:1.3rem;line-height:1.55;margin:0 0 22px;}
.page .signoff{color:var(--soft);}
.cform .field{margin-bottom:18px;}
.cform label{display:block;font-size:0.95rem;color:var(--soft);margin-bottom:6px;}
.cform input[type=text],.cform input[type=email],.cform textarea{width:100%;font-family:var(--body);font-size:16px;padding:0.85em 1em;border:1.5px solid var(--rule);background:#fff;color:var(--ink);border-radius:8px;}
.cform textarea{min-height:170px;resize:vertical;line-height:1.6;}
.cform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.cform .status{margin-top:18px;}

/* Safari and iPhone */
input,textarea,button{-webkit-appearance:none;appearance:none;margin:0;}
@media(max-width:560px){.signup{flex-direction:column;}.signup input[type=email],.signup .btn{flex:none;width:100%;text-align:center;}}
