:root{--ink:#173c43;--petrol:#0d5a68;--petrol-dark:#083f4b;--cream:#f4efe6;--paper:#fffdf9;--mint:#c8ddd7;--clay:#cd7d5d;--line:rgba(23,60,67,.18)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}
a{color:inherit;text-decoration:none}
.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,78px);border-bottom:1px solid var(--line);background:rgba(255,253,249,.96);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
.brand{width:185px;height:78px;overflow:hidden;display:flex;align-items:center}
.brand img{width:190px;height:190px;object-fit:contain}
nav{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:700}
.nav-cta{background:var(--petrol);color:white;padding:13px 20px}
.hero{min-height:740px;display:grid;grid-template-columns:1.02fr .98fr;overflow:hidden}
.hero-copy{padding:clamp(72px,9vw,130px) clamp(36px,6.5vw,100px);display:flex;flex-direction:column;justify-content:center}
.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;color:var(--petrol);margin:0 0 24px}
h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:.98;letter-spacing:-.035em;margin:0}
h1{font-size:clamp(64px,8vw,122px)}
h1 em,.contact h2 em{color:var(--clay);font-weight:400}
.lead{font-size:clamp(18px,2vw,24px);line-height:1.55;max-width:620px;margin:36px 0;color:#345a60}
.hero-actions{display:flex;align-items:center;gap:34px;margin-top:10px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:17px 22px;font-weight:800;font-size:14px;min-width:205px}
.primary{background:var(--petrol);color:white}
.primary:hover{background:var(--petrol-dark)}
.text-link{font-size:14px;font-weight:800;border-bottom:1px solid;padding:8px 0}
.hero-visual{position:relative;background:var(--mint);min-height:650px}
.hero-visual>img{width:100%;height:100%;object-fit:cover}
.hero-quote{position:absolute;left:0;bottom:0;background:var(--cream);padding:28px 36px;font-family:Georgia,serif;font-size:21px;line-height:1.45;max-width:390px}
.belief,.services,.audience,.contact{padding:clamp(80px,10vw,150px) clamp(24px,7vw,110px)}
.belief-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:start}
.belief h2,.section-heading h2,.audience h2,.contact h2{font-size:clamp(44px,5.5vw,80px)}
.belief-grid>div{font-size:18px;color:#45636a}
.belief-grid>div p:first-child{margin-top:4px}
.approach{display:grid;grid-template-columns:.86fr 1.14fr;background:var(--petrol-dark);color:white}
.approach-intro{padding:clamp(75px,9vw,135px) clamp(34px,7vw,108px)}
.section-label.light{color:#9ed0c5}
.approach h2{font-size:clamp(45px,5vw,74px)}
.approach-intro>p:last-child{color:#c5dadc;font-size:18px;margin-top:34px}
.approach-points{border-left:1px solid rgba(255,255,255,.2)}
.approach-points article{display:grid;grid-template-columns:55px 1fr;padding:39px clamp(25px,5vw,76px);border-bottom:1px solid rgba(255,255,255,.2);gap:30px}
.approach-points article:last-child{border-bottom:0}
.approach-points span,.service>span{font-size:12px;color:#9ed0c5;font-weight:800}
.approach-points h3{font-size:23px;margin:0 0 6px}
.approach-points p{margin:0;color:#b9d0d3}
.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:9vw;align-items:end;margin-bottom:65px}
.section-heading>p{font-size:18px;color:#496970}
.service-list{border-top:1px solid var(--line)}
.service{display:grid;grid-template-columns:60px .7fr 1.1fr 30px;gap:35px;padding:30px 0;border-bottom:1px solid var(--line);align-items:start}
.service h3{font-family:Georgia,serif;font-size:30px;font-weight:400;margin:0}
.service p{margin:3px 0;color:#577178}
.service b{font-size:20px;color:var(--clay)}
.audience{background:var(--cream)}
.audience h2{max-width:980px}
.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:70px}
.audience-grid article{background:var(--cream);padding:35px 30px;min-height:190px}
.audience-grid span{font-family:Georgia,serif;font-size:28px}
.audience-grid p{color:#577178}
.now{background:var(--clay);color:white;padding:clamp(70px,9vw,125px) clamp(24px,8vw,120px);display:grid;grid-template-columns:.5fr 1fr;align-items:center;gap:10vw}
.now-mark{font-family:Georgia,serif;font-size:clamp(100px,18vw,260px);line-height:.75;color:rgba(255,255,255,.18)}
.now h2{font-size:clamp(46px,6vw,85px)}
.now>div:last-child>p:last-child{max-width:750px;font-size:19px}
.contact{text-align:center;display:flex;align-items:center;flex-direction:column}
.contact>p:not(.section-label){max-width:620px;font-size:19px;color:#547078;margin:30px auto}
.contact .button{margin-top:10px}
footer{background:#092f38;color:white;padding:70px clamp(24px,6vw,90px) 45px;display:grid;grid-template-columns:1.1fr .75fr .9fr 1.2fr;gap:45px;font-size:14px}
.footer-brand img{width:190px;height:190px;object-fit:contain;margin:-55px 0 -48px;filter:brightness(0) invert(1)}
footer h3{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#91c5bd;margin:0 0 15px}
footer p{color:#b6ced1;margin:0}
.footer-note{text-align:right;display:flex;flex-direction:column;justify-content:space-between}
@media(max-width:850px){
  .site-header{height:74px}.brand{width:135px;height:68px}.brand img{width:145px;height:145px}nav a:not(.nav-cta){display:none}
  .hero,.belief-grid,.approach,.section-heading,.now{grid-template-columns:1fr}.hero{min-height:auto}.hero-copy{padding-top:75px}.hero-visual{min-height:520px}
  .belief-grid,.section-heading,.now{gap:45px}.approach-points{border-left:0;border-top:1px solid rgba(255,255,255,.2)}
  .service{grid-template-columns:38px 1fr 24px}.service p{grid-column:2/4}.audience-grid{grid-template-columns:1fr}.now-mark{display:none}
  footer{grid-template-columns:1fr 1fr}.footer-note{text-align:left;gap:18px}
}
@media(max-width:560px){h1{font-size:58px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-visual{min-height:420px}.hero-quote{font-size:17px;padding:22px}.service h3{font-size:25px}footer{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
