/*
 * Home page (front-page.php) — blocks: hero, services, rates, locations,
 * process, blog. Loaded ONLY on the front page (see ardi_scripts()).
 *
 * Intentionally NOT duplicated here (already in site.css): design tokens,
 * @font-face, base element rules, .ardi-btn*, .theme-express, .icn, .container.
 * The quote form (.quote*, .wq-*) is styled by site.css and is untouched.
 *
 * Class names (.sNNN, .hn-*, .w2-*) come from the supplied design export and
 * do not exist anywhere else in the theme, so nothing else can be affected.
 */

/* ---- component helpers ---- */
.w2-card{transition:box-shadow var(--dur-normal) var(--ease-standard),transform var(--dur-normal) var(--ease-standard)}
@media (hover:hover){.w2-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}}
.hn-lnk{display:inline-flex;align-items:center;gap:7px;min-height:44px;font-family:var(--font-sans);font-size:15px;font-weight:700;color:var(--express-700);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:color-mix(in srgb,var(--express-600) 40%,transparent);transition:color var(--dur-fast) var(--ease-standard),text-decoration-color var(--dur-fast) var(--ease-standard)}
.hn-lnk:hover{color:var(--express-800);text-decoration-color:currentColor}
.hn-ondark .ardi-btn--secondary{color:#fff;border-color:rgba(255,255,255,.5);background:transparent}
.hn-ondark .ardi-btn--secondary:hover{background:rgba(255,255,255,.08);border-color:#fff;color:#fff}
.hn-facts > li:first-child{padding-left:0 !important}
.hn-rates{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.hn-rates > :nth-child(-n+3){grid-column:span 2}
.hn-rates > :nth-child(n+4){grid-column:span 3}

/* process steps */
.ardi-step{display:flex;flex-direction:column;gap:10px;position:relative;flex:1;min-width:0}
.ardi-step__head{display:flex;align-items:center;gap:12px}
.ardi-step__num{font-family:var(--font-display);font-weight:900;font-size:38px;line-height:.9;letter-spacing:-.03em;color:var(--accent);font-variant-numeric:tabular-nums;flex:none}
.ardi-step__rule{flex:1;height:2px;background:var(--border-hair);position:relative}
.ardi-step__rule::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--border-strong)}
.ardi-step--last .ardi-step__rule{display:none}

/* ---- layout pieces ---- */
.s007{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;color:currentcolor;flex:0 0 auto}
.s008{stroke-width:1.9;display:block}
.s044{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;color:currentcolor;flex:0 0 auto}
.s048{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:currentcolor;flex:0 0 auto}

/* hero */
.s072{position:relative;background:var(--ink-950);overflow:hidden}
.s073{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;pointer-events:none}
.s074{position:absolute;inset:0;background:linear-gradient(97deg,rgba(15,16,18,.96) 0%,rgba(15,16,18,.88) 42%,rgba(15,16,18,.45) 76%,rgba(15,16,18,.18) 100%)}
.s075{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:96px 26px 80px}
.s076{max-width:1000px}
.s077{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--express-300);margin-bottom:24px;border:1px solid color-mix(in srgb,var(--express-400) 40%,transparent);border-radius:var(--radius-pill);padding:8px 16px}
.s078{width:6px;height:6px;border-radius:50%;background:var(--express-400)}
.s079{font-family:var(--font-display);font-weight:900;font-size:48px;line-height:1.08;letter-spacing:-.025em;color:#fff;margin:0;text-wrap:balance}
.s080{font-family:var(--font-sans);font-size:18px;line-height:1.6;color:var(--ink-200);margin:24px 0 0;max-width:720px;text-wrap:pretty}
.s081{display:flex;gap:16px;margin-top:32px;flex-wrap:wrap;align-items:center}
.s082{position:relative;z-index:2;background:var(--ink-950);border-top:1px solid rgba(255,255,255,.12)}
.s083{max-width:1200px;margin:0 auto;padding:0 26px}
.s084{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.12)}
.s085{background:var(--ink-950);padding:28px 24px;display:flex;flex-direction:column;gap:8px;min-width:0}
.s086{font-family:var(--font-mono);font-weight:600;font-size:28px;line-height:1.15;letter-spacing:-.01em;color:#fff;font-variant-numeric:tabular-nums}
.s087{font-family:var(--font-sans);font-size:15px;line-height:1.45;color:var(--ink-200);text-wrap:pretty}

/* section header (shared) */
.s089{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-600);margin-bottom:16px}
.s090{width:22px;height:2px;background:var(--accent)}
.s091{font-family:var(--font-display);font-weight:800;font-size:36px;line-height:1.15;letter-spacing:-.02em;color:var(--text-strong);margin:0}
.s096{font-family:var(--font-sans);font-size:16px;line-height:1.55;color:var(--text-body);margin:12px 0 0;text-wrap:pretty}
.s100{font-family:var(--font-sans);font-size:17px;line-height:1.55;color:var(--text-body);margin:12px 0 0}

