@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600&family=Source+Sans+3:wght@400;600&display=swap');
:root{
  --navy:#0D314F;--navy-deep:#08243B;--river:#2E6F95;--river-light:#A9C6D5;
  --cream:#D6D2CB;--hairline:#E7E4DF;--ochre:#C49A5A;--clay:#B55658;--taupe:#AFAAA0;
  --paper:#FBFCFC;--ink:#28323C;--muted:#5C6B75;--line:#D6DEE2;
  --shadow:0 28px 70px rgba(8,36,59,.12);--header:96px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 28px)}
body{margin:0;padding-top:var(--header);font-family:"Source Sans 3",Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.58}
body.menu-open{overflow:hidden}
a{color:inherit}.container{width:min(1260px,calc(100% - 48px));margin-inline:auto}
.anchor-section{scroll-margin-top:calc(var(--header) + 28px)}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:#fff;padding:12px}.skip-link:focus{left:12px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hidden{display:none!important}

.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(252,251,248,.985);border-bottom:1px solid rgba(13,49,79,.10);box-shadow:0 10px 36px rgba(8,36,59,.055)}
.header-inner{height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:40px}
.brand-lockup{display:flex;align-items:center;gap:17px;text-decoration:none;color:var(--navy);flex:0 0 auto}

.site-nav{display:flex;align-items:center;gap:29px}.site-nav a{text-decoration:none;text-transform:uppercase;font-size:11.5px;font-weight:700;letter-spacing:.06em;padding:13px 0;border-bottom:1px solid transparent;transition:.2s}
.site-nav a:hover{color:var(--river);border-color:var(--river)}.site-nav .nav-cta{padding:13px 19px;border:1px solid var(--navy);background:var(--navy);color:#fff}.site-nav .nav-cta:hover{background:var(--river);border-color:var(--river);color:#fff}
.menu-toggle{display:none;background:transparent;border:0;padding:8px;z-index:53}.menu-toggle span:not(.sr-only){display:block;width:27px;height:2px;background:var(--navy);margin:5px;transition:transform .25s,opacity .2s}
.menu-backdrop{display:none;position:fixed;inset:var(--header) 0 0;z-index:48;border:0;background:rgba(5,19,29,.68);opacity:0;pointer-events:none;transition:opacity .3s}

.hero{position:relative;min-height:clamp(620px,78vh,800px);overflow:hidden;display:flex;align-items:center;color:#fff;background:var(--navy-deep)}
.hero-image{position:absolute;inset:0;background:url("australian-river-hero.jpg") center/cover no-repeat;transform:scale(1.015);animation:hero-drift 18s ease-in-out infinite alternate}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,24,37,.91) 0%,rgba(5,24,37,.76) 36%,rgba(5,24,37,.26) 67%,rgba(5,24,37,.05) 100%),linear-gradient(0deg,rgba(5,24,37,.22),transparent 35%)}
.hero-contours{position:absolute;left:-100px;top:-80px;width:850px;height:650px;background:url("contours-dark.svg") center/cover no-repeat;opacity:.9}
.hero-inner{position:relative;min-height:inherit;display:flex;align-items:center}
.hero-copy{max-width:740px;padding:82px 0 92px}.hero-kicker,.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;color:var(--river)}.hero-kicker{color:#c9d9df;margin:0 0 22px}
.hero h1{font-family:"Montserrat",Arial,sans-serif;font-weight:600;font-size:clamp(48px,5.5vw,78px);line-height:1.13;letter-spacing:-.018em;margin:0 0 29px}.hero h1 em{font-style:normal;font-weight:600;color:#A9C6D5}
.hero-intro{max-width:620px;font-size:19px;color:rgba(255,255,255,.84);margin:0}.hero-actions{display:flex;gap:17px;margin-top:36px}
.button{display:inline-flex;min-height:53px;align-items:center;justify-content:center;padding:0 27px;border:1px solid transparent;text-decoration:none;text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:700;cursor:pointer;transition:transform .2s,background .2s,border .2s}.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--river);color:#fff;border-color:var(--river)}.button-primary:hover{background:#2e7397;border-color:#2e7397}.button-ghost{color:#fff;border-color:rgba(255,255,255,.7);background:rgba(7,29,43,.2)}.button-ghost:hover{background:rgba(7,29,43,.65);border-color:#fff}
.scroll-cue{position:absolute;right:0;bottom:36px;display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.66);text-transform:uppercase;font-size:9px;letter-spacing:.16em;text-decoration:none}.scroll-cue span{display:block;width:38px;height:1px;background:rgba(255,255,255,.55)}

