/* Shared body typography comes from tech-support.css; site-header.css owns navigation. */
.partner-layout,.partner-footer { max-width:1440px; margin:auto; padding:0 48px; }
.partner-hero { display:grid; grid-template-columns:minmax(0,1.48fr) minmax(0,1fr); gap:40px; align-items:center; padding:56px 0 40px; }
.partner-intro h1 { font-size:clamp(44px,4.65vw,70px); line-height:1.1; letter-spacing:-.045em; margin:0 0 28px; }
.partner-subtitle,.partner-area { font-size:clamp(20px,1.85vw,27px); color:var(--muted); line-height:1.45; margin:0 0 10px; }
.partner-subtitle { font-weight:600; }
.partner-cta { display:inline-flex; align-items:center; gap:32px; padding:20px 28px; margin-top:28px; border:0; font-size:26px; }
.partner-cta img { filter:brightness(0) invert(1); }
.coverage { background:#f0f6ff; border:1px solid #d2e4ff; border-radius:18px; padding:32px; }
.coverage-icons { display:flex; justify-content:space-between; gap:24px; padding:8px 12px 28px; border-bottom:1px solid #c8d9ee; }
.coverage-icons img,.report-link img { filter:var(--icon-filter); }
.report-link img { transform:rotate(-45deg); }
.coverage h2 { font-size:clamp(30px,2.7vw,42px); letter-spacing:-.035em; line-height:1.2; margin:26px 0 12px; }
.coverage-list { margin:0; }
.coverage-list > div { padding:20px 0; border-bottom:1px solid #c8d9ee; }
.coverage-list dt { font-weight:700; font-size:25px; line-height:1.3; }
.coverage-list dd { margin:4px 0 0; font-size:21px; color:var(--muted); }
.report-link { display:inline-flex; align-items:center; gap:8px; color:var(--blue); text-underline-offset:5px; margin-top:22px; font-size:22px; min-height:44px; }
.sample-label { margin:0; color:var(--muted); font-size:17px; }
.partner-contact { display:flex; justify-content:space-between; align-items:center; gap:32px; border-top:1px solid var(--line); padding:32px 0; }
.partner-contact h2 { font-size:clamp(28px,2.6vw,38px); letter-spacing:-.035em; line-height:1.2; margin:0 0 8px; }
.partner-contact p { color:var(--muted); margin:0; font-size:22px; }
.partner-contact-links { display:flex; flex-direction:column; gap:6px; }
.partner-contact-links a { color:var(--blue); text-decoration:none; font-size:24px; min-height:44px; display:flex; align-items:center; }
.partner-contact-links a:hover { text-decoration:underline; }
.partner-footer { display:flex; justify-content:space-between; gap:20px; padding-top:22px; padding-bottom:24px; border-top:1px solid var(--line); font-size:16px; color:var(--muted); }
.partner-footer span:first-child { color:var(--ink); font-weight:700; }
.partners-page [hidden] { display:none; }
.partner-dialog { border:1px solid var(--line); border-radius:16px; padding:28px 32px; width:min(720px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:auto; color:var(--ink); }
.partner-dialog::backdrop { background:rgba(16,22,56,.55); }
body:has(.partner-dialog[open]) { overflow:hidden; }
.dialog-close { display:flex; justify-content:flex-end; margin:0 0 8px; }
.dialog-close button,.text-button { background:none; border:0; color:var(--blue); padding:8px; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
.partner-dialog h2,.standalone-report h1 { font-size:34px; line-height:1.2; letter-spacing:-.035em; margin:0 0 16px; }
.dialog-intro { margin:0 0 12px; font-size:19px; }
.dispatch-terms,.form-note,.partner-privacy,#partner-status { color:#465173; font-size:16px; line-height:1.5; }
.dispatch-terms { margin:0 0 22px; }
#partner-fields { border:0; padding:0; margin:0; min-width:0; }
.inquiry-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px 20px; }
.inquiry-grid label { display:block; font-size:16px; font-weight:600; }
.inquiry-grid label span { font-weight:400; }
.inquiry-grid .wide { grid-column:1 / -1; }
.inquiry-grid input,.inquiry-grid textarea,.inquiry-grid select { display:block; width:100%; min-width:0; min-height:48px; padding:10px 12px; margin-top:6px; border:1px solid #7b88a6; border-radius:6px; background:#fff; color:var(--ink); font:inherit; font-weight:400; }
.inquiry-grid textarea { resize:vertical; min-height:100px; }
.partner-dialog :focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
#partner-submit { border:0; width:100%; min-height:52px; margin-top:24px; }
.partner-dialog button:disabled,.partner-cta:disabled { opacity:.6; cursor:not-allowed; }
#partner-status:empty { display:none; }
.partner-privacy summary { cursor:pointer; color:var(--ink); min-height:44px; padding:10px 0; }
.honeypot,.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.standalone-report { max-width:800px; margin:48px auto; padding:0 24px; }
.standalone-report > a { display:inline-block; margin-bottom:28px; color:var(--blue); }
.report-disclosure { font-size:17px; color:#465173; padding:16px; background:#f0f6ff; border-radius:8px; }
.full-report { margin:24px 0 0; font-size:18px; }
.full-report > div { padding:18px 0; border-bottom:1px solid var(--line); }
.full-report dt { font-weight:700; margin-bottom:6px; }
.full-report dd { margin:0; color:var(--muted); }
@media(max-width:1100px) {
  .partner-layout,.partner-footer { padding-left:28px; padding-right:28px; }
  .partner-hero { gap:28px; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); }
  .coverage { padding:24px; }
  .coverage-icons img { width:56px; height:56px; }
  .coverage-list dd { font-size:19px; }
}
@media(max-width:760px) {
  .partner-layout,.partner-footer { padding-left:20px; padding-right:20px; }
  .partner-hero { grid-template-columns:minmax(0,1fr); padding-top:32px; gap:32px; }
  .partner-intro h1 { font-size:clamp(36px,7vw,52px); margin-bottom:22px; }
  .partner-subtitle,.partner-area { font-size:20px; }
  .partner-cta { font-size:22px; padding:16px 22px; margin-top:20px; }
  .coverage-icons { justify-content:flex-start; gap:36px; }
  .coverage h2 { font-size:32px; }
  .partner-contact { flex-direction:column; align-items:flex-start; gap:20px; }
  .partner-contact p,.partner-contact-links a { font-size:20px; }
  .partner-dialog { padding:20px; }
  .partner-dialog h2 { font-size:30px; }
  .inquiry-grid { grid-template-columns:minmax(0,1fr); }
}
