@font-face {
  font-family:Schibsted;
  src:url('/brand/fonts/schibsted-grotesk-latin.woff2') format('woff2');
  font-style:normal;
  font-weight:400 900;
  font-display:swap;
}
:root {
  --paper:#f8f2e8;
  --snow:#fffdf8;
  --ink:#163a32;
  --soft:#566a61;
  --orange:#c84d1c;
  --line:#dcd3c4;
  --sans:Schibsted,Arial,sans-serif;
}
* { box-sizing:border-box; }
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:16px/1.6 var(--sans);
  -webkit-font-smoothing:antialiased;
}
h1,p { margin:0; }
a { color:inherit; text-decoration:none; }
a:focus-visible,button:focus-visible,input:focus-visible {
  outline:3px solid var(--orange);
  outline-offset:5px;
}
.wrap { width:min(520px,calc(100% - 48px)); margin-inline:auto; }
.site-header { height:106px; display:flex; align-items:center; }
.wordmark {
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:27px;
  font-weight:750;
  letter-spacing:-1.3px;
  line-height:1;
}
.hero {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:calc(100svh - 106px);
  padding-block:48px 100px;
}
.hero-copy { width:100%; text-align:left; }
h1 {
  font-size:clamp(36px,4.2vw,56px);
  letter-spacing:-.06em;
  line-height:1.07;
  font-weight:750;
  text-wrap:balance;
}
h1 span { color:var(--orange); }
.keep-together { white-space:nowrap; }
.hero-description {
  margin-inline:0;
  margin-top:28px;
  font-size:19px;
  line-height:1.65;
}
.hero-description + .hero-description { margin-top:18px; }
.reassurance { margin-top:22px; font-size:18px; }
.phone-entry { margin:50px 0 0; }
.signup-heading { position:relative; margin-bottom:8px; }
.signup-heading label { display:block; max-width:calc(100% - 140px); font-size:19px; line-height:1.65; font-weight:400; letter-spacing:normal; }
.phone-field {
  display:flex;
  align-items:center;
  height:54px;
  border:1px solid #c8c8c5;
  border-radius:5px;
  background:var(--snow);
  overflow:hidden;
}
.phone-field>span { display:flex; gap:8px; align-items:center; flex-shrink:0; padding:0 12px; border-right:1px solid #dedee3; font-size:18px; }
.phone-field>span span { font-size:14px; color:var(--soft); }
.phone-field input { width:100%; min-width:0; border:0; outline:none; background:transparent; color:var(--ink); padding:12px; font:18px var(--sans); }
.phone-field input::placeholder { color:#6e7772; opacity:1; }
.phone-field:focus-within { outline:2px solid var(--ink); outline-offset:3px; }
.enter-button {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  width:100%;
  height:52px;
  border:0;
  border-radius:12px;
  margin-top:16px;
  background:var(--ink);
  color:var(--snow);
  font:600 16px var(--sans);
  cursor:pointer;
}
.enter-button:hover { background:#204e42; }
.enter-button:disabled { opacity:.6; cursor:wait; }
.phone-error { margin-top:12px; font-size:14px; color:#9d3116; }
.pilot-notice { margin-top:32px; font-size:17px; }
.pilot-notice a,.site-footer a,.policy-content a { text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.site-footer { padding-block:24px 40px; color:var(--soft); font-size:14px; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:24px; margin-bottom:12px; }
.policy-page { width:min(720px,calc(100% - 48px)); margin-inline:auto; }
.policy-content { padding-bottom:40px; }
.policy-content h1 { font-size:clamp(30px,6vw,44px); letter-spacing:-.04em; line-height:1.15; margin:20px 0 24px; }
.policy-content h2 { font-size:22px; line-height:1.3; margin:36px 0 12px; }
.policy-content p { margin:16px 0; }
.policy-draft { padding:16px; border:1px solid var(--line); border-radius:8px; color:var(--soft); }
.signup-mascot {
  position:absolute;
  bottom:-70px;
  right:-10px;
  width:140px;
  height:220px;
  object-fit:cover;
  pointer-events:none;
}
@media(max-width:900px) {
  h1 { font-size:clamp(34px,4.8vw,46px); }
}
@media(max-width:700px) {
  .site-header { height:86px; }
  .hero { display:block; padding-block:30px 40px; min-height:auto; }
  .hero-copy { width:100%; text-align:left; }
  h1 { max-width:560px; font-size:clamp(34px,7.2vw,48px); }
  .hero-description { margin-top:24px; font-size:17px; }
  .signup-heading label { font-size:17px; }
  .reassurance { font-size:17px; margin-top:20px; }
  .phone-entry { margin-top:48px; }
}
@media(max-width:380px) {
  .wrap { width:calc(100% - 40px); }
  h1 { font-size:32px; }
  .reassurance { max-width:calc(100% - 116px); }
  .phone-entry { margin-top:20px; }
  .signup-heading label { max-width:calc(100% - 112px); }
  .phone-field input { font-size:16px; padding-inline:10px; }
  .signup-mascot { width:128px; height:200px; bottom:-64px; right:-20px; }
}
