/* Page styles for the custom-homepage template. */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body { font-family: 'Raleway', sans-serif; font-weight: 400; color: #1a1a24; background: #ffffff; line-height: 1.65; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
:root { --blue:#0073AA; --blue-lt:#0093cc; --teal:#00d4aa; --teal-dk:#0a8f76; --green:#46B450; --amber:#FFBA00; --dark:#16161f; --dark2:#1e1e2e; --card:#23233a; --white:#ffffff; --off-w:#f4f6f8; --muted:#6b7280; --border:#e5e7eb; --max-w:1120px; --gutter:clamp(24px,5vw,80px); }
@keyframes hp-pulse { 0%,100%{opacity:1}50%{opacity:.45} }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
.hp-container { max-width: var(--max-w); margin: 0 auto; padding: 0 var(--gutter); }
.hp-section { padding: clamp(64px, 9vw, 116px) 0; }
.hp-eyebrow { font-family: 'Josefin Sans', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--teal-dk); display: inline-block; margin-bottom: 14px; }
.hp-eyebrow--light { color: var(--teal); }
.hp-h2 { font-family: 'Josefin Sans', sans-serif; font-weight: 700; line-height: 1.13; font-size: clamp(28px, 4vw, 44px); letter-spacing: -0.01em; color: var(--dark); }
.hp-h2--light { color: var(--white); }
.btn-primary { display:inline-flex; align-items:center; gap:8px; background:var(--blue); color:var(--white); font-family:'Josefin Sans',sans-serif; font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:15px 30px; border-radius:8px; transition:background .2s, transform .15s, box-shadow .2s; box-shadow:0 4px 24px rgba(0,115,170,.35); }
.btn-primary:hover { background:var(--blue-lt); transform:translateY(-2px); box-shadow:0 8px 32px rgba(0,115,170,.45); }
.btn-teal { background:var(--teal-dk); box-shadow:0 4px 24px rgba(10,143,118,.35); }
.btn-teal:hover { background:#0aa085; box-shadow:0 8px 32px rgba(10,143,118,.45); }
.btn-ghost { font-size:14px; font-weight:500; color:rgba(255,255,255,.55); display:inline-flex; align-items:center; gap:6px; transition:color .2s; }
.btn-ghost:hover { color:var(--white); }
.btn-ghost--dark { color:var(--muted); }
.btn-ghost--dark:hover { color:var(--dark); }
a:focus-visible, button:focus-visible { outline:2px solid var(--teal); outline-offset:3px; border-radius:4px; }
.hp-hero { background:var(--dark); position:relative; overflow:hidden; padding-top:68px; }
.hp-hero__bg { position:absolute; inset:0; pointer-events:none; background: radial-gradient(ellipse 50% 60% at 88% 30%, rgba(0,212,170,.16) 0%, transparent 60%), radial-gradient(ellipse 40% 50% at 5% 90%, rgba(0,115,170,.12) 0%, transparent 55%); }
.hp-hero__dots { position:absolute; inset:0; pointer-events:none; opacity:.5; background-image: radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px); background-size: 26px 26px; }
.hp-hero__inner { position:relative; z-index:2; max-width:var(--max-w); margin:0 auto; padding: clamp(60px,9vw,104px) var(--gutter); display:grid; grid-template-columns: 1.15fr 0.85fr; gap:60px; align-items:center; }
.hp-hero__eyebrow { display:flex; align-items:center; gap:10px; margin-bottom:22px; }
.hp-hero__eyebrow-dot { width:7px; height:7px; border-radius:50%; background:var(--teal); animation:hp-pulse 2s ease-in-out infinite; flex-shrink:0; }
.hp-hero__eyebrow-text { font-family:'Josefin Sans',sans-serif; font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--teal); }
.hp-hero__headline { font-family:'Josefin Sans',sans-serif; font-weight:700; line-height:1.08; font-size:clamp(34px,5vw,60px); letter-spacing:-0.015em; color:var(--white); margin-bottom:22px; }
.hp-hero__headline em { font-style:normal; color:var(--teal); }
.hp-hero__sub { font-size:clamp(15px,1.6vw,17px); font-weight:300; color:rgba(255,255,255,.62); line-height:1.75; margin-bottom:36px; max-width:560px; }
.hp-hero__actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.desk { background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.1); border-radius:16px; padding:24px 22px; backdrop-filter:blur(8px); }
.desk__head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:16px; margin-bottom:16px; border-bottom:1px solid rgba(255,255,255,.09); }
.desk__title { font-family:'Josefin Sans',sans-serif; font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--white); }
.desk__chip { font-family:'Josefin Sans',sans-serif; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--dark); background:var(--teal); padding:3px 10px; border-radius:20px; }
.desk__rows { display:flex; flex-direction:column; gap:10px; }
.desk__row { display:flex; align-items:center; gap:12px; padding:12px 14px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07); border-radius:9px; }
.desk__dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.desk__label { font-size:13px; color:rgba(255,255,255,.8); line-height:1.4; flex:1; }
.desk__tag { font-size:10.5px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:rgba(255,255,255,.5); flex-shrink:0; }
.desk__note { font-size:11px; color:rgba(255,255,255,.35); margin-top:14px; text-align:center; line-height:1.5; }
.hp-trust { background:var(--off-w); border-bottom:1px solid var(--border); }
.hp-trust__inner { max-width:var(--max-w); margin:0 auto; padding:26px var(--gutter); display:flex; align-items:center; justify-content:center; gap:14px 28px; flex-wrap:wrap; text-align:center; }
.hp-trust__lead { font-family:'Josefin Sans',sans-serif; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.hp-trust__names { font-size:14px; color:var(--dark); font-weight:500; }
.hp-trust__names b { color:var(--blue); font-weight:600; }
.hp-ai { background:var(--dark); position:relative; overflow:hidden; }
.hp-ai__bg { position:absolute; inset:0; pointer-events:none; background: radial-gradient(ellipse 50% 60% at 85% 25%, rgba(0,212,170,.16) 0%, transparent 60%), radial-gradient(ellipse 45% 55% at 8% 85%, rgba(0,115,170,.12) 0%, transparent 55%); }
.hp-ai__inner { position:relative; z-index:2; display:grid; grid-template-columns:1.12fr .88fr; gap:60px; align-items:center; }
.hp-ai h2 em { font-style:normal; color:var(--teal); }
.hp-ai__sub { font-size:clamp(15px,1.6vw,17px); font-weight:300; color:rgba(255,255,255,.62); line-height:1.75; margin:22px 0 26px; max-width:560px; }
.hp-ai__points { list-style:none; display:flex; flex-direction:column; gap:13px; margin-bottom:34px; }
.hp-ai__points li { position:relative; padding-left:26px; color:rgba(255,255,255,.82); font-size:15px; line-height:1.6; }
.hp-ai__points li::before { content:''; position:absolute; left:0; top:8px; width:8px; height:8px; border-radius:50%; background:var(--teal); box-shadow:0 0 10px rgba(0,212,170,.6); }
.hp-recognize { background:var(--white); }
.hp-recognize__grid { display:grid; grid-template-columns: 1fr 1fr; gap:clamp(36px,6vw,80px); align-items:start; }
.hp-recognize__h { margin-bottom:30px; }
.hp-friction p { font-size:17px; color:#3a3a48; line-height:1.7; padding:18px 0; border-bottom:1px solid var(--border); }
.hp-friction p:first-child { padding-top:0; }
.hp-friction p:last-child { border-bottom:none; }
.hp-reframe { background:var(--dark); border-radius:16px; padding:clamp(30px,4vw,44px); align-self:stretch; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; }
.hp-reframe::before { content:''; position:absolute; top:0; left:0; bottom:0; width:4px; background:var(--teal); }
.hp-reframe p { color:rgba(255,255,255,.82); font-size:clamp(17px,2vw,20px); line-height:1.6; font-weight:300; }
.hp-reframe p+p { margin-top:20px; }
.hp-reframe b { color:var(--teal); font-weight:600; }
.hp-shift { background:var(--dark2); position:relative; overflow:hidden; text-align:center; }
.hp-shift__bg { position:absolute; inset:0; pointer-events:none; background: radial-gradient(ellipse 60% 60% at 50% 40%, rgba(0,212,170,.1) 0%, transparent 60%); }
.hp-shift__inner { position:relative; z-index:2; max-width:880px; margin:0 auto; }
.hp-shift__statement { font-family:'Josefin Sans',sans-serif; font-weight:700; line-height:1.08; font-size:clamp(34px,6vw,68px); letter-spacing:-0.02em; color:var(--white); }
.hp-shift__statement em { font-style:normal; color:var(--teal); display:block; }
.hp-shift__support { font-size:clamp(16px,2vw,19px); font-weight:300; color:rgba(255,255,255,.6); line-height:1.75; margin-top:28px; max-width:680px; margin-left:auto; margin-right:auto; }
.hp-handoff { background:var(--off-w); }
.hp-handoff__head { max-width:620px; margin-bottom:54px; }
.hp-handoff__intro { font-size:17px; color:var(--muted); line-height:1.7; margin-top:16px; }
.hp-handoff__list { display:flex; flex-direction:column; }
.hp-handoff__item { display:grid; grid-template-columns: 96px 1fr; gap:clamp(16px,3vw,40px); padding:30px 0; border-top:1px solid var(--border); align-items:baseline; }
.hp-handoff__item:last-child { border-bottom:1px solid var(--border); }
.hp-handoff__num { font-family:'Josefin Sans',sans-serif; font-weight:700; font-size:clamp(34px,4vw,52px); line-height:1; color:var(--teal); letter-spacing:-0.02em; }
.hp-handoff__title { font-family:'Josefin Sans',sans-serif; font-weight:700; font-size:20px; color:var(--dark); margin-bottom:8px; }
.hp-handoff__body { font-size:15.5px; color:var(--muted); line-height:1.7; max-width:680px; }
.hp-how { background:var(--white); }
.hp-how__head { text-align:center; margin-bottom:60px; }
.hp-how__rail { display:grid; grid-template-columns: repeat(4, 1fr); gap:0; position:relative; }
.hp-how__line { position:absolute; top:19px; left:12%; right:12%; height:2px; background:var(--border); z-index:0; }
.hp-how__step { position:relative; z-index:1; padding:0 16px; text-align:center; }
.hp-how__node { width:40px; height:40px; border-radius:50%; background:var(--white); border:2px solid var(--teal); color:var(--teal-dk); font-family:'Josefin Sans',sans-serif; font-weight:700; font-size:15px; display:flex; align-items:center; justify-content:center; margin:0 auto 22px; }
.hp-how__step-title { font-family:'Josefin Sans',sans-serif; font-weight:700; font-size:17px; color:var(--dark); margin-bottom:10px; }
.hp-how__step-body { font-size:14px; color:var(--muted); line-height:1.65; }
.hp-matrix { background:var(--off-w); }
.hp-matrix__head { max-width:680px; margin-bottom:44px; }
.hp-matrix__intro { font-size:16px; color:var(--muted); line-height:1.7; margin-top:16px; }
.hp-matrix__scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.hp-matrix table { width:100%; border-collapse:separate; border-spacing:0; min-width:720px; background:var(--white); border:1px solid var(--border); border-radius:14px; overflow:hidden; }
.hp-matrix th, .hp-matrix td { padding:16px 18px; text-align:left; font-size:14px; vertical-align:middle; }
.hp-matrix thead th { font-family:'Josefin Sans',sans-serif; font-weight:700; font-size:13px; color:var(--dark); background:var(--off-w); border-bottom:1px solid var(--border); }
.hp-matrix tbody td { border-bottom:1px solid var(--border); color:var(--muted); }
.hp-matrix tbody tr:last-child td { border-bottom:none; }
.hp-matrix td:first-child, .hp-matrix th:first-child { font-family:'Josefin Sans',sans-serif; color:var(--dark); font-weight:600; font-size:13.5px; }
.hp-matrix .col-cd { background:rgba(0,212,170,.07); }
.hp-matrix thead .col-cd { background:var(--teal-dk); color:var(--white); }
.hp-matrix td.col-cd { color:var(--dark); font-weight:600; }
.hp-matrix__yes { color:var(--teal-dk); font-weight:700; }
.hp-proof { background:var(--dark2); position:relative; overflow:hidden; }
.hp-proof__bg { position:absolute; inset:0; pointer-events:none; background: radial-gradient(ellipse 55% 50% at 12% 50%, rgba(0,212,170,.07) 0%, transparent 55%); }
.hp-proof__inner { position:relative; z-index:2; }
.hp-proof__head { text-align:center; margin-bottom:48px; }
.hp-proof__feature { background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.1); border-radius:16px; padding:clamp(30px,4vw,48px); margin-bottom:20px; }
.hp-proof__feature-quote { font-family:'Josefin Sans',sans-serif; font-weight:400; font-style:normal; font-size:clamp(20px,2.6vw,28px); line-height:1.45; color:var(--white); }
.hp-proof__feature-quote::before { content:'\201C'; color:var(--teal); font-weight:700; }
.hp-proof__feature-quote::after { content:'\201D'; color:var(--teal); font-weight:700; }
.hp-proof__feature-by { margin-top:22px; font-size:14px; color:rgba(255,255,255,.55); font-weight:500; }
.hp-proof__feature-by b { color:var(--white); font-weight:600; }
.hp-proof__grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:16px; }
.hp-quote { background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:24px; }
.hp-quote p { font-size:14px; font-weight:300; color:rgba(255,255,255,.72); line-height:1.7; }
.hp-quote span { display:block; margin-top:16px; font-size:12.5px; color:rgba(255,255,255,.45); }
.hp-quote span b { color:rgba(255,255,255,.8); font-weight:600; }
.hp-proof__roster { text-align:center; margin-top:34px; font-size:14px; color:rgba(255,255,255,.5); line-height:1.7; }
.hp-proof__roster b { color:var(--teal); font-weight:600; }
.hp-promise { background:var(--white); }
.hp-promise__head { text-align:center; margin-bottom:52px; }
.hp-promise__grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.hp-promise__col { border:1px solid var(--border); border-radius:14px; padding:34px 30px; }
.hp-promise__col--do { background:var(--off-w); }
.hp-promise__col--dont { background:var(--white); }
.hp-promise__col-title { font-family:'Josefin Sans',sans-serif; font-weight:700; font-size:18px; margin-bottom:20px; }
.hp-promise__col--do .hp-promise__col-title { color:var(--teal-dk); }
.hp-promise__col--dont .hp-promise__col-title { color:var(--muted); }
.hp-promise__row { display:flex; align-items:flex-start; gap:12px; font-size:15px; color:#3a3a48; line-height:1.55; padding:11px 0; }
.hp-promise__ico { width:18px; height:18px; flex-shrink:0; margin-top:2px; }
.hp-promise__foot { margin-top:30px; text-align:center; font-size:15px; color:var(--muted); line-height:1.7; max-width:640px; margin-left:auto; margin-right:auto; }
.hp-cta { background:#0c2d2a; position:relative; overflow:hidden; text-align:center; }
.hp-cta__bg { position:absolute; inset:0; pointer-events:none; background: radial-gradient(ellipse 50% 60% at 80% 30%, rgba(0,212,170,.22) 0%, transparent 60%), radial-gradient(ellipse 45% 55% at 10% 80%, rgba(0,212,170,.12) 0%, transparent 55%); }
.hp-cta__inner { position:relative; z-index:2; max-width:680px; margin:0 auto; }
.hp-cta__h { font-family:'Josefin Sans',sans-serif; font-weight:700; line-height:1.15; font-size:clamp(28px,3.8vw,44px); color:var(--white); margin-bottom:18px; }
.hp-cta__body { font-size:16px; font-weight:300; color:rgba(255,255,255,.7); line-height:1.75; margin-bottom:36px; }
.hp-cta__actions { display:flex; align-items:center; justify-content:center; gap:20px; flex-wrap:wrap; }
.hp-direct { background:var(--off-w); border-top:1px solid var(--border); }
.hp-direct__inner { max-width:var(--max-w); margin:0 auto; padding:36px var(--gutter); display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.hp-direct__text { font-size:15.5px; color:#3a3a48; line-height:1.6; max-width:760px; }
.hp-direct__text b { color:var(--dark); font-weight:600; }
.hp-direct__text a { color:var(--blue); font-weight:600; }
.hp-direct__text a:hover { color:var(--blue-lt); }
.hp-direct__link { font-family:'Josefin Sans',sans-serif; font-weight:700; font-size:13px; letter-spacing:.05em; text-transform:uppercase; color:var(--blue); display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
.hp-direct__link:hover { color:var(--blue-lt); }
.hp-hero__byline { display:flex; align-items:center; gap:13px; margin-top:30px; }
.hp-hero__byline img { width:48px; height:48px; border-radius:50%; object-fit:cover; object-position:center top; border:2px solid rgba(0,212,170,.55); flex-shrink:0; }
.hp-hero__byline-txt { font-size:13px; color:rgba(255,255,255,.6); line-height:1.45; }
.hp-hero__byline-txt b { display:block; font-family:'Josefin Sans',sans-serif; font-weight:700; font-size:14px; color:rgba(255,255,255,.92); letter-spacing:.01em; }
.hp-proof__feature-grid { display:grid; grid-template-columns:240px 1fr; gap:clamp(24px,4vw,44px); align-items:center; }
.hp-proof__photo { width:100%; aspect-ratio:3/4; border-radius:14px; overflow:hidden; border:1px solid rgba(255,255,255,.12); background:#d8c9b6; }
.hp-proof__photo img { width:100%; height:100%; object-fit:cover; object-position:center top; }
@media (max-width:760px) {
  .hp-proof__feature-grid { grid-template-columns:1fr; }
  .hp-proof__photo { max-width:240px; margin:0 auto; }
}
@media (max-width: 900px) {
  .hp-hero__inner { grid-template-columns:1fr; gap:44px; }
  .hp-ai__inner { grid-template-columns:1fr; gap:44px; }
  .hp-recognize__grid { grid-template-columns:1fr; }
  .hp-how__rail { grid-template-columns:1fr 1fr; gap:36px 0; }
  .hp-how__line { display:none; }
  .hp-promise__grid { grid-template-columns:1fr; }
  .hp-proof__grid { grid-template-columns:1fr; }
}
@media (max-width: 560px) {
  .hp-how__rail { grid-template-columns:1fr; }
  .hp-handoff__item { grid-template-columns:1fr; gap:6px; }
  .hp-direct__inner { flex-direction:column; align-items:flex-start; }
}
