
:root{--navy:#132f3c;--ink:#203442;--muted:#6c7b80;--teal:#2c6b80;--blue:#82adc0;--cream:#f5f3ee;--line:#e2e6e4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 'DM Sans',sans-serif;background:#fff}button,input,textarea,select{font:inherit}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 52px));margin:auto}.topline{height:5px;background:linear-gradient(90deg,#143947 40%,#78aebf 40%,#78aebf 55%,#d0dfdf 55%)}header{position:sticky;top:0;background:rgba(255,255,255,.97);z-index:20;border-bottom:1px solid #edf0ef;backdrop-filter:blur(14px)}.head{display:flex;align-items:center;justify-content:space-between;height:88px;gap:18px}.brand{display:flex;align-items:center;gap:13px}.brand img.logo{display:block;height:34px;width:auto;max-width:620px;object-fit:contain}.brandtext{line-height:1.12;font:800 15px/1.12 'Manrope',sans-serif;letter-spacing:.045em;color:#163946}.brandtext small{display:block;font:600 10px/1.3 'DM Sans';letter-spacing:.22em;color:#5e8999;margin-top:4px}nav{display:flex;align-items:center;gap:35px}nav a{font-size:13px;font-weight:700;letter-spacing:.07em;cursor:pointer;color:#4d606b}nav a.active,nav a:hover{color:#13627e}.btn{background:var(--navy);color:white;border:1px solid var(--navy);padding:15px 23px;display:inline-flex;gap:13px;align-items:center;justify-content:center;font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:.2s}.btn:hover{background:#205b70;transform:translateY(-1px)}.btn.light{background:white;color:var(--navy);border-color:white}.btn.outline{background:transparent;color:var(--navy)}.head .btn{padding:13px 20px}.mobilemenu{display:none}.page{display:none}.page.active{display:block}.eyebrow{color:var(--teal);letter-spacing:.22em;text-transform:uppercase;font:800 11px 'Manrope';margin:0 0 15px}.eyebrow.white{color:#b9d6dc}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.15;letter-spacing:-.038em}h1{font-size:clamp(45px,5.3vw,82px);font-weight:700;margin:0 0 23px}h2{font-size:clamp(32px,4.1vw,53px);margin:0 0 20px}h3{font-size:21px;margin:15px 0 12px}.lede{font-size:18px;max-width:555px;color:#dce9e9;line-height:1.75}.hero{min-height:690px;display:flex;align-items:center;position:relative;overflow:hidden;background:#213b40}.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,35,46,.96) 0%,rgba(9,35,46,.88) 26%,rgba(9,35,46,.48) 42%,rgba(255,255,255,.24) 56%,rgba(255,255,255,.56) 72%,rgba(255,255,255,.76) 100%),url('images/photo-1.webp') center/cover}.hero .container{position:relative;z-index:2;padding:86px 0;display:flex;align-items:center;justify-content:space-between;gap:40px}.hero h1{color:white;max-width:760px}.hero h1 em{font-style:normal;color:#b5d5df}.hero .actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:37px}.stamp{display:flex;align-items:center;gap:14px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-top:70px}.stamp .bar{height:1px;width:42px;background:#7faebd}.hero-copy{max-width:760px}.hero-panel{display:flex;justify-content:center;align-items:center;min-width:380px;max-width:470px;flex:0 0 40%}.hero-panel .logo-scrim{background:transparent;backdrop-filter:none;padding:0;border:0;box-shadow:none;width:100%;display:flex;justify-content:center}.hero-panel img{display:block;width:100%;height:auto;max-width:430px;filter:drop-shadow(0 10px 18px rgba(255,255,255,.18)) drop-shadow(0 12px 28px rgba(0,0,0,.18))}..section{padding:115px 0}.section.soft{background:var(--cream)}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:44px}.sectionhead h2{margin:0;max-width:570px}.sectionhead p{max-width:340px;color:var(--muted)}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service{background:#fff;overflow:hidden;border:1px solid #e9e7e2}.service img{display:block;width:100%;height:265px;object-fit:cover}.service .content{padding:28px 30px 34px}.service p{color:var(--muted);font-size:14px}.service .num{font-size:11px;letter-spacing:.18em;font-weight:800;color:var(--teal)}.link{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-top:10px;color:var(--teal);cursor:pointer}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.splitimg{position:relative}.splitimg img{width:100%;height:565px;object-fit:cover;display:block}.splitimg::after{content:'';width:125px;height:125px;position:absolute;right:-15px;bottom:-15px;border:11px solid #7faabb;z-index:-1}.copy p{color:var(--muted)}.features{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:35px}.feature{border-top:1px solid #d7dfdf;padding-top:17px}.feature b{display:block;color:#193845;font-size:15px}.feature p{font-size:13px;margin:8px 0}.banner{background:var(--navy);color:white;padding:75px 0}.banner .inside{display:flex;justify-content:space-between;align-items:center;gap:35px}.banner h2{max-width:660px;margin:0;color:white}.banner p{color:#c5d6dd}.pagehero{background:#edf1ef;padding:95px 0 90px;position:relative;overflow:hidden}.pagehero::after{content:'';position:absolute;right:-100px;top:-120px;width:540px;height:540px;border:90px solid #e3ecea;border-radius:50%;opacity:.55}.pagehero .container{position:relative;z-index:1}.pagehero h1{font-size:clamp(42px,5vw,68px);max-width:780px}.pagehero p{max-width:630px;color:#5e7178;font-size:18px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px}.gallery img{width:100%;height:400px;object-fit:cover}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:45px}.step{border-top:2px solid #39778a;padding:25px 0}.step span{font:800 13px Manrope;color:#407c8e}.step p{color:var(--muted);font-size:14px}.contactlayout{display:grid;grid-template-columns:.88fr 1.12fr;gap:80px}.contactitems{margin:36px 0}.contactitem{border-top:1px solid #dce3e3;padding:22px 0}.contactitem small{display:block;color:#6d828c;text-transform:uppercase;letter-spacing:.15em;font-weight:800;font-size:10px;margin-bottom:5px}.contactitem a{font-size:22px;font-weight:700;color:#153f50;overflow-wrap:anywhere}.formbox{padding:42px;background:var(--cream);border:1px solid #e8e8e2}.formbox h3{margin:0 0 25px;font-size:26px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.formbox label{display:block;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#50656d;margin-bottom:8px}.formbox input,.formbox select,.formbox textarea{border:1px solid #d4dddc;background:white;width:100%;padding:15px;outline:none;color:var(--ink);border-radius:0}.formbox textarea{resize:vertical;min-height:135px}.formbox .field{margin-bottom:19px}.foot{background:#0e2833;color:#c2d0d3;padding:65px 0 26px}.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.foot p{color:#aabfc7;font-size:14px;max-width:390px}.foot h4{color:white;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.foot a{display:block;font-size:14px;margin:10px 0}.copyright{border-top:1px solid #34505a;padding-top:23px;margin-top:48px;color:#92acb5;font-size:12px}.notice{background:#eaf2f4;color:#2d5c6e;padding:10px 26px;font-size:12px;text-align:center;font-weight:700}.hide{display:none!important}@media(max-width:850px){.head{height:78px}.mobilemenu{display:block;border:0;background:transparent;font-size:24px}.head nav{display:none;position:absolute;left:0;right:0;top:78px;background:#fff;padding:20px 28px;box-shadow:0 16px 24px #0002;flex-direction:column;align-items:start}.head nav.open{display:flex}.head>.btn{display:none}.brand img.logo{height:28px;max-width:420px}.hero .container{display:block}.hero-panel{margin-top:34px;max-width:430px;min-width:0}.hero{min-height:620px}.hero::before{background:linear-gradient(90deg,rgba(9,35,46,.94) 0%,rgba(9,35,46,.80) 28%,rgba(9,35,46,.40) 44%,rgba(255,255,255,.28) 60%,rgba(255,255,255,.58) 78%,rgba(255,255,255,.72) 100%),url('images/photo-1.webp') center/cover}.section{padding:75px 0}.grid3,.process{grid-template-columns:1fr 1fr}.split,.contactlayout{grid-template-columns:1fr;gap:38px}.splitimg img{height:400px}.sectionhead{display:block}.banner .inside{display:block}.footgrid{grid-template-columns:1fr 1fr}.footgrid>div:first-child{grid-column:1/-1}}@media(max-width:550px){.container{width:min(100% - 34px,1180px)}.brandtext{font-size:12px}.brand img.logo{height:22px;max-width:300px}.hero{min-height:605px}.hero .container{padding:70px 0}.hero-panel{max-width:320px}.hero-panel .logo-scrim{padding:0}.hero h1{font-size:43px}.lede{font-size:16px}.stamp{margin-top:45px}.grid3,.process,.features,.fields,.gallery{grid-template-columns:1fr}.section{padding:62px 0}.service img{height:220px}.formbox{padding:25px}.contactitem a{font-size:19px}.pagehero{padding:65px 0}.footgrid{grid-template-columns:1fr}.footgrid>div:first-child{grid-column:auto}}

/* MOBILE HERO POLISH — desktop styling intentionally unchanged */
@media(max-width:850px){
  .hero{min-height:0;overflow:hidden}
  .hero::before{
    background:
      linear-gradient(180deg,
        rgba(9,35,46,.96) 0%,
        rgba(9,35,46,.91) 30%,
        rgba(9,35,46,.87) 52%,
        rgba(9,35,46,.55) 66%,
        rgba(255,255,255,.62) 82%,
        rgba(255,255,255,.84) 100%),
      url('images/photo-1.webp') center center/cover;
  }
  .hero .container{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-top:62px;padding-bottom:46px}
  .hero-copy{max-width:none;width:100%}
  .hero h1{max-width:100%;font-size:clamp(39px,6.5vw,56px)}
  .hero .lede{max-width:100%;color:#f2f6f7;line-height:1.68}
  .hero .actions{margin-top:27px}
  .hero .stamp{margin-top:35px}
  .hero-panel{width:min(78%,360px);max-width:360px;min-width:0;flex:none;margin:68px auto 0}
  .hero-panel .logo-scrim{padding:0}
  .hero-panel img{max-width:100%;filter:drop-shadow(0 2px 8px rgba(255,255,255,.35))}
  .brand img.logo{height:auto;width:min(370px,55vw);max-width:100%}
}
@media(max-width:550px){
  .head{gap:10px}
  .brand{min-width:0;max-width:calc(100% - 62px)}
  .brand img.logo{height:auto;width:min(300px,66vw);max-width:100%}
  .hero .container{padding-top:46px;padding-bottom:38px}
  .hero h1{font-size:clamp(37px,9vw,43px);line-height:1.12;margin-bottom:20px}
  .hero .lede{font-size:16px}
  .hero-panel{width:min(83%,320px);max-width:320px;margin-top:64px}
  .hero .stamp{margin-top:34px}
  .hero .actions{display:flex;align-items:flex-start;gap:10px}
  .hero .btn{padding:14px 17px}
}
