:root{--navy:#092742;--hero:#061d33;--teal:#159b9a;--teal-dark:#0d7878;--teal-light:#82d2d0;--warm:#ef7d3c;--warm-dark:#d86427;--warm-soft:#fff2e9;--ink:#243746;--muted:#5b6b78;--soft:#f3f6f8;--line:#d9e2e8;--white:#fff;--radius:6px;--shadow:0 20px 52px rgba(9,39,66,.10)}
    *{box-sizing:border-box}
    [hidden]{display:none!important}
    html{max-width:100%;overflow-x:clip;scroll-behavior:smooth}
    body{min-width:320px;max-width:100%;margin:0;overflow-x:clip;color:var(--ink);background:#fff;font-family:Inter,Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
    body.menu-open{overflow:hidden}
    img{display:block;max-width:100%}
    a{color:inherit;text-decoration:none}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    :focus-visible{outline:3px solid var(--teal-light);outline-offset:3px}
    .container{width:min(1240px,calc(100% - 64px));margin-inline:auto}
    .skip-link{position:fixed;z-index:100;left:16px;top:16px;padding:10px 16px;color:#fff;background:var(--navy);transform:translateY(-180%)}
    .skip-link:focus{transform:none}

    .site-header{position:sticky;z-index:50;top:0;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}
    .header-inner{min-height:78px;display:flex;align-items:center;gap:32px}
    .brand{display:inline-flex;flex:0 0 auto;align-items:center}
    .brand img{width:154px;height:auto}
    .site-nav{display:flex;align-items:center;gap:24px;margin-left:auto}
    .site-nav a{min-height:44px;display:inline-flex;align-items:center;color:#314856;font-size:15px;font-weight:600}
    .site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--teal-dark)}
    .site-nav a[aria-current="page"]{box-shadow:inset 0 -2px var(--teal)}
    .button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 24px;border:1px solid var(--teal);border-radius:var(--radius);color:#fff;background:var(--teal);font-weight:700;transition:background .18s,border-color .18s,color .18s,transform .18s}
    .button:hover{border-color:var(--teal-dark);background:var(--teal-dark)}
    .header-cta{margin-left:8px;border-color:var(--warm);color:var(--navy);background:var(--warm)}
    .header-cta:hover{border-color:var(--warm-dark);color:#fff;background:var(--warm-dark)}
    .menu-toggle{width:44px;height:44px;display:none;flex:0 0 44px;place-items:center;margin-left:auto;padding:0;border:0;color:var(--navy);background:transparent}
    .menu-toggle span,.menu-toggle span::before,.menu-toggle span::after{width:22px;height:2px;display:block;position:relative;background:currentColor;transition:transform .18s}
    .menu-toggle span::before,.menu-toggle span::after{position:absolute;content:""}
    .menu-toggle span::before{transform:translateY(-7px)}.menu-toggle span::after{transform:translateY(7px)}
    .menu-toggle[aria-expanded="true"] span{background:transparent}
    .menu-toggle[aria-expanded="true"] span::before{transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] span::after{transform:rotate(-45deg)}

    .contact-hero{min-height:296px;display:flex;align-items:center;position:relative;isolation:isolate;overflow:hidden;background:var(--hero)}
    .contact-hero::before{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(90deg,rgba(6,29,51,.94) 0%,rgba(6,29,51,.78) 42%,rgba(6,29,51,.24) 72%,rgba(6,29,51,.18) 100%)}
    .contact-hero-image{position:absolute;z-index:-2;right:0;top:50%;width:clamp(760px,78vw,920px);max-width:none;height:auto;transform:translateY(-50%);object-fit:contain;object-position:right center}
    .contact-hero-grid{min-height:296px;display:flex;align-items:center;padding-block:48px}
    .contact-hero-copy{width:100%;min-width:0;max-width:660px}
    .contact-hero h1{margin:0;color:#fff;font-size:clamp(48px,5vw,60px);line-height:1.08;letter-spacing:-.045em}
    .contact-hero p{max-width:610px;margin:16px 0 0;color:#e0ebf1;font-size:18px}
    .contact-hero .button{margin-top:24px}

    .contact-flow{position:relative;overflow:hidden;padding-block:88px 112px;background:var(--soft)}.contact-flow.is-form-active{padding-block:48px 64px}.contact-flow.is-form-active .contact-progress{margin-bottom:32px}
    .contact-flow-shell{min-width:0;max-width:1060px;margin-inline:auto}
    .contact-progress{display:grid;grid-template-columns:1fr 72px 1fr;align-items:center;max-width:620px;margin:0 auto 56px;padding:0;list-style:none}
    .contact-progress::before{grid-column:2;grid-row:1;width:72px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--teal),var(--warm));content:""}
    .contact-progress-step{min-width:0;display:flex;align-items:center;gap:12px;color:#74838e;font-size:14px;font-weight:700}
    .contact-progress-step:last-child{grid-column:3;justify-self:end}
    .contact-progress-step:first-child{grid-column:1;grid-row:1}
    .contact-step-number{width:36px;height:36px;display:grid;place-items:center;border:1px solid #b9c9d3;border-radius:50%;background:#fff;color:#657986}
    .contact-progress-step.is-active{color:var(--navy)}
    .contact-progress-step.is-active .contact-step-number{border-color:var(--teal);color:#fff;background:var(--teal)}
    .contact-screen-header{text-align:center}
    .contact-screen-header h2{max-width:720px;margin:0 auto;color:var(--navy);font-size:clamp(40px,4vw,48px);line-height:1.15;letter-spacing:-.035em}.contact-screen-header h2::after{width:48px;height:4px;display:block;margin:16px auto 0;border-radius:2px;background:var(--warm);content:""}
    .contact-screen-header p{max-width:650px;margin:16px auto 0;color:var(--muted);font-size:18px}

    .contact-routing-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}
    .contact-route-card{--route-accent:var(--teal);--route-tint:#e9f6f5;--route-ink:var(--teal-dark);min-height:168px;display:grid;grid-template-columns:56px 1fr 28px;gap:20px;align-items:center;width:100%;padding:28px;border:1px solid var(--line);border-top:4px solid var(--route-accent);border-radius:var(--radius);color:var(--ink);background:#fff;text-align:left;box-shadow:0 8px 28px rgba(9,39,66,.045);transition:border-color .18s,box-shadow .18s,transform .18s}.contact-route-card:nth-child(2){--route-accent:var(--navy);--route-tint:#e8eef3;--route-ink:var(--navy)}.contact-route-card:nth-child(3){--route-accent:var(--warm);--route-tint:var(--warm-soft);--route-ink:var(--warm-dark)}.contact-route-card:nth-child(4){--route-accent:var(--teal-light);--route-tint:#edf8f7;--route-ink:var(--teal-dark)}
    .contact-route-card:hover{border-color:var(--route-accent);box-shadow:var(--shadow);transform:translateY(-2px)}
    .contact-route-card:focus-visible{border-color:var(--route-accent)}
    .contact-route-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:var(--radius);color:var(--route-ink);background:var(--route-tint);font-size:21px;font-weight:800;letter-spacing:-.03em}
    .contact-route-copy{min-width:0}.contact-route-copy strong{display:block;color:var(--navy);font-size:22px;line-height:1.3}
    .contact-route-copy span{display:block;margin-top:8px;overflow-wrap:anywhere;color:var(--muted);font-size:15px;line-height:1.55}
    .contact-route-arrow{color:var(--route-ink);font-size:28px;line-height:1;transition:transform .18s}
    .contact-route-card:hover .contact-route-arrow{transform:translateX(4px)}

    .contact-form-screen{max-width:1060px;margin-inline:auto}
    .contact-form-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
    .contact-back-button{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0;border:0;color:var(--teal-dark);background:transparent;font-weight:700}
    .contact-back-button:hover{text-decoration:underline;text-underline-offset:4px}
    .contact-selection-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius);color:var(--navy);background:#e2f2f1;font-size:14px;font-weight:700}
    .contact-selection-chip::before{width:8px;height:8px;border-radius:50%;background:var(--teal);content:""}
    .contact-form-panel{padding:32px 40px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}
    .contact-form-panel h2{margin:0;color:var(--navy);font-size:34px;line-height:1.16;letter-spacing:-.035em}
    .contact-form-panel>p{margin:12px 0 24px;color:var(--muted);font-size:16px}
    .contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}
    .contact-form label{color:var(--navy);font-size:14px;font-weight:700}
    .contact-required{color:var(--warm-dark)}
    .contact-form small{color:var(--muted);font-size:13px;font-weight:400}
    .contact-form input,.contact-form select,.contact-form textarea{width:100%;min-height:48px;display:block;margin-top:6px;padding:11px 14px;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#fff;font-size:16px;outline:0;transition:border-color .18s,box-shadow .18s}
    .contact-form input:hover,.contact-form select:hover,.contact-form textarea:hover{border-color:#aebfc9}
    .contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(21,155,154,.15)}
    .contact-form textarea{min-height:104px;resize:vertical}
    .contact-field-full{grid-column:1/-1}
    .contact-consent{min-height:44px;display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start;color:var(--muted)!important;font-weight:400!important;line-height:1.55}
    .contact-consent input{width:18px;min-height:18px;margin:4px 0 0;accent-color:var(--teal)}
    .contact-consent a{color:var(--teal-dark);text-decoration:underline;text-underline-offset:3px}
    .contact-submit-row{display:flex;align-items:center;gap:20px}
    .contact-submit-row .button{min-width:154px}
    .form-status{margin:0;color:var(--teal-dark);font-size:14px}.form-status:empty{display:none}

    .contact-direct{padding:32px 0 40px;background:#fff}
    .contact-direct-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
    .contact-direct-item{min-width:0;min-height:56px;display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:center;padding:0;border:0;color:var(--ink);background:transparent;text-align:left}
    .contact-direct-icon{width:44px;height:44px;display:grid;place-items:center;border:2px solid var(--teal);border-radius:50%;color:var(--teal-dark)}
    .contact-direct-icon svg{width:20px;height:20px}
    .contact-direct-item strong{display:block;margin-bottom:3px;color:var(--navy);font-size:13px;line-height:1.4}
    .contact-direct-value{display:block;color:var(--ink);font-size:14px;line-height:1.5}
    a.contact-direct-item:hover .contact-direct-value,button.contact-direct-item:hover .contact-direct-value{color:var(--teal-dark)}

    .contact-quote{padding-block:56px;background:var(--warm-soft)}
    .contact-quote-inner{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center}
    .contact-quote h2{margin:0;color:var(--navy);font-size:36px;line-height:1.18;letter-spacing:-.03em}
    .contact-quote p{max-width:760px;margin:10px 0 0;color:var(--muted);font-size:17px}
    .contact-quote .button{border-color:var(--warm);color:var(--navy);background:var(--warm)}
    .contact-quote .button:hover{border-color:var(--warm-dark);color:#fff;background:var(--warm-dark)}

    .footer{padding-top:64px;background:var(--soft)}
    .footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:48px;padding-bottom:48px}
    .footer .brand{margin-bottom:20px}.footer .brand img{width:172px}
    .footer-company{color:var(--navy)!important;font-weight:700}
    .footer p{max-width:320px;margin:0 0 12px;color:var(--muted);font-size:14px}
    .footer h3{margin:4px 0 20px;color:var(--navy);font-size:16px}
    .footer nav a,.footer-address a{min-height:36px;display:flex;align-items:center;color:var(--muted);font-size:14px}
    .footer nav a:hover,.footer-address a:hover{color:var(--teal-dark)}
    .footer-address{color:var(--muted);font-size:14px;font-style:normal}
    .legal{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);color:#6b7b87;font-size:13px}
    .legal-links{display:flex;gap:24px}

    @media(max-width:1040px){
      .site-nav{gap:14px}.site-nav a{font-size:14px}.header-cta{padding-inline:16px}
      .contact-direct-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px}.footer-grid{gap:32px}
    }
    @media(max-width:820px){
      .container{width:min(100% - 40px,1240px)}
      .site-header{position:relative}.header-inner{min-height:68px}.brand img{width:136px}.menu-toggle{display:grid;position:absolute;right:18px;top:12px}
      .menu-toggle::before{content:"☰";font-size:24px;line-height:1}.menu-toggle span{display:none}.site-nav{position:absolute;left:0;top:68px;width:100%;display:none;align-items:stretch;gap:0;padding:12px 20px 24px;border-bottom:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
      .site-nav.is-open{display:grid}.site-nav a{min-height:48px;padding-inline:0;box-shadow:none!important;font-size:16px}.header-cta{display:none}
      .contact-hero,.contact-hero-grid{min-height:296px}.contact-hero h1{font-size:clamp(42px,10vw,52px)}.contact-hero p{font-size:17px}
      .contact-flow{padding-block:64px}.contact-routing-grid{grid-template-columns:1fr}.contact-route-card{min-height:144px}
      .contact-direct-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px}
      .contact-quote-inner{grid-template-columns:1fr;gap:24px}.contact-quote .button{justify-self:start}
      .footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}
    }
    @media(max-width:560px){
      .container{width:calc(100% - 36px)}
      .contact-hero,.contact-hero-grid{min-height:280px}.contact-hero::before{background:linear-gradient(90deg,rgba(6,29,51,.96),rgba(6,29,51,.68))}.contact-hero-grid{padding-block:44px}.contact-hero h1{font-size:42px}.contact-hero p{max-width:30ch}
      .contact-flow{padding-block:56px}.contact-progress{width:100%;grid-template-columns:1fr 36px 1fr;margin-bottom:40px}.contact-progress::before{width:36px}.contact-progress-step{gap:8px;font-size:12px}.contact-step-number{width:32px;height:32px}
      .contact-screen-header h2{font-size:32px}.contact-screen-header p{font-size:16px}
      .contact-routing-grid{margin-top:32px}.contact-route-card{min-width:0;min-height:0;grid-template-columns:48px minmax(0,1fr) 20px;gap:16px;padding:22px 18px}.contact-route-icon{width:48px;height:48px;font-size:18px}.contact-route-copy strong{font-size:19px}.contact-route-copy span{font-size:14px}
      .contact-form-toolbar{align-items:flex-start;flex-direction:column-reverse;gap:12px}.contact-form-panel{padding:32px 20px}.contact-form-panel h2{font-size:31px}
      .contact-form{grid-template-columns:1fr;gap:20px}.contact-field-full{grid-column:auto}.contact-submit-row{align-items:stretch;flex-direction:column}.contact-submit-row .button{width:100%}
      .contact-direct{padding-block:32px 40px}.contact-direct-list{grid-template-columns:1fr;gap:20px}.contact-direct-item{min-height:56px}
      .contact-quote{padding-block:48px}.contact-quote h2{font-size:31px}.contact-quote .button{width:100%}
      .footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}
      .legal{align-items:flex-start;flex-direction:column;padding-block:20px}.legal-links{flex-wrap:wrap;gap:12px 20px}
    }
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important}}
.contact-form input[type="hidden"]{display:none}
.contact-alert{margin:0 0 20px;padding:13px 15px;font-size:14px}
.contact-alert.is-success{border-left:3px solid var(--teal);background:#eff9f7}
.contact-alert.is-error{border-left:3px solid #b64545;background:#fff2f2}
.contact-submit-row p{margin:0;color:var(--muted);font-size:14px}
.header .nav a[aria-current="page"]{color:var(--teal-dark);box-shadow:inset 0 -2px var(--teal)}
/* Prevent intrinsic grid content from widening the mobile contact flow. */
.contact-page,.contact-flow-shell,.contact-route-screen,.contact-routing-grid,.contact-route-card,.contact-route-copy{min-width:0;max-width:100%}
@media(max-width:560px){
  .contact-progress{grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr)}
  .contact-routing-grid{grid-template-columns:minmax(0,1fr)}
  .contact-route-copy strong,.contact-route-copy span{overflow-wrap:anywhere}
}
