:root{color-scheme:light;--ink:#172b34;--muted:#607177;--paper:#f5f6f2;--white:#fff;--navy:#123742;--teal:#23646a;--mint:#d9ebe4;--orange:#e78352;--line:#dce3df;--shadow:0 24px 70px rgba(18,55,66,.13);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--paper)}a{color:inherit}button,input,textarea,select{font:inherit}.skip{position:absolute;top:-60px;left:1rem;z-index:40;padding:.8rem;background:#fff}.skip:focus{top:1rem}.demo-ribbon{padding:.58rem 1rem;text-align:center;background:#112f37;color:#f5fbf7;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.demo-ribbon strong{color:#f1b38b}.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(23,43,52,.09);backdrop-filter:blur(12px)}.nav-wrap{max-width:1160px;margin:auto;padding:0 1.3rem;min-height:78px;display:flex;align-items:center;gap:2rem}.brand{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;min-width:240px}.brand-mark{width:43px;height:43px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--teal);font-family:Georgia,serif;font-size:1rem;font-weight:800}.brand-name{font-size:.9rem;line-height:1.1;font-weight:800;letter-spacing:.01em}.brand-name small{display:block;margin-top:.32rem;color:var(--muted);font-size:.62rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase}.nav{margin-left:auto;display:flex;align-items:center;gap:1.2rem}.nav a,.nav-actions a{font-size:.82rem;font-weight:700;text-decoration:none;color:#38515a}.nav a:hover,.nav a[aria-current=page]{color:#b65b2b}.nav-actions{display:flex;align-items:center;gap:.6rem}.phone-link{white-space:nowrap}.menu-toggle{display:none;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:.62rem .75rem}.container{width:min(1120px,calc(100% - 2.5rem));margin-inline:auto}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;color:var(--teal);font-size:.72rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.eyebrow:before{content:"";width:22px;height:2px;background:var(--orange)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:0;border-radius:7px;padding:.88rem 1.1rem;font-size:.88rem;font-weight:800;line-height:1.1;text-decoration:none;cursor:pointer;transition:transform .15s,background .15s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--navy);color:#fff}.button-primary:hover{background:#1d515c}.button-outline{border:1px solid rgba(18,55,66,.23);color:var(--ink);background:transparent}.button-light{color:var(--navy);background:#e8f1ec}.hero{position:relative;overflow:hidden;padding:4.2rem 0;background:linear-gradient(115deg,#e6eee9 0%,#f5f6f2 56%,#e8efeb 100%)}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:3rem}.hero h1,.page-hero h1{max-width:680px;margin:.8rem 0 1rem;font-size:clamp(2.5rem,5vw,4.45rem);line-height:1.02;letter-spacing:-.055em;color:var(--navy)}.hero-copy>p,.page-hero p{max-width:600px;color:#52676d;font-size:1.08rem;line-height:1.75}.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.6rem 0 1.1rem}.hero-proof{display:flex;flex-wrap:wrap;gap:.6rem 1rem;color:#466069;font-size:.8rem;font-weight:700}.hero-proof span:before{content:"✓";margin-right:.4rem;color:#32776b}.hero-photo{position:relative;margin:0;padding:12px;border-radius:20px;background:#fff;box-shadow:var(--shadow);transform:rotate(1deg)}.hero-photo img{display:block;width:100%;height:370px;object-fit:cover;border-radius:13px}.photo-credit{display:block;padding:.55rem .2rem .05rem;color:#637278;font-size:.66rem;line-height:1.45}.photo-credit a{color:inherit}.section{padding:4.2rem 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.8rem}.section-head h2,.split h2,.cta-box h2{max-width:640px;margin:.55rem 0 .5rem;color:var(--navy);font-size:clamp(1.9rem,3.2vw,3rem);line-height:1.08;letter-spacing:-.04em}.section-head>p{max-width:460px;margin:0;color:var(--muted);line-height:1.7}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.service-card{display:flex;min-height:310px;flex-direction:column;padding:1rem;border:1px solid var(--line);border-radius:13px;background:#fff;text-decoration:none;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.service-card img{width:100%;height:145px;object-fit:cover;border-radius:8px}.service-card h3{margin:1rem 0 .4rem;color:var(--navy);font-size:1.12rem}.service-card p{margin:0 0 1rem;color:var(--muted);font-size:.88rem;line-height:1.6}.service-card .card-arrow{margin-top:auto;color:var(--teal);font-weight:800;font-size:.84rem}.section-tint{background:#e9f0ec}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3rem}.split p,.body-copy p{color:#586b70;line-height:1.75}.fact-panel{padding:1.5rem 1.7rem;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 14px 35px rgba(18,55,66,.06)}.fact-panel h3{margin:.1rem 0 1rem;color:var(--navy)}.fact-list{display:grid;gap:.9rem;margin:0;padding:0;list-style:none}.fact-list li{display:flex;gap:.65rem;color:#425a61;font-size:.9rem;line-height:1.5}.fact-list i{color:#398070;font-style:normal;font-weight:900}.callout{padding:1.6rem;border-left:3px solid var(--orange);background:#fff;color:#53686e;line-height:1.65}.cta-band{padding:1.5rem 0 4.4rem}.cta-box{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2.2rem 2.4rem;border-radius:16px;background:var(--navy);color:#fff}.cta-box .eyebrow{color:#c5ddd5}.cta-box .eyebrow:before{background:var(--orange)}.cta-box h2{margin:.5rem 0;color:#fff}.cta-box p{max-width:650px;color:#d4e1dd;line-height:1.6}.cta-box .button{flex-shrink:0}.page-hero{padding:3.8rem 0 3rem;background:linear-gradient(115deg,#e6eee9,#f5f6f2)}.page-hero h1{font-size:clamp(2.4rem,4vw,3.75rem)}.breadcrumbs{margin-bottom:.9rem;color:#648078;font-size:.78rem}.breadcrumbs a{text-decoration:none}.content-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:3rem;align-items:start}.body-copy h2{margin:2rem 0 .6rem;color:var(--navy);font-size:1.55rem}.body-copy h2:first-child{margin-top:0}.aside-card{position:sticky;top:105px;padding:1.4rem;border:1px solid var(--line);border-radius:13px;background:#fff}.aside-card h3{margin:.1rem 0 .7rem;color:var(--navy)}.aside-card p{color:var(--muted);font-size:.9rem;line-height:1.6}.aside-card .button{width:100%;margin-top:.4rem}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:2rem;align-items:start}.contact-cards{display:grid;gap:.85rem}.contact-detail{padding:1.1rem 1.2rem;border:1px solid var(--line);border-radius:10px;background:#fff}.contact-detail b{display:block;margin-bottom:.3rem;color:var(--navy)}.contact-detail a{color:var(--teal);font-weight:750;text-decoration:none}.form-panel{padding:1.5rem;border:1px solid var(--line);border-radius:13px;background:#fff}.form-panel h2{margin:.1rem 0 .6rem;color:var(--navy)}.demo-note{padding:.8rem 1rem;border-radius:8px;background:#fff4e9;color:#754a32;font-size:.82rem;line-height:1.5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.field{display:grid;gap:.35rem}.field.full{grid-column:1/-1}.field label{color:#435b62;font-size:.8rem;font-weight:750}.field input,.field textarea{width:100%;padding:.75rem .8rem;border:1px solid #ccd8d3;border-radius:7px;background:#fbfcfa}.field textarea{min-height:120px;resize:vertical}.faq{display:grid;gap:.7rem}.faq details{padding:1rem 1.1rem;border:1px solid var(--line);border-radius:9px;background:#fff}.faq summary{cursor:pointer;color:var(--navy);font-weight:800}.faq p{margin:.75rem 0 .2rem;color:var(--muted);line-height:1.65}.footer{padding:2.5rem 0;background:#102f37;color:#edf5f1}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem}.footer h3{margin:.1rem 0 .75rem;color:#fff;font-size:.95rem}.footer p,.footer a{color:#c4d5d1;font-size:.82rem;line-height:1.7}.footer a{text-decoration:none}.footer-links{display:grid;gap:.28rem}.footer-meta{margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.15);color:#b8cbc6;font-size:.72rem}.stock-note{color:#6b7c80;font-size:.68rem;line-height:1.5}
@media(max-width:980px){.nav-wrap{gap:1rem}.brand{min-width:auto}.nav{gap:.8rem}.nav a{font-size:.76rem}.service-grid{grid-template-columns:repeat(2,1fr)}.hero-grid{gap:2rem}.hero-photo img{height:330px}}
@media(max-width:760px){.nav-wrap{min-height:70px;justify-content:space-between}.brand{margin-right:auto}.menu-toggle{display:inline-flex}.nav{display:none;position:absolute;top:69px;left:0;right:0;padding:1rem 1.25rem 1.3rem;align-items:stretch;flex-direction:column;gap:.15rem;border-bottom:1px solid var(--line);background:#fff;box-shadow:0 20px 30px rgba(18,55,66,.1)}.nav[data-open=true]{display:flex}.nav a{padding:.75rem .2rem;font-size:.9rem}.nav-actions{display:none}.hero{padding:3rem 0}.hero-grid,.split,.content-grid,.contact-grid{grid-template-columns:1fr}.hero-grid{gap:1.6rem}.hero h1{font-size:clamp(2.45rem,11vw,3.7rem)}.hero-photo img{height:275px}.section{padding:3.1rem 0}.section-head{display:block}.section-head>p{margin-top:.8rem}.cta-box{align-items:flex-start;flex-direction:column;padding:1.6rem}.aside-card{position:static}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:480px){.container{width:min(100% - 1.5rem,1120px)}.demo-ribbon{font-size:.61rem}.brand-mark{width:38px;height:38px}.brand-name{font-size:.78rem}.brand-name small{font-size:.56rem}.hero-proof{display:grid}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}.service-card img{height:190px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Professional visual refinement */
:root {
  --ink: #152b34;
  --muted: #53666d;
  --paper: #f5f7f5;
  --white: #fff;
  --navy: #103847;
  --teal: #1c7078;
  --mint: #e6f0eb;
  --orange: #c56b43;
  --line: #d9e2de;
  --shadow: 0 22px 52px rgba(16, 56, 71, .12);
  font-family: Inter, "Aptos", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  color: var(--ink);
  background: var(--paper);
  scroll-padding-top: 6rem;
}

body { background: var(--paper); color: var(--ink); line-height: 1.6; }
::selection { color: #fff; background: var(--teal); }
a { text-underline-offset: .18em; }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }

.demo-ribbon {
  padding: .72rem 1rem;
  color: #eaf2ef;
  background: #0d2e39;
  font-size: .68rem;
  letter-spacing: .105em;
}
.demo-ribbon strong { color: #f1b38b; }
.header {
  background: rgba(255, 255, 255, .96);
  border-bottom-color: rgba(16, 56, 71, .1);
  box-shadow: 0 5px 22px rgba(16, 56, 71, .045);
}
.nav-wrap { min-height: 82px; }
.brand-mark {
  width: 44px;
  height: 44px;
  border-radius: 13px;
  background: linear-gradient(145deg, #227982, #14515c);
  box-shadow: 0 5px 12px rgba(20, 81, 92, .18);
}
.brand-name { font-size: .94rem; letter-spacing: -.01em; }
.nav { gap: .35rem; }
.nav a {
  padding: .6rem .65rem;
  border-radius: 8px;
  color: #42565d;
  transition: color .18s ease, background .18s ease;
}
.nav a:hover, .nav a[aria-current=page] {
  color: #145a63;
  background: #edf4f0;
}
.nav-actions { gap: .9rem; }
.nav-actions .button { padding: .82rem 1rem; }
.menu-toggle { min-height: 44px; border-radius: 9px; }

.hero {
  padding: clamp(3.7rem, 7vw, 6.1rem) 0;
  background:
    radial-gradient(ellipse at 90% 8%, rgba(28, 112, 120, .11), transparent 32%),
    linear-gradient(118deg, #e7f0eb 0%, #f7f8f5 58%, #edf3ef 100%);
  border-bottom: 1px solid rgba(16, 56, 71, .06);
}
.hero-grid { gap: clamp(2rem, 5vw, 4.3rem); }
.hero h1, .page-hero h1 {
  color: #103847;
  letter-spacing: -.052em;
}
.hero h1 { max-width: 630px; font-size: clamp(2.75rem, 5vw, 4.5rem); line-height: 1.015; }
.hero-copy > p, .page-hero p { color: #52666d; line-height: 1.72; }
.hero-actions { gap: .85rem; margin-top: 1.75rem; }
.button {
  min-height: 46px;
  padding: .9rem 1.2rem;
  border-radius: 9px;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.button-primary {
  background: #103f4d;
  box-shadow: 0 7px 17px rgba(16, 63, 77, .15);
}
.button-primary:hover {
  background: #155865;
  box-shadow: 0 10px 21px rgba(16, 63, 77, .21);
}
.button-outline { border-color: #bacbc5; background: rgba(255, 255, 255, .62); }
.hero-proof { gap: .55rem; }
.hero-proof span {
  padding: .43rem .68rem;
  border: 1px solid rgba(35, 90, 93, .12);
  border-radius: 999px;
  background: rgba(255, 255, 255, .56);
  font-size: .76rem;
}
.hero-photo {
  padding: 10px;
  border: 1px solid rgba(16, 56, 71, .08);
  border-radius: 20px;
  transform: none;
  box-shadow: 0 24px 58px rgba(16, 56, 71, .16);
}
.hero-photo img { height: clamp(320px, 34vw, 440px); border-radius: 13px; }
.photo-credit { padding: .7rem .35rem .1rem; font-size: .68rem; }

.section { padding: clamp(3.8rem, 6vw, 5.2rem) 0; }
.section-head { margin-bottom: 2rem; }
.section-head h2, .split h2, .cta-box h2 { letter-spacing: -.045em; }
.section-head > p, .split p, .body-copy p { color: #586a70; }
.service-grid { gap: 1.1rem; }
.service-card {
  min-height: 350px;
  padding: .8rem .8rem 1.05rem;
  border-color: #dce5e1;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(16, 56, 71, .045);
}
.service-card img { height: 165px; border-radius: 11px; }
.service-card h3 { margin: 1.05rem .2rem .35rem; font-size: 1.15rem; letter-spacing: -.015em; }
.service-card p { margin: 0 .2rem 1rem; line-height: 1.65; }
.service-card .card-arrow { margin-inline: .2rem; }
.service-card:hover { border-color: #bfd4cc; box-shadow: 0 18px 38px rgba(16, 56, 71, .11); }
.section-tint { background: #edf3f0; border-block: 1px solid rgba(16, 56, 71, .04); }
.split { gap: clamp(2rem, 5vw, 4rem); }
.fact-panel, .aside-card, .form-panel {
  border-color: #dbe5e1;
  border-radius: 16px;
  box-shadow: 0 12px 30px rgba(16, 56, 71, .055);
}
.fact-panel { padding: clamp(1.4rem, 3vw, 2rem); }
.fact-list { gap: 1rem; }
.fact-list li { color: #425960; }
.fact-list i { flex: 0 0 auto; }
.callout { border-radius: 0 12px 12px 0; background: #f0f5f2; }

.cta-band { padding: 1rem 0 5rem; }
.cta-box {
  position: relative;
  overflow: hidden;
  padding: clamp(1.6rem, 4vw, 2.6rem);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  background: linear-gradient(118deg, #103847, #185762);
  box-shadow: 0 22px 45px rgba(16, 56, 71, .18);
}
.cta-box:after {
  position: absolute;
  top: -110px;
  right: 8%;
  width: 280px;
  height: 280px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}
.cta-box > * { position: relative; z-index: 1; }
.cta-box .button-light { background: #f2f6f3; }

.page-hero {
  padding: clamp(3rem, 6vw, 4.7rem) 0 3.2rem;
  border-bottom: 1px solid rgba(16, 56, 71, .06);
  background:
    radial-gradient(ellipse at 95% 0%, rgba(28, 112, 120, .1), transparent 30%),
    linear-gradient(118deg, #e7f0eb, #f7f8f5 65%);
}
.page-hero h1 { max-width: 800px; }
.breadcrumbs { color: #617780; letter-spacing: .01em; }
.content-grid { gap: clamp(2rem, 5vw, 4rem); }
.body-copy h2 { letter-spacing: -.025em; }
.aside-card { padding: 1.5rem; }
.contact-detail { border-radius: 12px; box-shadow: 0 4px 14px rgba(16, 56, 71, .035); }
.form-panel { padding: clamp(1.25rem, 3vw, 1.8rem); }
.demo-note { border: 1px solid #f1d9c5; border-radius: 10px; }
.field input, .field textarea {
  min-height: 46px;
  border-color: #c8d6d1;
  border-radius: 9px;
  background: #fcfdfc;
}
.field input:focus, .field textarea:focus { border-color: var(--teal); outline: 3px solid rgba(28, 112, 120, .14); }
.faq { gap: .85rem; }
.faq details { padding: 1.15rem 1.25rem; border-radius: 12px; }
.faq details[open] { border-color: #bfd4cc; box-shadow: 0 8px 20px rgba(16, 56, 71, .05); }
.footer { background: #0d2e39; }
.footer-grid { gap: 2.4rem; }
.footer-meta { line-height: 1.6; }
.stock-note { font-size: .72rem; }

@media (max-width: 980px) {
  .nav-wrap { gap: .7rem; }
  .nav { gap: .15rem; }
  .nav a { padding-inline: .45rem; font-size: .74rem; }
  .nav-actions { gap: .55rem; }
  .nav-actions .button { padding-inline: .8rem; }
  .hero-grid { gap: 2rem; }
}
@media (max-width: 760px) {
  .nav-wrap { min-height: 72px; }
  .nav { top: 71px; padding: .85rem 1.25rem 1rem; }
  .nav a { padding: .8rem .55rem; font-size: .92rem; }
  .hero { padding: 3.4rem 0; }
  .hero-grid { gap: 1.8rem; }
  .hero-photo img { height: 300px; }
  .section { padding: 3.4rem 0; }
  .cta-box { border-radius: 16px; }
  .cta-box:after { right: -9rem; }
}
@media (max-width: 480px) {
  .container { width: calc(100% - 1.5rem); }
  .demo-ribbon { padding: .66rem .65rem; font-size: .58rem; letter-spacing: .07em; }
  .brand-mark { width: 39px; height: 39px; border-radius: 11px; }
  .brand-name { font-size: .8rem; }
  .hero { padding: 2.8rem 0 3rem; }
  .hero h1 { font-size: clamp(2.45rem, 11vw, 3.35rem); }
  .hero-actions .button { flex: 1 1 auto; }
  .hero-photo img { height: 245px; }
  .service-grid { gap: .85rem; }
  .service-card { min-height: 0; }
  .service-card img { height: auto; aspect-ratio: 16 / 10; }
  .cta-box { padding: 1.45rem; }
  .cta-box .button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
.hero-grid > div > p { max-width: 600px; color: #52666d; font-size: 1.08rem; line-height: 1.72; }
.mobile-nav-actions { display: none; }
@media (max-width: 760px) {
  .mobile-nav-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .65rem;
    margin-top: .7rem;
    padding-top: 1rem;
    border-top: 1px solid var(--line);
  }
  .mobile-nav-actions .button { width: 100%; padding-inline: .6rem; font-size: .8rem; }
}

/* Final header contrast and desktop navigation polish */
.nav-wrap { gap: 1rem; }
.brand { min-width: 220px; }
.nav { gap: .1rem; }
.nav a { padding-inline: .48rem; white-space: nowrap; }
.nav-actions { gap: .55rem; }
.nav-actions .phone-link { font-size: .78rem; }
.nav .button-primary, .nav-actions .button-primary { color: #fff; }
.nav .button-outline, .nav-actions .button-outline { color: var(--ink); }