/* services */
.s088{background:var(--white);border-bottom:1px solid var(--border-hair);padding:88px 0}
.s092{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}
.s093{background:var(--white);border:1px solid var(--border-hair);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6) var(--space-6) var(--space-3);display:flex;flex-direction:column}
.s094{width:48px;height:48px;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--express-600);display:inline-flex;align-items:center;justify-content:center}
.s095{font-family:var(--font-display);font-weight:800;font-size:20px;line-height:1.25;letter-spacing:-.01em;color:var(--text-strong);margin:20px 0 0}
.s097{margin-top:auto;padding-top:20px}
.s098{border-top:1px solid var(--border-hair);padding-top:8px;display:flex;flex-direction:column;align-items:flex-start}

/* rates */
.s099{background:var(--surface-page);padding:88px 0}
.s101{margin-top:32px}
.s102{background:var(--white);border:1px solid var(--border-hair);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6);display:flex;flex-direction:column;min-width:0}
.s103{font-family:var(--font-display);font-weight:700;font-size:18px;line-height:1.3;letter-spacing:-.01em;color:var(--text-strong);margin:0}
.s104{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-top:16px}
.s105{font-family:var(--font-display);font-weight:800;font-size:48px;line-height:1;letter-spacing:-.025em;color:var(--ink-950);white-space:nowrap;font-variant-numeric:tabular-nums}
.s106{font-family:var(--font-sans);font-size:15px;line-height:1.55;color:var(--text-body);margin:20px 0 0;padding-top:16px;border-top:1px solid var(--border-hair);text-wrap:pretty}
.s107{font-size:20px;font-weight:700;letter-spacing:-.01em;margin-right:8px}
.s108{font-family:var(--font-sans);font-weight:600;font-size:16px;color:var(--text-body);white-space:nowrap}
.s109{font-family:var(--font-sans);font-weight:600;font-size:16px;color:var(--text-body)}
.s110{display:flex;align-items:center;justify-content:space-between;gap:24px 40px;margin-top:24px;padding:var(--space-6);background:var(--white);border:1px solid var(--border-hair);border-radius:var(--radius-lg)}
.s111{font-family:var(--font-sans);font-size:15px;line-height:1.6;color:var(--text-body);margin:0;max-width:700px;text-wrap:pretty}
.s112{color:var(--express-700);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.s113{display:flex;gap:12px;flex-wrap:wrap;flex:0 0 auto}

/* locations */
.s114{background:var(--white);border-top:1px solid var(--border-hair);padding:88px 0}
.s115{font-family:var(--font-sans);font-size:17px;line-height:1.55;color:var(--text-body);margin:12px 0 32px;max-width:760px;text-wrap:pretty}
.s116{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.s117{background:var(--white);border:1px solid var(--border-hair);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column}
.s118{display:block;width:100%;aspect-ratio:16/9;height:auto;object-fit:cover}
.s119{padding:var(--space-6) var(--space-6) var(--space-3);display:flex;flex-direction:column;flex:1 1 0%}
.s120{font-family:var(--font-display);font-weight:800;font-size:22px;letter-spacing:-.015em;color:var(--text-strong);margin:0}
.s121{font-weight:700;color:var(--text-strong)}
.s122{margin-top:auto;padding-top:12px}

/* process */
.s123{background:var(--surface-page);border-top:1px solid var(--border-hair);padding:88px 0}
.s124{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px}
.s125{display:flex;min-width:0}
.s126{font-family:var(--font-display);font-weight:700;font-size:18px;line-height:1.3;letter-spacing:-.01em;color:var(--text-strong);margin:4px 0 0}
.s127{font-family:var(--font-sans);font-size:15px;line-height:1.55;color:var(--text-body);margin:0;max-width:34ch;text-wrap:pretty}

/* blog */
.s167{background:var(--white);padding:88px 0}
.s168{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--border-hair);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;text-decoration:none}
.s168:hover{text-decoration:none}
.s169{position:relative}
.s170{display:block;width:100%;height:180px;object-fit:cover}
.s172{padding:var(--space-5) var(--space-6) var(--space-6);display:flex;flex-direction:column;flex:1 1 0%}
.s173{display:block;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--ink-600)}
.s174{font-family:var(--font-display);font-weight:700;font-size:18px;line-height:1.35;letter-spacing:-.01em;color:var(--text-strong);margin:8px 0 0}
.s175{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-sans);font-size:14.5px;font-weight:700;color:var(--express-700);text-decoration:underline;text-underline-offset:4px;margin-top:auto;padding-top:14px}

