:root{
    --ink:#101d2b; --ink2:#33465a; --muted:#5f7183;
    --paper:#ffffff; --mist:#f2f6f9; --mist2:#e8eef3; --line:#dde5ec;
    --ember:#e05a24; --ember-d:#c44a18; --ember-t:#fdeee6;
    --ice:#1b7fa6; --ice-d:#14657f; --ice-t:#e3f2f8;
    --gold:#c9a227;
    --radius:14px;
    --shadow:0 2px 10px rgba(16,29,43,.08);
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;padding-bottom:64px}
  h1,h2,h3,h4{font-family:'Archivo',sans-serif;line-height:1.12;letter-spacing:-.015em;margin:0 0 .5rem;font-weight:800}
  a{color:var(--ice-d)}
  img{max-width:100%}
  .wrap{max-width:1080px;margin:0 auto;padding:0 5.5vw}
  @media(min-width:1100px){.wrap{padding:0 24px}}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:'Archivo';font-weight:700;font-size:1rem;border-radius:10px;padding:.85rem 1.35rem;text-decoration:none;border:none;cursor:pointer;transition:transform .06s ease, background .15s ease}
  .btn:active{transform:scale(.98)}
  .btn-ember{background:var(--ember);color:#fff}
  .btn-ember:hover{background:var(--ember-d)}
  .btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.55)}
  .btn-ghost:hover{border-color:#fff}
  .btn-dark{background:var(--ink);color:#fff}
  .btn-line{background:#fff;color:var(--ink);border:1.5px solid var(--line)}
  .btn-line:hover{border-color:var(--ink2)}

  /* demo ribbon */
  .demo{background:#101d2b;color:#cfdae4;font-size:.74rem;text-align:center;padding:.45rem .8rem;position:relative}
  .demo b{color:#fff}
  .demo button{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#8fa2b3;font-size:1rem;cursor:pointer;padding:.2rem .5rem}

  /* header */
  header.site{position:sticky;top:0;z-index:50;background:var(--ink);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.08)}
  .bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0}
  .logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:#fff;min-width:0}
  .logo img{height:34px;width:auto;display:block}
  .logo .lt{font-family:'Archivo';font-weight:900;font-size:1.25rem;letter-spacing:.02em;display:none}
  nav.desktop{display:none;align-items:center;gap:1.35rem;font-size:.92rem;font-weight:600}
  nav.desktop a{color:#dbe5ee;text-decoration:none;padding:.35rem 0}
  nav.desktop a:hover,nav.desktop a.on{color:#fff;box-shadow:0 2px 0 var(--ember)}
  .drop{position:relative}
  .drop>a::after{content:" ▾";font-size:.7em}
  .menu{position:absolute;top:100%;left:-10px;background:#fff;color:var(--ink);border-radius:10px;box-shadow:0 10px 30px rgba(16,29,43,.25);padding:.5rem;min-width:230px;display:none;z-index:60}
  .drop:hover .menu,.drop:focus-within .menu{display:block}
  .menu a{display:block;color:var(--ink)!important;padding:.5rem .7rem!important;border-radius:8px;text-decoration:none;box-shadow:none!important}
  .menu a:hover{background:var(--mist)}
  .services-menu{left:-150px;width:min(760px,calc(100vw - 32px));grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;max-height:calc(100vh - 88px);max-height:calc(100dvh - 88px);overflow-y:auto;overscroll-behavior:contain;padding:.75rem}
  .drop:hover .services-menu,.drop:focus-within .services-menu{display:grid}
  .services-menu .menu-group{min-width:0}
  .services-menu .menu-heading{display:block;padding:.2rem .7rem .3rem;color:var(--muted);font-family:'Archivo';font-size:.68rem;font-weight:800;letter-spacing:.1em;line-height:1.3;text-transform:uppercase}
  .services-menu a{font-size:.82rem;line-height:1.3}
  .services-menu .menu-status{display:block;color:var(--muted);font-size:.66rem;font-weight:600;margin-top:.1rem}
  @media(min-width:1180px){.services-menu{left:-220px;width:min(960px,calc(100vw - 32px));grid-template-columns:repeat(4,minmax(0,1fr))}}
  .areas-menu{left:50%;transform:translateX(-50%);width:min(840px,calc(100vw - 32px));grid-template-columns:repeat(3,minmax(0,1fr))}
  @media(min-width:1180px){.areas-menu{left:50%;width:min(900px,calc(100vw - 32px));grid-template-columns:repeat(3,minmax(0,1fr))}}
  .head-cta{display:none;align-items:center;gap:.7rem}
  .head-phone{color:#fff;text-decoration:none;font-family:'Archivo';font-weight:800;font-size:1.02rem;white-space:nowrap}
  .head-phone small{display:block;font-family:'Inter';font-weight:500;font-size:.66rem;color:#9fb2c2;letter-spacing:.06em;text-transform:uppercase}
  .burger{background:none;border:none;color:#fff;font-size:1.6rem;cursor:pointer;padding:.2rem .4rem;line-height:1}
  @media(min-width:960px){nav.desktop{display:flex}.head-cta{display:flex}.burger{display:none}}
  @media(min-width:420px){.logo .lt{display:block}}

  /* mobile drawer */
  .drawer{position:fixed;inset:0;z-index:80;display:none}
  .drawer.open{display:block}
  .drawer .scrim{position:absolute;inset:0;background:rgba(10,18,26,.55)}
  .drawer .panel{position:absolute;top:0;right:0;bottom:0;width:min(84vw,340px);background:#fff;padding:1.1rem 1.2rem 2rem;overflow-y:auto}
  .drawer-heading{font-family:'Archivo';font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:1.2rem 0 .3rem;font-weight:800}
  .drawer-subheading{font-family:'Archivo';font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:.95rem 0 .2rem;font-weight:800}
  .drawer a.item{display:block;padding:.55rem .2rem;color:var(--ink);text-decoration:none;font-weight:600;border-bottom:1px solid var(--mist2)}
  .drawer .item-status{display:block;color:var(--muted);font-size:.68rem;font-weight:600;margin-top:.05rem}
  .drawer .x{background:none;border:none;font-size:1.5rem;cursor:pointer;float:right;color:var(--muted)}

  /* sticky mobile action bar */
  .actionbar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:grid;grid-template-columns:1fr 1fr 1.4fr;background:var(--ink);box-shadow:0 -4px 16px rgba(16,29,43,.25)}
  .actionbar a{display:flex;align-items:center;justify-content:center;gap:.45rem;color:#fff;text-decoration:none;font-family:'Archivo';font-weight:700;font-size:.88rem;padding:.95rem .5rem}
  .actionbar a+a{border-left:1px solid rgba(255,255,255,.14)}
  .actionbar .go{background:var(--ember)}
  [data-service-actions][hidden]{display:none!important}
  @media(min-width:960px){.actionbar{display:none}body{padding-bottom:0}}

  /* hero */
  .hero{background:linear-gradient(118deg,#101d2b 0%, #16293c 55%, #17394a 100%);color:#fff;position:relative;overflow:hidden}
  .hero::before{content:"";position:absolute;right:-140px;top:-140px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(224,90,36,.28),transparent 65%)}
  .hero::after{content:"";position:absolute;left:-160px;bottom:-190px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(27,127,166,.3),transparent 65%)}
  .hero .wrap{position:relative;z-index:1;padding-top:3rem;padding-bottom:2.6rem}
  .crumb{font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#9db7c9;margin-bottom:.9rem}
  .hero h1{font-size:clamp(1.9rem,6.2vw,3.3rem);max-width:21ch;font-weight:900}
  .hero p.sub{font-size:clamp(.98rem,2.6vw,1.13rem);color:#cfdce6;max-width:56ch;margin:.9rem 0 1.4rem}
  .cta-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:1.5rem}
  .chips{display:flex;flex-wrap:wrap;gap:.45rem .5rem}
  .chip{font-size:.74rem;font-weight:600;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#e6eef4;border-radius:999px;padding:.3rem .7rem;display:inline-flex;align-items:center;gap:.35rem}
  .chip .st{color:var(--gold)}
  .hero-lite{background:linear-gradient(118deg,#101d2b, #17394a);color:#fff}
  .hero-lite .wrap{position:relative;z-index:1;padding-top:2.4rem;padding-bottom:1.9rem}
  .hero-lite h1{font-size:clamp(1.6rem,5.4vw,2.5rem);max-width:26ch}
  .hero-lite p{color:#cfdce6;max-width:62ch;margin:.6rem 0 1rem;font-size:.98rem}

  section.pad{padding:2.6rem 0}
  section.pad.alt{background:var(--mist)}
  .kick{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ember);margin:0 0 .5rem;font-family:'Archivo'}
  h2.sec{font-size:clamp(1.45rem,4.6vw,2.05rem);max-width:26ch}
  p.lead{color:var(--ink2);max-width:66ch;margin:.4rem 0 1.5rem}

  /* cards */
  .cards{display:grid;gap:1rem;margin-top:1.4rem}
  @media(min-width:760px){.cards.c3{grid-template-columns:repeat(3,1fr)}.cards.c2{grid-template-columns:repeat(2,1fr)}}
  .card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.35rem 1.3rem;box-shadow:var(--shadow);display:flex;flex-direction:column}
  .card .ico{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:.9rem}
  .ico.heat{background:var(--ember-t)} .ico.cool{background:var(--ice-t)} .ico.app{background:#f0ead8}
  .card h3{font-size:1.15rem}
  .card p{color:var(--ink2);font-size:.93rem;margin:.3rem 0 1rem}
  .card .go{margin-top:auto;font-weight:700;text-decoration:none;color:var(--ember-d);font-family:'Archivo'}
  .card .go:hover{text-decoration:underline}

  /* steps */
  .steps{counter-reset:s;display:grid;gap:.65rem;margin-top:1.2rem;padding:0;list-style:none}
  @media(min-width:760px){.steps{grid-template-columns:1fr 1fr}}
  .steps li{position:relative;background:#fff;border:1px solid var(--line);border-radius:11px;padding:.8rem 1rem .8rem 3.1rem;font-size:.92rem;color:var(--ink2)}
  .steps li::before{counter-increment:s;content:counter(s);position:absolute;left:.9rem;top:.85rem;width:1.55rem;height:1.55rem;border-radius:50%;background:var(--ink);color:#fff;font-family:'Archivo';font-weight:700;font-size:.8rem;display:flex;align-items:center;justify-content:center}

  /* plans */
  .plan{border:2px solid var(--line);border-radius:var(--radius);background:#fff;padding:1.5rem 1.4rem;position:relative}
  .plan.hot{border-color:var(--ember)}
  .plan .tag{position:absolute;top:-11px;left:1.2rem;background:var(--ember);color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-radius:6px;padding:.2rem .55rem;font-family:'Archivo'}
  .price{font-family:'Archivo';font-weight:900;font-size:2.1rem;line-height:1}
  .price small{font-size:.9rem;font-weight:600;color:var(--muted)}
  .plan ul{margin:.9rem 0 1.2rem;padding-left:0;list-style:none}
  .plan li{padding:.3rem 0 .3rem 1.6rem;position:relative;font-size:.92rem;color:var(--ink2)}
  .plan li::before{content:"✓";position:absolute;left:.2rem;color:var(--ember);font-weight:800}

  /* reviews */
  .revs{display:grid;gap:1rem}
  @media(min-width:760px){.revs{grid-template-columns:repeat(2,1fr)}}
  .rev{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.15rem 1.2rem}
  .rev .stars{color:var(--gold);letter-spacing:.12em;font-size:.86rem}
  .rev p{font-size:.92rem;color:var(--ink2);margin:.5rem 0}
  .rev .who{font-weight:700;font-size:.84rem}
  .rev .src{color:var(--muted);font-weight:500}

  /* faq */
  details.faq{background:#fff;border:1px solid var(--line);border-radius:11px;margin:.55rem 0;overflow:hidden}
  details.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1.1rem;font-weight:700;font-family:'Archivo';font-size:.98rem}
  details.faq summary::-webkit-details-marker{display:none}
  details.faq summary::after{content:"+";font-size:1.25rem;color:var(--ember);font-weight:800;flex:0 0 auto}
  details.faq[open] summary::after{content:"–"}
  details.faq .a{padding:0 1.1rem 1rem;color:var(--ink2);font-size:.93rem}

  /* area chips + grid */
  .areas{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}
  .area{background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:.5rem 1rem;font-weight:700;font-size:.88rem;text-decoration:none;color:var(--ink);font-family:'Archivo'}
  .area:hover{border-color:var(--ice);color:var(--ice-d)}
  .area.hq::after{content:"HQ";background:var(--ice-t);color:var(--ice-d);font-size:.62rem;font-weight:800;border-radius:5px;padding:.1rem .35rem;margin-left:.45rem}

  /* cta band */
  .band{background:linear-gradient(100deg,var(--ember) 0%, #e97a2b 100%);color:#fff;border-radius:var(--radius);padding:1.7rem 1.5rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}
  .band h2{font-size:clamp(1.2rem,3.6vw,1.6rem);margin:0;font-weight:900}
  .band p{margin:.2rem 0 0;font-size:.92rem;opacity:.94}
  .band .btn{background:#fff;color:var(--ember-d)}

  /* two-col */
  .split{display:grid;gap:1.6rem;align-items:start}
  @media(min-width:860px){.split{grid-template-columns:1.1fr .9fr}}
  .photo{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}
  .photo img{display:block;width:100%;height:auto}
  .community-photo{margin:0;background:#fff}
  .community-photo-frame{aspect-ratio:16/9;overflow:hidden;background:var(--mist)}
  .community-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center}
  .community-photo figcaption{padding:.75rem .9rem;color:var(--muted);font-size:.75rem;line-height:1.55}
  .community-photo figcaption span{display:block}
  .community-photo figcaption a{color:var(--ice-d)}
  .community-profile-sources{margin-top:1.25rem}

  /* team */
  .team{display:grid;gap:.8rem;grid-template-columns:repeat(2,1fr)}
  @media(min-width:760px){.team{grid-template-columns:repeat(4,1fr)}}
  .tm{background:#fff;border:1px solid var(--line);border-radius:11px;padding:1rem;text-align:center}
  .tm .av{width:52px;height:52px;border-radius:50%;margin:0 auto .55rem;background:linear-gradient(135deg,var(--ice-t),var(--ember-t));display:flex;align-items:center;justify-content:center;font-family:'Archivo';font-weight:800;color:var(--ink2)}
  .tm b{font-size:.9rem;display:block}
  .tm span{font-size:.76rem;color:var(--muted)}

  /* contact */
  .cgrid{display:grid;gap:1.4rem}
  @media(min-width:860px){.cgrid{grid-template-columns:1fr 1fr}}
  .info{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem}
  .info h4{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ember);margin:1rem 0 .2rem}
  .info h4:first-child{margin-top:0}
  .info p{margin:.15rem 0;color:var(--ink2);font-size:.95rem}
  form.demo-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem}
  form.demo-form label{display:block;font-weight:600;font-size:.85rem;margin:.8rem 0 .25rem}
  form.demo-form input,form.demo-form textarea,form.demo-form select{width:100%;border:1.5px solid var(--line);border-radius:9px;padding:.7rem .8rem;font:inherit;font-size:.95rem;background:var(--mist)}
  form.demo-form input:focus,form.demo-form textarea:focus,form.demo-form select:focus{outline:2px solid var(--ice);background:#fff}
  form.demo-form .check{display:flex;gap:.55rem;align-items:flex-start;font-weight:400}
  form.demo-form .check input{width:auto;margin-top:.2rem}
  .micro{font-size:.72rem;color:var(--muted);margin-top:.6rem}
  .ok{display:none;background:var(--ice-t);border:1px solid #bfe0ee;color:var(--ice-d);border-radius:9px;padding:.8rem 1rem;font-weight:600;margin-top:.8rem}

  /* footer */
  footer.site{background:var(--ink);color:#b9c8d4;margin-top:3rem}
  footer .cols{display:grid;gap:1.6rem;padding:2.4rem 0 1.4rem}
  @media(min-width:760px){footer .cols{grid-template-columns:1.4fr 1fr 1fr 1fr}}
  .footer-heading{color:#fff;font-family:'Archivo';font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .6rem;font-weight:800}
  footer a{color:#c8d6e0;text-decoration:none;display:block;padding:.18rem 0;font-size:.88rem}
  footer a:hover{color:#fff}
  footer .nap{font-size:.88rem;line-height:1.7}
  footer .legal{border-top:1px solid rgba(255,255,255,.12);padding:1rem 0 1.2rem;font-size:.75rem;color:#8fa2b3;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;justify-content:space-between}
  .flogo{height:30px;width:auto;margin-bottom:.7rem}

  .bcrumb{font-size:.78rem;color:#9db7c9;margin-bottom:.6rem}
  .bcrumb a{color:#cfe0eb;text-decoration:none}
  .mini-list{columns:2;gap:1.4rem;font-size:.92rem;color:var(--ink2);padding-left:1.1rem;margin:.6rem 0 0}
  .mini-list li{margin:.25rem 0;break-inside:avoid}
  .note-second{background:var(--ice-t);border-left:3px solid var(--ice);border-radius:0 9px 9px 0;padding:.75rem 1rem;font-size:.92rem;color:var(--ink2);margin:1.1rem 0}
  .contact-info-heading{font-size:1rem}
  .form-heading{font-size:1.17rem}
  .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
  .badge-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.1rem}
  .badge-row img{height:74px;width:auto}
  @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn:active{transform:none}}

/* Accessibility and static-page enhancements */
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:#fff;color:var(--ink);padding:.7rem 1rem;border-radius:8px;box-shadow:var(--shadow);font-weight:700}
.skip-link:focus{top:1rem}
:focus-visible{outline:3px solid #f4b000;outline-offset:3px}
body.menu-open{overflow:hidden}
.drawer[aria-hidden="true"]{display:none}
.drawer[aria-hidden="false"]{display:block}
.nojs-nav{background:var(--ink);border-top:1px solid rgba(255,255,255,.14)}
.nojs-nav .wrap{display:flex;flex-wrap:wrap;gap:.35rem 1rem;padding-top:.65rem;padding-bottom:.65rem}
.nojs-nav a{color:#fff;font-weight:700;text-decoration:none;padding:.25rem 0}
.demo-form .required-note{font-size:.78rem;color:var(--muted);margin:.1rem 0 .7rem}
@media print{.demo,.actionbar,.burger,.head-cta{display:none!important}header.site{position:static}}
