:root {
  --cream: #f4eee7;
  --paper: #fbf8f3;
  --wine: #6f1620;
  --wine-dark: #3b0b10;
  --wine-soft: #8e3640;
  --espresso: #211513;
  --ink: #211a18;
  --taupe: #a9927d;
  --line: rgba(56,31,28,.18);
  --serif: "Bodoni Moda", Didot, "Times New Roman", serif;
  --sans: "Montserrat", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html { max-width: 100%; overflow-x: clip; }
body { max-width: 100%; margin: 0; overflow-x: clip; background: var(--cream); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
body::before { content:""; position: fixed; inset:0; pointer-events:none; opacity:.18; z-index:20; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E"); mix-blend-mode:multiply; }
body.locked { overflow:hidden; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button, input, textarea, select { font:inherit; }
:focus-visible { outline:2px solid var(--wine-soft); outline-offset:4px; }
.shell { width:min(1200px, calc(100% - 48px)); margin:0 auto; }
.kicker { margin:0 0 18px; color:var(--wine); font-size:10px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; }
.button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; padding:0 22px; border:1px solid var(--line); border-radius:999px; background:transparent; cursor:pointer; font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; transition:transform .2s ease, background .2s ease, color .2s ease; }
.button:hover { transform:translateY(-2px); }
.button.primary { background:var(--wine); border-color:var(--wine); color:var(--paper); }
.button.primary:hover { background:var(--wine-dark); }
.button.light { background:var(--paper); border-color:var(--paper); color:var(--wine); }
.button.light-ghost { border-color:rgba(255,247,238,.42); color:var(--paper); }
.actions { display:flex; flex-wrap:wrap; gap:12px; }
.lede { color:rgba(33,26,24,.7); font-size:17px; line-height:1.75; }
.hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.site-header { position:sticky; top:0; z-index:100; border-bottom:1px solid var(--line); background:rgba(251,248,243,.94); backdrop-filter:blur(16px); }
.header-inner { min-height:86px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.wordmark { display:grid; text-align:center; color:var(--wine); }
.wordmark-main { font-family:var(--serif); font-size:29px; line-height:.82; }
.wordmark-sub { margin-top:7px; font-size:8px; font-weight:700; letter-spacing:.25em; }
.nav { display:flex; align-items:center; gap:22px; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }

.network-hero { padding:78px 0 90px; background:var(--paper); }
.network-hero-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:18px; }
.network-hero-copy, .network-hero-image { min-height:690px; border-radius:30px; overflow:hidden; }
.network-hero-copy { padding:clamp(44px,7vw,88px); display:flex; flex-direction:column; justify-content:flex-end; background:var(--wine); color:var(--paper); }
.network-hero-copy .kicker { color:#e8c6bd; }
.network-hero-copy h1 { margin:0; font-family:var(--serif); font-size:clamp(66px,8.5vw,124px); font-weight:500; line-height:.84; letter-spacing:-.05em; }
.network-hero-copy p { color:rgba(255,247,238,.77); line-height:1.75; }
.network-hero-copy .email-option { margin-top:28px; font-size:13px; }
.network-hero-copy .email-option a { text-decoration:underline; text-underline-offset:5px; }
.network-hero-image img { width:100%; height:100%; object-fit:cover; object-position:center 22%; }

.section { padding:90px 0; }
.section-title { margin:0; font-family:var(--serif); font-size:clamp(48px,6vw,80px); font-weight:500; line-height:.96; letter-spacing:-.04em; }
.section-head { display:grid; grid-template-columns:1fr .65fr; gap:60px; align-items:end; margin-bottom:44px; }
.cut-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.cut-card { min-height:290px; padding:28px; border:1px solid var(--line); border-radius:24px; background:var(--paper); display:flex; flex-direction:column; }
.cut-card:nth-child(2) { background:#eee3d8; }
.cut-card:nth-child(3) { background:var(--wine); color:var(--paper); }
.cut-card:nth-child(4) { background:var(--espresso); color:var(--paper); }
.cut-card h3 { margin:auto 0 16px; font-family:var(--serif); font-size:32px; font-weight:500; line-height:1.02; }
.cut-card p { margin:0; color:rgba(33,26,24,.68); line-height:1.65; font-size:14px; }
.cut-card:nth-child(n+3) p { color:rgba(255,247,238,.76); }
.cut-card .answer { margin:0 0 10px; color:var(--wine); font-weight:700; }
.cut-card:nth-child(n+3) .answer { color:#eccac1; }
.section-note { max-width:850px; margin:30px auto 0; text-align:center; line-height:1.75; color:rgba(33,26,24,.67); }

.who-section { background:var(--espresso); color:var(--paper); }
.who-section .section-title { max-width:800px; }
.who-section .lede { color:rgba(255,247,238,.7); }
.who-grid { margin-top:42px; display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.who-grid span { padding:16px 17px; border:1px solid rgba(255,247,238,.18); border-radius:16px; color:rgba(255,247,238,.82); font-family:var(--serif); font-size:19px; }

.editorial-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.editorial-panel { padding:clamp(34px,6vw,70px); border-radius:28px; background:var(--paper); }
.editorial-panel.alt { background:#eee3d8; }
.editorial-panel.wine { background:var(--wine); color:var(--paper); }
.editorial-panel h2 { margin:0 0 24px; font-family:var(--serif); font-size:clamp(44px,5vw,68px); line-height:.96; font-weight:500; }
.editorial-panel p, .editorial-panel li { line-height:1.72; color:rgba(33,26,24,.7); }
.editorial-panel.wine p, .editorial-panel.wine li { color:rgba(255,247,238,.77); }
.callout { margin-top:25px; padding:22px; border-left:3px solid var(--wine); background:rgba(111,22,32,.06); font-family:var(--serif); font-size:24px; line-height:1.25; }
.editorial-panel.wine .callout { border-color:#f0cfc6; background:rgba(255,255,255,.08); }

.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:38px; }
.process-step { padding:28px; border-top:1px solid var(--line); }
.process-step span { display:block; margin-bottom:34px; color:var(--wine); font-size:10px; font-weight:700; letter-spacing:.16em; }
.process-step h3 { margin:0 0 12px; font-family:var(--serif); font-size:30px; font-weight:500; }
.process-step p { margin:0; color:rgba(33,26,24,.68); line-height:1.65; }

.form-section { padding:100px 0 130px; background:var(--paper); scroll-margin-top:100px; }
.form-intro { max-width:850px; margin-bottom:46px; }
.form-shell { display:grid; grid-template-columns:310px minmax(0,1fr); border:1px solid var(--line); border-radius:30px; overflow:hidden; background:var(--paper); box-shadow:0 30px 90px rgba(43,20,18,.12); }
.form-aside { padding:34px; background:var(--espresso); color:var(--paper); }
.form-aside h2 { margin:0; font-family:var(--serif); font-size:48px; font-weight:500; line-height:.98; }
.form-aside p { color:rgba(255,247,238,.68); line-height:1.65; }
.form-progress { margin-top:34px; }
.form-progress-label { display:flex; justify-content:space-between; gap:15px; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#ddbeb5; }
.form-progress-track { height:4px; margin-top:12px; border-radius:999px; overflow:hidden; background:rgba(255,255,255,.14); }
.form-progress-track span { display:block; width:7.69%; height:100%; background:#e8c6bd; transition:width .25s ease; }
.form-main { min-width:0; padding:clamp(28px,5vw,58px); }
.form-step { display:none; }
.form-step.active { display:block; }
.form-step h3 { margin:0; font-family:var(--serif); font-size:clamp(42px,5vw,62px); font-weight:500; line-height:1; }
.form-step .supporting { color:rgba(33,26,24,.66); line-height:1.68; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:34px; }
.field { display:grid; gap:8px; min-width:0; }
.field.full { grid-column:1 / -1; }
.field label, .group-label { font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.field input, .field textarea, .field select { width:100%; padding:14px 15px; border:1px solid var(--line); border-radius:12px; background:var(--cream); color:var(--ink); }
.field textarea { min-height:135px; resize:vertical; }
.field small, .form-note { color:rgba(33,26,24,.58); line-height:1.55; font-size:11px; }
.option-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.option { display:flex; gap:10px; align-items:flex-start; padding:13px 14px; border:1px solid var(--line); border-radius:12px; background:var(--cream); line-height:1.42; font-size:13px; }
.option input { margin-top:2px; }
.repeat-list { display:grid; gap:14px; }
.repeat-item { position:relative; padding:18px; border:1px solid var(--line); border-radius:16px; background:#f7f1ea; }
.repeat-item-grid { display:grid; grid-template-columns:.7fr 1fr 1.3fr; gap:12px; }
.remove-repeat { position:absolute; top:10px; right:10px; border:0; background:transparent; color:var(--wine); cursor:pointer; font-weight:700; }
.upload-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.upload-slot { padding:18px; border:1px dashed rgba(111,22,32,.35); border-radius:15px; background:var(--cream); }
.conditional[hidden] { display:none; }
.form-nav { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-top:34px; padding-top:24px; border-top:1px solid var(--line); }
.form-error { min-height:20px; margin:14px 0 0; color:var(--wine); font-size:12px; font-weight:600; }
.ack-list { display:grid; gap:13px; margin-top:30px; }
.ack { display:flex; gap:12px; align-items:flex-start; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--cream); color:rgba(33,26,24,.74); font-size:13px; line-height:1.6; }
.ack input { margin-top:3px; }
.submit-disclaimer { margin:16px 0 0; color:rgba(33,26,24,.58); font-size:11px; line-height:1.55; }

footer { padding:48px 0; border-top:1px solid var(--line); background:var(--paper); }
.footer-inner { display:flex; justify-content:space-between; gap:28px; align-items:end; }
.footer-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:18px; font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }

/* Shared chat */
.ask-tab { position:fixed; right:24px; bottom:22px; z-index:80; min-height:48px; padding:0 22px; border:1px solid rgba(251,248,243,.2); border-radius:999px; background:var(--espresso); color:var(--paper); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; box-shadow:0 18px 45px rgba(30,13,12,.22); }
.overlay { display:none; position:fixed; inset:0; z-index:1000; padding:24px; align-items:center; justify-content:center; background:rgba(22,11,10,.72); backdrop-filter:blur(12px); }
.overlay.active { display:flex; }
.chat-modal { width:min(1040px,calc(100vw - 32px)); max-height:min(820px,calc(100vh - 32px)); overflow:hidden; border:1px solid var(--line); border-radius:30px; background:var(--paper); box-shadow:0 38px 110px rgba(15,6,5,.48); }
.modal-head { display:flex; justify-content:space-between; gap:24px; padding:30px 32px; border-bottom:1px solid var(--line); }
.modal-head h2 { margin:0; font-family:var(--serif); font-size:48px; font-weight:500; }
.modal-head p { max-width:650px; margin:8px 0 0; color:rgba(33,26,24,.62); line-height:1.6; }
.modal-close { width:44px; height:44px; flex:0 0 auto; border:1px solid var(--line); border-radius:50%; background:transparent; font-size:24px; cursor:pointer; }
.chat-layout { display:grid; grid-template-columns:250px minmax(0,1fr); min-height:500px; max-height:calc(100vh - 180px); }
.chat-questions { padding:24px; display:flex; flex-direction:column; gap:8px; overflow-y:auto; border-right:1px solid var(--line); }
.faq-button { padding:12px 14px; border:1px solid var(--line); border-radius:14px; background:var(--cream); color:var(--ink); text-align:left; cursor:pointer; font-size:12px; line-height:1.4; }
.chat-answer-wrap { min-width:0; min-height:0; padding:24px; display:flex; flex-direction:column; }
.chat-tools { display:flex; justify-content:space-between; gap:15px; margin-bottom:12px; }
.chat-tools button { border:0; background:transparent; color:rgba(33,26,24,.55); cursor:pointer; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.chat-note { font-size:10px; color:rgba(33,26,24,.52); line-height:1.45; }
.chat-messages { flex:1 1 auto; min-height:260px; overflow-y:auto; display:flex; flex-direction:column; gap:12px; padding:4px 4px 18px 0; }
.chat-message { max-width:86%; padding:14px 16px; border-radius:18px; white-space:pre-wrap; line-height:1.55; font-size:14px; }
.chat-message.user { margin-left:auto; background:var(--wine); color:var(--paper); border-bottom-right-radius:5px; }
.chat-message.assistant { margin-right:auto; background:var(--cream); border:1px solid var(--line); border-bottom-left-radius:5px; }
.chat-message.error { background:#f5e2df; }
.chat-message.typing { font-style:italic; color:rgba(33,26,24,.58); }
.chat-action-row { display:flex; flex-wrap:wrap; gap:8px; }
.chat-action-row .button { min-height:40px; padding:0 16px; }
.chat-input { display:grid; grid-template-columns:1fr auto; gap:10px; align-items:end; padding-top:14px; border-top:1px solid var(--line); }
.chat-input textarea { min-height:52px; max-height:150px; resize:vertical; width:100%; padding:14px 16px; border:1px solid var(--line); border-radius:15px; background:var(--cream); color:var(--ink); }
.chat-input .button { min-height:52px; }

@media (max-width:980px) {
  .network-hero-grid, .section-head, .editorial-grid { grid-template-columns:1fr; }
  .cut-cards, .process-grid { grid-template-columns:repeat(2,1fr); }
  .who-grid { grid-template-columns:repeat(3,1fr); }
  .form-shell { grid-template-columns:1fr; }
  .form-aside { padding:28px; }
  .chat-layout { grid-template-columns:1fr; }
  .chat-questions { flex-direction:row; overflow-x:auto; border-right:0; border-bottom:1px solid var(--line); }
  .faq-button { flex:0 0 auto; max-width:220px; }
}
@media (max-width:720px) {
  .shell { width:calc(100% - 32px); }
  .nav a:not(.button), .nav button:not(.button) { display:none; }
  .network-hero { padding:42px 0 60px; }
  .network-hero-copy, .network-hero-image { min-height:520px; }
  .cut-cards, .process-grid, .who-grid { grid-template-columns:1fr; }
  .field-grid, .option-grid, .upload-grid, .repeat-item-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .form-main { padding:25px 20px; }
  .form-nav { align-items:stretch; flex-direction:column-reverse; }
  .form-nav .button { width:100%; }
  .footer-inner { display:grid; }
  .footer-links { justify-content:flex-start; }
  .overlay { padding:10px; align-items:flex-end; }
  .chat-modal { width:100%; max-height:calc(100vh - 20px); border-radius:24px; }
  .modal-head { padding:22px; }
  .modal-head h2 { font-size:38px; }
  .chat-answer-wrap { padding:16px; }
  .chat-input { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }

/* V7 mobile selection controls */
.option,
.ack {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 11px;
  align-items: start;
}
.option input,
.ack input {
  width: 17px;
  height: 17px;
  margin: 2px 0 0;
  flex: 0 0 auto;
}
.option span,
.ack span {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.45;
}
.option:has(input:checked) {
  border-color: var(--wine);
  background: #f7eee9;
  box-shadow: inset 0 0 0 1px rgba(111, 22, 32, .08);
}
@media (max-width: 620px) {
  .option-grid { grid-template-columns: 1fr !important; }
  .option, .ack { padding: 13px 12px; }
  .form-main { min-width: 0; }
  .form-step, .field, .field.full { min-width: 0; }
  .field input, .field select, .field textarea { min-width: 0; }
}

/* V9 Who This Is For carousel */
.who-carousel { max-width: 100%; margin-top: 34px; overflow: hidden; contain: paint; }
.who-carousel-controls { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-bottom: 14px; }
.who-carousel-controls p { margin: 0 auto 0 0; color: rgba(255,247,238,.64); font-size: 11px; }
.who-carousel-controls button { width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; background: transparent; color: var(--paper); cursor: pointer; }
.who-track { max-width: 100%; display: flex; gap: 14px; overflow-x: auto; padding: 2px 7vw 18px 0; scroll-snap-type: x mandatory; scrollbar-width: none; cursor: grab; overscroll-behavior-inline: contain; }
.who-track::-webkit-scrollbar { display: none; }
.who-track.dragging { cursor: grabbing; scroll-snap-type: none; }
.who-card { flex: 0 0 clamp(270px, 30vw, 390px); min-height: 260px; display: flex; flex-direction: column; justify-content: space-between; padding: 28px; border: 1px solid rgba(255,255,255,.15); border-radius: 24px; background: #fbf8f3; color: var(--ink); scroll-snap-align: start; }
.who-card:nth-child(3n+2) { background: #e7d8ca; }
.who-card:nth-child(3n) { background: var(--wine); color: var(--paper); }
.who-card > span { color: var(--wine); font-size: 10px; font-weight: 700; letter-spacing: .15em; }
.who-card:nth-child(3n) > span { color: #e8c6bd; }
.who-card h3 { margin: 0; font-family: var(--serif); font-size: clamp(31px, 3vw, 44px); font-weight: 500; line-height: 1; }
@media (max-width: 620px) {
  .who-track { margin-right: -16px; padding-right: 52px; }
  .who-card { flex-basis: 82vw; min-height: 235px; }
}
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.file-selection{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:12px;line-height:1.4}.file-selection[hidden]{display:none}.file-selection button{min-height:36px;padding:0 10px;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;cursor:pointer;font-size:10px;font-weight:700;text-transform:uppercase}.application-review{margin:0 0 28px;padding:22px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.45)}.application-review h4{margin:0 0 14px;font-family:var(--serif);font-size:28px}.application-review dl{display:grid;gap:10px}.application-review dl div{display:grid;grid-template-columns:110px 1fr;gap:12px}.application-review dt{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.application-review dd{margin:0;overflow-wrap:anywhere}
.restore-notice{margin:14px 0 0;padding:12px 14px;border-left:3px solid var(--wine);border-radius:0 10px 10px 0;background:var(--cream);font-size:12px;line-height:1.55;color:rgba(33,26,24,.72)}
