/* ==========================================================================
   Creative IT USA — Design System v2 ("Signal" redesign)
   Duotone ink/amber treatment over a diagnostic-scan visual language.
   ========================================================================== */

:root{
  --ink:#0B0F1A;
  --ink-soft:#333a4a;
  --muted:#5b6472;
  --paper:#F6F4EF;
  --paper-2:#EDEAE1;
  --white:#fff;
  --panel:#10182B;
  --panel-2:#161F36;
  --line:#E4E0D4;
  --line-dark:rgba(246,244,239,.12);

  --amber:#FF9F45;
  --amber-2:#E8832A;
  --teal:#2FD6C0;

  --radius-sm:10px;
  --radius:16px;
  --radius-lg:26px;

  --shadow:0 12px 30px rgba(11,15,26,.10);
  --shadow-lg:0 24px 60px rgba(11,15,26,.16);

  --font:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-display:"Space Grotesk","Inter",ui-sans-serif,system-ui,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit}
h1,h2,h3{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;line-height:1.05;margin:0}
p{margin:0}
:focus-visible{outline:2.5px solid var(--amber);outline-offset:3px;border-radius:4px}
.skip-link{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:12px 18px;border-radius:0 0 10px 0;z-index:100}
.skip-link:focus{left:0}

.shell,.container{width:min(1180px,calc(100% - 40px));margin:auto}

