/* Shared visual language with the current Interium app. */
:root { --orange:#f26a16; --web-orange:#f26a16; --web-ink:#171717; --web-muted:#727272; --web-line:#e5e7eb; --web-shadow:0 18px 48px 0 rgba(23,23,23,.24), 0 6px 18px 0 rgba(23,23,23,.12); }
body[data-page="customer"], body[data-page="request"] { background:#fff; }
#customer-page .web-home { padding-top:48px; }
.web-intro h1 { font-size:clamp(1.5rem,2.6vw,2.1rem); font-weight:500; line-height:1.42; }
.web-intro h1 { color:var(--web-ink); }
.web-intro h1 span { color:var(--orange); }
.app-kicker { margin:0 0 12px!important; font-size:.84rem!important; letter-spacing:.025em; color:#727272!important; }
.app-intro-links { display:flex; flex-wrap:wrap; gap:8px 20px; align-items:center; }
.app-intro-links a { min-height:44px; display:inline-flex; align-items:center; gap:8px; font-size:.9375rem; }
.web-service { border-color:#e5e7eb; border-radius:24px; box-shadow:var(--web-shadow); padding:26px; }
.web-service h2, .web-service--repair h2 { font-size:1.5rem; font-weight:550; }
.web-service p { font-size:1rem; color:#666; line-height:1.65; }
.web-service:hover { border-color:#d1d5db; box-shadow:0 22px 56px 2px rgba(23,23,23,.28), 0 8px 22px 0 rgba(23,23,23,.14); }
.web-service-action { border:1px solid #f26a16; color:#404040; font-size:.95rem; font-weight:450; padding:10px 17px; }
.web-service:hover .web-service-action, .web-service:focus-visible .web-service-action { border-color:#f26a16; color:#404040; background:#fafafa; }
.web-leak { min-height:96px; border-radius:22px; padding:18px 22px; }
.web-leak h2 { font-size:1.2rem; font-weight:550; }
.web-leak p { font-size:.94rem; }
.app-preview-card { display:flex; align-items:center; gap:18px; margin-top:14px; padding:24px; background:#fff; border:1px solid #e5e7eb; border-radius:22px; }
.app-preview-card .app-preview-icon { display:grid; place-items:center; width:48px; height:48px; flex:none; color:#727272; border:1px solid #e5e7eb; border-radius:16px; background:#fff; }
.app-preview-copy { flex:1; min-width:0; }
.app-preview-copy h2 { margin:0 0 5px; font-size:1.25rem; font-weight:550; }
.app-preview-copy p { margin:0; font-size:.95rem; color:#666; }
.app-preview-copy small { display:block; margin-top:6px; color:#727272; font-size:.83rem; }
.app-preview-card > span:last-child { white-space:nowrap; font-size:.9rem; color:#404040; }
.app-preview-card:hover { border-color:#d1d5db; }
.app-mini-label { display:inline-block; vertical-align:middle; margin-left:6px; padding:3px 7px; font-size:.73rem; font-weight:450; color:#697989; background:#eff4f8; border-radius:6px; }
.app-note { margin:16px 0 0; color:#727272; font-size:.86rem; line-height:1.75; }
.app-directory-link { display:block; margin-top:20px; padding-top:18px; border-top:1px solid #e5e7eb; }
.app-directory-link strong { font-size:1rem; font-weight:550; }
.app-directory-link p { margin:7px 0 0; font-size:.88rem; color:#727272; }
.app-preview-card, .app-feature-strip a, .partner-type { box-shadow:var(--web-shadow); }
.web-partner-banner { box-shadow:var(--web-shadow); border-color:#e5e7eb; background:#fff; }
.web-panel-heading .login-entry { border-color:#e5e7eb; color:#404040; }
.app-feature-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:24px; }
.app-feature-strip a { display:block; padding:23px; background:#fff; border:1px solid #e5e7eb; border-radius:20px; }
.app-feature-strip small { display:block; color:#727272; font-size:.82rem; margin-bottom:10px; }
.app-feature-strip strong { display:block; font-size:1.07rem; font-weight:550; }
.app-feature-strip p { margin:8px 0 0; font-size:.925rem; color:#727272; line-height:1.7; }
.flow-section { background:#fff; border-block:1px solid #e5e7eb; }
.flow-list h3 { font-weight:550; }
.faq-list summary { font-size:1.0625rem; font-weight:500; line-height:1.6; }
.faq-list p { font-size:1rem; line-height:1.85; }
.app-stores { display:flex; justify-content:center; flex-wrap:wrap; gap:14px; margin-top:28px; }
.app-store { min-width:200px; display:flex; align-items:center; justify-content:center; gap:16px; padding:18px 24px; border:1px solid #e5e7eb; border-radius:16px; background:#fff; color:#404040; }
.app-store strong { font-size:1.05rem; font-weight:550; }
.app-store small { font-size:.85rem; color:#727272; }
.app-store { text-decoration:none; text-align:left; min-height:88px; transition:box-shadow .2s ease, border-color .2s ease; }
.app-store--ios { border-color:#d7dce2; box-shadow:0 8px 24px rgba(23,23,23,.08); }
.app-store--web { background:#fafafa; }
.app-store-icon { width:28px; height:34px; flex:none; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; }
.app-store-copy { display:flex; flex:1; flex-direction:column; gap:5px; }
.app-store-arrow { font-size:1.25rem; color:#727272; }
.app-store:hover { border-color:#aeb5be; box-shadow:0 12px 28px rgba(23,23,23,.11); }
.app-store:focus-visible { outline:3px solid #c4510e; outline-offset:4px; }
.app-download-link { text-decoration:underline; text-underline-offset:4px; }
.app-text-link { display:inline-flex; min-height:44px; align-items:center; gap:8px; color:#404040; font-size:1rem; text-decoration:underline; text-underline-offset:5px; }
.partner-app-features { max-width:900px; margin:28px auto 0; }
.request-panel { border-color:#e5e7eb; border-radius:20px; box-shadow:var(--web-shadow); }
.request-button.primary { border:1px solid #f26a16; color:#404040; background:#fff; font-weight:500; }
.request-button.primary:hover:not(:disabled) { background:#fafafa; }
.request-writing-hints span { background:#fafafa; border-color:#e5e7eb; color:#666; }
.request-soft-box { background:#fafafa; color:#666; }
.request-soft-box strong { color:#404040; }
.request-error { scroll-margin-block:100px; }
.request-process-card strong { white-space:normal; font-weight:550; }
.request-process-card[aria-pressed="true"], .request-option[aria-pressed="true"] { border-color:#f26a16; background:#fff; }
.request-section-heading h2 { font-weight:550; }
/* Keep the headline accent and request outlines as the main orange details. */
#customer-page :is(.web-service h2, .web-leak-copy h2, .app-preview-copy h2, .web-panel-heading h2, .section-heading h2, .faq-heading h2, .launch-section h2, .app-directory-link strong, .web-partner-banner strong, .app-feature-strip strong, .flow-list h3, .faq-list summary) { color:var(--web-ink); }
#customer-page :is(.eyebrow, .section-index, .step-number, .step-label) { color:var(--web-muted); }
:is(.app-preview-card,.app-feature-strip a,.app-directory-link,.app-text-link,.app-intro-links a):focus-visible { outline:3px solid #c4510e; outline-offset:4px; }
@media(max-width:1000px) { .app-feature-strip { gap:12px; } .app-feature-strip a { padding:18px; } }
@media(max-width:640px) {
  #customer-page .web-home { width:calc(100% - 32px); padding-top:28px; }
  .web-intro { align-items:flex-start; gap:14px; flex-direction:column; }
  .web-intro h1 { font-size:1.5rem; }
  .web-intro p { font-size:.97rem; }
  .web-service { padding:20px; min-height:250px; border-radius:21px; }
  .web-service h2, .web-service--repair h2 { font-size:1.27rem; }
  .web-service p { font-size:.94rem; }
  .web-service-action { font-size:.88rem; padding:9px 12px; gap:8px; }
  .web-service--repair { min-height:236px; }
  .web-leak { padding:17px; gap:12px; }
  .web-leak-action { font-size:.8rem; }
  .app-preview-card { padding:20px 17px; gap:12px; flex-wrap:wrap; }
  .app-preview-card .app-preview-icon { width:42px; height:42px; border-radius:13px; }
  .app-preview-copy h2 { font-size:1.2rem; }
  .app-preview-card > span:last-child { margin-left:54px; }
  .app-feature-strip { grid-template-columns:1fr; gap:10px; }
  .app-feature-strip a { padding:20px; }
  .app-feature-strip small { margin-bottom:6px; }
  .app-feature-strip p { font-size:.94rem; }
  .app-store { min-width:0; width:100%; max-width:300px; justify-content:space-between; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
