.shell{width:100%;max-width:none;margin-inline:auto;padding-inline:var(--page-gutter)}

.brand-logo{display:inline-flex;align-items:center;color:var(--color-ink);font-family:var(--font-heading);font-size:28px;font-weight:600;letter-spacing:-.04em;line-height:.94;white-space:nowrap}
.brand-wordmark{position:relative;display:inline-flex;align-items:baseline;padding-bottom:.44em}
.brand-offers{color:var(--color-accent-strong);letter-spacing:-.045em}
.brand-dotcom{position:absolute;right:.02em;bottom:0;color:var(--color-muted);font-size:.46em;font-weight:600;letter-spacing:-.01em;line-height:1}
.brand-logo--light{color:var(--color-background)}
.brand-logo--light .brand-offers{color:var(--color-accent)}
.brand-logo--light .brand-dotcom{color:rgba(255,255,255,.62)}

.button{display:inline-flex;min-height:64px;align-items:center;justify-content:center;padding:18px 38px;border:0;border-radius:999px;cursor:pointer;font-size:19px;font-weight:700;line-height:1.15;text-align:center;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}
.button:hover{transform:translateY(-2px);box-shadow:0 16px 28px -22px rgba(8,32,28,.7)}
.button--primary{background:var(--gradient-accent);color:var(--color-accent-foreground);font-weight:800}
.button--ink{background:var(--color-ink);color:var(--color-background)}
.button--outline{min-height:64px;padding:16px 36px;border:2px solid var(--color-ink);background:transparent;color:var(--color-ink)}
.button--outline-light{min-height:64px;padding:16px 36px;border:2px solid rgba(255,255,255,.42);background:transparent;color:var(--color-background)}
.button--ghost{min-height:54px;padding:14px 22px;background:transparent;color:var(--color-ink);font-size:16px}
.button--ghost:hover{box-shadow:none;background:var(--color-soft)}
.button--small{min-height:48px;padding:13px 25px;font-size:16px}
.button-group{display:flex;gap:12px;flex-wrap:wrap}

.surface--dark{background:var(--color-deep);color:var(--color-background)}
.surface--soft{background:var(--color-soft)}
.section-intro{max-width:760px}
.section-intro h2{margin:16px 0 0;font-size:clamp(42px,4.2vw,58px);font-weight:800;line-height:1.02}
.eyebrow{display:block;color:var(--color-accent-ink);font-family:var(--font-mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.eyebrow.on-dark{color:var(--color-accent)}

.service-picker-fieldset{margin:26px 0 0;padding:0;border:0}
.service-picker{display:flex;flex-wrap:wrap;gap:8px}
.service-picker button{padding:10px 16px;border:2px solid rgba(8,32,28,.12);border-radius:999px;background:var(--color-background);color:var(--color-ink);cursor:pointer;font-weight:700}
.service-picker button.is-active{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-background)}

.field{display:grid;gap:8px}
.field>span,.choice-fieldset>legend{color:var(--color-ink);font-size:14px;font-weight:700}
.field>span i{color:var(--color-muted);font-size:12px;font-style:normal;font-weight:600}
.field input,.field select,.field textarea{width:100%;border:1.5px solid rgba(8,32,28,.16);border-radius:16px;outline:none;background:var(--color-background);color:var(--color-ink);transition:border-color .18s ease,box-shadow .18s ease}
.field input,.field select{height:60px;padding:0 16px}
.field select{appearance:none;-webkit-appearance:none;padding-right:50px;background-color:var(--color-background);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2308201c' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5.5 7.5 4.5 4.5 4.5-4.5'/%3E%3C/svg%3E");background-position:right 18px center;background-repeat:no-repeat;background-size:18px 18px}
.field textarea{min-height:116px;padding:15px 16px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-accent-ink);box-shadow:0 0 0 4px rgba(15,191,161,.12)}
.field small{color:var(--color-muted);font-size:12px;font-weight:600}
.field small:has([data-character-count]){justify-self:end}
.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea{border-color:#c44242;box-shadow:0 0 0 4px rgba(196,66,66,.08)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(max-width:640px){
  :root{--page-gutter:14px}
  .brand-logo{font-size:22px}
}