/* ---------- Topbar ---------- */
.topbar{background:var(--panel);color:#aab2c5;font-size:13px;border-bottom:1px solid var(--line-dark)}
.topbar .shell{display:flex;justify-content:space-between;gap:16px;padding:9px 0;flex-wrap:wrap}
.topbar b{color:#fff;font-weight:650}
.dot-live{display:inline-flex;align-items:center;gap:7px}
.dot-live:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 3px rgba(255,159,69,.22)}

/* ---------- Header / nav ---------- */
.header{position:sticky;top:0;z-index:30;background:rgba(246,244,239,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{height:74px;display:flex;align-items:center;justify-content:space-between}
.logo img{height:42px;width:auto}
.navlinks{display:flex;align-items:center;gap:18px;font-size:13.5px;font-weight:600}
.navlinks a{white-space:nowrap;padding:6px 0;border-bottom:2px solid transparent;color:var(--ink-soft)}
.navlinks a:hover,.navlinks a[aria-current="page"]{color:var(--ink);border-color:var(--amber)}
.menu{display:none;background:none;border:0;font-size:24px;color:var(--ink)}

.pill,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:999px;background:var(--ink);color:#fff;font-weight:650;border:0;cursor:pointer;font-size:14.5px;transition:transform .15s ease,background .15s ease}
.pill:hover,.btn:hover{background:var(--amber-2);transform:translateY(-1px)}
.pill.dark{background:var(--panel)}
.navlinks .pill{background:var(--amber);color:var(--ink);padding:10px 18px}
.navlinks .pill:hover{background:var(--amber-2);color:#fff}
.btn-secondary,.ghost{display:inline-flex;align-items:center;gap:8px;padding:11px 19px;border:1.5px solid var(--ink);border-radius:999px;font-weight:650;background:transparent;color:var(--ink)}
.btn-secondary:hover,.ghost:hover{background:var(--ink);color:#fff}
.btn.lg{padding:15px 26px;font-size:16px}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding:74px 0 56px;background:var(--paper)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.badge{display:inline-flex;gap:8px;align-items:center;background:var(--paper-2);color:var(--ink);padding:7px 13px;border-radius:999px;font-size:13px;font-weight:650;border:1px solid var(--line)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--amber)}
h1{font-size:clamp(38px,5.6vw,64px);letter-spacing:-.03em;margin:20px 0 20px;max-width:760px}
h1 em{font-style:normal;color:var(--amber-2)}
.hero p,.lede{font-size:18px;color:var(--muted);max-width:620px}
.actions,.hero-actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.eyebrow{color:var(--amber-2);font-size:13px;font-weight:700}
.pagehero{padding:64px 0 44px;background:var(--paper-2);border-bottom:1px solid var(--line)}
.pagehero h1{font-size:clamp(36px,5vw,54px);max-width:820px}

/* Hero panel (dashboard-style card, homepage) */
.hero-panel{position:relative;background:var(--panel);color:#fff;border-radius:var(--radius-lg);padding:30px;min-height:420px;box-shadow:var(--shadow-lg)}
.hero-panel:before{content:"";position:absolute;right:-60px;top:-60px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,var(--amber) 0%,transparent 70%);opacity:.5}
.status{position:relative;display:flex;justify-content:space-between;border-bottom:1px solid var(--line-dark);padding-bottom:20px;font-weight:600}
.status span{color:#8b92a5}
.metric{position:relative;margin-top:44px}
.metric strong{display:block;font-family:var(--font-display);font-size:60px;line-height:1;color:var(--amber)}
.metric small{color:#8b92a5}
.mini-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:38px}
.mini{background:var(--panel-2);border:1px solid var(--line-dark);border-radius:14px;padding:15px}
.mini b{display:block;margin-bottom:4px;font-size:14px}
.mini span{color:#8b92a5;font-size:13px}
.hero-visual{margin-top:26px;border-radius:var(--radius-lg);overflow:hidden;position:relative}

/* ---------- Hero illustration treatment ----------
   All hero/service graphics are hand-authored ink+amber vector
   illustrations (see /images/*.svg), so no photo filtering is applied —
   just a soft directional wash + scan-line accent for atmosphere. */
.hero-visual{background:var(--ink)}
.hero-visual::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(155deg,rgba(11,15,26,.35) 0%,rgba(11,15,26,.05) 45%,rgba(255,159,69,.18) 100%);
  mix-blend-mode:multiply;
}
.hero-visual::before{
  content:"";position:absolute;left:0;right:0;top:38%;height:2px;background:var(--amber);
  box-shadow:0 0 18px 2px rgba(255,159,69,.7);z-index:2;opacity:.85;
}

.hero.has-image{
  padding:0;min-height:440px;display:flex;align-items:center;
  background-color:var(--ink);
  background-image:
    linear-gradient(155deg,rgba(11,15,26,.82) 0%,rgba(11,15,26,.4) 42%,rgba(255,159,69,.28) 100%),
    var(--hero-image);
  background-size:cover;background-position:center;
}
.hero.has-image::after{
  content:"";position:absolute;left:0;right:0;top:34%;height:2px;background:var(--amber);
  box-shadow:0 0 20px 2px rgba(255,159,69,.65);
}
.hero.has-image>.container,.hero.has-image>.shell{position:relative;padding:78px 0;color:#fff;z-index:1}
.hero.has-image .eyebrow{color:var(--amber)}
.hero.has-image h1{color:#fff}
.hero.has-image p{color:#cfd4de}
.hero.has-image .btn-secondary,.hero.has-image .ghost{border-color:rgba(255,255,255,.55);color:#fff}
.hero.has-image .btn-secondary:hover,.hero.has-image .ghost:hover{background:#fff;color:var(--ink)}

.pagehero.has-image{
  padding:0;min-height:300px;display:flex;align-items:center;background:none;border-bottom:none;
  background-color:var(--ink);
  background-image:
    linear-gradient(155deg,rgba(11,15,26,.92) 0%,rgba(11,15,26,.55) 42%,rgba(255,159,69,.42) 100%),
    var(--hero-image);
  background-size:cover;background-position:center;position:relative;
}
.pagehero.has-image::after{
  content:"";position:absolute;left:0;right:0;top:34%;height:2px;background:var(--amber);
  box-shadow:0 0 20px 2px rgba(255,159,69,.65);
}
.pagehero.has-image>.container,.pagehero.has-image>.shell{position:relative;padding:64px 0;color:#fff;z-index:1}
.pagehero.has-image .eyebrow{color:var(--amber)}
.pagehero.has-image h1{color:#fff}
.pagehero.has-image p{color:#cfd4de}

.service-icon-badge{display:inline-block;width:64px;height:64px;flex:0 0 auto;margin-bottom:18px;filter:drop-shadow(0 6px 16px rgba(0,0,0,.35))}
.service-icon-badge svg{display:block;width:100%;height:100%}
.service-icon-badge use{width:100%;height:100%}
.hero:not(.has-image) .service-icon-badge{filter:drop-shadow(0 4px 10px rgba(11,15,26,.18))}

.service-proof{display:flex;gap:22px;flex-wrap:wrap;margin-top:26px;font-size:13.5px;color:#cfd4de}
.service-proof span{display:flex;align-items:center;gap:7px}
.service-proof span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--amber)}

/* ---------- Trust bar ---------- */
.trust{padding:24px 0;border-bottom:1px solid var(--line);border-top:1px solid var(--line);background:var(--paper-2)}
.trust .shell{display:flex;gap:26px;justify-content:space-between;flex-wrap:wrap;color:var(--muted);font-size:13.5px}
.trust b{color:var(--ink)}

/* ---------- Sections ---------- */
.section{padding:88px 0}
.section.alt{background:var(--paper-2)}
.section-head{max-width:760px}
.section h2,.section-head h2{font-size:clamp(30px,4vw,44px);letter-spacing:-.025em;line-height:1.08;margin:10px 0 16px}
.container>h2:first-child{margin-top:0}

/* ---------- Cards ---------- */
.cards,.grid-3{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:40px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px;transition:.2s}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--amber)}
.icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--ink);color:var(--amber);font-size:20px;font-weight:800}
.card h3{font-size:21px;margin:18px 0 8px;font-family:var(--font-display)}
.card p{color:var(--muted)}
.card a{color:var(--amber-2);font-weight:700;display:inline-block;margin-top:10px}
.grid-3>.card{background:var(--white)}

/* ---------- Split / checklist / coverage ---------- */
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}
.checklist{display:grid;gap:12px}
.check{display:flex;gap:14px;padding:17px;border:1px solid var(--line);border-radius:14px;background:#fff}
.check i{font-style:normal;color:var(--amber-2);font-weight:900}
.coverage{background:var(--panel);color:#fff;border-radius:var(--radius-lg);padding:40px;position:relative;overflow:hidden}
.coverage:after{content:"LA";position:absolute;right:-10px;bottom:-60px;font-family:var(--font-display);font-size:190px;font-weight:700;color:var(--panel-2);line-height:1}
.coverage p,.coverage li{color:#b7bdcb}
.coverage ul{columns:2;padding-left:18px;position:relative;z-index:1}
.notice{background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:18px 20px;color:var(--muted);font-size:14.5px}
.prose{max-width:800px}
.prose h2{font-size:28px;letter-spacing:-.02em;margin-top:42px}
.prose p,.prose li{color:var(--ink-soft)}
.prose a{color:var(--amber-2);font-weight:700}

/* ---------- CTA ---------- */
.cta{background:linear-gradient(135deg,var(--panel),var(--ink));color:#fff;border-radius:var(--radius-lg);padding:46px;display:flex;justify-content:space-between;gap:28px;align-items:center;flex-wrap:wrap}
.cta h2{margin:0;font-size:36px;color:#fff}
.cta p{color:#c3c9d6;margin-top:8px}
.cta .pill{background:var(--amber);color:var(--ink)}
.cta .pill:hover{background:#fff}

/* ---------- Pricing ---------- */
.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.price-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;align-items:flex-start}
.price-card>span{font-weight:700;color:var(--ink-soft)}
.price-card .price,.price{font-family:var(--font-display);font-size:34px;line-height:1;margin:14px 0 12px;letter-spacing:-.02em}
.price-card .price small{font-size:13px;color:var(--muted);font-weight:600}
.price-card p{color:var(--muted);flex:1}
.price-card.featured{border:2px solid var(--amber);box-shadow:var(--shadow)}
.price-card.featured>span:after{content:" Popular";margin-left:4px;color:var(--amber-2);font-size:11px;font-weight:700}
.pricing-note{color:var(--muted);font-size:13px;margin-top:18px}
.mini-price-list{display:grid;gap:7px;margin-top:26px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--paper-2)}
.mini-price-list span{color:var(--muted)}
.pricing-section{padding:70px 0}
.pricing-hero{padding:60px 0 30px}
.pricing-intro{max-width:700px;color:var(--muted)}
.price-badge{display:inline-block;background:var(--amber);color:var(--ink);padding:5px 12px;border-radius:999px;font-size:12px;font-weight:750}
.mini-pricing{margin-top:30px}
.mini-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.mini-price{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fff}
.mini-price span{display:block;color:var(--muted);font-size:13.5px}
.mini-price strong{display:block;font-family:var(--font-display);font-size:24px;margin:6px 0}
.mini-price small{color:var(--muted);font-size:12.5px}
.price-kicker{color:var(--amber-2);font-weight:700;font-size:13px}
.price-number{font-family:var(--font-display);font-size:32px}
.price-unit{color:var(--muted);font-size:13px}
.pricing-cta{margin-top:16px}
.rate-table{width:100%;border-collapse:collapse;margin-top:24px}
.rate-table th,.rate-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line)}
.rate-table th{color:var(--ink-soft);font-size:13px;text-transform:none}

/* ---------- Location / directory components ---------- */
.city-grid{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.city-grid a{display:block;padding:12px 14px;border:1px solid var(--line-dark);border-radius:12px;color:#e3e6ec}
.city-grid a:hover{border-color:var(--amber);color:var(--amber)}
.area-link,.area-card-link{display:inline-block;padding:9px 13px;border:1px solid var(--line);border-radius:10px;color:var(--ink-soft);font-size:14px}
.area-link:hover,.area-card-link:hover{border-color:var(--amber-2);color:var(--amber-2)}
.area-grid,.location-link-grid,.service-directory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}
.location-group{margin-top:30px}
.location-group h3{font-size:18px;margin-bottom:10px}
.related-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.link-cloud{display:flex;flex-wrap:wrap;gap:8px}
.service-category{border:1px solid var(--line);border-radius:16px;padding:22px;background:#fff}
.service-category-section{margin-top:36px}
.recovery-brand-grid,.data-recovery-compatibility{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}

/* ---------- Contact / form ---------- */
.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form label{display:grid;gap:7px;font-weight:650;font-size:14px}
.form label span{color:var(--ink-soft)}
.form input,.form select,.form textarea{width:100%;padding:14px 15px;border:1px solid var(--line);border-radius:12px;font:inherit;background:#fff;color:var(--ink)}
.form input:focus,.form select:focus,.form textarea:focus{outline:3px solid rgba(255,159,69,.28);border-color:var(--amber)}
.form .full,.form-status,.form-note{grid-column:1/-1}
.form textarea{min-height:150px;resize:vertical}
.form button{grid-column:1/-1}
.form-status{display:none;padding:14px 16px;border-radius:12px;font-weight:650}
.form-status.success{display:block;background:#eafaf3;color:#0f7a52;border:1px solid #b7e9d3}
.form-status.error{display:block;background:#fdefee;color:#b3412e;border:1px solid #f5c7c0}
.form-note{margin:0;color:var(--muted);font-size:13px}
.hp{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;white-space:nowrap!important}

/* ---------- Footer ---------- */
.footer{background:var(--panel);color:#fff;padding:54px 0 26px}
.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:36px}
.footer p,.footer a,.footgrid span{color:#9aa1b2}
.footer a{display:block;margin:8px 0}
.footer a:hover{color:var(--amber)}
.legal{border-top:1px solid var(--line-dark);margin-top:38px;padding-top:20px;color:#6b7284;font-size:13px}

/* ---------- Responsive ---------- */
@media(max-width:1040px){
  .topbar{display:none}
  .navlinks{display:none;position:absolute;left:0;right:0;top:74px;background:var(--paper);padding:20px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:14px}
  .navlinks.open{display:flex}
  .navlinks a{white-space:normal}
  .menu{display:block}
}
@media(max-width:1000px){
  .grid-3,.pricing-grid,.area-grid,.location-link-grid,.service-directory-grid,.recovery-brand-grid,.data-recovery-compatibility,.mini-pricing-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:800px){
  .hero-grid,.split,.contact{grid-template-columns:1fr}
  .hero{padding-top:50px}
  .hero-panel{min-height:auto}
  .cards,.grid-3,.pricing-grid,.city-grid,.area-grid,.location-link-grid,.service-directory-grid,.recovery-brand-grid,.data-recovery-compatibility,.mini-pricing-grid{grid-template-columns:1fr}
  .coverage ul{columns:1}
  .cta{display:block}
  .cta .pill{margin-top:20px}
  .form{grid-template-columns:1fr}
  .form .full,.form-status,.form-note,.form button{grid-column:auto}
  .footgrid{grid-template-columns:1fr}
  .hero-grid{gap:32px}
  .section{padding:64px 0}
  .hero.has-image>.container,.hero.has-image>.shell{padding:56px 0}
}

