/* Pearls & Palms release design. One final layout authority; no transaction logic. */
:root {
  --hh-pearl:#fbf8f2; --hh-pearl-deep:#f0e8dc;
  --hh-navy:#082d49; --hh-navy-2:#12485d; --hh-palm:#146c61;
  --hh-gold:#be8c36; --hh-gold-light:#edcf89; --hh-ink:#173247;
  --hh-muted:#536977; --hh-line:#dedbd2;
  --hh-shadow:0 14px 44px rgba(8,45,73,.07);
  --navy:var(--hh-navy); --ink:var(--hh-ink); --muted:var(--hh-muted);
  --gold:var(--hh-gold); --line:var(--hh-line);
  --gold-soft:#f5ecda; --radius:22px;
}
html { background:var(--hh-pearl); scroll-behavior:smooth; scroll-padding-top:112px; }
body { background:radial-gradient(ellipse at 5% 0%,#eee3cc66,transparent 36rem),radial-gradient(ellipse at 100% 20%,#d9eee655,transparent 42rem),var(--hh-pearl); color:var(--hh-ink); font-size:15px; line-height:1.6; }
.app-shell { background:transparent!important; }
#app :is(h1,h2,h3,h4,p,strong,small,label,button,span) { overflow-wrap:break-word; }
#app :is(h1,h2,h3,h4) { text-wrap:balance; }
#app :is(.main-column,.side-column,.page-grid,.hh-workspace,.panel,.dh-section,.dh-record-copy,.op-job-section,.sig-quote-builder,.form-grid>*,.detail-columns>*,.cx-hero-copy) { min-width:0; }
#app :is(.main-shell,.topbar) { width:100%; max-width:1400px!important; margin-inline:auto; padding-inline:clamp(18px,3.4vw,48px)!important; box-sizing:border-box; }
#app .main-shell { padding-top:26px; }
.site-header { background:rgba(251,248,242,.94)!important; border-bottom:1px solid #082d4912!important; box-shadow:0 4px 24px #082d4905; }
.site-header .topbar { min-height:82px; padding-block:14px!important; gap:22px!important; }
.brand { flex-shrink:0; }
.brand strong { color:var(--hh-navy)!important; letter-spacing:-.035em; }
.brand small { color:var(--hh-muted)!important; }
.sig-logo { flex-shrink:0; }
.sig-brand-promise { font-size:12px!important; color:var(--hh-muted)!important; }
.header-actions { flex-shrink:0; gap:10px!important; }
.profile-chip { background:#fff9!important; border:1px solid #082d4914; border-radius:999px; }
.profile-name { max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.profile-chip .avatar { background:#f1dfb5!important; color:var(--hh-navy)!important; }
.btn { min-height:44px; border-radius:12px!important; white-space:normal; line-height:1.35!important; font-weight:650; transition:box-shadow .18s,border-color .18s,background .18s; }
.btn.primary { background:linear-gradient(115deg,#e3c477,#caa04b)!important; color:#173247!important; border:1px solid #ba8e39!important; box-shadow:inset 0 1px 0 #ffffff60,0 7px 18px #a4772424!important; }
.btn.outline { background:rgba(255,255,255,.85)!important; border-color:#d6d8d5!important; color:var(--hh-navy)!important; }
.btn:hover { box-shadow:0 8px 22px #082d4912; }
.btn:disabled { opacity:.6; cursor:wait; }
:is(button,a,input,select,textarea,summary):focus-visible { outline:3px solid #146c61!important; outline-offset:4px; }
.eyebrow { color:#805e24!important; font-size:11px; line-height:1.5!important; letter-spacing:.11em; }
.hh-icon { flex-shrink:0; }

/* Shared hero: navy, palm light and quiet gold, before and after sign-in. */
#app :is(.cx-public-hero,.dh-hero,.customer-command-hero,.welcome-strip) {
  position:relative; isolation:isolate; height:auto!important; min-height:0!important;
  border:1px solid #edcf8929!important; border-radius:28px!important;
  background:radial-gradient(ellipse at 95% 10%,#e9cf8933,transparent 28rem),radial-gradient(ellipse at 100% 100%,#25998755,transparent 36rem),linear-gradient(120deg,#082d49,#103e51 65%,#125c58)!important;
  color:#fff!important; box-shadow:0 24px 58px #082d4924!important; overflow:hidden;
}
#app :is(.cx-public-hero,.dh-hero,.customer-command-hero) :is(h1,h2,h3) { color:#fff!important; }
#app :is(.cx-public-hero,.dh-hero,.customer-command-hero) p { color:#e1ebeb!important; }
#app :is(.cx-public-hero,.dh-hero) :is(.eyebrow,.sig-kicker) { color:#efd898!important; }
#app .cx-public-hero { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr); gap:clamp(28px,4vw,60px); align-items:center; padding:clamp(30px,4vw,54px); }
#app .cx-hero-copy { display:flex; flex-direction:column; align-items:flex-start; gap:0; }
#app .cx-hero-copy h1 { font-size:clamp(36px,3.8vw,58px)!important; line-height:1.08!important; letter-spacing:-.045em; margin:18px 0 20px; max-width:620px; }
#app .cx-hero-copy p { font-size:16px; line-height:1.75; max-width:590px; margin:0 0 28px; }
#app .landing-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:0; }
#app .landing-actions .btn { padding:14px 20px; }
#app .cx-trust-strip { margin-top:24px; gap:8px; }
#app .cx-trust-strip span { padding:7px 10px; font-size:11px; font-weight:600; color:#f3f7f6; background:#ffffff0d; border-color:#ffffff26; }
#app .cx-repair-flow { display:flex; flex-direction:column; align-items:stretch; gap:0; padding:0; border-radius:22px; background:linear-gradient(140deg,#ffffff17,#ffffff08); border:1px solid #ffffff30; box-shadow:inset 0 1px 0 #ffffff28,0 12px 38px #001a2920; backdrop-filter:none; }
#app .cx-repair-flow .cx-flow-heading { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; gap:5px; padding:24px 26px 18px; }
#app .cx-flow-heading>* { grid-column:1; width:auto; height:auto; border-radius:0; background:none; display:block; }
#app .cx-flow-heading .eyebrow { font-size:10px; }
#app .cx-flow-heading>strong { font-size:24px; line-height:1.25; letter-spacing:-.025em; }
#app .cx-flow-heading>small { color:#d6e4e4; font-size:12px; line-height:1.6; margin:0; }
#app .cx-flow-steps { display:grid; grid-template-columns:minmax(0,1fr); width:100%; margin:0; padding:8px 26px; gap:0; box-sizing:border-box; }
#app .cx-flow-steps li { display:grid; grid-template-columns:40px minmax(0,1fr); gap:16px; align-items:center; justify-items:stretch; text-align:left; min-height:70px; padding:12px 0; }
#app .cx-flow-steps li:not(:last-child)::after { left:19px; top:58px; width:1px; height:24px; opacity:.6; }
#app .cx-flow-steps b { width:40px; height:40px; border-radius:13px; background:#e9cf891c; border-color:#e9cf893d; color:#f2d89a; box-shadow:none; font-size:12px; }
#app .cx-flow-steps span { display:grid; grid-template-columns:minmax(0,1fr); gap:3px; }
#app .cx-flow-steps strong { line-height:1.35; font-size:15px; }
#app .cx-flow-steps small { color:#d6e4e4; font-size:12px; line-height:1.5; }
#app .cx-repair-flow .cx-flow-materials { display:flex; flex-direction:row; align-items:flex-start; gap:12px; padding:18px 26px; background:#001c2e25; }
#app .cx-flow-materials>span { flex:0 0 34px; width:34px; height:34px; background:#e9cf8922; color:#edcf89; border:1px solid #e9cf892e; }
#app .cx-flow-materials p { display:grid; grid-template-columns:minmax(0,1fr); gap:4px; font-size:14px; line-height:1.5; }
#app .cx-flow-materials small { color:#d6e4e4; font-size:12px; line-height:1.6; }

/* Explicit card areas eliminate implicit grid tracks and inherited span styles. */
#app .cx-public-services { padding:38px 0 14px!important; }
#app .cx-services-heading { display:flex; align-items:flex-end; gap:24px; margin-bottom:22px; }
#app .cx-services-heading>div { min-width:0; max-width:740px; }
#app .cx-services-heading h2 { font-size:clamp(26px,2.6vw,36px); line-height:1.18; letter-spacing:-.035em; color:var(--hh-navy); margin:8px 0 12px; }
#app .cx-services-heading p { font-size:14px; line-height:1.65; margin:0; }
#app .cx-service-count { flex-shrink:0; font-size:11px; color:#795922; background:#faf4e6; }
#app .cx-public-service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:16px!important; }
#app .cx-public-service {
  display:grid!important; grid-template-columns:48px minmax(0,1fr)!important;
  grid-template-rows:auto minmax(32px,1fr)!important; grid-template-areas:"icon copy" "action action";
  align-items:start; align-content:start; gap:20px 14px!important; text-align:left;
  height:auto!important; min-height:176px!important; padding:22px 20px 16px!important;
  border:1px solid #dddfd8!important; border-radius:20px!important;
  background:linear-gradient(140deg,#ffffffed,#fffaf3e0)!important; box-shadow:inset 0 1px 0 #fff,var(--hh-shadow)!important;
  color:var(--hh-ink); overflow:visible; transition:border-color .18s,box-shadow .18s,transform .18s;
}
#app .cx-public-service::before { inset:0 18px auto; height:2px; background:linear-gradient(90deg,#146c6150,#c7963f70); border-radius:99px; opacity:.7; }
#app .cx-public-service::after { display:none; }
#app .cx-public-service>.cx-service-number { display:none!important; }
#app .cx-public-service>.cx-service-icon { grid-area:icon; display:grid!important; align-self:start; width:48px!important; height:48px!important; padding:0; border-radius:15px!important; box-shadow:inset 0 1px 0 #fff,0 4px 12px #082d4906; font-size:0; background:#eaf4f1!important; color:#146c61!important; }
#app .cx-public-service>.cx-service-copy { grid-area:copy; display:flex!important; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:7px; width:auto!important; height:auto!important; padding:0; min-width:0; border-radius:0; background:transparent!important; }
#app .cx-service-copy strong { font-size:15px; font-weight:700; line-height:1.35!important; color:var(--hh-navy); }
#app .cx-service-copy small { display:block; min-height:0; font-size:12px; line-height:1.6!important; color:var(--hh-muted); }
#app .cx-public-service>em { grid-area:action; align-self:end; display:flex; gap:8px; justify-content:space-between; align-items:center; width:100%; margin:0; padding-top:12px!important; border-top:1px solid #e5e7df; font-size:11px; font-weight:650; font-style:normal; color:#795922!important; }
#app .cx-public-service>em>span { display:block; width:auto; height:auto; background:transparent; font-size:11px; }
#app .cx-public-service>em>b { display:grid; place-items:center; flex:0 0 24px; width:24px; height:24px; border-radius:50%; font-size:14px; color:#146c61; background:#eaf4f1; }
#app .cx-service-icon svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.7; }
@media(hover:hover) and (pointer:fine) { #app .cx-public-service:hover { transform:translateY(-3px); border-color:#b9cfc1!important; box-shadow:0 16px 32px #082d4912!important; } }

/* Authenticated home shares the hero, with photography safely behind a scrim. */
#app .dh-hero { display:block; margin-bottom:26px; }
#app .dh-hero::after { background:linear-gradient(90deg,#082d49 0%,#082d49f5 38%,#082d4970 72%,#125c5820)!important; z-index:1; pointer-events:none; }
#app .dh-hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:70% 40%; opacity:.35; }
#app .dh-hero :is(.sig-hero-copy,.sig-work-hero>div) { position:relative; inset:auto; z-index:2; max-width:720px; padding:40px!important; }
#app .dh-hero h1 { font-size:clamp(30px,3vw,46px)!important; line-height:1.14!important; max-width:580px!important; margin:16px 0!important; }
#app .dh-hero h1 em { color:#edcf89; }
#app .dh-hero p { max-width:520px!important; font-size:15px!important; line-height:1.7!important; margin:0 0 24px!important; }
#app .dh-hero .sig-trust { position:static!important; margin:22px 0 0!important; flex-wrap:wrap; gap:12px 20px; }
#app .dh-hero .sig-trust span { max-width:none; font-size:11px!important; line-height:1.6; color:#eef4f0; }
#app .dh-hero .sig-hero-actions { display:flex; flex-direction:row; flex-wrap:wrap; gap:12px; align-items:center; }
#app .dh-hero .sig-hero-actions .outline { display:inline-flex!important; }
#app .sig-context { margin:0 0 18px!important; padding:0; font-size:12px; }
#app .dh-heading { margin:26px 0 20px; align-items:flex-start; gap:20px; }
#app .dh-heading h1 { font-size:clamp(26px,2.5vw,34px); line-height:1.2; }
#app .dh-heading p { font-size:14px; max-width:640px; }
#app :is(.panel,.side-card,.metric-card,.dh-metric,.op-job-section,.hh-home-card) { background:linear-gradient(145deg,#ffffffed,#fffdf9e8)!important; border:1px solid #dedfd7!important; border-radius:20px; box-shadow:inset 0 1px 0 #fff,var(--hh-shadow)!important; }
#app :is(.dh-metric,.dh-feature,.dh-record,.dh-agenda,.op-row,.op-heading,.section-heading,.hh-section-heading,.detail-heading,.cx-commitment-head) { height:auto; }
#app .dh-metric { min-width:0; }
#app .dh-metric>strong { overflow-wrap:anywhere; }
#app .dh-metric>span { line-height:1.5; }
#app .dh-dashboard-grid { grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr); gap:24px; }
#app .dh-record-title h3 { line-height:1.5; }
#app :is(.dh-record-copy,.dh-agenda>div,.dh-feature>span:nth-child(2)) { overflow-wrap:anywhere; }
#app :is(.dh-feature,.dh-pipeline-row) { min-height:60px; }
#app :is(.dh-section-head,.op-heading,.hh-section-heading,.section-heading,.detail-heading,.op-actions,.quote-row,.statement-row) { gap:14px; flex-wrap:wrap; }
#app .dh-filters .btn { font-size:12px; }
#app .op-badge { white-space:normal; line-height:1.5; }
#app :is(.dh-directory-grid,.op-breakdown-grid,.detail-columns,.settings-grid) { min-width:0; }
#app .hh-empty p { max-width:46ch; margin-inline:auto; }
#app .footer { margin-top:38px; border-top-color:#dcded5; line-height:1.8; color:var(--hh-muted); }

/* Request, schedule, quotation and evidence screens stay content-sized. */
#app :is(.input,.textarea,select) { min-width:0; max-width:100%; font-size:15px; line-height:1.5; border-radius:12px; border-color:#cfd7d4; background:#fff; }
#app :is(.form,.form-grid) label { line-height:1.5; min-width:0; }
#app :is(.choice-card,.sig-option,.hh-sched__card) { height:auto; min-width:0; }
#app :is(.choice-card,.sig-option) small { line-height:1.6; }
.hh-schedule-r3 { padding:22px; border:1px solid #d4ddd5; background:linear-gradient(145deg,#f9fcf8,#f5f0e5); border-radius:20px; }
.hh-schedule-r3 .hh-sched__head { display:block; margin-bottom:18px; }
.hh-schedule-r3 h3 { margin:6px 0 0; color:#082d49; font-size:23px; line-height:1.3; }
.hh-schedule-r3 .hh-sched__modes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.hh-schedule-r3 .hh-sched__mode { display:flex; align-items:flex-start; gap:10px; padding:16px 12px; min-width:0; min-height:90px; height:auto; border:1px solid #cfd8d1; border-radius:14px; background:#fff; color:#173247; text-align:left; font:inherit; cursor:pointer; }
.hh-schedule-r3 .hh-sched__mode.is-selected { background:#082d49; color:#fff; border-color:#082d49; box-shadow:0 6px 20px #082d4915; }
.hh-schedule-r3 .hh-sched__mode>span:last-child { display:grid; min-width:0; gap:4px; }
.hh-schedule-r3 .hh-sched__mode strong { font-size:14px; line-height:1.4; color:inherit; }
.hh-schedule-r3 .hh-sched__mode small { font-size:11px; line-height:1.5; color:inherit; opacity:.8; }
.hh-schedule-r3 .hh-sched__icon { flex:0 0 24px; display:grid; place-items:center; width:24px; height:24px; font-size:22px; color:inherit; background:none; }
.hh-schedule-r3 .hh-sched__detail { display:grid; gap:16px; padding:20px 0; }
.hh-schedule-r3 .hh-sched__select-label { display:grid; gap:8px; min-width:0; font-size:13px; line-height:1.5; color:#173247; }
.hh-schedule-r3 :is(select,input) { font:inherit; min-height:48px; width:100%; min-width:0; box-sizing:border-box; padding:10px 12px; background:#fff; border:1px solid #bdccc4; border-radius:11px; color:#173247; }
.hh-schedule-r3 .hh-sched__schedule-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.hh-upcoming-days { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.hh-upcoming-days button { display:grid; gap:4px; min-width:0; padding:12px 4px; min-height:66px; background:#fff; border:1px solid #cfd8d1; border-radius:11px; color:#173247; font:inherit; cursor:pointer; }
.hh-upcoming-days strong { font-size:12px; line-height:1.4; }
.hh-upcoming-days small { font-size:11px; line-height:1.4; }
.hh-upcoming-days [aria-pressed="true"] { background:#e2eee6; border-color:#146c61; color:#0c534a; }
.hh-schedule-r3 .hh-sched__hint { color:#536977; font-size:12px; line-height:1.6; margin:0; }
.hh-schedule-r3 .hh-sched__summary { display:grid; gap:5px; padding:16px; border:1px solid #dde1d7; background:#ffffffa6; border-radius:12px; }
.hh-schedule-r3 .hh-sched__summary>span { color:#536977; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.hh-schedule-r3 .hh-sched__summary>strong { color:#082d49; font-size:14px; line-height:1.5; }
.hh-schedule-r3 .hh-sched__emergency-title { display:flex; gap:12px; align-items:center; background:#fff8e7; padding:14px; border-radius:12px; }
.hh-schedule-r3 .hh-sched__emergency-title strong,.hh-schedule-r3 .hh-sched__emergency-title small { display:block; line-height:1.6; color:#173247; }
#app .cx-wizard-heading { align-items:flex-start; }
#app .cx-step-buttons { flex-wrap:wrap; }
#app .cx-step-buttons button { min-height:44px; }
#app .cx-review-list strong { overflow-wrap:anywhere; }
#app .cx-cost-lines>div { flex-wrap:wrap; }
#app :is(.sig-line-title,.sig-line-footer,.sig-builder-buttons,.sig-builder-bottom,.op-evidence-heading) { flex-wrap:wrap; gap:12px; }
#app :is(.op-fin-table,table) { font-size:13px; }
.modal :is(.modal-card,.cx-guest-card) { box-sizing:border-box; width:min(680px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; overscroll-behavior:contain; background:#fffcf8; border:1px solid #e1d9c8; box-shadow:0 28px 90px #082d4930; }
.cx-guest-modal { align-items:center; padding:16px!important; }
.cx-guest-card { margin:auto!important; }
.cx-guest-modal :is(input,select,textarea) { font-size:16px; }
.cx-guest-modal label { min-width:0; }
.cx-guest-review [hidden],.cx-guest-card [hidden] { display:none!important; }
.cx-guest-actions { flex-wrap:wrap; }
/* Preserve the accepted R6.10 authentication geometry. Only focus/glass changes. */
#hhAuthR2,#hhAuthR6 { background:#082d4980!important; }
html.hh-auth-transition #app { animation:hh-release-arrive .22s ease both; }
@keyframes hh-release-arrive { from { opacity:.65; } to { opacity:1; } }
@supports(backdrop-filter:blur(12px)) {
  .site-header { backdrop-filter:blur(16px); }
  .bottom-nav { backdrop-filter:blur(16px); }
  #hhAuthR2,#hhAuthR6 { backdrop-filter:blur(10px); }
}
/* Header always chooses one navigation layout; no 901–960px gap. */
@media(min-width:961px) { #app .bottom-nav { display:none!important; } }
@media(min-width:961px) and (max-width:1200px) {
  #app .topbar { flex-wrap:wrap; }
  #app .sig-top-nav { order:3; flex-basis:100%; display:flex!important; justify-content:center; }
  #app .header-actions { margin-left:auto; }
  #app .sig-brand-promise { display:none; }
}
@media(max-width:1200px) {
  #app .cx-public-service-grid { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
  #app .dh-dashboard-grid { grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr); gap:18px; }
  #app .cx-public-hero { grid-template-columns:minmax(0,1fr) minmax(320px,.85fr); gap:30px; }
}
@media(max-width:960px) {
  html { scroll-padding-top:90px; }
  #app .sig-top-nav { display:none!important; }
  #app .bottom-nav { display:flex!important; position:fixed; z-index:40; bottom:0; left:0; right:0; width:100%; justify-content:space-around; gap:0; padding:8px 8px max(8px,env(safe-area-inset-bottom)); box-sizing:border-box; background:#fbf8f2f5!important; border-top:1px solid #dcded5; }
  #app .bottom-nav .nav-item { display:flex; flex:1 1 0; flex-direction:column; align-items:center; justify-content:center; min-width:0; max-width:110px; min-height:54px; gap:4px; padding:8px 4px; }
  #app .bottom-nav .nav-item span { font-size:11px!important; line-height:1.3; white-space:normal; }
  #app .bottom-nav .nav-item.active { color:#146c61!important; background:#eaf2ea!important; border-radius:12px; }
  #app .main-shell { padding-bottom:calc(106px + env(safe-area-inset-bottom))!important; }
  #app .hh-role-guest .main-shell { padding-bottom:28px!important; }
  #app .cx-public-hero { grid-template-columns:minmax(0,1fr); padding:32px; }
  #app .cx-hero-copy h1 { max-width:680px; font-size:46px!important; }
  #app .cx-flow-steps { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; padding:20px 26px; }
  #app .cx-flow-steps li { grid-template-columns:minmax(0,1fr); align-content:start; gap:10px; padding:0; min-height:0; }
  #app .cx-flow-steps li::after { display:none; }
  #app .cx-flow-heading { border-bottom:1px solid #ffffff20; }
  #app .cx-public-service-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  #app .dh-dashboard-grid { grid-template-columns:minmax(0,1fr); }
  #app .cx-job-journey { grid-template-columns:minmax(0,1fr); }
  #app .sig-brand-promise { display:none; }
  #app .profile-name { display:none; }
  .toast { bottom:100px; }
}
@media(max-width:620px) {
  .hh-schedule-r3 { padding:18px 14px; }
  .hh-schedule-r3 .hh-sched__modes { grid-template-columns:minmax(0,1fr); }
  .hh-schedule-r3 .hh-sched__mode { min-height:70px; padding:14px; }
  .hh-schedule-r3 .hh-sched__schedule-fields { grid-template-columns:minmax(0,1fr); }
  .hh-schedule-r3 :is(select,input) { font-size:16px; }
  .hh-upcoming-days { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #app .site-header .topbar { min-height:70px; padding-block:12px!important; gap:10px!important; }
  #app .main-shell { padding-top:20px; }
  #app .brand strong { font-size:20px; }
  #app .brand small { font-size:8px; }
  #app .sig-logo { width:32px; }
  #app .header-actions { gap:8px!important; }
  #app .header-actions .btn { font-size:12px; min-height:44px; padding:10px 12px; }
  #app :is(.cx-public-hero,.dh-hero) { border-radius:22px!important; }
  #app .cx-public-hero { padding:26px 22px; gap:28px; }
  #app .cx-hero-copy h1 { font-size:36px!important; line-height:1.12!important; margin:14px 0 18px; }
  #app .cx-hero-copy p { font-size:14px; line-height:1.7; margin-bottom:22px; }
  #app .cx-hero-copy>.eyebrow { font-size:10px; }
  #app .landing-actions { width:100%; display:grid; grid-template-columns:minmax(0,1fr); }
  #app .landing-actions .btn { width:100%; }
  #app .cx-trust-strip { margin-top:20px; gap:7px; }
  #app .cx-trust-strip span { font-size:10px; padding:6px 8px; }
  #app .cx-repair-flow .cx-flow-heading { padding:20px; }
  #app .cx-flow-heading>strong { font-size:21px; }
  #app .cx-flow-steps { grid-template-columns:minmax(0,1fr); padding:4px 20px; gap:0; }
  #app .cx-flow-steps li { grid-template-columns:36px minmax(0,1fr); gap:12px; padding:12px 0; }
  #app .cx-flow-steps b { width:36px; height:36px; border-radius:11px; }
  #app .cx-repair-flow .cx-flow-materials { padding:16px 20px; }
  #app .cx-services-heading { flex-direction:column; align-items:flex-start; gap:12px; }
  #app .cx-services-heading h2 { font-size:28px; }
  #app .cx-service-count { display:none; }
  #app .cx-public-service-grid { gap:12px!important; }
  #app .cx-public-service { grid-template-columns:minmax(0,1fr)!important; grid-template-rows:auto 1fr auto!important; grid-template-areas:"icon" "copy" "action"; gap:14px!important; min-height:190px!important; padding:18px 14px 12px!important; border-radius:17px!important; }
  #app .cx-service-copy strong { font-size:14px; }
  #app .cx-service-copy small { display:none; }
  #app .cx-public-service>em { font-size:10px; }
  #app .cx-public-service>em>span { font-size:10px; }
  #app .dh-hero :is(.sig-hero-copy,.sig-work-hero>div) { padding:26px 22px!important; }
  #app .dh-hero h1 { font-size:30px!important; }
  #app .dh-hero p { font-size:14px!important; }
  #app .dh-hero .sig-hero-actions .btn { width:100%; }
  #app .dh-hero .sig-trust { gap:10px; }
  #app .dh-heading { flex-direction:column; }
  #app :is(.dh-section-head,.op-heading,.hh-section-heading,.detail-heading,.cx-commitment-head) { align-items:flex-start; }
  #app .dh-metric { grid-template-columns:minmax(0,1fr) auto; }
  #app .dh-record { display:grid; grid-template-columns:34px minmax(0,1fr); gap:12px; }
  #app .dh-record>.btn { grid-column:2; margin:0; max-width:100%; justify-self:start; }
  #app :is(.form-grid,.form-grid.three,.detail-columns,.cx-guest-schedule,.settings-grid,.cx-cost-lines,.op-breakdown-grid) { grid-template-columns:minmax(0,1fr)!important; }
  #app :is(.input,.textarea,select) { font-size:16px; }
  #app .cx-wizard-heading { flex-direction:column; padding:22px; }
  #app .cx-step-buttons { width:100%; }
  #app .cx-step-buttons button { min-width:0; }
  #app .cx-wizard-actions { flex-wrap:wrap; }
  #app .cx-wizard-actions .btn { flex:1; min-width:100px; }
  .cx-guest-modal { align-items:flex-end; padding:10px!important; }
  .cx-guest-modal .cx-guest-card { width:100%; margin:0!important; padding:24px 20px; border-radius:24px; max-height:calc(100dvh - 20px); }
  .cx-guest-actions { display:flex; flex-direction:column-reverse; }
  .cx-guest-actions .btn { width:100%; }
}
@media(max-width:380px) {
  #app :is(.main-shell,.topbar) { padding-inline:12px!important; }
  #app .brand strong { font-size:18px; }
  #app .header-actions .btn { font-size:11px; padding-inline:10px; }
  #app .hh-role-guest .header-actions .btn.primary { display:none; }
  #app .cx-public-hero { padding:24px 18px; }
  #app .cx-hero-copy h1 { font-size:32px!important; }
  #app .cx-public-service>em>b { display:none; }
  #app .cx-public-service { padding-inline:12px!important; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
@media(forced-colors:active) { .btn,.cx-public-service,.cx-repair-flow { border:1px solid ButtonText!important; } }
@media print { .site-header,.bottom-nav { display:none!important; } #app .main-shell { padding:0!important; } .panel { box-shadow:none!important; break-inside:avoid; } }
