
:root{--cream:#f5f1e8;--cream2:#ebe4d7;--ink:#171916;--muted:#686b62;--olive:#34392d;--red:#dd221b;--line:rgba(23,25,22,.14);--white:#fffefa;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
.site-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;height:78px;padding:0 max(28px,calc((100vw - var(--max))/2));background:rgba(245,241,232,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:10px;justify-self:start;font-size:13px;letter-spacing:.15em;font-weight:850}.brand img{width:34px;height:24px;object-fit:contain}
nav{display:flex;gap:34px;font-size:13px;color:#44483f}nav a,.text-link{transition:opacity .2s ease}nav a:hover,.text-link:hover{opacity:.55}
.nav-cta{justify-self:end;font-size:12px;font-weight:800;letter-spacing:.04em;border-bottom:2px solid var(--red);padding:8px 0 6px}
.hero{min-height:calc(100svh - 78px);max-width:var(--max);margin:0 auto;padding:7vw 28px 6vw;display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:56px}
.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.19em;font-size:11px;font-weight:850;color:var(--red)}
.hero h1{font-size:clamp(62px,7.6vw,116px);line-height:.85;letter-spacing:-.065em;margin:22px 0 28px;font-weight:900;max-width:720px}.hero h1 span{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:500;letter-spacing:-.07em}
.hero-lede{font-size:clamp(18px,2vw,22px);line-height:1.55;color:#4e524a;max-width:590px;margin:0}
.hero-actions{display:flex;align-items:center;gap:30px;margin-top:38px}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 22px;border-radius:999px;font-size:13px;font-weight:800;transition:transform .2s ease,opacity .2s ease,background .2s ease}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--ink);color:var(--white)}.button.ghost{border:1px solid rgba(255,255,255,.35);color:white}.text-link{font-size:13px;font-weight:750}.text-link span{color:var(--red)}
.hero-art{min-height:610px;position:relative;display:grid;place-items:center;overflow:hidden}.hero-art img{position:relative;z-index:3;width:min(650px,100%);filter:drop-shadow(0 24px 34px rgba(20,20,17,.06))}.sun-disc{position:absolute;width:430px;height:430px;border-radius:50%;background:#e5dccb;top:50%;left:50%;transform:translate(-50%,-52%)}.mountain-lines{position:absolute;width:110%;opacity:.16;fill:none;stroke:var(--olive);stroke-width:3;stroke-linejoin:round;stroke-linecap:round;z-index:1}
.statement-band{min-height:72px;background:var(--ink);color:var(--white);display:flex;justify-content:center;align-items:center;gap:clamp(18px,4vw,58px);padding:18px 24px;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:800}.statement-band span{color:var(--red)}
.section{max-width:var(--max);margin:0 auto;padding:120px 28px}.story-grid{display:grid;grid-template-columns:1.08fr .72fr;gap:10vw;margin-top:26px;align-items:start}
.story h2,.section-heading h2,.principles h2,.updates h2{margin:0;font-size:clamp(42px,5.5vw,76px);line-height:.98;letter-spacing:-.045em}
.story-copy{padding-top:10px;font-family:Georgia,"Times New Roman",serif;font-size:20px;line-height:1.65;color:#4e514a}.story-copy p{margin:0 0 22px}
.built-for{padding-top:70px}.section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:40px;margin-bottom:42px}.section-heading .section-label{grid-column:1/-1}.section-heading p{max-width:430px;font-size:17px;line-height:1.55;color:var(--muted);margin:0 0 7px auto}
.use-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.use-card{min-height:330px;padding:30px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}.use-card h3{font-size:24px;margin:auto 0 10px}.use-card p{color:var(--muted);line-height:1.55;margin:0;font-size:14px}
.icon-wrap{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--cream2)}.icon-wrap svg{width:35px;height:35px;fill:none;stroke:var(--ink);stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.principles{padding-top:40px}.principles-card{background:var(--olive);color:white;border-radius:30px;padding:clamp(36px,5vw,70px);display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}.section-label.light{color:#f36b5f}.principles h2{font-size:clamp(38px,4.3vw,66px);margin-top:24px}
.principle-list>div{display:grid;grid-template-columns:46px 1fr;column-gap:14px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.15)}.principle-list>div:first-child{padding-top:0}.principle-list>div:last-child{border-bottom:0;padding-bottom:0}.principle-list span{color:#f36b5f;font-size:11px;font-weight:850}.principle-list h3{margin:-5px 0 8px;font-size:20px}.principle-list p{grid-column:2;color:rgba(255,255,255,.68);margin:0;line-height:1.55;font-size:14px}
.updates{padding-top:130px;padding-bottom:130px}.updates-inner{display:grid;grid-template-columns:120px 1fr 240px;gap:44px;align-items:center;padding:42px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.updates-mark{width:105px}.updates h2{font-size:clamp(34px,4vw,58px);margin:16px 0 18px}.updates p{color:var(--muted);line-height:1.6;max-width:670px}.updates-actions{display:grid;gap:10px}.updates-actions .ghost{color:var(--ink);border-color:var(--line)}.small-note{font-size:11px!important;margin:4px 0 0!important}
footer{max-width:var(--max);margin:0 auto;padding:32px 28px 48px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:28px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.footer-brand{color:var(--ink);display:flex;align-items:center;gap:10px;letter-spacing:.14em;font-size:11px}.footer-brand img{width:34px}.copyright{text-align:right}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto;height:70px;padding:0 20px}nav{display:none}.nav-cta{font-size:11px}.hero{min-height:auto;grid-template-columns:1fr;padding:80px 22px 60px;gap:20px}.hero-art{min-height:440px;grid-row:1}.hero-art img{width:min(500px,96%)}.sun-disc{width:330px;height:330px}.hero-copy{grid-row:2}.hero h1{font-size:clamp(62px,17vw,94px)}.story-grid,.section-heading,.principles-card{grid-template-columns:1fr;gap:30px}.section-heading p{margin-left:0}.use-grid{grid-template-columns:1fr 1fr}.updates-inner{grid-template-columns:90px 1fr}.updates-actions{grid-column:2;width:min(320px,100%)}footer{grid-template-columns:1fr}.copyright{text-align:left}}
@media(max-width:560px){.brand span{display:none}.hero-art{min-height:350px}.sun-disc{width:260px;height:260px}.statement-band{gap:13px;overflow:hidden;justify-content:flex-start;white-space:nowrap}.section{padding:88px 20px}.story-copy{font-size:18px}.use-grid{grid-template-columns:1fr}.use-card{min-height:250px}.principles-card{border-radius:22px;padding:32px 24px}.updates-inner{grid-template-columns:1fr}.updates-mark{width:80px}.updates-actions{grid-column:1}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}}


/* v2: complete logo treatment + waitlist */
.brand { min-width: 190px; }
.brand .header-logo {
  width: 190px;
  height: 58px;
  object-fit: contain;
  object-position: left center;
}
.simple-hero-art { min-height: 570px; }
.simple-hero-art img {
  position: relative;
  z-index: 3;
  width: min(690px, 100%);
  max-height: 500px;
  object-fit: contain;
  filter: drop-shadow(0 24px 34px rgba(20,20,17,.06));
}
.simple-hero-art .sun-disc {
  width: 450px;
  height: 450px;
  opacity: .75;
}

.waitlist { padding-top: 40px; padding-bottom: 70px; }
.waitlist-card {
  border-radius: 30px;
  background: var(--ink);
  color: var(--white);
  display: grid;
  grid-template-columns: 1fr .88fr;
  gap: 7vw;
  align-items: center;
  padding: clamp(38px, 5.5vw, 72px);
  overflow: hidden;
  position: relative;
}
.waitlist-card::after {
  content: "";
  position: absolute;
  width: 340px;
  height: 340px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
  right: -120px;
  top: -170px;
}
.waitlist h2 {
  margin: 18px 0;
  font-size: clamp(40px, 5vw, 68px);
  line-height: .96;
  letter-spacing: -.045em;
}
.waitlist-copy p {
  max-width: 620px;
  margin: 0;
  color: rgba(255,255,255,.68);
  line-height: 1.62;
  font-size: 16px;
}
.waitlist-form { position: relative; z-index: 2; }
.email-row {
  display: grid;
  grid-template-columns: 1fr auto;
  background: white;
  border-radius: 999px;
  padding: 6px;
  gap: 6px;
}
.email-row input {
  min-width: 0;
  border: 0;
  outline: none;
  border-radius: 999px;
  padding: 0 18px;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: 14px;
}
.email-row input::placeholder { color: #858880; }
.email-row button {
  border: 0;
  cursor: pointer;
  border-radius: 999px;
  background: var(--red);
  color: white;
  padding: 14px 20px;
  font: inherit;
  font-size: 12px;
  font-weight: 850;
}
.form-note {
  margin: 11px 8px 0;
  color: rgba(255,255,255,.52);
  font-size: 11px;
  line-height: 1.5;
}
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}
.updates-actions { align-content: start; }

@media(max-width:900px) {
  .brand { min-width: 145px; }
  .brand .header-logo { width: 150px; height: 48px; }
  .simple-hero-art { min-height: 420px; }
  .simple-hero-art .sun-disc { width: 330px; height: 330px; }
  .waitlist-card { grid-template-columns: 1fr; gap: 34px; }
}
@media(max-width:560px) {
  .brand span { display: initial; }
  .brand .header-logo { width: 132px; height: 44px; }
  .simple-hero-art { min-height: 340px; }
  .simple-hero-art .sun-disc { width: 250px; height: 250px; }
  .email-row { grid-template-columns: 1fr; border-radius: 18px; padding: 7px; }
  .email-row input { min-height: 48px; }
  .email-row button { min-height: 48px; }
}

.form-status {
  min-height: 1.4em;
  margin: 10px 8px 0;
  font-size: 12px;
  font-weight: 700;
}
.form-status.success { color: #b9e8b0; }
.form-status.error { color: #ff9a91; }
.email-row button:disabled {
  cursor: wait;
  opacity: .72;
}

/* v4: exact user-supplied Cutty logos only */
.brand .header-logo {
  width: 185px;
  height: 54px;
  object-fit: contain;
  object-position: left center;
}
.simple-hero-art img {
  width: min(720px, 100%);
  max-height: 460px;
  object-fit: contain;
}
.updates-mark {
  object-fit: contain;
}
.footer-brand img {
  object-fit: contain;
}

/* v5 hero logo correction: exact supplied badge, displayed once */
.simple-hero-art img {
  width: min(600px, 96%);
  max-height: 560px;
  object-fit: contain;
}

/* v6: social buttons all black */
.updates-actions .button {
  background: var(--ink);
  color: var(--white);
  border: 0;
}
