*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font:400 16px/1.6 'Inter',system-ui,-apple-system,Segoe UI,sans-serif;color:#161A1E;background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,picture,svg,video{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid #00806B;outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:0;background:#0A0A0A;color:#fff;padding:12px 16px;z-index:9999}
.skip:focus{left:8px;top:8px}

:root{
  /* Charcoal/black ramp (was navy), matches live brand */
  --titan-900:#0A0A0A; --titan-800:#161A1E; --titan-700:#252930;
  /* Orange brand accent (was blue), links/accents readable on white use the dark orange */
  --titan-600:#C25400; --titan-500:#FE8443; --titan-100:#FFE7D4;
  /* Signature Titan orange */
  --action-600:#C25400; --action-500:#FF7209; --action-100:#FFE7D4;
  --ink-900:#161A1E; --ink-700:#333333; --ink-500:#727982;
  --ink-300:#D4D4D4; --ink-100:#F1F1F1; --canvas:#FBFBFB;
  --teal-500:#00CEA6; --teal-600:#00806B;
  --success:#16A34A; --container:1280px;
  --shadow-sm:0 1px 2px rgba(15,23,42,.06);
  --shadow-md:0 4px 16px rgba(15,23,42,.08);
  --shadow-lg:0 20px 40px -12px rgba(15,23,42,.18);
  --radius-sm:6px; --radius-md:10px; --radius-lg:16px;
  --ease:cubic-bezier(.16,1,.3,1);
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto}}

.container{max-width:var(--container);margin:0 auto;padding:0 24px}
h1,h2,h3,h4{font-family:'Inter',system-ui,sans-serif;font-weight:600;line-height:1.15;color:var(--ink-900);letter-spacing:-.02em}
h1{font-size:clamp(2.25rem,4.5vw + 1rem,3.75rem);font-weight:800;letter-spacing:-.03em}
h2{font-size:clamp(1.75rem,2.5vw + 1rem,2.5rem);margin-bottom:1rem}
h3{font-size:1.375rem;margin-bottom:.5rem}
h4{font-size:1.125rem}
p{color:var(--ink-700)}
.lead{font-size:1.125rem;line-height:1.55;color:var(--ink-700)}
.eyebrow{font-family:'Inter',sans-serif;font-weight:600;font-size:.8125rem;letter-spacing:.12em;text-transform:uppercase;color:var(--titan-600)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:'Inter',sans-serif;font-weight:600;font-size:1rem;height:52px;padding:0 24px;border-radius:var(--radius-md);border:0;cursor:pointer;transition:transform .2s var(--ease),background-color .2s,box-shadow .2s;white-space:nowrap;text-decoration:none}
.btn-primary{background:var(--action-500);color:#fff;box-shadow:var(--shadow-md)}
.btn-primary:hover{background:var(--action-600);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.btn-secondary{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.4)}
.btn-secondary:hover{background:rgba(255,255,255,.1);border-color:#fff}
.btn-ghost{background:transparent;color:var(--titan-800);border:2px solid var(--ink-300)}
.btn-ghost:hover{border-color:var(--titan-600);color:var(--titan-600)}
.btn svg{width:20px;height:20px}

.utility{background:var(--titan-900);color:rgba(255,255,255,.85);font-size:.875rem;border-bottom:1px solid rgba(255,255,255,.08)}
.utility .container{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:40px;flex-wrap:wrap}
.utility a{display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,.85);transition:color .15s}
.utility a:hover{color:#fff}
.utility svg{width:14px;height:14px;color:var(--action-500)}
.utility-right{display:flex;gap:20px;align-items:center}
@media(max-width:640px){.utility .container{justify-content:center}.utility-left .pipe,.utility-right .pipe{display:none}.utility-right{display:none}}

.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--ink-100);transition:box-shadow .2s}
.site-header.is-scrolled{box-shadow:var(--shadow-md)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:24px}
.logo{display:inline-flex;align-items:center;gap:10px;font-family:'Inter',sans-serif;font-weight:700;font-size:1.125rem;letter-spacing:-.02em;color:var(--ink-900)}
.logo img{height:40px;width:auto;display:block}
.logo-mark{width:40px;height:40px;border-radius:9px;background:var(--titan-900);display:grid;place-items:center;color:var(--action-500);flex-shrink:0}
.logo-mark svg{width:22px;height:22px}
.logo-sub{font-family:'Inter',sans-serif;font-weight:500;font-size:.6875rem;letter-spacing:.18em;color:var(--ink-500);text-transform:uppercase;display:block;margin-top:-2px}
.nav-main{display:flex;align-items:center;gap:8px}
.nav-main a{font-family:'Inter',sans-serif;font-weight:500;font-size:.9375rem;color:var(--ink-700);padding:10px 12px;border-radius:6px;transition:all .15s;position:relative}
.nav-main a:hover{color:var(--titan-700);background:var(--ink-100)}
.nav-actions{display:flex;align-items:center;gap:12px}
.btn-sm{height:44px;padding:0 18px;font-size:.9375rem}
.nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer;color:var(--ink-900)}
.nav-toggle svg{width:28px;height:28px}
@media(max-width:1024px){.nav-main,.nav-actions .btn{display:none}.nav-toggle{display:block}}