.positioning-section{background:#f1f6f7;border-bottom:1px solid #dde7ea}.positioning-grid{display:grid;grid-template-columns:98px 1fr;gap:35px;align-items:center;padding:43px 0}
.positioning-mark{position:relative;width:78px;height:78px;border:1.5px solid var(--navy);border-radius:50%}.drop{position:absolute;left:31px;top:15px;width:15px;height:21px;border:2px solid var(--river);border-radius:50% 50% 55% 55%;transform:rotate(45deg)}.wave{position:absolute;left:20px;width:38px;height:10px;border-bottom:2px solid var(--navy);border-radius:50%}.w1{top:43px}.w2{top:52px}
.positioning-grid p{font-size:18px;line-height:1.62;margin:0;border-left:1px solid #9fb4c0;padding-left:34px}.positioning-grid strong{color:#17597e}

.section{padding:118px 0}.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:90px;align-items:end;margin-bottom:58px}.section-heading h2,.about-copy h2,.contact-copy h2{font-family:"Montserrat",Arial,sans-serif;font-weight:600;font-size:clamp(38px,4.4vw,59px);line-height:1.22;letter-spacing:-.012em;color:var(--navy);margin:13px 0 0}.section-heading>p{font-size:17px;color:var(--muted);margin:0 0 7px}
.expertise-section{position:relative;background:var(--paper)}.expertise-section:before{content:"";position:absolute;inset:0;background:url("contours.svg") 112% 10%/760px auto no-repeat;pointer-events:none}
.expertise-grid{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.expertise-card{position:relative;min-height:345px;padding:39px 39px 34px;background:rgba(255,255,255,.92);border:1px solid rgba(16,53,83,.12);box-shadow:0 12px 38px rgba(15,48,70,.045);overflow:hidden;transition:transform .28s,box-shadow .28s,border .28s}.expertise-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:transparent}.expertise-card:after{content:"";position:absolute;right:-80px;bottom:-100px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(61,134,170,.11),transparent 68%)}
.card-top{display:flex;align-items:flex-start;justify-content:space-between}.card-number{font-size:11px;color:#83959f;letter-spacing:.15em}.card-top svg{width:57px;height:57px;fill:none;stroke:var(--river);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.expertise-card h3{font-family:"Montserrat",Arial,sans-serif;font-weight:600;font-size:28px;line-height:1.25;color:var(--navy);margin:38px 0 16px}.expertise-card p{max-width:520px;color:var(--muted);font-size:16px}.card-line{position:absolute;left:39px;bottom:31px;width:42px;height:2px;background:var(--river);transition:width .28s}.expertise-card:hover .card-line{width:92px}

.approach-section{position:relative;background:var(--navy-deep);color:#fff;overflow:hidden}.approach-contours{position:absolute;inset:0;background:url("contours-dark.svg") center/cover repeat;opacity:.8}.approach-section:after{content:"";position:absolute;right:-180px;top:-180px;width:540px;height:540px;border:1px solid rgba(255,255,255,.08);border-radius:50%}
.approach-layout{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:105px;align-items:start}.eyebrow.light{color:#93bed0}.approach-statement h2{font-family:"Montserrat",Arial,sans-serif;font-weight:600;font-size:clamp(42px,5vw,69px);line-height:1.25;letter-spacing:-.014em;margin:16px 0 0}.approach-copy{border-left:1px solid rgba(255,255,255,.24);padding-left:53px}.approach-copy p{color:rgba(255,255,255,.72);font-size:17px;margin:0 0 20px}.approach-copy .lead{color:#fff;font-size:21px;line-height:1.5}.process-chain{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:40px}.process-chain span{text-transform:uppercase;font-size:10px;letter-spacing:.1em;color:#d6e6ea}.process-chain i{width:22px;height:1px;background:var(--river)}

.about-section{background:var(--hairline)}.about-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:100px;align-items:center}.about-copy .lead{font-size:20px;color:var(--ink)}.about-copy>p:not(.eyebrow){max-width:670px;color:var(--muted);font-size:17px}.about-panel{position:relative;padding:60px 55px;background:var(--navy);color:#fff;box-shadow:var(--shadow);overflow:hidden}.about-panel:after{content:"";position:absolute;inset:0;background:url("contours-dark.svg") center/cover no-repeat;opacity:.65}.about-panel>*{position:relative;z-index:1}.panel-label{text-transform:uppercase;color:#9fc5d4;font-size:10px;letter-spacing:.16em}.about-panel blockquote{font-family:"Montserrat",Arial,sans-serif;font-weight:600;font-size:31px;line-height:1.48;margin:32px 0}.panel-rule{display:block;width:56px;height:2px;background:var(--river)}.about-panel p{margin:23px 0 0;text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:#c8dade}

.contact-section{background:var(--paper)}.contact-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:100px}.contact-copy>p:not(.eyebrow){color:var(--muted);font-size:17px}.contact-details{margin-top:40px}.contact-details p{display:grid;grid-template-columns:110px 1fr;margin:0;padding:15px 0;border-top:1px solid var(--line);font-size:14px}.contact-details span{color:#7a8a93}.contact-details a{text-decoration:none;color:#236f98}
.contact-form{padding:43px;background:#fff;border:1px solid rgba(13,49,79,.10);box-shadow:var(--shadow)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:block;font-size:11px;font-weight:700;letter-spacing:.04em;margin-bottom:16px}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:7px;padding:14px;border:1px solid #cad6dc;background:#fbfcfc;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--river);box-shadow:0 0 0 3px rgba(61,134,170,.12)}.contact-form .button{width:100%;margin-top:3px}.form-note{text-align:center;color:#839198;font-size:10px;margin:13px 0 0}

.site-footer{padding:58px 0 24px;background:var(--navy-deep);color:#fff}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:40px}.footer-brand{display:flex;align-items:center;gap:14px}.footer-brand strong{display:block;letter-spacing:.17em}.footer-brand small{display:block;margin-top:6px;color:#aec6d0;font-size:8px;letter-spacing:.12em}.footer-main>p{color:#bacdd4}.footer-bottom{display:flex;justify-content:space-between;margin-top:44px;padding-top:21px;border-top:1px solid rgba(255,255,255,.15);color:#91aab4;font-size:11px}.footer-bottom a{text-decoration:none}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@keyframes hero-drift{from{transform:scale(1.015) translate3d(0,0,0)}to{transform:scale(1.055) translate3d(-.5%,.4%,0)}}

@media(max-width:1060px){
  :root{--header:90px}.container{width:min(100% - 34px,1260px)}
  
  .menu-toggle{display:block}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .menu-backdrop{display:block}.menu-backdrop.open{opacity:1;pointer-events:auto}
  .site-nav{position:fixed;z-index:51;top:var(--header);right:0;bottom:0;width:min(82vw,380px);display:flex;flex-direction:column;align-items:stretch;gap:0;padding:17px 28px 34px;background:#fff;box-shadow:-18px 0 42px rgba(8,32,50,.18);transform:translateX(105%);visibility:hidden;transition:transform .3s,visibility .3s;overflow-y:auto}
  .site-nav.open{transform:translateX(0);visibility:visible}.site-nav a,.site-nav a:hover{display:block;width:100%;padding:20px 4px;border:0;border-bottom:1px solid var(--line);color:var(--navy);text-align:left;font-size:15px}.site-nav .nav-cta{margin-top:17px;padding:16px 20px;text-align:center;border:0;background:var(--river)}
  .hero{min-height:670px}.hero-copy{padding:72px 0 85px}.section-heading,.approach-layout,.about-layout,.contact-layout{grid-template-columns:1fr;gap:55px}.section-heading{align-items:start}.approach-copy{border-left:0;border-top:1px solid rgba(255,255,255,.22);padding:38px 0 0}.about-panel{max-width:680px}.contact-form{max-width:780px}.scroll-cue{display:none}
}
@media(max-width:680px){
  :root{--header:80px}.container{width:calc(100% - 28px)}.header-inner{gap:12px}.brand-lockup{gap:10px}.site-nav{width:min(87vw,360px);padding:12px 22px 28px}
  .hero{min-height:650px}.hero-shade{background:linear-gradient(90deg,rgba(5,24,37,.90),rgba(5,24,37,.52)),linear-gradient(0deg,rgba(5,24,37,.35),transparent)}.hero-image{background-position:64% center}.hero-copy{padding:75px 0}.hero h1{font-size:43px}.hero-intro{font-size:17px}.hero-actions{flex-direction:column;align-items:flex-start}.button{min-width:220px}.hero-contours{width:600px;height:520px}
  .positioning-grid{grid-template-columns:1fr;gap:20px;padding:38px 0}.positioning-mark{width:65px;height:65px}.drop{left:26px;top:12px}.wave{left:16px}.positioning-grid p{border-left:0;border-top:1px solid #9fb4c0;padding:22px 0 0;font-size:16px}
  .section{padding:82px 0}.section-heading{gap:24px;margin-bottom:38px}.section-heading h2,.about-copy h2,.contact-copy h2{font-size:38px}.section-heading>p{font-size:16px}.expertise-grid{grid-template-columns:1fr}.expertise-card{min-height:330px;padding:31px 27px}.card-line{left:27px}.expertise-card h3{font-size:26px}
  .approach-statement h2{font-size:42px}.approach-copy .lead{font-size:19px}.process-chain{gap:7px}.process-chain i{width:11px}.process-chain span{font-size:8px}
  .about-panel{padding:43px 30px}.about-panel blockquote{font-size:27px}.form-row{grid-template-columns:1fr}.contact-form{padding:29px 22px}
  .footer-main,.footer-bottom{flex-direction:column;align-items:flex-start}.footer-main>p{margin:0}.footer-bottom{gap:8px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-image{animation:none}}

em{font-style:normal;font-weight:600}

.brand-lockup img{display:block;width:330px;height:auto}
@media(max-width:1060px){.brand-lockup img{width:292px}}
@media(max-width:560px){.brand-lockup img{width:252px}}

.card-tag{font-family:"Montserrat",Arial,sans-serif;font-weight:600;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--river);margin:0 0 14px!important;max-width:none!important}
.footer-name{font-family:"Montserrat",Arial,sans-serif;font-weight:600;font-size:13px;letter-spacing:.2em;color:#fff;white-space:nowrap}

