/*
Theme Name: Secure Transport Group — Editable
Theme URI: https://securetransportgroup.com/
Author: Secure Transport Group
Description: Lightweight, mobile-first one-page WordPress theme for Secure Transport Group, an Oahu wheelchair and non-emergency medical transportation company.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: secure-transport-group
*/

:root{
  --navy:#16478f;
  --navy-dark:#0b2d5e;
  --gray:#6f727a;
  --ink:#192233;
  --ocean:#0d6f8f;
  --mist:#f5f7fa;
  --white:#fff;
  --border:#dbe2ea;
  --gold:#c99a3d;
  --success:#1e7a46;
  --shadow:0 14px 40px rgba(11,39,72,.10);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.6;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.container{width:min(1180px,calc(100% - 32px));margin:0 auto}
.section{padding:72px 0}
.section-sm{padding:48px 0}
.bg-mist{background:var(--mist)}
.bg-navy{background:var(--navy-dark);color:#fff}
.eyebrow{font-size:.82rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:var(--ocean);margin:0 0 10px}
.bg-navy .eyebrow{color:#a9e9f2}
h1,h2,h3{line-height:1.12;color:var(--navy-dark);margin-top:0}
.bg-navy h2,.bg-navy h3{color:#fff}
h1{font-size:clamp(2.35rem,5vw,3.75rem);letter-spacing:-.035em;margin-bottom:22px}
h2{font-size:clamp(1.9rem,4vw,3rem);letter-spacing:-.025em;margin-bottom:18px}
h3{font-size:1.25rem;margin-bottom:12px}
p{margin-top:0}
.lead{font-size:clamp(1.08rem,2vw,1.28rem);color:#4d5968;line-height:1.65}
.bg-navy .lead{color:#dce7f2}
.btn{
  min-height:54px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:13px;padding:13px 22px;font-weight:800;text-decoration:none;border:2px solid transparent;
  transition:background .15s ease,border-color .15s ease,color .15s ease
}
.btn-primary{background:var(--navy-dark);color:#fff}
.btn-primary:hover{background:#123e78}
.btn-secondary{background:#fff;color:var(--navy-dark);border-color:var(--navy-dark)}
.btn-secondary:hover{background:#f8fafc}
.btn-ocean{background:var(--ocean);color:#fff}
.btn-full{width:100%}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:26px;box-shadow:0 5px 18px rgba(11,39,72,.04)}
.card-soft{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:26px}
.grid-2,.grid-3,.grid-4{display:grid;gap:20px}
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.97);border-bottom:1px solid var(--border);backdrop-filter:blur(10px)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:76px}
.site-branding{display:flex;align-items:center;text-decoration:none;min-width:0}
.site-logo{width:min(300px,48vw);max-height:64px;object-fit:contain;object-position:left center}
.primary-nav{display:none;align-items:center;gap:18px}
.primary-nav a{text-decoration:none;font-weight:700;color:#4d5968;font-size:1rem;white-space:nowrap}
.primary-nav a:hover{color:var(--navy-dark)}
.header-call{display:none}
.hero{background:var(--mist);overflow:hidden}
.hero-grid{display:grid;gap:42px;align-items:center;padding:56px 0 68px}
.pill{display:inline-flex;background:#fff;border:1px solid var(--border);border-radius:999px;padding:8px 13px;font-size:.9rem;font-weight:800;color:var(--navy-dark);margin-bottom:18px}
.hero-media{border-radius:28px;overflow:hidden;background:#dbe4ed;box-shadow:var(--shadow);aspect-ratio:4/3;position:relative}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-placeholder{
  width:100%;height:100%;display:grid;place-items:center;text-align:center;
  padding:40px;background:linear-gradient(135deg,var(--navy-dark),var(--ocean));color:#fff
}
.hero-placeholder strong{font-size:1.35rem;display:block;margin-bottom:8px}
.hero-note{background:#fff;border-radius:18px;padding:20px;margin:-25px 18px 0;position:relative;box-shadow:var(--shadow)}
.hero-note strong{display:block;color:var(--ocean);text-transform:uppercase;font-size:.8rem;letter-spacing:.08em;margin-bottom:6px}
.trust-strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.trust-grid{display:grid;gap:12px;text-align:center;padding:22px 0}
.trust-grid strong{font-size:1.35rem;color:var(--navy-dark);display:block}
.trust-grid span{font-size:.9rem;color:#667281;font-weight:700}
.steps .card{background:var(--mist)}
.step-num{color:var(--ocean);font-weight:900;font-size:.84rem;margin-bottom:8px}
.area-grid{display:grid;gap:20px}
.form-wrap{display:grid;gap:34px}
form.stg-form{background:#fff;border:1px solid var(--border);border-radius:28px;padding:24px;box-shadow:var(--shadow)}
.form-grid{display:grid;gap:18px}
label{display:block;font-weight:800;color:var(--navy-dark);margin-bottom:7px}
input,select,textarea{
  width:100%;min-height:52px;border:1px solid #cbd4df;border-radius:12px;background:#fff;padding:12px 14px;color:var(--ink)
}
input:focus,select:focus,textarea:focus{border-color:var(--navy)}
.form-note{font-size:.86rem;color:#637082;line-height:1.55}
.form-success,.form-error{
  border-radius:12px;padding:14px 16px;margin-bottom:18px;font-weight:700
}
.form-success{background:#e8f6ee;color:#175c36;border:1px solid #bde2cb}
.form-error{background:#fff0f0;color:#8a2020;border:1px solid #efcaca}
.faq-item{background:#fff;border:1px solid var(--border);border-radius:17px;margin-bottom:12px;overflow:hidden}
.faq-question{width:100%;min-height:58px;text-align:left;border:0;background:#fff;color:var(--navy-dark);font-weight:800;padding:18px 20px;display:flex;justify-content:space-between;gap:16px;cursor:pointer}
.faq-answer{padding:0 20px 20px;color:#4d5968}
.faq-answer[hidden]{display:none}
.footer{background:var(--navy-dark);color:#d8e0e9;padding:44px 0 110px}
.footer h3{color:#fff}
.footer-grid{display:grid;gap:26px}
.footer a{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:20px;font-size:.85rem;color:#aeb9c6}
.mobile-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff;border-top:1px solid var(--border);
  padding:8px;box-shadow:0 -8px 30px rgba(15,23,42,.12);display:grid;grid-template-columns:1fr 1fr;gap:8px
}
.mobile-bar .btn{min-height:58px;padding:8px 10px;font-size:.98rem;text-align:center;line-height:1.15}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:14px;top:14px;z-index:999;background:#fff;padding:12px 16px;border-radius:10px;box-shadow:var(--shadow)}
.small{font-size:.86rem}
.muted{color:#667281}
.notice{background:#fff8e8;border:1px solid #efd7a2;border-radius:14px;padding:16px;color:#6a5120}
@media (min-width:700px){
  .grid-2,.form-grid{grid-template-columns:repeat(2,1fr)}
  .trust-grid{grid-template-columns:repeat(3,1fr)}
  .grid-3{grid-template-columns:repeat(3,1fr)}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .form-grid .span-2{grid-column:span 2}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr}
}
@media (min-width:1100px){
  .primary-nav{display:flex}
  .header-call{display:inline-flex}
  .hero-grid{grid-template-columns:1.04fr .96fr;padding:78px 0 88px}
  .grid-4{grid-template-columns:repeat(4,1fr)}
  .area-grid{grid-template-columns:1.3fr .7fr}
  .form-wrap{grid-template-columns:.85fr 1.15fr}
  .mobile-bar{display:none}
  .footer{padding-bottom:44px}
}
@media (max-width:699px){
  .section{padding:58px 0}
  .actions{flex-direction:column}
  .actions .btn{width:100%}
  .site-logo{max-height:48px}
  .hero-grid{padding-top:40px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}

.primary-nav a.btn-primary{color:#fff}.primary-nav a.btn-primary:hover{color:#fff}.header-call{white-space:nowrap}
@media (min-width:720px) and (max-width:1099px){.header-call{display:inline-flex}}
@media (max-width:699px){.trust-grid{grid-template-columns:1fr}}

/* v2 editable block helpers */
.stg-section{padding:72px 0}
.stg-section-sm{padding:48px 0}
.stg-container{width:min(1180px,calc(100% - 32px));margin:0 auto}
.stg-hero{background:var(--mist);padding:72px 0}
.stg-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center}
.stg-hero-grid .wp-block-heading{margin-top:24px}
.stg-hero-image img{border-radius:28px;width:100%;height:auto}
.stg-placeholder{min-height:360px;border-radius:28px;background:linear-gradient(135deg,var(--navy-dark),var(--ocean));display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:40px}
.stg-placeholder strong{font-size:1.45rem;display:block;margin-bottom:8px}
.stg-trust{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:26px 0;background:#fff}
.stg-trust .wp-block-columns{margin-bottom:0}
.stg-card{border:1px solid var(--border);border-radius:22px;padding:28px;background:#fff;box-shadow:0 12px 30px rgba(11,45,94,.04);height:100%}
.stg-card-soft{border:1px solid rgba(255,255,255,.15);border-radius:22px;padding:28px;background:rgba(255,255,255,.09);height:100%}
.stg-navy{background:var(--navy-dark);color:#fff}
.stg-navy h2,.stg-navy h3,.stg-navy p{color:#fff}
.stg-mist{background:var(--mist)}
.stg-eyebrow{font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--ocean);font-size:.9rem}
.stg-lead{font-size:1.2rem;line-height:1.7;color:#4d5a6a}
.stg-navy .stg-lead{color:#fff}
.stg-center{text-align:center}
.stg-form-block{max-width:100%}
.stg-faq details{border:1px solid var(--border);border-radius:18px;background:#fff;padding:0 22px;margin:14px 0}
.stg-faq summary{font-weight:800;color:var(--navy-dark);padding:22px 0;cursor:pointer}
.stg-faq details p{padding:0 0 22px;margin:0}
@media(max-width:900px){.stg-hero-grid{grid-template-columns:1fr;gap:30px}.stg-section,.stg-hero{padding:52px 0}}
/* Hide automatic WordPress homepage title */
.home .entry-title,
.home .page-title {
    display: none;
}
/* =========================================================
   SECURE TRANSPORT GROUP
   EDITABLE HOMEPAGE — CONSOLIDATED DESIGN
   ========================================================= */

:root{
  --stg-navy:#0d3368;
  --stg-navy-dark:#082653;
  --stg-blue:#174b8f;
  --stg-teal:#08738c;
  --stg-text:#465364;
  --stg-light:#f4f7fa;
  --stg-light-2:#eef3f7;
  --stg-border:#d7e0e8;
  --stg-white:#ffffff;
  --stg-max:1220px;
  --stg-radius:18px;
  --stg-shadow:0 10px 30px rgba(9,42,82,.08);
}

/* ---------------------------------------------------------
   BASE
   --------------------------------------------------------- */

body{
  font-family:Arial,Helvetica,sans-serif;
  color:#1e2937;
  line-height:1.65;
}

.home main{
  width:100%;
  max-width:none;
  overflow:hidden;
}

.home main h1,
.home main h2,
.home main h3,
.home main h4{
  color:var(--stg-navy);
  line-height:1.12;
  letter-spacing:-.025em;
}

.home main h2{
  font-size:clamp(2rem,3.2vw,2.85rem);
}

.home main h3{
  font-size:clamp(1.25rem,1.8vw,1.55rem);
}

.home main p{
  color:var(--stg-text);
  font-size:1.05rem;
}

.home .wp-block-columns{
  gap:24px;
  align-items:stretch;
}

.home .wp-block-column{
  min-width:0;
}

.home .wp-block-image img{
  display:block;
  width:100%;
  height:auto;
}


/* ---------------------------------------------------------
   SHARED SECTION GRID
   --------------------------------------------------------- */

.home .stg-hero,
.home .stg-trust,
.home .stg-services,
.home .stg-why,
.home .stg-about,
.home .stg-process,
.home .stg-service-area,
.home .stg-faq,
.home .stg-request{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box;
  padding:72px 32px;
}

/* Immediate content inside every major section shares
   exactly the same desktop grid. */

.home .stg-hero > *,
.home .stg-trust > *,
.home .stg-services > *,
.home .stg-why > *,
.home .stg-about > *,
.home .stg-process > *,
.home .stg-service-area > *,
.home .stg-faq > *,
.home .stg-request > *{
  width:100%;
  max-width:var(--stg-max);
  margin-left:auto;
  margin-right:auto;
}


/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */

.home .stg-hero{
  background:var(--stg-light);
  padding-top:68px;
  padding-bottom:76px;
}

.home .stg-hero > .wp-block-columns{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:38px;
  align-items:center;
}

.home .stg-hero .wp-block-column:first-child{
  padding-right:6px;
}

/* Local Oahu eyebrow */
.home .stg-hero .wp-block-column:first-child > p:first-child{
  display:inline-block;
  width:auto;
  margin:0 0 18px;
  padding:8px 14px;
  border:1px solid var(--stg-border);
  border-radius:999px;
  background:#fff;
  color:var(--stg-navy);
  font-size:.95rem;
  font-weight:700;
}

/* Empty accidental paragraph */
.home .stg-hero p:empty{
  display:none;
}

.home .stg-hero h2{
  max-width:610px;
  margin:0 0 24px;
  font-size:clamp(2.7rem,3.7vw,3.8rem);
  line-height:1.06;
}

.home .stg-hero .wp-block-column:first-child > p:not(:first-child){
  max-width:610px;
  margin-bottom:18px;
}

.home .stg-hero .wp-block-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
  margin-bottom:12px;
}

.home .stg-hero .wp-block-column:last-child{
  display:flex;
  align-items:center;
}

.home .stg-hero .wp-block-image{
  width:100%;
  max-width:600px;
  margin-left:auto;
}

.home .stg-hero .wp-block-image img{
  border-radius:22px;
  box-shadow:var(--stg-shadow);
}


/* ---------------------------------------------------------
   BUTTONS
   --------------------------------------------------------- */

.home .wp-block-button__link{
  min-height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  padding:13px 24px;
  border:2px solid var(--stg-navy);
  border-radius:12px;
  background:var(--stg-navy);
  color:#fff;
  font-size:1rem;
  font-weight:800;
  text-decoration:none;
}

.home .wp-block-button:nth-child(even) .wp-block-button__link{
  background:#fff;
  color:var(--stg-navy);
}

.home .wp-block-button__link:hover{
  transform:translateY(-1px);
}


/* ---------------------------------------------------------
   TRUST TRANSITION
   --------------------------------------------------------- */

.home .stg-trust{
  padding-top:42px;
  padding-bottom:42px;
  background:#fff;
  text-align:center;
}

.home .stg-trust h2{
  margin:0;
}


/* ---------------------------------------------------------
   SERVICES
   --------------------------------------------------------- */

.home .stg-services{
  background:var(--stg-light);
}

.home .stg-services > h2{
  margin-top:0;
  margin-bottom:14px;
}

.home .stg-services > p{
  max-width:800px;
  margin-left:auto;
  margin-right:auto;
  margin-bottom:34px;
  text-align:center;
}

.home .stg-services > h2{
  text-align:center;
}

.home .stg-services > .wp-block-columns{
  margin-top:22px;
}

.home .stg-services .wp-block-column{
  padding:26px;
  border:1px solid var(--stg-border);
  border-radius:var(--stg-radius);
  background:#fff;
  box-shadow:0 5px 18px rgba(9,42,82,.045);
}

.home .stg-services .wp-block-column h2,
.home .stg-services .wp-block-column h3{
  margin-top:0;
  margin-bottom:12px;
  font-size:clamp(1.35rem,1.7vw,1.6rem) !important;
  line-height:1.14;
  overflow-wrap:normal;
  word-break:normal;
}


/* ---------------------------------------------------------
   WHY STG
   --------------------------------------------------------- */

.home .stg-why{
  background:#fff;
}

.home .stg-why > h2,
.home .stg-why > p{
  text-align:center;
}

.home .stg-why > p{
  max-width:820px;
  margin-bottom:36px;
}

.home .stg-why .wp-block-column{
  padding:26px;
  border-radius:var(--stg-radius);
  background:var(--stg-light);
  border:1px solid var(--stg-border);
}


/* ---------------------------------------------------------
   ABOUT / PURPOSE
   --------------------------------------------------------- */

.home .stg-about{
  background:var(--stg-navy);
}

.home .stg-about h2,
.home .stg-about h3{
  color:#fff;
}

.home .stg-about p{
  color:#e7edf5;
}

.home .stg-about > p{
  max-width:900px;
}


/* ---------------------------------------------------------
   HOW IT WORKS
   --------------------------------------------------------- */

.home .stg-process{
  background:var(--stg-light);
}

.home .stg-process > h2,
.home .stg-process > p{
  text-align:center;
}

.home .stg-process > p{
  max-width:800px;
  margin-bottom:34px;
}

.home .stg-process .wp-block-column{
  padding:28px;
  border-radius:var(--stg-radius);
  background:#fff;
  border:1px solid var(--stg-border);
}


/* ---------------------------------------------------------
   SERVICE AREA
   --------------------------------------------------------- */

.home .stg-service-area{
  background:#fff;
}

.home .stg-service-area > h2,
.home .stg-service-area > p{
  text-align:center;
}

.home .stg-service-area > p{
  max-width:850px;
}

.home .stg-service-area .wp-block-column{
  padding:24px;
  background:var(--stg-light);
  border:1px solid var(--stg-border);
  border-radius:var(--stg-radius);
}


/* ---------------------------------------------------------
   FAQ
   --------------------------------------------------------- */

.home .stg-faq{
  background:var(--stg-light);
}

.home .stg-faq > h2:first-child{
  text-align:center;
}

.home .stg-faq > p{
  max-width:850px;
}

.home .stg-faq h2:not(:first-child){
  margin-top:34px;
  margin-bottom:8px;
  font-size:1.45rem;
}

.home .stg-faq h2 + p{
  max-width:900px;
  margin-top:0;
  padding-bottom:20px;
  border-bottom:1px solid var(--stg-border);
}


/* ---------------------------------------------------------
   REQUEST / CONTACT
   --------------------------------------------------------- */

.home .stg-request{
  background:#fff;
}

.home .stg-request > h2:first-child{
  font-size:clamp(2rem,3vw,2.7rem);
}

.home .stg-request p{
  max-width:820px;
}


/* ---------------------------------------------------------
   HEADER
   --------------------------------------------------------- */

.site-header{
  box-shadow:0 1px 0 var(--stg-border);
}

.site-logo{
  width:min(260px,44vw);
  max-height:62px;
  object-fit:contain;
  object-position:left center;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width:1000px){

  .home .stg-hero > .wp-block-columns{
    gap:28px;
  }

  .home .stg-hero h2{
    font-size:clamp(2.45rem,5vw,3.25rem);
  }

}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width:780px){

  .home .stg-hero,
  .home .stg-trust,
  .home .stg-services,
  .home .stg-why,
  .home .stg-about,
  .home .stg-process,
  .home .stg-service-area,
  .home .stg-faq,
  .home .stg-request{
    padding:52px 18px;
  }

  .home .stg-hero > .wp-block-columns{
    display:block !important;
  }

  .home .stg-hero h2{
    font-size:clamp(2.3rem,10vw,3rem);
  }

  .home .stg-hero .wp-block-column:last-child{
    margin-top:30px;
  }

  .home .stg-hero .wp-block-image{
    max-width:none;
  }

  .home .wp-block-columns{
    display:block;
  }

  .home .wp-block-column{
    margin-bottom:18px;
  }

  .home .wp-block-buttons{
    flex-direction:column;
  }

  .home .wp-block-button,
  .home .wp-block-button__link{
    width:100%;
  }

  body{
    padding-bottom:84px;
  }
}
/* =========================================================
   WHY STG — FINAL CARD LAYOUT
   ========================================================= */

.home .stg-why{
  background:#fff;
}

.home .stg-why > h2{
  text-align:center;
  margin-top:0;
  margin-bottom:18px;
}

.home .stg-why > p{
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
  margin-bottom:36px;
  text-align:center;
}

.home .stg-why > .wp-block-columns{
  gap:24px;
  margin-top:24px;
}

.home .stg-why .wp-block-column{
  padding:26px;
  border:1px solid var(--stg-border);
  border-radius:var(--stg-radius);
  background:var(--stg-light);
  box-shadow:0 5px 18px rgba(9,42,82,.04);
}

.home .stg-why .wp-block-column h2,
.home .stg-why .wp-block-column h3{
  margin-top:0;
  margin-bottom:12px;
  font-size:clamp(1.35rem,1.7vw,1.6rem) !important;
  line-height:1.15 !important;
}

.home .stg-why .wp-block-column p{
  margin-bottom:0;
}
/* HOW IT WORKS — heading refinements */

.home .stg-process .stg-eyebrow{
  margin:0 0 10px;
  font-size:.9rem;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--stg-navy);
}

.home .stg-process .wp-block-column h2,
.home .stg-process .wp-block-column h3{
  font-size:clamp(1.45rem, 1.8vw, 1.75rem) !important;
  line-height:1.12 !important;
  margin-top:0;
  margin-bottom:16px;
}