.hero{background:radial-gradient(ellipse at top right,var(--titan-700) 0%,var(--titan-900) 60%);color:#fff;position:relative;overflow:hidden;padding:80px 0 96px}
.hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.08) 1px,transparent 0);background-size:32px 32px;opacity:.5;pointer-events:none}
.hero .container{position:relative;display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#FFE7D4;font-size:.8125rem;font-weight:600;letter-spacing:.05em;padding:6px 14px;border-radius:9999px;margin-bottom:20px}
.hero-eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(22,163,74,.2)}
.hero h1{color:#fff;margin-bottom:20px;letter-spacing:-.025em}
.hero h1 .accent{color:var(--action-500)}
.hero-sub{font-size:1.1875rem;line-height:1.55;color:rgba(255,255,255,.85);margin-bottom:32px;max-width:560px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:28px}
.hero-cta .btn{height:56px;padding:0 28px;font-size:1.0625rem}
.hero-reassure{display:flex;flex-wrap:wrap;gap:20px;font-size:.9375rem;color:rgba(255,255,255,.7)}
.hero-reassure span{display:inline-flex;align-items:center;gap:6px}
.hero-reassure svg{width:16px;height:16px;color:var(--success)}
.hero-visual{position:relative}
.hero-card{background:#fff;border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-lg);color:var(--ink-900);position:relative;overflow:hidden}
.hero-card-img{aspect-ratio:4/3;background:linear-gradient(135deg,#FAFAFA 0%,#ECECEC 100%);border-radius:12px;display:grid;place-items:center;color:rgba(0,0,0,.3);font-size:.8125rem;letter-spacing:.05em;text-transform:uppercase;margin-bottom:18px;position:relative;overflow:hidden}
.hero-card-img img{width:100%;height:100%;object-fit:contain;padding:10px;position:relative;z-index:1;mix-blend-mode:multiply}
.hero-card-img::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 40%,rgba(249,115,22,.15) 100%)}
.hero-card-img svg{width:64px;height:64px;color:rgba(255,255,255,.3);position:relative;z-index:1}
.hero-card-quote{font-family:'Inter',sans-serif;font-weight:500;font-size:1rem;line-height:1.5;color:var(--ink-900);margin-bottom:12px}
.hero-card-attr{font-size:.8125rem;color:var(--ink-500);display:flex;align-items:center;gap:8px}
.hero-card-attr strong{color:var(--ink-900);font-weight:600}
.hero-form-head{margin-bottom:14px}
.hero-form-head strong{display:block;font-family:'Inter',sans-serif;font-weight:700;font-size:1.1875rem;color:var(--ink-900);letter-spacing:-.01em}
.hero-form-head span{font-size:.875rem;color:var(--ink-500)}
.hero-form{border-radius:10px;overflow:hidden;background:#fff}
.hero-form iframe{width:100%;border:0;min-height:440px;display:block}
.hero-card-proof{display:flex;align-items:center;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--ink-100);font-size:.8125rem;color:var(--ink-500)}
.hero-card-proof svg{width:15px;height:15px;flex-shrink:0}
.hero-card-proof strong{color:var(--ink-700);font-weight:700}
.hero-stat-badge{position:absolute;top:-12px;right:-12px;background:var(--action-500);color:#fff;padding:10px 16px;border-radius:9999px;font-family:'Inter',sans-serif;font-weight:700;font-size:.875rem;box-shadow:var(--shadow-md);transform:rotate(4deg)}
.hero-floater{position:absolute;background:#fff;color:var(--ink-900);padding:14px 18px;border-radius:12px;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:10px;font-family:'Inter',sans-serif;font-weight:600;font-size:.9375rem}
.hero-floater.tl{top:-20px;left:-30px}
.hero-floater.br{bottom:-20px;right:-20px}
.hero-floater svg{width:20px;height:20px;color:var(--success)}
@media(max-width:900px){.hero{padding:48px 0 64px}.hero .container{grid-template-columns:1fr;gap:40px}.hero-visual{order:-1}.hero-floater.tl{display:none}}

.trust{background:#fff;padding:32px 0 24px;border-bottom:1px solid var(--ink-100)}
.trust-label{text-align:center;font-size:.8125rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-500);margin-bottom:24px}
.trust-grid{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:48px;opacity:.78}
.trust-grid .brand{font-family:'Inter',sans-serif;font-weight:700;font-size:1.0625rem;letter-spacing:.02em;color:var(--ink-700);transition:color .2s,filter .2s;filter:grayscale(1)}
.trust-grid .brand:hover{color:var(--ink-900);filter:grayscale(0)}
.partner-strip{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px 26px;min-height:54px;margin-bottom:16px}
.partner-strip img{max-height:48px;max-width:122px;width:auto;height:auto;object-fit:contain;transition:transform .2s var(--ease)}
.partner-strip img:hover{transform:translateY(-3px)}
.trust-sub{text-align:center;font-size:.8125rem;font-weight:500;color:var(--ink-500);margin-bottom:4px}
.trust-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:32px;margin-top:24px;padding-top:24px;border-top:1px dashed var(--ink-300)}
.trust-meta-item{display:flex;align-items:center;gap:10px;font-size:.9375rem;color:var(--ink-700)}
.trust-meta-item strong{color:var(--ink-900);font-weight:700}
.trust-meta-item svg{width:18px;height:18px;color:var(--action-500)}
.trust-badges{gap:18px}
.trust-badges img{height:46px;width:auto;display:block}
.stars{display:inline-flex;gap:2px;color:#FBBF24}
.stars svg{width:14px;height:14px;fill:currentColor}

section.bleed{padding:80px 0}
section.bleed.alt{background:var(--canvas)}
.section-head{text-align:center;max-width:720px;margin:0 auto 56px}
.section-head h2{margin-bottom:16px}
.section-head p{font-size:1.0625rem}

.path-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.path-card{background:#fff;border:1px solid var(--ink-100);border-radius:var(--radius-lg);padding:28px 24px;transition:all .25s var(--ease);position:relative;display:flex;flex-direction:column;text-align:left;overflow:hidden}
.path-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--action-500);transform:scaleY(0);transform-origin:top;transition:transform .25s var(--ease)}
.path-card:hover{border-color:var(--titan-600);transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.path-card:hover::before{transform:scaleY(1)}
.path-icon{width:48px;height:48px;border-radius:12px;background:var(--action-100);color:var(--action-500);display:grid;place-items:center;margin-bottom:18px}
.path-icon svg{width:26px;height:26px}
.path-card h3{font-size:1.1875rem;margin-bottom:8px}
.path-card p{font-size:.9375rem;color:var(--ink-700);flex:1;margin-bottom:16px}
.path-link{display:inline-flex;align-items:center;gap:6px;color:var(--titan-600);font-weight:600;font-size:.9375rem}
.path-link svg{width:16px;height:16px;transition:transform .2s}
.path-card:hover .path-link svg{transform:translateX(4px)}
@media(max-width:900px){.path-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.path-grid{grid-template-columns:1fr}}

.metrics{background:var(--titan-900);color:#fff;padding:64px 0}
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;text-align:center}
.metric-num{font-family:'Inter',sans-serif;font-weight:700;font-size:clamp(2.25rem,4vw,3rem);color:var(--action-500);line-height:1;font-variant-numeric:tabular-nums;margin-bottom:8px;letter-spacing:-.02em}
.metric-label{font-size:.9375rem;color:rgba(255,255,255,.75);line-height:1.4}
@media(max-width:700px){.metrics-grid{grid-template-columns:repeat(2,1fr);gap:40px 24px}}

.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.why-card{padding:32px 28px;background:#fff;border-radius:var(--radius-lg);border:1px solid var(--ink-100);transition:all .25s var(--ease)}
.why-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--titan-100)}
.why-icon{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,var(--titan-800),var(--titan-600));color:#fff;display:grid;place-items:center;margin-bottom:20px;box-shadow:0 8px 20px -8px rgba(37,99,235,.5)}
.why-icon svg{width:28px;height:28px}
.why-card h3{font-size:1.25rem}
.why-card p{font-size:.9375rem;line-height:1.55}
@media(max-width:800px){.why-grid{grid-template-columns:1fr}}

.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;position:relative}
.process-grid::before{content:"";position:absolute;top:38px;left:12%;right:12%;height:2px;background:repeating-linear-gradient(90deg,var(--ink-300) 0,var(--ink-300) 6px,transparent 6px,transparent 14px);z-index:0}
.process-step{position:relative;text-align:center;z-index:1}
.process-num{width:76px;height:76px;border-radius:50%;background:#fff;border:2px solid var(--titan-100);display:grid;place-items:center;margin:0 auto 20px;font-family:'Inter',sans-serif;font-weight:700;font-size:1.75rem;color:var(--titan-700);box-shadow:var(--shadow-sm);position:relative}
.process-step h3{font-size:1.1875rem;margin-bottom:8px}
.process-step p{font-size:.9375rem}
@media(max-width:800px){.process-grid{grid-template-columns:1fr;gap:40px}.process-grid::before{display:none}}

.locations-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:32px}
.loc-card{background:#fff;border:1px solid var(--ink-100);border-radius:var(--radius-lg);padding:24px;transition:all .25s var(--ease)}
.loc-card:hover{border-color:var(--titan-600);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.loc-flag{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;letter-spacing:.1em;color:var(--action-600);text-transform:uppercase;margin-bottom:8px}
.loc-card h3{font-family:'Inter',sans-serif;font-size:1.25rem;margin-bottom:10px;color:var(--ink-900)}
.loc-card address{font-style:normal;font-size:.9375rem;color:var(--ink-700);margin-bottom:14px;line-height:1.5}
.loc-card a.loc-phone{display:inline-flex;align-items:center;gap:6px;color:var(--titan-600);font-weight:600;font-size:.9375rem}
.loc-card a.loc-phone:hover{color:var(--action-500)}
.cities-served{background:#fff;border:1px solid var(--ink-100);border-radius:var(--radius-lg);padding:24px;display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.cities-served .label{font-family:'Inter',sans-serif;font-weight:600;color:var(--ink-900);font-size:.9375rem}
.city-pill{display:inline-flex;align-items:center;gap:6px;background:var(--ink-100);color:var(--ink-700);padding:6px 14px;border-radius:9999px;font-size:.875rem;font-weight:500;transition:all .15s}
.city-pill:hover{background:var(--titan-100);color:var(--titan-700)}
@media(max-width:900px){.locations-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.locations-grid{grid-template-columns:1fr}}

.industries-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.ind-tile{background:#fff;border:1px solid var(--ink-100);border-radius:var(--radius-md);padding:24px 16px;text-align:center;transition:all .2s var(--ease);cursor:pointer}
.ind-tile:hover{border-color:var(--titan-600);background:var(--titan-900);color:#fff;transform:translateY(-2px)}
.ind-tile:hover .ind-icon{color:var(--action-500)}
.ind-icon{width:36px;height:36px;margin:0 auto 12px;color:var(--titan-700);transition:color .2s}
.ind-icon svg{width:100%;height:100%}
.ind-tile span{font-family:'Inter',sans-serif;font-weight:600;font-size:.9375rem;display:block}
@media(max-width:900px){.industries-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.industries-grid{grid-template-columns:repeat(2,1fr)}}

.equipment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.eq-card{background:#fff;border:1px solid var(--ink-100);border-radius:var(--radius-lg);overflow:hidden;transition:all .25s var(--ease)}
.eq-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--titan-100)}
.eq-img{aspect-ratio:4/3;background:linear-gradient(135deg,#F1F5F9 0%,#E2E8F0 100%);display:grid;place-items:center;color:var(--ink-500);position:relative;overflow:hidden}
.eq-img::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.6),transparent 60%)}
.eq-img svg{width:80px;height:80px;color:var(--ink-300);position:relative;z-index:1}
.eq-img img{width:100%;height:100%;object-fit:contain;padding:18px;position:relative;z-index:1;mix-blend-mode:multiply}
.eq-body{padding:20px}
.eq-brand{font-family:'Inter',sans-serif;font-weight:600;font-size:.75rem;letter-spacing:.1em;color:var(--titan-600);text-transform:uppercase;margin-bottom:6px}
.eq-model{font-family:'Inter',sans-serif;font-weight:600;font-size:1.0625rem;color:var(--ink-900);margin-bottom:8px}
.eq-spec{font-size:.875rem;color:var(--ink-500)}
@media(max-width:900px){.equipment-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.equipment-grid{grid-template-columns:1fr}}

.case{display:grid;grid-template-columns:1fr 1.2fr;background:linear-gradient(135deg,var(--titan-900),var(--titan-700));color:#fff;border-radius:var(--radius-lg);overflow:hidden;align-items:stretch;box-shadow:var(--shadow-lg)}
.case-figure{aspect-ratio:auto;background:radial-gradient(circle at center,var(--titan-700),var(--titan-900));display:flex;flex-direction:column;justify-content:center;padding:48px;border-right:1px solid rgba(255,255,255,.08)}
.case-stat{font-family:'Inter',sans-serif;font-weight:700;font-size:clamp(3rem,6vw,5rem);color:var(--action-500);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.03em;margin-bottom:8px}
.case-stat-label{font-size:1rem;color:rgba(255,255,255,.8)}
.case-body{padding:48px}
.case-eyebrow{display:inline-block;background:rgba(249,115,22,.15);color:var(--action-500);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 12px;border-radius:9999px;margin-bottom:16px}
.case-body h3{color:#fff;font-size:1.5rem;margin-bottom:14px}
.case-body p{color:rgba(255,255,255,.85);font-size:1rem;margin-bottom:20px}
.case-attr{display:flex;align-items:center;gap:12px;font-size:.875rem;color:rgba(255,255,255,.7)}
.case-attr strong{color:#fff}
@media(max-width:800px){.case{grid-template-columns:1fr}.case-figure{padding:32px;border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}.case-body{padding:32px}}

.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.test-card{background:#fff;border:1px solid var(--ink-100);border-radius:var(--radius-lg);padding:28px;display:flex;flex-direction:column;transition:all .25s var(--ease)}
.test-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--titan-100)}
.test-stars{margin-bottom:14px}
.test-stars svg{width:18px;height:18px;color:#FBBF24;fill:currentColor;display:inline-block}
.test-quote{font-size:1rem;line-height:1.55;color:var(--ink-900);margin-bottom:20px;flex:1;font-style:normal}
.test-quote::before{content:open-quote;color:var(--action-500);font-size:1.25rem;font-weight:700}
.test-quote::after{content:close-quote;color:var(--action-500)}
.test-attr{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--ink-100)}
.test-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--titan-700),var(--titan-500));color:#fff;display:grid;place-items:center;font-family:'Inter',sans-serif;font-weight:600;font-size:.9375rem;flex-shrink:0}
.test-name{font-family:'Inter',sans-serif;font-weight:600;font-size:.9375rem;color:var(--ink-900);line-height:1.3}
.test-co{font-size:.8125rem;color:var(--ink-500)}
@media(max-width:900px){.test-grid{grid-template-columns:1fr}}

.faq-wrap{max-width:840px;margin:0 auto}
.faq-item{background:#fff;border:1px solid var(--ink-100);border-radius:var(--radius-md);margin-bottom:12px;overflow:hidden;transition:border-color .2s}
.faq-item[open]{border-color:var(--titan-600)}
.faq-item summary{padding:20px 24px;font-family:'Inter',sans-serif;font-weight:600;font-size:1.0625rem;color:var(--ink-900);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-icon{width:24px;height:24px;flex-shrink:0;color:var(--titan-600);transition:transform .25s var(--ease)}
.faq-item[open] .faq-icon{transform:rotate(45deg);color:var(--action-500)}
.faq-body{padding:0 24px 24px;color:var(--ink-700);font-size:.9375rem;line-height:1.65;max-width:720px}
.faq-body a{color:var(--titan-600);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}

.quote-section{background:linear-gradient(180deg,var(--canvas) 0%,#fff 100%)}
.quote-wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center;background:#fff;border:1px solid var(--ink-100);border-radius:24px;padding:48px;box-shadow:var(--shadow-lg);overflow:hidden;position:relative}
.quote-wrap::before{content:"";position:absolute;top:0;right:0;width:200px;height:200px;background:radial-gradient(circle,rgba(249,115,22,.08),transparent 70%);pointer-events:none}
.quote-lead h2{margin-bottom:16px}
.quote-lead p{margin-bottom:24px;font-size:1.0625rem;line-height:1.55}
.quote-checks{list-style:none;display:grid;gap:12px}
.quote-checks li{display:flex;align-items:flex-start;gap:10px;font-size:.9375rem;color:var(--ink-700)}
.quote-checks svg{width:20px;height:20px;color:var(--success);flex-shrink:0;margin-top:1px}
form.quote-form{display:grid;gap:18px}
.field{display:grid;gap:6px}
.field label{font-family:'Inter',sans-serif;font-weight:600;font-size:.875rem;color:var(--ink-900)}
.field input,.field select{height:52px;padding:0 16px;border:1.5px solid var(--ink-300);border-radius:var(--radius-md);background:#fff;font-size:1rem;transition:border-color .15s,box-shadow .15s}
.field select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:42px}
.field input:focus,.field select:focus{outline:0;border-color:var(--titan-600);box-shadow:0 0 0 4px var(--titan-100)}
.field .help{font-size:.8125rem;color:var(--ink-500)}
form.quote-form .btn{margin-top:6px;height:56px;font-size:1.0625rem}
.form-foot{font-size:.8125rem;color:var(--ink-500);text-align:center}
.form-success{text-align:center;padding:24px}
.form-success-icon{width:64px;height:64px;background:#DCFCE7;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px}
.form-success-icon svg{width:32px;height:32px;color:var(--success)}
.form-success h3{margin-bottom:8px;color:var(--ink-900)}
.form-success p{color:var(--ink-500)}
.form-success a{color:var(--titan-600);font-weight:600}
@media(max-width:900px){.quote-wrap{grid-template-columns:1fr;padding:32px;gap:32px}}

.cta-banner{background:linear-gradient(135deg,var(--action-500) 0%,var(--action-600) 100%);color:#fff;padding:64px 0;position:relative;overflow:hidden}
.cta-banner::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.18) 1px,transparent 0);background-size:24px 24px;opacity:.5}
.cta-banner .container{position:relative;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.cta-banner h2{color:#fff;margin-bottom:6px;font-size:clamp(1.5rem,2vw + 1rem,2rem)}
.cta-banner p{color:rgba(255,255,255,.9);font-size:1.0625rem}
.cta-banner .btn-primary{background:#fff;color:var(--action-600)}
.cta-banner .btn-primary:hover{background:var(--titan-900);color:#fff}

footer{background:var(--titan-900);color:rgba(255,255,255,.7);padding:64px 0 24px;font-size:.9375rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
.foot-brand .logo{color:#fff}
.foot-brand .logo-sub{color:rgba(255,255,255,.55)}
.foot-logo{display:inline-block;background:#fff;border-radius:10px;padding:11px 15px;line-height:0}
.foot-logo img{height:38px;width:auto;display:block}
.foot-seal{margin-top:24px;height:184px;width:auto;display:block}
.foot-brand p{color:rgba(255,255,255,.65);margin:18px 0 24px;line-height:1.55;font-size:.9375rem;max-width:340px}
.foot-social{display:flex;gap:10px}
.foot-social a{width:38px;height:38px;border-radius:8px;background:rgba(255,255,255,.06);display:grid;place-items:center;color:rgba(255,255,255,.7);transition:all .2s}
.foot-social a:hover{background:var(--action-500);color:#fff;transform:translateY(-2px)}
.foot-social svg{width:18px;height:18px}
.foot-col h4{color:#fff;font-size:.875rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px;font-weight:600}
.foot-col ul{list-style:none;display:grid;gap:10px}
.foot-col a{color:rgba(255,255,255,.7);transition:color .15s}
.foot-col a:hover{color:var(--action-500)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:24px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;color:rgba(255,255,255,.55);font-size:.875rem}
.foot-bottom a{color:rgba(255,255,255,.7)}
.foot-bottom a:hover{color:#fff}
.foot-legal{display:flex;gap:18px;flex-wrap:wrap}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}

.mobile-drawer{position:fixed;top:0;right:-100%;width:min(360px,85vw);height:100vh;background:#fff;z-index:200;transition:right .3s var(--ease);padding:24px;box-shadow:var(--shadow-lg);overflow-y:auto}
.mobile-drawer.is-open{right:0}
.mobile-drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--ink-100)}
.mobile-drawer nav{display:flex;flex-direction:column;gap:4px;margin-bottom:24px}
.mobile-drawer nav a{padding:14px 12px;border-radius:8px;font-family:'Inter',sans-serif;font-weight:500;color:var(--ink-900)}
.mobile-drawer nav a:hover{background:var(--ink-100)}
.mobile-drawer .btn{width:100%}
.mobile-backdrop{position:fixed;inset:0;background:rgba(10,10,10,.55);z-index:150;opacity:0;pointer-events:none;transition:opacity .3s}
.mobile-backdrop.is-open{opacity:1;pointer-events:auto}
.close-btn{background:none;border:0;padding:8px;cursor:pointer;color:var(--ink-700)}
.close-btn svg{width:24px;height:24px}

/* ============================================================
   SUBPAGE PRIMITIVES, shared across all Titan inner pages
   ============================================================ */
.subhero{background:linear-gradient(160deg,#0A0A0A 0%,#161A1E 55%,#252930 100%);color:#fff;padding:96px 0 64px;position:relative;overflow:hidden}
.subhero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:22px 22px;opacity:.5;pointer-events:none}
.subhero .container{position:relative}
.breadcrumb{font-size:.8125rem;color:rgba(255,255,255,.6);margin-bottom:18px}
.breadcrumb a{color:rgba(255,255,255,.6)}.breadcrumb a:hover{color:var(--action-500)}
.subhero h1{color:#fff;max-width:18ch;margin-bottom:18px}
.subhero .lead{font-size:1.1875rem;color:rgba(255,255,255,.82);max-width:56ch;line-height:1.6;margin-bottom:28px}
.subhero-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.subhero-chips{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;font-size:.875rem;color:rgba(255,255,255,.78)}
.subhero-chips span{display:inline-flex;align-items:center;gap:8px}
.subhero-chips svg{width:17px;height:17px;color:var(--action-500);flex-shrink:0}
.section{padding:72px 0}
.section.alt{background:var(--canvas)}
.lede{font-size:1.125rem;color:var(--ink-700);max-width:64ch;line-height:1.7}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px}
/* Even-by-count grid: columns chosen so rows never leave a lonely orphan.
   6->3x2, 4->4, 3->3, 5->3+2, 2->2, 7-8->4. Uses :has() (all modern browsers). */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px;align-items:stretch}
/* UNIVERSAL even grids: every *-grid container gets columns matched to its item
   count, so a row never leaves a lonely orphan. :has(nth-child) out-specifies the
   page-level inline auto-fit definitions. 4->4, 6->3x2, 5->3+2, 3->3, 2->2, 7/8->4, 9->3x3. */
[class$="-grid"]:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}
[class$="-grid"]:has(> :nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}
[class$="-grid"]:has(> :nth-child(4):last-child){grid-template-columns:repeat(4,1fr)}
[class$="-grid"]:has(> :nth-child(5):last-child){grid-template-columns:repeat(3,1fr)}
[class$="-grid"]:has(> :nth-child(6):last-child){grid-template-columns:repeat(3,1fr)}
[class$="-grid"]:has(> :nth-child(7):last-child){grid-template-columns:repeat(4,1fr)}
[class$="-grid"]:has(> :nth-child(8):last-child){grid-template-columns:repeat(4,1fr)}
[class$="-grid"]:has(> :nth-child(9):last-child){grid-template-columns:repeat(3,1fr)}
[class$="-grid"]{align-items:stretch}
@media(max-width:860px){[class$="-grid"]{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:560px){[class$="-grid"]{grid-template-columns:1fr!important}}
.feat{display:flex;flex-direction:column;background:#fff;border:1px solid var(--ink-300);border-radius:16px;padding:26px;transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s}
.feat:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(0,0,0,.08);border-color:var(--action-400)}
.feat-ico{width:44px;height:44px;border-radius:10px;background:var(--action-100);display:grid;place-items:center;color:var(--action-600);margin-bottom:14px}
.feat-ico svg{width:22px;height:22px}
.feat h3{font-size:1.0625rem;margin-bottom:6px}
.feat p{font-size:.9375rem;color:var(--ink-600);line-height:1.5}
.callout{background:linear-gradient(135deg,#161A1E,#252930);color:#fff;border-radius:20px;padding:44px;display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:center;margin-top:40px}
.callout h2{color:#fff;margin-bottom:10px}.callout p{color:rgba(255,255,255,.82);line-height:1.6}.callout .btn-primary{white-space:nowrap}
.cta-banner-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.btn-ghost-light{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55)}
.btn-ghost-light:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:32px}
.loc-card-pg{background:#fff;border:1px solid var(--ink-300);border-radius:16px;padding:28px}
.loc-card-pg h3{font-size:1.25rem;margin-bottom:4px}
.prose{max-width:70ch}.prose p{color:var(--ink-700);line-height:1.75;margin-bottom:18px}
.prose h2{margin:34px 0 14px}.prose h3{margin:26px 0 10px}.prose ul{margin:0 0 18px 0;padding-left:22px;color:var(--ink-700);line-height:1.7}
@media(max-width:820px){.two-col,.callout{grid-template-columns:1fr}.subhero{padding:84px 0 52px}.callout{padding:30px}}


/* ===== BLOG POST + ARCHIVE styles (from post template) ===== */

/* ===== BLOG POST TEMPLATE, page-specific (reuse for every /post/*) ===== */
.post-hero{background:linear-gradient(160deg,#0A0A0A 0%,#161A1E 55%,#252930 100%);color:#fff;padding:92px 0 56px;position:relative;overflow:hidden}
.post-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:22px 22px;opacity:.5}
.post-hero .container{position:relative;max-width:820px}
.post-cat{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:#fff;background:var(--action-500);padding:5px 12px;border-radius:6px;margin-bottom:18px}
.post-hero h1{color:#fff;font-size:clamp(1.9rem,3vw + 1rem,2.9rem);max-width:20ch;margin-bottom:20px}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;color:rgba(255,255,255,.72);font-size:.9375rem}
.post-meta .who{display:flex;align-items:center;gap:10px}
.post-meta .avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--action-500),var(--action-600));display:grid;place-items:center;color:#fff;font-weight:700;font-size:.875rem}
.post-meta .dot{opacity:.5}
html{scroll-behavior:smooth}
.post-body{padding:56px 0 24px}
.post-body .container{max-width:1140px}
.post-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}
.post-main{min-width:0}
.post-main h2{scroll-margin-top:92px}
.post-sidebar{position:sticky;top:92px;display:flex;flex-direction:column;gap:20px}
.side-card{background:#fff;border:1px solid var(--ink-300);border-radius:14px;padding:22px}
.side-card h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);margin-bottom:14px}
.toc-nav{display:flex;flex-direction:column}
.toc-nav a{font-size:.9rem;color:var(--ink-600);line-height:1.4;padding:7px 0 7px 14px;border-left:2px solid var(--ink-300);transition:.15s}
.toc-nav a:hover,.toc-nav a.active{color:var(--action-600);border-color:var(--action-500);font-weight:600}
.side-cta{background:linear-gradient(135deg,#161A1E,#252930);border:none;color:#fff}
.side-cta h4{color:#fff;letter-spacing:0;text-transform:none;font-size:1.0625rem;font-weight:700;margin-bottom:6px}
.side-cta p{color:rgba(255,255,255,.8);font-size:.9rem;margin-bottom:16px;line-height:1.5}
.side-cta .btn{width:100%;justify-content:center}
.side-phone{display:block;text-align:center;color:#fff;font-weight:700;margin-top:12px;font-size:1.0625rem}
.side-links{list-style:none;display:flex;flex-direction:column}
.side-links a{display:block;padding:9px 0;color:var(--ink-700);font-weight:500;border-bottom:1px solid var(--ink-100);font-size:.9375rem}
.side-links a:hover{color:var(--action-600)}
.side-links li:last-child a{border-bottom:none}
@media(max-width:900px){.post-layout{grid-template-columns:1fr;gap:32px}.post-sidebar{position:static}}
.post-figure{margin:0 0 36px;border:1px solid var(--ink-300);border-radius:16px;background:linear-gradient(135deg,#FAFAFA,#ECECEC);overflow:hidden}
.post-figure img{display:block;width:100%;height:auto;max-height:360px;object-fit:contain;padding:24px;mix-blend-mode:multiply}
.post-figure figcaption{font-size:.8125rem;color:var(--ink-500);padding:0 18px 16px;text-align:center}
.post-body .prose{max-width:none}
.post-body .prose p{font-size:1.0625rem;color:var(--ink-700);line-height:1.8;margin-bottom:22px}
.post-body .prose h2{font-size:1.625rem;margin:40px 0 14px}
.post-body .prose h3{font-size:1.25rem;margin:28px 0 10px}
.post-body .prose ul{margin:0 0 22px 0;padding-left:22px;color:var(--ink-700);line-height:1.8}
.post-body .prose li{margin-bottom:8px}
.post-body .prose a{color:var(--action-600);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.post-quote{border-left:4px solid var(--action-500);background:var(--canvas);padding:22px 26px;border-radius:0 12px 12px 0;margin:30px 0;font-size:1.25rem;font-weight:600;color:var(--ink-900);line-height:1.5}
.author-box{display:flex;gap:18px;align-items:flex-start;border:1px solid var(--ink-300);border-radius:16px;padding:24px;margin:44px 0 0;background:#fff}
.author-box .avatar{width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,var(--action-500),var(--action-600));display:grid;place-items:center;color:#fff;font-weight:700;flex-shrink:0}
.author-box h3{font-size:1.0625rem;margin-bottom:4px}
.author-box p{font-size:.9375rem;color:var(--ink-600);line-height:1.55}
.related{padding:8px 0 64px}
.related .container{max-width:1100px}
.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:24px}
.post-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--ink-300);border-radius:14px;padding:24px;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.post-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.08)}
.post-card .tag{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--action-600);margin-bottom:10px}
.post-card h3{font-size:1.0625rem;line-height:1.35;margin-bottom:8px}
.post-card p{font-size:.875rem;color:var(--ink-600);line-height:1.5}
.post-card a.stretch::after{content:"";position:absolute;inset:0}
@media(max-width:560px){.post-hero{padding:80px 0 44px}.author-box{flex-direction:column}}


/* ===== ABOUT redesign components (scroll reveal unified in PREMIUM block below) ===== */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.svc-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--ink-300);border-radius:18px;padding:30px;color:inherit;transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s}
.svc-card:hover{transform:translateY(-5px);box-shadow:0 16px 38px rgba(0,0,0,.09);border-color:var(--action-400)}
.svc-card h3{font-size:1.1875rem;margin:16px 0 8px}
.svc-card p{color:var(--ink-600);line-height:1.55;font-size:.9375rem;flex:1 1 auto}
.svc-card .feat-link{display:inline-flex;align-items:center;gap:7px;color:var(--action-600);font-weight:600;margin-top:18px;font-size:.9375rem}
.svc-card .feat-link svg{width:16px;height:16px;transition:transform .2s var(--ease)}
.svc-card:hover .feat-link svg{transform:translateX(4px)}
.about-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center}
.about-intro .prose p{margin-bottom:16px}
.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.about-stat{background:linear-gradient(150deg,#161A1E,#252930);color:#fff;border-radius:18px;padding:28px;position:relative;overflow:hidden}
.about-stat::after{content:"";position:absolute;right:-20px;top:-20px;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,rgba(255,114,9,.22),transparent 70%)}
.about-stat strong{display:block;font-family:'Inter',sans-serif;font-size:2.4rem;font-weight:800;letter-spacing:-.03em;color:var(--action-500);line-height:1}
.about-stat span{display:block;margin-top:10px;font-size:.875rem;color:rgba(255,255,255,.82);line-height:1.4}
@media(max-width:900px){.about-intro{grid-template-columns:1fr;gap:34px}}
@media(max-width:820px){.svc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.svc-grid,.about-stats{grid-template-columns:1fr}}

/* ============================================================
   PREMIUM POLISH v2, hero motion, parallax, refined reveal, micro-interactions.
   Pure CSS, all motion gated by reduced-motion / @supports (safe, no JS).
   ============================================================ */

/* --- Hero (pages + blog posts): brand bolt watermark + drifting glow + entrance.
       Data-URI fully %-encoded so CSS url() parses it (raw spaces were invalidating it). --- */
.subhero,.post-hero{isolation:isolate;
  background-image:
    url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpolygon%20points='13%202%203%2014%2012%2014%2011%2022%2021%2010%2012%2010%2013%202'%20fill='%23FF7209'%20fill-opacity='0.1'/%3E%3C/svg%3E"),
    linear-gradient(160deg,#0A0A0A 0%,#161A1E 55%,#252930 100%);
  background-repeat:no-repeat,no-repeat;
  background-position:right -30px center,center;
  background-size:min(460px,44vw) auto,cover}
.subhero::after,.post-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(55% 80% at 84% 16%,rgba(255,114,9,.20),transparent 60%)}
@media (prefers-reduced-motion: no-preference){
  .subhero::after,.post-hero::after{animation:titanGlow 14s ease-in-out infinite alternate}
  @keyframes titanGlow{from{opacity:.55;transform:translate3d(0,0,0) scale(1)}to{opacity:1;transform:translate3d(-5%,4%,0) scale(1.12)}}
  .subhero .breadcrumb,.subhero .post-cat,.subhero h1,.subhero .lead,.subhero-cta,.subhero-chips,.subhero .post-meta,
  .post-hero .breadcrumb,.post-hero .post-cat,.post-hero h1,.post-hero .post-meta{
    animation:titanIntro .72s cubic-bezier(.22,1,.36,1) both}
  .subhero h1,.post-hero h1{animation-delay:.05s}
  .subhero .lead{animation-delay:.13s}
  .subhero-cta{animation-delay:.21s}
  .subhero-chips,.subhero .post-meta,.post-hero .post-meta{animation-delay:.29s}
  @keyframes titanIntro{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
}

/* --- Refined scroll reveal: section intros rise; cards fade + rise + scale,
       with a diagonal stagger across each row for a premium cascade. --- */
@media (prefers-reduced-motion: no-preference){
  @supports (animation-timeline: view()){
    .section > .container > .eyebrow,.section > .container > h2,.section > .container > .lede,
    .related > .container > .eyebrow,.related > .container > h2{
      animation:titanIntroScroll both;animation-timeline:view();animation-range:entry 4% cover 22%}
    main [class$="-grid"] > *,main .about-intro > *,main .lease-card,main .callout,
    main .compare,main .author-box,main .svc-card,main .feat,main .eq-card{
      animation:titanCardScroll both;animation-timeline:view();animation-range:entry 2% cover 26%}
    /* Diagonal stagger: later columns reveal a touch later than the first */
    main [class$="-grid"] > *:nth-child(2n){animation-range:entry 6% cover 30%}
    main [class$="-grid"] > *:nth-child(3n){animation-range:entry 9% cover 33%}
    @keyframes titanIntroScroll{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
    @keyframes titanCardScroll{from{opacity:0;transform:translateY(34px) scale(.97)}to{opacity:1;transform:none}}
  }
}

/* --- Parallax on full-width photo bands --- */
@media (prefers-reduced-motion: no-preference){
  @supports (animation-timeline: view()){
    .titan-page-photo figure{overflow:hidden;border-radius:16px}
    .titan-page-photo img{animation:titanParallax linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
    @keyframes titanParallax{from{transform:translateY(-6%) scale(1.16)}to{transform:translateY(6%) scale(1.16)}}
  }
}

/* --- Primary button sheen on hover --- */
.btn-primary{position:relative;overflow:hidden}
.btn-primary::after{content:"";position:absolute;top:0;left:-80%;width:45%;height:100%;pointer-events:none;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-22deg)}
@media (prefers-reduced-motion: no-preference){
  .btn-primary::after{transition:left .65s cubic-bezier(.22,1,.36,1)}
  .btn-primary:hover::after{left:135%}
}

/* --- Reading progress bar (blog posts) --- */
.read-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:0 50%;
  background:linear-gradient(90deg,var(--action-600),var(--action-400));z-index:1200;pointer-events:none}
@supports (animation-timeline: scroll()){
  .read-progress{animation:titanReadProg linear both;animation-timeline:scroll(root)}
  @keyframes titanReadProg{from{transform:scaleX(0)}to{transform:scaleX(1)}}
}

/* ============================================================
   CASCADE OVERRIDE LAYER
   Every page carries a self-contained inline <style> critical-CSS block in its
   content. That inline block loads AFTER site.css, so it wins shared rules at
   equal specificity, and a few inline copies are stale (e.g. .feat without
   flex, .subhero without the bolt). Re-assert the current design here with an
   `html body` prefix (specificity 0,1,2) so site.css reliably beats inline `.x`
   (0,1,0) without editing 27 pages. New premium selectors don't need this.
   ============================================================ */
/* Premium hero bolt watermark (pages + blog posts) */
html body .subhero,html body .post-hero{
  background-image:
    url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpolygon%20points='13%202%203%2014%2012%2014%2011%2022%2021%2010%2012%2010%2013%202'%20fill='%23FF7209'%20fill-opacity='0.1'/%3E%3C/svg%3E"),
    linear-gradient(160deg,#0A0A0A 0%,#161A1E 55%,#252930 100%);
  background-repeat:no-repeat,no-repeat;
  background-position:right -30px center,center;
  background-size:min(460px,44vw) auto,cover}
/* Equal-height feature cards (stale inline .feat lacks flex) */
html body .feat{display:flex;flex-direction:column;border-radius:16px;padding:26px}
html body .feat p{flex:1 1 auto}
html body .feat .feat-link{margin-top:14px}
/* Refined why-card (stale inline copies use heavier border / smaller radius) */
html body .why-card{border-radius:var(--radius-lg);border-color:var(--ink-100);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s}
html body .why-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(0,0,0,.08);border-color:var(--action-400)}

/* ============================================================
   NATIVE HOMEPAGE QUOTE FORM (replaces the GoHighLevel iframe)
   ============================================================ */
.tq{display:flex;flex-direction:column}
.tq-progress{height:5px;border-radius:99px;background:var(--ink-100,#EFEFEF);overflow:hidden;margin-bottom:18px}
.tq-progress>span{display:block;height:100%;width:8%;border-radius:99px;background:linear-gradient(90deg,var(--action-600,#E5660A),var(--action-500,#FF7209));transition:width .45s cubic-bezier(.22,1,.36,1)}
.tq-steps{position:relative}
.tq-step{display:none;border:0;margin:0;padding:0;min-inline-size:0}
.tq-step.is-active{display:block;animation:tqIn .42s cubic-bezier(.22,1,.36,1) both}
@keyframes tqIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.tq-q{font-size:1.12rem;font-weight:700;line-height:1.3;color:var(--ink-900,#14181B);margin:0 0 14px;padding:0}
.tq-options{display:flex;flex-direction:column;gap:10px}
.tq-opt{display:flex;align-items:center;gap:13px;width:100%;text-align:left;cursor:pointer;font:inherit;
  background:#fff;border:1.5px solid var(--ink-300,#E2E4E8);border-radius:13px;padding:13px 15px;color:var(--ink-800,#22262B);
  transition:border-color .16s,background .16s,transform .12s,box-shadow .16s}
.tq-opt:hover{border-color:var(--action-400,#FF9442);box-shadow:0 4px 14px rgba(0,0,0,.05)}
.tq-opt:active{transform:scale(.99)}
.tq-opt .tq-ic{flex:0 0 38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--canvas,#F7F7F5);color:var(--action-600,#E5660A);transition:background .16s,color .16s}
.tq-opt .tq-ic svg{width:21px;height:21px}
.tq-opt b{font-weight:600;font-size:.97rem;flex:1}
.tq-opt .tq-rad{flex:0 0 20px;height:20px;border-radius:50%;border:2px solid var(--ink-300,#D7DAE0);position:relative;transition:border-color .16s}
.tq-opt.is-sel{border-color:var(--action-500,#FF7209);background:rgba(255,114,9,.06)}
.tq-opt.is-sel .tq-ic{background:var(--action-500,#FF7209);color:#fff}
.tq-opt.is-sel .tq-rad{border-color:var(--action-500,#FF7209)}
.tq-opt.is-sel .tq-rad::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--action-500,#FF7209)}
.tq-grid{display:grid;gap:10px}
.tq-grid.two{grid-template-columns:1fr 1fr}
.tq-grid.cityzip{grid-template-columns:1fr 66px 92px}
.tq input[type=text],.tq input[type=email],.tq input[type=tel]{width:100%;font:inherit;font-size:.95rem;color:var(--ink-900,#14181B);background:#fff;border:1.5px solid var(--ink-300,#E2E4E8);border-radius:11px;padding:12px 13px;transition:border-color .15s,box-shadow .15s}
.tq input::placeholder{color:var(--ink-400,#9AA0A8)}
.tq input:focus{outline:none;border-color:var(--action-500,#FF7209);box-shadow:0 0 0 3px rgba(255,114,9,.15)}
.tq-lease-amt{display:block;margin-top:11px}
.tq-lease-amt span{display:block;font-size:.82rem;color:var(--ink-600,#4B5563);margin-bottom:6px;font-weight:600}
.tq-help{font-size:.8rem;color:var(--ink-500,#6B7280);margin:9px 0 0;display:flex;align-items:flex-start;gap:6px;line-height:1.4}
.tq-help svg{width:14px;height:14px;color:var(--action-500,#FF7209);flex:none;margin-top:1px}
.tq-consent{display:flex;gap:9px;align-items:flex-start;margin:14px 0 4px;font-size:.72rem;line-height:1.45;color:var(--ink-500,#6B7280);cursor:pointer}
.tq-consent input{margin-top:1px;flex:none;width:15px;height:15px;accent-color:var(--action-500,#FF7209)}
.tq-consent a{color:var(--action-600,#E5660A);text-decoration:underline}
.tq-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.tq-nav{display:flex;align-items:center;gap:10px;margin-top:16px}
.tq-back{background:none;border:0;font:inherit;font-weight:600;font-size:.9rem;color:var(--ink-500,#6B7280);cursor:pointer;padding:10px 4px}
.tq-back:hover{color:var(--ink-800,#22262B)}
.tq-next,.tq-submit{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font:inherit;font-weight:700;font-size:.97rem;color:#fff;background:var(--action-500,#FF7209);border:0;border-radius:12px;padding:14px 18px;box-shadow:0 8px 20px rgba(255,114,9,.28);transition:background .16s,transform .12s,box-shadow .16s}
.tq-next:hover,.tq-submit:hover{background:var(--action-600,#E5660A);transform:translateY(-1px)}
.tq-submit:disabled{opacity:.72;cursor:default;transform:none}
.tq-submit.is-loading{color:transparent;position:relative}
.tq-submit.is-loading::after{content:"";position:absolute;width:18px;height:18px;border:2.5px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:tqSpin .7s linear infinite}
@keyframes tqSpin{to{transform:rotate(360deg)}}
.tq-err{font-size:.82rem;color:#D63B16;margin:11px 0 0;font-weight:600;display:none}
.tq-err.show{display:block;animation:tqIn .25s both}
.tq-done{text-align:center;padding:12px 4px 8px;animation:tqIn .5s both}
.tq-done-ic{width:58px;height:58px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#16A34A,#15803D);box-shadow:0 10px 26px rgba(22,163,74,.32)}
.tq-done-ic svg{width:30px;height:30px}
.tq-done h3{font-size:1.22rem;margin:0 0 8px;color:var(--ink-900,#14181B)}
.tq-done p{font-size:.92rem;color:var(--ink-600,#4B5563);line-height:1.55;margin:0}
.tq-done a{color:var(--action-600,#E5660A);font-weight:700;white-space:nowrap}
@media(max-width:560px){.tq-grid.cityzip{grid-template-columns:1fr 1fr}.tq-grid.cityzip .tq-city{grid-column:1/-1}}

/* ============================================================
   HYBRID WARMTH, real photography + video, bringing the current
   site's homey feel into the new build. Same Inter type system.
   ============================================================ */
/* Hero: warm office photo behind the brand gradient (text stays legible) */
html body .hero{position:relative;
  background-image:
    linear-gradient(100deg, rgba(8,9,11,.94) 0%, rgba(12,16,20,.86) 27%, rgba(15,19,25,.58) 58%, rgba(16,20,26,.4) 100%),
    url("/wp-content/uploads/2026/10/titan-hero-home-1600.webp");
  background-size:cover,cover; background-position:center,center 22%; background-repeat:no-repeat,no-repeat}
/* hero content entrance */
@media (prefers-reduced-motion: no-preference){
  .hero .hero-eyebrow,.hero h1,.hero .hero-sub,.hero .hero-cta,.hero .hero-trust,.hero .hero-visual{
    animation:titanIntro .72s cubic-bezier(.22,1,.36,1) both}
  .hero h1{animation-delay:.06s}.hero .hero-sub{animation-delay:.14s}
  .hero .hero-cta{animation-delay:.22s}.hero .hero-trust{animation-delay:.3s}
  .hero .hero-visual{animation-delay:.16s}
}
@media(max-width:820px){
  html body .hero{background-image:linear-gradient(180deg,rgba(9,9,10,.93),rgba(15,19,24,.93)),url("/wp-content/uploads/2026/10/titan-hero-home-900.webp")}}

/* Welcome photo band */
.welcome-band{padding:74px 0;background:#fff}
.welcome-grid{display:grid;grid-template-columns:1fr 1.04fr;gap:54px;align-items:center}
.welcome-media{position:relative}
.welcome-media img{display:block;width:100%;height:auto;border-radius:20px;box-shadow:0 24px 60px rgba(0,0,0,.14)}
.welcome-badge{position:absolute;left:-16px;bottom:24px;background:#fff;border-radius:16px;padding:13px 20px;box-shadow:0 16px 40px rgba(0,0,0,.17);display:flex;flex-direction:column;line-height:1.05}
.welcome-badge strong{font-size:1.55rem;font-weight:800;color:var(--action-600,#E5660A);letter-spacing:-.02em}
.welcome-badge span{font-size:.76rem;color:var(--ink-600,#4B5563);margin-top:3px}
.welcome-copy h2{margin:0 0 14px}
.welcome-copy>p{color:var(--ink-600,#4B5563);font-size:1.05rem;line-height:1.7;margin:0 0 20px}
.welcome-points{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:13px}
.welcome-points li{display:flex;gap:11px;align-items:flex-start;font-size:.98rem;color:var(--ink-800,#22262B);line-height:1.5}
.welcome-points svg{width:22px;height:22px;flex:none;color:var(--action-500,#FF7209);margin-top:1px}
@media(max-width:860px){.welcome-grid{grid-template-columns:1fr;gap:28px}.welcome-band{padding:54px 0}.welcome-badge{left:14px}}
.welcome-band.alt{background:var(--canvas,#F7F7F5)}
.welcome-band.reverse .welcome-media{order:2}
.welcome-band.reverse .welcome-copy{order:1}
.welcome-band.reverse .welcome-badge{left:auto;right:-16px}
@media(max-width:860px){.welcome-band.reverse .welcome-media{order:0}.welcome-band.reverse .welcome-badge{right:14px}}

/* Owner request: remove the dotted texture overlay everywhere (keep the glow ::after). */
html body .hero::before,html body .subhero::before,html body .post-hero::before,html body .cta-banner::before,html body .mission-band::before{content:none}
/* Footer social icons were forced to white-on-white (invisible). Make them visible icon buttons. */
html body .foot-social a{background:rgba(255,255,255,.08)!important;color:rgba(255,255,255,.82)!important;border:1px solid rgba(255,255,255,.14)}
html body .foot-social a:hover{background:var(--action-500)!important;color:#fff!important;border-color:transparent}
html body .foot-social a svg{fill:currentColor!important}
/* Auto-scrolling partner-logo marquee — applies ONLY when JS activates it (front page).
   Every other page keeps a centered, wrapping logo strip. */
html body .trust .container{overflow:hidden}
html body .trust .partner-strip:not(.is-marquee){display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:22px 40px;width:auto;transform:none}
html body .trust .partner-strip.is-marquee{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:58px;width:max-content}
html body .trust .partner-strip.is-marquee img{flex:0 0 auto}
@media (prefers-reduced-motion: no-preference){
  html body .trust:has(.partner-strip.is-marquee) .container{-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
  html body .trust .partner-strip.is-marquee{animation:titanMarquee 36s linear infinite}
  html body .trust:hover .partner-strip.is-marquee{animation-play-state:paused}
  @keyframes titanMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
}
/* count-up stats: subtle pop as they land */
@media (prefers-reduced-motion: no-preference){
  .metrics .metric-num{animation:titanIntro .6s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 0% cover 22%}
}

/* Video band, click-to-play YouTube facade (fast: no iframe until clicked) */
.video-band{padding:66px 0;background:var(--canvas,#F7F7F5)}
.video-frame{position:relative;display:block;width:100%;max-width:940px;margin:32px auto 0;border-radius:20px;overflow:hidden;background:#0b0e12;box-shadow:0 26px 64px rgba(0,0,0,.22);aspect-ratio:16/9;cursor:pointer}
.video-frame img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease,ease),filter .3s}
.video-frame:hover img{transform:scale(1.04);filter:brightness(.9)}
.video-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.4));pointer-events:none}
.video-play{position:absolute;inset:0;margin:auto;width:86px;height:86px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--action-500,#FF7209);box-shadow:0 12px 34px rgba(255,114,9,.5);cursor:pointer;transition:transform .2s var(--ease,ease),background .2s;z-index:2}
.video-frame:hover .video-play{transform:scale(1.08);background:var(--action-600,#E5660A)}
.video-play svg{width:34px;height:34px;color:#fff;margin-left:5px}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-frame.is-playing img,.video-frame.is-playing .video-play{display:none}
.video-frame.is-playing::after{display:none}
@media(max-width:560px){.video-play{width:66px;height:66px}.video-play svg{width:26px;height:26px}}

/* ============================================================
   PER-PAGE WARM HERO PHOTOS (unique image per page, page-id targeted)
   ============================================================ */



body.page-id-1084 .subhero{background-image:linear-gradient(100deg,rgba(9,9,10,.92) 0%,rgba(13,17,21,.84) 40%,rgba(16,20,26,.56) 72%,rgba(16,20,26,.42) 100%),url("/wp-content/uploads/2026/10/titan-hero-furniture-2000.webp");background-size:cover,cover;background-position:center,center 34%;background-repeat:no-repeat,no-repeat}
body.page-id-1085 .subhero{background-image:linear-gradient(100deg,rgba(9,9,10,.92) 0%,rgba(13,17,21,.84) 40%,rgba(16,20,26,.56) 72%,rgba(16,20,26,.42) 100%),url("/wp-content/uploads/2026/10/titan-hero-displays-2000.webp");background-size:cover,cover;background-position:center,center 34%;background-repeat:no-repeat,no-repeat}

body.page-id-1087 .subhero{background-image:linear-gradient(100deg,rgba(9,9,10,.92) 0%,rgba(13,17,21,.84) 40%,rgba(16,20,26,.56) 72%,rgba(16,20,26,.42) 100%),url("/wp-content/uploads/2026/10/titan-hero-about-1500.webp");background-size:cover,cover;background-position:center,center 34%;background-repeat:no-repeat,no-repeat}






body.page-id-1104 .subhero{background-image:linear-gradient(100deg,rgba(9,9,10,.92) 0%,rgba(13,17,21,.84) 40%,rgba(16,20,26,.56) 72%,rgba(16,20,26,.42) 100%),url("/wp-content/uploads/2026/05/How-to-Choose-the-Right-Copier-Lease-Provider.jpg");background-size:cover,cover;background-position:center,center 34%;background-repeat:no-repeat,no-repeat}
body.page-id-1105 .subhero{background-image:linear-gradient(100deg,rgba(9,9,10,.92) 0%,rgba(13,17,21,.84) 40%,rgba(16,20,26,.56) 72%,rgba(16,20,26,.42) 100%),url("/wp-content/uploads/2026/06/raleigh-hero.jpg");background-size:cover,cover;background-position:center,center 34%;background-repeat:no-repeat,no-repeat}
body.page-id-1106 .subhero{background-image:linear-gradient(100deg,rgba(9,9,10,.92) 0%,rgba(13,17,21,.84) 40%,rgba(16,20,26,.56) 72%,rgba(16,20,26,.42) 100%),url("/wp-content/uploads/2026/05/Cost-Efficiency-of-Commercial-Printer.jpg");background-size:cover,cover;background-position:center,center 34%;background-repeat:no-repeat,no-repeat}
body.page-id-1107 .subhero{background-image:linear-gradient(100deg,rgba(9,9,10,.92) 0%,rgba(13,17,21,.84) 40%,rgba(16,20,26,.56) 72%,rgba(16,20,26,.42) 100%),url("/wp-content/uploads/2026/05/Key-Considerations-When-Leasing-a-Copier-in-Raleigh.jpg");background-size:cover,cover;background-position:center,center 34%;background-repeat:no-repeat,no-repeat}

/* Homepage hero badge was a white pill with light cream text (unreadable). Make it a readable dark-glass chip. */
html body .hero .hero-eyebrow{background:rgba(10,12,16,.5);border:1px solid rgba(255,255,255,.22);color:#FFE7D4;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}

/* ============================================================
   READABILITY / WCAG AA CONTRAST FIXES (site-wide audit)
   ============================================================ */
/* Muted secondary text was 4.4:1 on white (just under AA). Darken the token -> passes AA everywhere it's used. */
html:root{--ink-500:#5b6270}
/* "Client story" chip was orange text on an orange pill (invisible). Solid orange pill + white text. */
html body .case-eyebrow{background:var(--action-500);color:#fff}
/* The dark-orange text token was 4.4:1 on white / 3.9:1 on peach (.eyebrow, .tag, .loc-flag, light-bg links).
   Deepen it -> passes AA everywhere. (Used as a hover bg too, where deeper only improves white contrast.) */
html:root{--action-600:#9a4200}
/* .eyebrow and .loc-flag use a literal dark-orange (not the token); force the AA-safe value. */
html body .eyebrow,html body .loc-flag{color:#9a4200 !important}

/* ============================================================
   RESOURCES / BLOG INDEX — featured post + image card grid
   ============================================================ */
.resources{padding-top:46px}
.resource-cats{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
.resource-cats .chip{display:inline-flex;align-items:center;font-size:.85rem;font-weight:600;color:var(--ink-700);background:#fff;border:1px solid var(--ink-300);border-radius:999px;padding:8px 16px;transition:border-color .16s,color .16s,background .16s}
.resource-cats .chip:hover{border-color:var(--action-400);color:var(--action-600)}
.resource-cats .chip.is-active{background:var(--action-500);border-color:var(--action-500);color:#fff}
.resource-featured{display:grid;grid-template-columns:1.12fr .88fr;background:#fff;border:1px solid var(--ink-300);border-radius:20px;overflow:hidden;margin-bottom:34px;box-shadow:0 12px 32px rgba(0,0,0,.06);transition:transform .2s var(--ease),box-shadow .2s var(--ease);color:inherit}
.resource-featured:hover{transform:translateY(-3px);box-shadow:0 20px 48px rgba(0,0,0,.1)}
.rf-media{position:relative;min-height:320px;background:linear-gradient(135deg,#161A1E,#252930);overflow:hidden}
.rf-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rf-ph,.rc-ph{position:absolute;inset:0;background:linear-gradient(135deg,#1a1f24,#2b323b)}
.rf-body{padding:40px 42px;display:flex;flex-direction:column;justify-content:center}
.rf-body .tag{align-self:flex-start;margin-bottom:6px}
.rf-body h2{font-size:1.7rem;line-height:1.24;margin:10px 0 12px}
.rf-body p{color:var(--ink-600);line-height:1.6;font-size:1.02rem;margin-bottom:18px}
.rc-meta{font-size:.8rem;color:var(--ink-500);font-weight:600;letter-spacing:.01em}
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.resource-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--ink-300);border-radius:16px;overflow:hidden;color:inherit;transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s}
.resource-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(0,0,0,.09);border-color:var(--action-400)}
.rc-media{position:relative;aspect-ratio:16/10;background:linear-gradient(135deg,#161A1E,#252930);overflow:hidden}
.rc-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}
.resource-card:hover .rc-media img{transform:scale(1.05)}
.rc-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.rc-body .tag{align-self:flex-start;margin-bottom:10px}
.rc-body h3{font-size:1.06rem;line-height:1.36;margin:0 0 8px}
.rc-body p{color:var(--ink-600);font-size:.9rem;line-height:1.55;margin:0 0 14px;flex:1}
.blog-pagination{margin-top:40px;display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.blog-pagination .page-numbers{display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--ink-300);border-radius:10px;color:var(--ink-700);font-weight:600;font-size:.9rem;background:#fff;transition:border-color .15s,color .15s,background .15s}
.blog-pagination .page-numbers:hover{border-color:var(--action-400);color:var(--action-600)}
.blog-pagination .page-numbers.current{background:var(--action-500);border-color:var(--action-500);color:#fff}
.blog-pagination .page-numbers.dots{border:none;background:none;min-width:auto}
@media(max-width:900px){.resource-grid{grid-template-columns:repeat(2,1fr)}.resource-featured{grid-template-columns:1fr}.rf-media{min-height:230px}}
@media(max-width:560px){.resource-grid{grid-template-columns:1fr}.rf-body{padding:26px 24px}.rf-body h2{font-size:1.4rem}}
/* Listing cards must be visible immediately (don't inherit the scroll-reveal that hides grid children). */
html body .resource-card{animation:none!important;opacity:1!important}

/* ============================================================
   MOBILE FIXES
   ============================================================ */
/* The homepage inline critical CSS re-shows the desktop nav (.nav-main{display:flex}) on mobile,
   beating the responsive hide -> 242px horizontal overflow + clipped nav row. Force the hamburger. */
@media(max-width:1024px){
  html body .nav-main,html body .nav-actions .btn{display:none!important}
  html body .nav-toggle{display:block!important}
}
/* The orange accent glow in the "Free Assessment" card overlapped the heading on narrow screens.
   Tuck it into the top-right corner and fade it so the heading stays readable. */
@media(max-width:768px){
  html body .quote-wrap::before{left:auto;right:0;top:0;width:140px;height:140px;opacity:.22}
}
/* The single-column .quote-wrap sized itself to the form's min-content (~325px), overflowing the card
   padding by ~8px and clipping the checklist ("...your current setup"). Let the column + form shrink. */
@media(max-width:900px){
  html body .quote-wrap{grid-template-columns:minmax(0,1fr)}
  html body .quote-wrap>*,html body #quoteForm,html body .quote-form{min-width:0}
  html body #quoteForm input,html body #quoteForm select,html body #quoteForm .btn{width:100%;max-width:100%;box-sizing:border-box}
}

/* Polish pass 1: homepage hero + "Four ways" cards (preview) */

/* Hero: the "300+ Clients" floater was hidden behind the quote card */
html body .hero-floater{z-index:5}
html body .hero-floater.tl{top:-46px}

/* "Four ways" cards: real photo on top, icon badge overlapping the photo */
html body.home .path-card{padding:0 0 26px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
html body.home .path-card::before,html body.home .path-card:hover::before{content:"";display:block;position:static;width:auto;top:auto;bottom:auto;left:auto;transform:none;aspect-ratio:16/10;background:#eee center/cover no-repeat;margin-bottom:-26px}
html body.home .path-card:hover{border-color:var(--action-500)}
html body.home .path-card:nth-child(1)::before{background-image:url("/wp-content/uploads/2026/10/titan-card-lease-copier.webp");background-position:30% 60%}
html body.home .path-card:nth-child(2)::before{background-image:url("/wp-content/uploads/2026/10/titan-card-toner.webp")}
html body.home .path-card:nth-child(3)::before{background-image:url("/wp-content/uploads/2026/10/titan-card-furniture.webp")}
html body.home .path-card:nth-child(4)::before{background-image:url("/wp-content/uploads/2026/10/titan-card-displays.webp");background-position:center 35%}
html body.home .path-card .path-icon{position:relative;margin:0 24px 16px;width:52px;height:52px;border:3px solid #fff;box-shadow:0 8px 18px -8px rgba(0,0,0,.35)}
html body.home .path-card h3{margin:0 24px 8px;font-size:21px;line-height:1.25}
html body.home .path-card p{margin:0 24px 18px;font-size:16px;line-height:1.6;flex:1}
html body.home .path-card .path-link{margin:0 24px;font-size:15.5px}
html body.home .path-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -22px rgba(22,26,30,.35)}
@media (prefers-reduced-motion:reduce){html body.home .path-card{transition:none}html body.home .path-card:hover{transform:none}}

/* Polish pass 2 (Oct 8 2026): same design, consistent badges, photos on office cards */
html body .why-icon{background:var(--action-100);color:#9a4200;box-shadow:none}
html body .why-card p{font-size:16px;line-height:1.6}
html body .process-num{background:var(--action-500);border-color:var(--action-500);color:#161A1E;box-shadow:0 12px 26px -12px rgba(255,114,9,.7)}
html body .process-step p{font-size:16px;max-width:310px;margin-left:auto;margin-right:auto}
html body .loc-card:has(.loc-map){padding:0 0 24px;overflow:hidden;display:flex;flex-direction:column}
html body .loc-card .loc-map{display:block;width:100%;height:190px;border:0;margin:0 0 20px;background:#EDEAE4}
html body .loc-card:has(.loc-map) > :not(.loc-map){margin-left:24px;margin-right:24px}
html body .loc-card:has(.loc-map) h3{font-size:22px}
html body .loc-card:has(.loc-map) address{font-size:16px}
html body .loc-card h3 a{color:inherit;text-decoration:none}
html body .loc-card h3 a:hover{color:#9a4200}
html body .loc-card .loc-more{display:inline-block;margin-top:10px;font-weight:600;font-size:15px;color:#9a4200;text-decoration:none}
html body .loc-card .loc-more:hover{text-decoration:underline}
html body .ind-tile{padding:28px 16px}
html body .ind-icon{width:58px;height:58px;padding:14px;border-radius:50%;background:var(--action-100);color:#9a4200;box-sizing:border-box}
html body .ind-tile:hover .ind-icon{background:rgba(255,255,255,.1);color:var(--action-500)}
html body .ind-tile span{font-size:16px}

/* Remove the orange glow that covered the quote form inputs */
html body .quote-wrap::before{display:none}

/* About page: icon badges match the peach style used site-wide */
html body .why-ico{background:var(--action-100)!important;color:#9a4200!important}

/* Photo / map card under inner-page heroes: a deliberate framed card overlapping the hero */
html body:has(.titan-page-photo) .subhero{padding-bottom:124px}
html body .titan-page-photo{position:relative;z-index:2;margin-top:-72px;padding-top:0!important}
html body .titan-page-photo figure{max-width:1100px;margin:0 auto!important;border-radius:20px;overflow:hidden;border:6px solid #fff;background:#fff;box-shadow:0 30px 60px -28px rgba(10,12,16,.45)}
html body .titan-page-photo figure img{display:block;width:100%!important;height:clamp(220px,30vw,400px)!important;object-fit:cover!important;border-radius:0!important;margin:0!important}
html body .titan-page-photo .page-map{display:block;width:100%;height:clamp(260px,30vw,380px);border:0;background:#EDEAE4}
@media(max-width:768px){
  html body:has(.titan-page-photo) .subhero{padding-bottom:84px}
  html body .titan-page-photo{margin-top:-44px}
  html body .titan-page-photo figure{border-width:4px;border-radius:16px}
}

/* Mobile: comparison cards and dark CTA panels stack instead of overflowing */
@media(max-width:768px){
  html body .two-col,html body .callout{grid-template-columns:minmax(0,1fr)!important;gap:20px}
  html body .two-col>*,html body .callout>*{min-width:0}
  html body .callout .btn{white-space:normal;text-align:center}
}

/* Products catalog: show the full model name (was cut to "Canon...") */
html body .product-title-link.clip-text-1-lines{-webkit-line-clamp:3!important;line-clamp:3!important;line-height:1.3;font-size:15.5px!important;overflow-wrap:anywhere}

/* Office furniture: photo mosaic above the category cards */
html body .photo-mosaic{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:20px;margin:36px 0 40px}
html body .photo-mosaic figure{position:relative;margin:0;height:440px;border-radius:18px;overflow:hidden;box-shadow:0 24px 48px -28px rgba(10,12,16,.45)}
html body .photo-mosaic img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
html body .photo-mosaic .pm-tall img{object-position:center 40%}
html body .photo-mosaic figure:hover img{transform:scale(1.03)}
html body .photo-mosaic figcaption,html body .usecase-photo figcaption{position:absolute;left:16px;bottom:16px;background:rgba(255,255,255,.94);color:#161A1E;font-weight:600;font-size:15px;padding:8px 14px;border-radius:999px;box-shadow:0 6px 16px -8px rgba(0,0,0,.4)}

/* Interactive displays: feature photo beside the room cards */
html body .usecase-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;align-items:stretch;margin-top:36px}
html body .usecase-split .usecase-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin:0!important}
html body .usecase-photo{position:relative;margin:0;min-height:420px;border-radius:18px;overflow:hidden;box-shadow:0 24px 48px -28px rgba(10,12,16,.45)}
html body .usecase-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:35% center}
@media(max-width:900px){
  html body .photo-mosaic,html body .usecase-split{grid-template-columns:minmax(0,1fr)}
  html body .photo-mosaic figure{height:300px}
  html body .photo-mosaic .pm-tall img{object-position:center 30%}
  html body .usecase-photo{min-height:280px}
}
@media(max-width:560px){html body .usecase-split .usecase-grid{grid-template-columns:minmax(0,1fr)!important}}
@media(prefers-reduced-motion:reduce){html body .photo-mosaic img{transition:none}html body .photo-mosaic figure:hover img{transform:none}}

/* ===== Photo beside card grid (service + city pages) ===== */
html body .media-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;align-items:stretch;margin-top:36px}
html body .media-split>[class$="-grid"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin:0!important}
html body .media-split-photo{position:relative;margin:0;min-height:420px;border-radius:18px;overflow:hidden;box-shadow:0 24px 48px -28px rgba(10,12,16,.45)}
html body .media-split-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
html body .media-split-photo figcaption{position:absolute;left:16px;bottom:16px;background:rgba(255,255,255,.94);color:#161A1E;font-weight:600;font-size:15px;padding:8px 14px;border-radius:999px;box-shadow:0 6px 16px -8px rgba(0,0,0,.4)}
@media(max-width:900px){html body .media-split{grid-template-columns:minmax(0,1fr)}html body .media-split-photo{min-height:280px}}
@media(max-width:560px){html body .media-split>[class$="-grid"]{grid-template-columns:minmax(0,1fr)!important}}

/* ===== Service link cards get their service photo (About + location pages) ===== */
html body .svc-card[href]{padding:0 0 26px;overflow:hidden}
html body .svc-card[href]::before{content:"";display:block;aspect-ratio:16/10;background:#eee center/cover no-repeat;margin-bottom:-26px}
html body .svc-card[href] > *{margin-left:26px;margin-right:26px}
html body .svc-card[href] .feat-ico{position:relative;width:52px;height:52px;border:3px solid #fff;box-shadow:0 8px 18px -8px rgba(0,0,0,.35)}
html body .svc-card[href] p{font-size:16px}
html body .svc-card[href*="copier-leasing"]::before{background-image:url("/wp-content/uploads/2026/10/titan-card-svc-leasing.webp");background-position:center 40%}
html body .svc-card[href*="copier-purchase"]::before{background-image:url("/wp-content/uploads/2026/10/titan-card-svc-purchase.webp");background-position:center 35%}
html body .svc-card[href*="managed-print"]::before{background-image:url("/wp-content/uploads/2026/10/titan-card-svc-mps.webp");background-position:center 40%}
html body .svc-card[href*="office-furniture"]::before{background-image:url("/wp-content/uploads/2026/10/titan-card-svc-furniture.webp")}
html body .svc-card[href*="interactive"]::before{background-image:url("/wp-content/uploads/2026/10/titan-card-svc-displays.webp")}
html body .svc-card[href*="copier-repair"]::before{background-image:url("/wp-content/uploads/2026/10/titan-card-svc-repair.webp")}

/* ===== Footer redesign ===== */
html body footer.tf{background:#0E1013;color:rgba(255,255,255,.72);padding:0;font-size:15px;border-top:3px solid var(--action-500)}
html body footer.tf a{color:rgba(255,255,255,.78);text-decoration:none;transition:color .15s}
html body footer.tf a:hover{color:#FF8A33}
.tf-top{background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0));border-bottom:1px solid rgba(255,255,255,.08)}
.tf-top-in{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;gap:48px;align-items:center;padding-top:52px;padding-bottom:48px}
.tf-logo{display:inline-block;background:#fff;border-radius:12px;padding:11px 16px;line-height:0}
.tf-logo img{height:40px;width:auto;display:block}
.tf-brand p{margin:18px 0 0;line-height:1.6;max-width:460px;color:rgba(255,255,255,.72)}
.tf-brand .tf-auth{margin-top:10px;font-size:14px;color:rgba(255,255,255,.6)}
.tf-contact{display:flex;flex-direction:column;gap:4px}
.tf-label{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#FF8A33}
html body footer.tf .tf-phone{font-size:32px;font-weight:800;letter-spacing:-.01em;color:#fff;line-height:1.15}
html body footer.tf .tf-mail{font-size:15px}
.tf-cta .btn{white-space:nowrap}
.tf-offices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:40px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.tf-office{display:flex;gap:14px;align-items:flex-start;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:18px}
.tf-pin{flex:none;width:38px;height:38px;border-radius:10px;background:rgba(255,114,9,.14);color:#FF8A33;display:grid;place-items:center}
.tf-pin svg{width:20px;height:20px}
html body footer.tf .tf-city{display:block;color:#fff;font-weight:700;font-size:16px;margin-bottom:4px}
.tf-office address{font-style:normal;font-size:14px;line-height:1.5;color:rgba(255,255,255,.66)}
html body footer.tf .tf-dir{display:inline-block;margin-top:8px;font-size:14px;font-weight:600;color:#FF8A33}
.tf-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding:44px 0 36px}
.tf-col h4{color:#fff;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px}
.tf-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.tf-social{display:flex;gap:10px}
html body footer.tf .tf-social a{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.85)}
html body footer.tf .tf-social a:hover{background:var(--action-500);border-color:transparent;color:#fff}
.tf-social svg{width:18px;height:18px;fill:currentColor}
.tf-seal{display:block;margin-top:24px;width:135px;height:auto}
.tf-bottom{border-top:1px solid rgba(255,255,255,.08);padding:22px 0 28px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:13.5px;color:rgba(255,255,255,.55)}
html body footer.tf .tf-bottom a{color:rgba(255,255,255,.7);text-decoration:underline;text-underline-offset:2px}
.tf-legal{display:flex;gap:18px}
html body footer.tf .tf-legal a{text-decoration:none}
@media(max-width:1024px){
  .tf-top-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}
  .tf-brand{grid-column:1/-1}
  .tf-offices{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tf-links{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .tf-top-in{grid-template-columns:minmax(0,1fr);padding-top:40px;padding-bottom:36px}
  .tf-cta .btn{width:100%;justify-content:center}
  html body footer.tf .tf-phone{font-size:28px}
  .tf-offices{grid-template-columns:minmax(0,1fr)}
  .tf-links{gap:28px 20px}
}

/* Real-photo heroes (Oct 9 2026): 2000px desktop, 900px phone */
body.page-id-1081 .subhero{background-image:linear-gradient(100deg,rgba(9,9,10,.92) 0%,rgba(13,17,21,.84) 40%,rgba(16,20,26,.56) 72%,rgba(16,20,26,.42) 100%),url("/wp-content/uploads/2026/10/titan-hero-copier-leasing-m-2000.webp");background-size:cover,cover;background-position:center,center 40%;background-repeat:no-repeat,no-repeat}
body.page-id-1082 .subhero{background-image:linear-gradient(100deg,rgba(9,9,10,.92) 0%,rgba(13,17,21,.84) 40%,rgba(16,20,26,.56) 72%,rgba(16,20,26,.42) 100%),url("/wp-content/uploads/2026/10/titan-hero-copier-purchase-2000.webp");background-size:cover,cover;background-position:center,center 35%;background-repeat:no-repeat,no-repeat}
body.page-id-1083 .subhero{background-image:linear-gradient(100deg,rgba(9,9,10,.92) 0%,rgba(13,17,21,.84) 40%,rgba(16,20,26,.56) 72%,rgba(16,20,26,.42) 100%),url("/wp-content/uploads/2026/10/titan-hero-managed-print-2000.webp");background-size:cover,cover;background-position:center,center 40%;background-repeat:no-repeat,no-repeat}
body.page-id-1086 .subhero{background-image:linear-gradient(100deg,rgba(9,9,10,.92) 0%,rgba(13,17,21,.84) 40%,rgba(16,20,26,.56) 72%,rgba(16,20,26,.42) 100%),url("/wp-content/uploads/2026/10/titan-hero-copier-repair-2000.webp");background-size:cover,cover;background-position:center,center 35%;background-repeat:no-repeat,no-repeat}
body.page-id-1088 .subhero{background-image:linear-gradient(100deg,rgba(9,9,10,.92) 0%,rgba(13,17,21,.84) 40%,rgba(16,20,26,.56) 72%,rgba(16,20,26,.42) 100%),url("/wp-content/uploads/2026/10/titan-hero-contact-2000.webp");background-size:cover,cover;background-position:center,center 25%;background-repeat:no-repeat,no-repeat}
body.page-id-1091 .subhero{background-image:linear-gradient(100deg,rgba(9,9,10,.92) 0%,rgba(13,17,21,.84) 40%,rgba(16,20,26,.56) 72%,rgba(16,20,26,.42) 100%),url("/wp-content/uploads/2026/10/titan-hero-careers-2000.webp");background-size:cover,cover;background-position:center,center 55%;background-repeat:no-repeat,no-repeat}
body.page-id-1090 .subhero{background-image:linear-gradient(100deg,rgba(9,9,10,.92) 0%,rgba(13,17,21,.84) 40%,rgba(16,20,26,.56) 72%,rgba(16,20,26,.42) 100%),url("/wp-content/uploads/2026/10/titan-hero-case-studies-2000.webp");background-size:cover,cover;background-position:center,center 40%;background-repeat:no-repeat,no-repeat}
body.page-id-1102 .subhero{background-image:linear-gradient(100deg,rgba(9,9,10,.92) 0%,rgba(13,17,21,.84) 40%,rgba(16,20,26,.56) 72%,rgba(16,20,26,.42) 100%),url("/wp-content/uploads/2026/10/titan-hero-charlotte-2000.webp");background-size:cover,cover;background-position:center,center 60%;background-repeat:no-repeat,no-repeat}
body.page-id-1103 .subhero{background-image:linear-gradient(100deg,rgba(9,9,10,.92) 0%,rgba(13,17,21,.84) 40%,rgba(16,20,26,.56) 72%,rgba(16,20,26,.42) 100%),url("/wp-content/uploads/2026/10/titan-hero-durham-office-1600.webp");background-size:cover,cover;background-position:center,center 12%;background-repeat:no-repeat,no-repeat}
@media(max-width:768px){
  body.page-id-1081 .subhero{background-image:linear-gradient(180deg,rgba(9,9,10,.86) 0%,rgba(13,17,21,.8) 60%,rgba(16,20,26,.72) 100%),url("/wp-content/uploads/2026/10/titan-hero-copier-leasing-m-900.webp")}
  body.page-id-1082 .subhero{background-image:linear-gradient(180deg,rgba(9,9,10,.86) 0%,rgba(13,17,21,.8) 60%,rgba(16,20,26,.72) 100%),url("/wp-content/uploads/2026/10/titan-hero-copier-purchase-900.webp")}
  body.page-id-1083 .subhero{background-image:linear-gradient(180deg,rgba(9,9,10,.86) 0%,rgba(13,17,21,.8) 60%,rgba(16,20,26,.72) 100%),url("/wp-content/uploads/2026/10/titan-hero-managed-print-900.webp")}
  body.page-id-1086 .subhero{background-image:linear-gradient(180deg,rgba(9,9,10,.86) 0%,rgba(13,17,21,.8) 60%,rgba(16,20,26,.72) 100%),url("/wp-content/uploads/2026/10/titan-hero-copier-repair-900.webp")}
  body.page-id-1088 .subhero{background-image:linear-gradient(180deg,rgba(9,9,10,.86) 0%,rgba(13,17,21,.8) 60%,rgba(16,20,26,.72) 100%),url("/wp-content/uploads/2026/10/titan-hero-contact-900.webp")}
  body.page-id-1091 .subhero{background-image:linear-gradient(180deg,rgba(9,9,10,.86) 0%,rgba(13,17,21,.8) 60%,rgba(16,20,26,.72) 100%),url("/wp-content/uploads/2026/10/titan-hero-careers-900.webp")}
  body.page-id-1090 .subhero{background-image:linear-gradient(180deg,rgba(9,9,10,.86) 0%,rgba(13,17,21,.8) 60%,rgba(16,20,26,.72) 100%),url("/wp-content/uploads/2026/10/titan-hero-case-studies-900.webp")}
  body.page-id-1102 .subhero{background-image:linear-gradient(180deg,rgba(9,9,10,.86) 0%,rgba(13,17,21,.8) 60%,rgba(16,20,26,.72) 100%),url("/wp-content/uploads/2026/10/titan-hero-charlotte-900.webp")}
  body.page-id-1103 .subhero{background-image:linear-gradient(180deg,rgba(9,9,10,.86) 0%,rgba(13,17,21,.8) 60%,rgba(16,20,26,.72) 100%),url("/wp-content/uploads/2026/10/titan-hero-durham-office-900.webp")}
}
@media(max-width:768px){
  body.page-id-1084 .subhero{background-image:linear-gradient(180deg,rgba(9,9,10,.86) 0%,rgba(13,17,21,.8) 60%,rgba(16,20,26,.72) 100%),url("/wp-content/uploads/2026/10/titan-hero-furniture-900.webp")}
  body.page-id-1085 .subhero{background-image:linear-gradient(180deg,rgba(9,9,10,.86) 0%,rgba(13,17,21,.8) 60%,rgba(16,20,26,.72) 100%),url("/wp-content/uploads/2026/10/titan-hero-displays-900.webp")}
}
@media(max-width:768px){body.page-id-1087 .subhero{background-image:linear-gradient(180deg,rgba(9,9,10,.86) 0%,rgba(13,17,21,.8) 60%,rgba(16,20,26,.72) 100%),url("/wp-content/uploads/2026/10/titan-hero-about-900.webp")}}

/* Homepage hero: orange service-area line always on its own line */
html body #hero-title .accent{display:block}
