/* Managed AI front door. Shared legacy pages retain their existing styles. */
.partner-site{--ink:#0F1115;--paper:#FBF8F1;--teal:#1FB8A8;background:var(--paper);color:var(--ink);font-family:"IBM Plex Sans",sans-serif}.partner-site *{box-sizing:border-box}.wrap{width:min(1160px,calc(100% - 64px));margin-inline:auto}.partner-header{display:flex;align-items:center;justify-content:space-between;padding-block:25px;border-bottom:1px solid #ccc6ba}.partner-header nav{display:flex;align-items:center;gap:32px}.partner-site a{color:inherit}.partner-header a{text-decoration:none}.partner-site .action{display:inline-flex;gap:36px;align-items:center;justify-content:space-between;background:var(--teal);border:1px solid var(--ink);color:var(--ink);padding:17px 24px;font:600 17px "IBM Plex Sans",sans-serif;text-decoration:none;cursor:pointer}.partner-site .action:hover{background:#F2EDE3}.partner-site .action:disabled{cursor:wait;opacity:.7}.partner-site .small{padding:12px 18px;font-size:15px}.partner-site :focus-visible{outline:3px solid var(--ink);outline-offset:5px}.partner-site .label{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 30px}.partner-hero{padding-block:78px 85px}.partner-site h1{font-size:clamp(46px,6.8vw,88px);line-height:1.05;letter-spacing:-.05em;max-width:1000px;margin:0;font-weight:500}.partner-hero h1 span{color:#51534f}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-top:38px}.partner-site .intro{max-width:620px;font-size:23px;line-height:1.5;margin:0}.partner-site h2{font-size:clamp(32px,4vw,48px);line-height:1.12;letter-spacing:-.035em;font-weight:500;margin:0 0 24px}.partner-site h3{font-size:25px;line-height:1.2;font-weight:500;margin:14px 0}.partner-site p{line-height:1.6}.partner-band{background:#F2EDE3;padding-block:70px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:48px}.step{font-family:"IBM Plex Mono",monospace;font-size:12px}.steps article{border-top:1px solid #87867e;padding-top:22px}.steps p,.audience p,.section-intro,.closing p{font-size:18px;max-width:650px}.audience{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:80px}.audience article+article{margin-top:40px}.text-link{text-underline-offset:5px;font-weight:500}.work{padding-block:65px;border-top:1px solid #ccc6ba}.work-row{display:grid;grid-template-columns:1fr 1.25fr 1.75fr auto;gap:24px;align-items:center;padding-block:27px;border-top:1px solid #ccc6ba;text-decoration:none}.work-row>span:first-child{font-size:13px}.work-row h3,.work-row p{margin:0}.work-row:hover h3{text-decoration:underline}.closing{padding-block:65px 85px;border-top:1px solid #ccc6ba}.partner-footer{border-top:1px solid #ccc6ba;padding-block:30px;display:flex;justify-content:space-between;gap:35px;font-size:12px}.partner-footer nav{display:flex;gap:18px;flex-wrap:wrap;align-content:center}.connect-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-block:65px 85px}.connect-layout h1{font-size:60px}.profile{display:flex;align-items:center;gap:20px;margin-bottom:32px}.profile img{width:88px;height:88px;object-fit:cover;border-radius:50%}.profile p{margin:0}.profile strong{font-size:20px}.contact-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:28px}.contact-actions a{font-size:16px}.connect-form{border-top:2px solid var(--ink);padding-top:26px}.connect-form h2{font-size:30px}.connect-form label{display:block;font-size:15px;font-weight:500;margin-bottom:8px}.connect-form input,.connect-form select,.connect-form textarea{width:100%;padding:13px;background:#FFFDF8;color:var(--ink);border:1px solid #74766e;border-radius:0;font:16px "IBM Plex Sans",sans-serif}.connect-form textarea{min-height:100px;resize:vertical}.connect-form .field{margin-block:19px}.connect-form .form-note{font-size:13px;line-height:1.5}.connect-form .form-status{padding:15px;border:1px solid var(--ink)}.confirmation{padding-block:90px;min-height:60vh}.confirmation h1{font-size:56px}.confirmation p{font-size:20px;max-width:620px}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.partner-header{padding-block:18px;align-items:start;gap:20px}.partner-header img{width:82px;height:auto}.partner-header nav{gap:14px;flex-wrap:wrap;justify-content:end;font-size:13px}.partner-header .small{padding:8px 10px;font-size:13px;gap:10px}.partner-hero{padding-block:48px}.partner-site .label{font-size:10px;line-height:1.6;margin-bottom:22px}.hero-bottom{display:block;margin-top:25px}.hero-bottom .action{margin-top:26px}.partner-site .intro{font-size:20px}.steps,.audience,.connect-layout{grid-template-columns:1fr;gap:30px}.partner-band,.audience,.work,.closing{padding-block:45px}.steps{margin-top:30px}.work-row{grid-template-columns:1fr auto;gap:12px}.work-row h3,.work-row p{grid-column:1}.work-row>span:last-child{grid-column:2;grid-row:2}.partner-footer{flex-direction:column;gap:12px}.connect-layout{padding-block:35px 50px;gap:45px}.connect-layout h1{font-size:46px}.profile{margin-bottom:26px}.connect-form .action{width:100%}}

/* A scanned card should put contact saving before scheduling and the form. */
.connect-page .contact-actions { display: flex; flex-direction: column; align-items: stretch; gap: 12px; max-width: 400px; }
.connect-page .action-secondary { background: transparent; }
.connect-page .action-secondary:hover { background: #F2EDE3; }
.connect-page .contact-help { font-size: 13px; margin: 0 0 8px; }
.connect-page .connect-layout { gap: 64px; }
@media (max-width: 760px) {
  .connect-page .partner-header { padding-block: 12px; align-items: center; }
  .connect-page .partner-header nav { display: none; }
  .connect-page .partner-header img { width: 70px; }
  .connect-page .connect-layout { padding-top: 24px; gap: 36px; }
  .connect-page .profile { margin-bottom: 24px; gap: 16px; }
  .connect-page .profile img { width: 72px; height: 72px; }
  .connect-page .profile strong { font-size: 20px; }
  .connect-page .profile p { font-size: 15px; }
  .connect-page .intro { font-size: 19px; margin-top: 12px; }
  .connect-page .contact-actions { margin-top: 24px; max-width: none; }
  .connect-page .contact-actions .action { min-height: 56px; }
}

.connect-form textarea::placeholder { color: #646760; opacity: 1; }

.connect-page .partner-header .fullname-brand img { width: 350px; max-width: 100%; height: auto; }
.connect-page .fullname-brand { max-width: 100%; }
@media (max-width: 760px) { .connect-page .partner-header { padding-block: 4px; } }

.connect-page .partner-header { flex-wrap: wrap; gap: 8px 24px; }
.connect-page .partner-header nav { display: flex; }
.connect-page .partner-header nav a { padding-block: 12px; text-decoration: underline; text-underline-offset: 4px; }
.connect-explanation { font-size: 17px; max-width: 420px; margin-top: 16px; }
.connect-page .connect-partner { margin-top: 28px; max-width: 400px; }
.connect-page .connect-partner a { display: inline-block; max-width: 100%; }
.connect-page .connect-partner img { display: block; width: 300px; max-width: 100%; height: auto; }
.connect-page .connect-partner p { margin: 10px 0 0; color: #454842; font-size: 13px; }
.name-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.connect-form .form-note { color: #454842; font-size: 14px; margin: 24px 0; }
@media (max-width: 760px) {
  .connect-page .partner-header { padding-block: 8px; }
  .connect-page .partner-header nav { margin-left: auto; }
  .name-fields { grid-template-columns: 1fr; gap: 0; }
  .name-fields .field { margin-bottom: 0; }
  .name-fields .field:last-child { margin-bottom: 19px; }
}
