:root{
  --navy:#0b2239;--navy-2:#123451;--teal:#2db8c2;--teal-dark:#178b95;--orange:#d97832;
  --cream:#f7f4ef;--paper:#fff;--soft:#f3f7fa;--text:#142033;--muted:#657387;
  --line:#dbe3ea;--shadow:0 24px 70px rgba(11,34,57,.13);--radius:20px;--container:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--paper);line-height:1.6;overflow-x:hidden}
img{max-width:100%;display:block}a{color:inherit}button,input,select,textarea{font:inherit}
.container{width:min(var(--container),calc(100% - 40px));margin-inline:auto}
.skip-link{position:absolute;left:-999px;top:0;background:#fff;padding:10px;z-index:99}.skip-link:focus{left:10px;top:10px}

.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(219,227,234,.9)}
.nav-wrap{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand img{width:150px;height:68px;object-fit:contain}
.main-nav{display:flex;align-items:center;gap:28px}
.main-nav a{text-decoration:none;font-weight:700;font-size:.94rem;color:#34445a}
.nav-button{background:var(--navy);color:white!important;padding:12px 18px;border-radius:999px}
.menu-toggle{display:none;background:none;border:0;width:46px;height:46px;padding:9px;cursor:pointer}
.menu-toggle span{height:2px;background:var(--navy);display:block;margin:6px 0;border-radius:2px}

.hero{position:relative;overflow:hidden;padding:94px 0 88px;background:radial-gradient(circle at 18% 22%,rgba(45,184,194,.13),transparent 34%),linear-gradient(135deg,#f9fbfd 0%,#eef5f8 60%,#f8f3ed 100%)}
.hero-accent{position:absolute;border-radius:50%;opacity:.28}.hero-accent-one{width:420px;height:420px;background:rgba(217,120,50,.22);right:-160px;top:-180px}.hero-accent-two{width:310px;height:310px;background:rgba(45,184,194,.2);left:-160px;bottom:-190px}
.hero-grid{position:relative;display:grid;grid-template-columns:1.3fr .8fr;gap:72px;align-items:center}
.eyebrow{margin:0 0 14px;font-weight:900;font-size:.76rem;letter-spacing:.16em;color:var(--teal-dark)}
h1,h2,h3{line-height:1.12}
h1{margin:0 0 24px;font-size:clamp(3rem,7vw,5.8rem);letter-spacing:-.055em;max-width:850px}
.hero-text{max-width:720px;margin:0;color:#526275;font-size:1.18rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:34px 0 24px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border:1px solid transparent;border-radius:12px;padding:14px 20px;text-decoration:none;font-weight:800;cursor:pointer;transition:.2s ease}
.button-primary{background:var(--navy);color:white}.button-secondary{background:white;color:var(--navy);border-color:#cad5df}.button-light{background:white;color:var(--navy)}.button-full{width:100%}
.hero-points{display:flex;flex-wrap:wrap;gap:20px;color:#647184;font-size:.9rem}.hero-points span::before{content:"•";color:var(--orange);margin-right:8px}
.hero-panel{background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.9);border-radius:var(--radius);padding:34px;box-shadow:var(--shadow)}
.panel-label{display:inline-block;margin-bottom:16px;padding:7px 10px;border-radius:999px;background:#e8f7f8;color:var(--teal-dark);font-size:.77rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.hero-panel h2{font-size:2rem;margin:0 0 14px}.hero-panel p{color:var(--muted)}
.check-list{list-style:none;padding:0;margin:24px 0 28px}.check-list li{position:relative;padding:8px 0 8px 30px;font-weight:700}.check-list li::before{content:"✓";position:absolute;left:0;color:var(--teal-dark);font-weight:900}

.credibility-bar{border-block:1px solid var(--line)}.credibility-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.credibility-grid>div{padding:25px 30px;border-right:1px solid var(--line)}.credibility-grid>div:last-child{border-right:0}.credibility-grid strong{display:block}.credibility-grid span{color:var(--muted);font-size:.9rem}

.section{padding:96px 0}
.section-heading{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:60px;margin-bottom:42px}
.section-heading h2,.center-heading h2,.service-area h2,.contact-copy h2,.section-dark h2{margin:0;font-size:clamp(2.2rem,4.6vw,4rem);letter-spacing:-.04em}
.section-heading>p{color:var(--muted);margin:0 0 8px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

.service-card{display:flex;flex-direction:column;min-height:310px;padding:28px;border:1px solid var(--line);border-radius:18px;background:white;transition:.2s ease}
.service-card:hover{transform:translateY(-4px);box-shadow:0 18px 50px rgba(11,34,57,.13);background:linear-gradient(145deg,var(--navy),var(--navy-2));color:white;border-color:transparent}
.service-number{color:var(--orange);font-weight:900;font-size:.84rem;letter-spacing:.08em}
.service-card h3{font-size:1.35rem;margin:22px 0 12px}.service-card p{color:var(--muted);margin:0 0 26px;transition:color .2s ease}.service-card:hover p{color:#d6e2ea}
.service-card a{margin-top:auto;text-decoration:none;font-weight:800;color:var(--teal-dark);transition:color .2s ease}.service-card:hover a{color:#7ee6ec}
.legal-callout{margin-top:26px;padding:18px 20px;background:#f7f3ed;border-left:4px solid var(--orange);color:#5c554c;border-radius:8px;font-size:.92rem}

.section-dark{background:linear-gradient(145deg,#081d31,#123451);color:white}.eyebrow-light{color:#77dfe5}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.why-copy{color:#c8d6e2;max-width:620px;font-size:1.05rem;margin:24px 0 30px}
.benefit{display:flex;gap:22px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.13)}.benefit:last-child{border-bottom:0}.benefit>span{color:var(--orange);font-weight:900}.benefit h3{margin:0 0 4px}.benefit p{margin:0;color:#b9cad7}
.center-heading{text-align:center;max-width:720px;margin:0 auto 44px}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.process-card{text-align:center;padding:34px 28px;background:var(--soft);border-radius:18px}.process-icon{width:48px;height:48px;display:grid;place-items:center;margin:0 auto 20px;background:var(--navy);color:white;border-radius:50%;font-weight:900}.process-card p{color:var(--muted)}
.service-area{background:var(--cream)}.service-area-grid{display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:center}.service-area p{color:var(--muted)}
.area-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.area-list span{padding:16px 18px;background:white;border:1px solid #e9e0d6;border-radius:12px;font-weight:800}
.contact-section{background:radial-gradient(circle at 90% 10%,rgba(45,184,194,.12),transparent 32%),#f3f7fa}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:66px}.contact-copy>p{color:var(--muted)}.contact-details{margin:34px 0}.contact-details>div{padding:16px 0;border-bottom:1px solid var(--line)}.contact-details span{display:block;color:var(--muted);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.contact-details a{text-decoration:none}
.social-links{display:flex;gap:18px}.social-links a{font-weight:800;color:var(--teal-dark)}
.inquiry-form{padding:32px;border-radius:var(--radius);background:white;border:1px solid var(--line);box-shadow:0 18px 55px rgba(11,34,57,.08)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:block;font-weight:800;font-size:.9rem;margin-bottom:16px}
input,select,textarea{width:100%;margin-top:7px;padding:14px;border:1px solid #c9d4de;border-radius:10px;background:white;color:var(--text);font-size:16px}
.consent{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-weight:600}.consent input{width:auto;margin-top:5px}
.site-footer{background:#071827;color:white;padding-top:56px}.footer-grid{display:grid;grid-template-columns:1.5fr .6fr .6fr;gap:60px;padding-bottom:42px}.footer-brand img{width:150px;height:84px;object-fit:contain;background:white;border-radius:10px}.footer-brand p{color:#b9c7d3}.footer-links{display:flex;flex-direction:column;gap:10px}.footer-links a{text-decoration:none;color:#c7d2dc}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid rgba(255,255,255,.12);color:#9fb0be;font-size:.82rem}.footer-bottom p{margin:0}

@media (max-width:900px){
  .container{width:min(100% - 32px,var(--container))}
  .menu-toggle{display:block}
  .main-nav{display:none;position:absolute;top:88px;left:0;right:0;background:white;padding:18px 20px 24px;flex-direction:column;align-items:stretch;gap:6px;border-bottom:1px solid var(--line);box-shadow:0 16px 30px rgba(11,34,57,.1)}
  .main-nav.open{display:flex}
  .main-nav a{padding:13px 4px}
  .nav-button{text-align:center;margin-top:6px}
  .hero-grid,.section-heading,.why-grid,.service-area-grid,.contact-grid{grid-template-columns:1fr}
  .hero-grid{gap:42px}.section-heading{gap:20px}.why-grid{gap:48px}.contact-grid{gap:42px}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  
  .process-grid{grid-template-columns:1fr}
  .credibility-grid{grid-template-columns:1fr}
  .credibility-grid>div{border-right:0;border-bottom:1px solid var(--line)}
  .credibility-grid>div:last-child{border-bottom:0}
}

@media (max-width:620px){
  .container{width:min(100% - 24px,var(--container))}
  .nav-wrap{min-height:76px}
  .brand img{width:118px;height:56px}
  .main-nav{top:76px}
  .hero{padding:56px 0 52px}
  .hero-accent-one{width:260px;height:260px;right:-120px;top:-110px}
  .hero-accent-two{width:190px;height:190px;left:-90px;bottom:-100px}
  h1{font-size:clamp(2.65rem,13vw,4rem);line-height:1.03}
  .hero-text{font-size:1.03rem}
  .hero-actions{display:grid;grid-template-columns:1fr;margin-top:26px}
  .button{width:100%;min-height:52px}
  .hero-points{display:grid;gap:8px}
  .hero-panel{padding:24px;border-radius:16px}
  .hero-panel h2{font-size:1.7rem}
  .section{padding:66px 0}
  .section-heading h2,.center-heading h2,.service-area h2,.contact-copy h2,.section-dark h2{font-size:clamp(2rem,10vw,3rem)}
  .service-grid{grid-template-columns:1fr}
  .service-card{min-height:0;padding:24px}
  .service-card:hover{transform:none}
  .form-row,.area-list,.footer-grid{grid-template-columns:1fr}
  .inquiry-form{padding:22px;border-radius:16px}
  .social-links{flex-wrap:wrap}
  .footer-bottom{flex-direction:column}
  .footer-grid{gap:28px}
}

@media (max-width:380px){
  .container{width:min(100% - 20px,var(--container))}
  h1{font-size:2.5rem}
  .hero-panel,.service-card,.inquiry-form{padding:20px}
}

.maintenance-network{background:#fff}
.maintenance-network-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.maintenance-network h2{margin:0;font-size:clamp(2.2rem,4.6vw,4rem);letter-spacing:-.04em}
.network-copy{color:var(--muted);max-width:620px}
.network-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.network-list span{padding:15px 16px;background:var(--soft);border:1px solid var(--line);border-radius:12px;font-weight:800}
.turnover-callout{margin-top:42px;padding:28px 30px;background:linear-gradient(145deg,var(--navy),var(--navy-2));color:white;border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.turnover-callout h3{margin:0 0 6px;font-size:1.5rem}
.turnover-callout p{margin:0;color:#c8d6e2}
.turnover-callout .button{background:white;color:var(--navy);flex:0 0 auto}
@media (max-width:900px){.maintenance-network-grid{grid-template-columns:1fr;gap:32px}}
@media (max-width:620px){.network-list{grid-template-columns:1fr}.turnover-callout{flex-direction:column;align-items:flex-start;padding:24px}.turnover-callout .button{width:100%}}


/* Ultra-compact mobile layout — desktop remains unchanged */
.mobile-services-short{display:none}

@media (max-width:620px){
  body{padding-bottom:58px}
  .site-header{position:sticky;top:0;z-index:60}
  .nav-wrap{min-height:58px}
  .brand img{width:88px;height:42px;object-fit:contain}
  .main-nav{top:58px}

  .hero{padding:22px 0 20px}
  .hero-grid{display:block}
  .hero-panel,.hero-points{display:none!important}
  .hero .eyebrow{margin-bottom:6px}
  h1{font-size:2.08rem!important;line-height:1.02!important;margin-bottom:9px!important;max-width:12ch}
  .hero-text{font-size:.9rem!important;line-height:1.38!important;max-width:35ch}
  .hero-actions{margin:14px 0 0!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .hero-actions .button{min-height:42px!important;padding:8px!important;font-size:.8rem!important}

  /* Show a short service menu instead of full service cards */
  .full-services{display:none!important}
  .mobile-services-short{display:block;padding:26px 0 22px;background:#fff}
  .mobile-services-short .eyebrow{margin:0 0 5px}
  .mobile-services-short h2{font-size:1.55rem;line-height:1.08;margin:0 0 13px}
  .mobile-service-list{border-top:1px solid var(--line,#e5e7eb)}
  .mobile-service-list a{
    min-height:47px;display:flex;align-items:center;justify-content:space-between;
    gap:12px;border-bottom:1px solid var(--line,#e5e7eb);text-decoration:none;
    color:var(--navy,#0b2239);font-weight:800;font-size:.89rem
  }
  .mobile-service-list b{color:var(--teal,#16a6a1);font-size:1rem}

  /* Hide long marketing/support sections on phones */
  .credibility-bar,
  #why-us,
  #process,
  #service-area{display:none!important}

  .contact-section{padding:27px 0 18px!important}
  .contact-grid{display:block!important}
  .contact-copy{margin-bottom:14px!important}
  .contact-copy .eyebrow{margin-bottom:5px}
  .contact-copy h2{font-size:1.6rem!important;line-height:1.08!important;margin-bottom:7px!important}
  .contact-copy>p{font-size:.86rem!important;margin-bottom:8px!important}
  .contact-details,.social-links{display:none!important}

  .inquiry-form{padding:15px!important;border-radius:14px!important;box-shadow:none!important}
  .form-grid{gap:0!important}
  label{font-size:.76rem!important;margin-bottom:8px!important}
  input,select,textarea{padding:9px 10px!important;margin-top:4px!important;font-size:.9rem!important;border-radius:8px!important}
  textarea{min-height:68px!important}
  .consent{font-size:.68rem!important;line-height:1.25!important;margin:4px 0 10px!important}
  .inquiry-form .button{min-height:42px!important;font-size:.82rem!important}
  .form-note{font-size:.68rem!important;margin-top:7px!important}

  .site-footer{padding-top:0!important}
  .footer-grid{display:none!important}
  .footer-bottom{padding:11px 0!important;font-size:.66rem!important}
  .footer-bottom p:last-child{display:none!important}
}