/* ---- responsive ---- */
@media (max-width:1139px){
  .w2-h1{font-size:44px !important}
  .hn-fact-v{font-size:24px !important}
}
@media (max-width:1019px){
  .hn-rates{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hn-rates > *{grid-column:auto !important}
  .hn-rates > :nth-child(5){grid-column:1 / -1 !important}
  .hn-g4{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .hn-g3{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .hn-g3 > :last-child:nth-child(odd){grid-column:1 / -1}
  .hn-ratefoot{flex-direction:column !important;align-items:flex-start !important}
  .hn-facts{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .hn-facts > li:nth-child(odd){padding-left:0 !important}
}
@media (max-width:759px){
  .w2-pad{padding-left:20px !important;padding-right:20px !important}
  .w2-h1{font-size:32px !important}
  .w2-sec{padding-top:56px !important;padding-bottom:56px !important}
  .hn-h2{font-size:28px !important}
  .hn-g2{grid-template-columns:1fr !important}
  .hn-g3{grid-template-columns:1fr !important}
  .hn-g3 > :last-child:nth-child(odd){grid-column:auto}
  .hn-hero{padding-top:56px !important;padding-bottom:48px !important}
  .hn-facts > li{padding:20px 12px !important;gap:6px !important}
  .hn-fact-v{font-size:20px !important}
  .hn-fact-c{font-size:14px !important}
}
@media (max-width:640px){
  .hn-rates{grid-template-columns:1fr}
  .hn-rates > :nth-child(5){grid-column:auto !important}
  .hn-g4{grid-template-columns:1fr !important}
  .hn-btns > *{flex:1 1 100%}
}
@media (max-width:479px){
  .hn-fact-v{font-size:18px !important}
}
@media (max-width:759px) and (max-height:820px) and (orientation:portrait){
  .hn-hero{padding-top:40px !important}
  .w2-h1{font-size:30px !important}
}
@media (max-width:759px) and (max-height:700px) and (orientation:portrait){
  .hn-hero{padding-top:24px !important;padding-bottom:32px !important}
  .hn-eyebrow{margin-bottom:14px !important;padding:6px 12px !important}
  .w2-h1{font-size:27px !important;line-height:1.1 !important}
  .hn-lede{font-size:15.5px !important;line-height:1.5 !important;margin-top:12px !important}
  .hn-hero .hn-btns{margin-top:20px !important;gap:10px !important}
}
@media (max-width:359px) and (max-height:600px) and (orientation:portrait){
  .hn-hero{padding-top:14px !important}
  .hn-eyebrow{margin-bottom:10px !important}
  .hn-lede{margin-top:10px !important}
  .w2-h1{font-size:24px !important}
  .hn-lede{font-size:15px !important;line-height:1.45 !important}
  .hn-hero .hn-btns > *{flex:1 1 0 !important;min-width:0}
  .hn-hero .hn-btns .ardi-btn{width:100%;padding-left:10px;padding-right:10px;font-size:15px}
}
@media (max-width:1139px) and (max-height:500px) and (orientation:landscape){
  .w2-h1{font-size:28px !important;line-height:1.1 !important}
  .hn-hero{padding-top:24px !important;padding-bottom:32px !important}
  .hn-eyebrow{margin-bottom:14px !important;padding:6px 12px !important}
  .hn-lede{font-size:15.5px !important;line-height:1.5 !important;margin-top:12px !important}
  .hn-hero .hn-btns{margin-top:20px !important}
}
