/* Pies By Mike — Coming Soon. Matches the main site's design tokens. */
@font-face { font-family: "Fraunces"; src: url(fonts/fraunces-normal.woff2) format("woff2"); font-weight: 400 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Fraunces"; src: url(fonts/fraunces-italic.woff2) format("woff2"); font-weight: 400 800; font-style: italic; font-display: swap; }
@font-face { font-family: "Albert Sans"; src: url(fonts/albertsans-normal.woff2) format("woff2"); font-weight: 400 700; font-style: normal; font-display: swap; }

:root {
  --cream: #FBF4E8; --paper: #FFFDF8; --choc: #3A2218; --choc-2: #4A2D20; --strip: #2A1912; --caramel: #C69A6B; --crust: #8A5A33;
  --red: #B3202A; --red-deep: #8E1820; --sage: #2E6A3E; --muted: #6B5546;
  --line: rgb(58 34 24 / .14); --line-light: rgb(255 253 248 / .22);
  --gingham: repeating-linear-gradient(90deg, rgb(179 32 42 / .55) 0 14px, transparent 14px 28px),
             repeating-linear-gradient(0deg, rgb(179 32 42 / .55) 0 14px, transparent 14px 28px), var(--paper);
  --f-display: "Fraunces", Georgia, "Times New Roman", serif;
  --f-text: "Albert Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --shadow: 0 10px 30px -12px rgb(58 34 24 / .35);
  --ease: cubic-bezier(.2, .7, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--choc); color: var(--paper); font: 400 1.0625rem/1.6 var(--f-text); min-height: 100svh; overflow-x: clip; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--caramel); text-underline-offset: .18em; }
a:hover { color: var(--paper); }
:focus-visible { outline: 3px solid var(--red); outline-offset: 3px; border-radius: 4px; }
h1, h2 { font-family: var(--f-display); font-weight: 600; line-height: 1.05; margin: 0; letter-spacing: -.01em; }
h1 i, h2 i { font-style: italic; font-weight: 500; color: var(--caramel); }
p { margin: 0; }

.wrap { width: 100%; max-width: 900px; margin-inline: auto; padding-inline: clamp(1.25rem, 5vw, 2.5rem); }
.sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.page { position: relative; min-height: 100svh; display: grid; grid-template-rows: 1fr auto; isolation: isolate; }
.bg-pic { position: fixed; inset: 0; z-index: -2; }
.bg-pic img { width: 100%; height: 100%; object-fit: cover; }
.bg-shade { position: fixed; inset: 0; z-index: -1; background:
  linear-gradient(180deg, rgb(30 16 10 / .55) 0%, rgb(30 16 10 / .72) 45%, rgb(30 16 10 / .92) 100%); }

main { display: grid; align-content: center; justify-content: center; text-align: center; padding-block: clamp(3rem, 10vh, 6rem) 2rem; }
.logo-mark { width: clamp(72px, 10vw, 104px); height: clamp(72px, 10vw, 104px); margin-inline: auto; margin-bottom: 1.5rem; }
.kicker { font: 700 .8125rem/1.3 var(--f-text); letter-spacing: .14em; text-transform: uppercase; color: var(--caramel); margin-bottom: 1rem; }
.h1 { font-size: clamp(2.5rem, 7vw, 5.5rem); }
.h1 .ln { display: block; }
.lead { font-size: clamp(1.125rem, 2vw, 1.375rem); max-width: 34em; margin: 1.5rem auto 0; color: rgb(255 253 248 / .9); }
.lead b { color: var(--paper); }

.launch { margin: 2.25rem auto 0; display: inline-flex; align-items: center; gap: .75rem; background: rgb(255 253 248 / .08); border: 1px solid var(--line-light); border-radius: 999px; padding: .85rem 1.5rem; }
.launch .live-dot { width: .6em; height: .6em; border-radius: 50%; background: var(--sage); flex: none; box-shadow: 0 0 0 0 rgb(46 106 62 / .5); animation: pulse 2.4s infinite; }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgb(46 106 62 / .55); } 70% { box-shadow: 0 0 0 .6em rgb(46 106 62 / 0); } 100% { box-shadow: 0 0 0 0 rgb(46 106 62 / 0); } }
.launch-t { font: 700 1.0625rem var(--f-text); letter-spacing: .02em; }
.launch-t i { font-style: normal; color: var(--caramel); }

.btn-row { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin-top: 2.25rem; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 50px; padding: .8rem 1.5rem; border-radius: 999px; border: 2px solid var(--paper); background: transparent; color: var(--paper);
  font: 700 1rem/1.1 var(--f-text); text-decoration: none; cursor: pointer; transition: transform .2s var(--ease), background-color .2s, color .2s; }
.btn:hover { transform: translateY(-2px); color: var(--paper); }
.btn-red { background: var(--red); border-color: var(--red); }
.btn-red:hover { background: var(--red-deep); border-color: var(--red-deep); }
.btn .i { width: 1.2em; height: 1.2em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }

.tagline { margin-top: 2.5rem; font: 500 1.25rem/1.4 var(--f-display); color: rgb(255 253 248 / .85); }
.tagline i { color: var(--caramel); }

footer { position: relative; z-index: 1; }
.gingham-band { height: 20px; background: var(--gingham); }
.foot { display: grid; gap: 1rem; justify-content: center; text-align: center; padding-block: 2rem 2.5rem; }
footer address { font-style: normal; display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem 1.25rem; font-size: .9375rem; }
footer address a { color: rgb(255 253 248 / .85); text-decoration: none; }
footer address a:hover { color: var(--caramel); }
.social { display: flex; justify-content: center; gap: .6rem; }
.social a { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; border: 1.5px solid var(--line-light); border-radius: 50%; color: var(--paper); }
.social a:hover { color: var(--caramel); border-color: var(--caramel); }
.social .i { width: 1.1rem; height: 1.1rem; fill: currentColor; stroke: none; }
.fine { font-size: .8125rem; color: rgb(255 253 248 / .6); }

@media (max-width: 560px) {
  .launch { flex-wrap: wrap; justify-content: center; text-align: center; padding: .85rem 1.25rem; }
}
