@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,400;6..72,500&family=Newsreader:ital,opsz,wght@1,6..72,400&display=swap');
:root{
--navy:#1F3864;--navy-600:#2A4A7A;--navy-800:#1B2F55;--steel:#5C7C9C;--steel-300:#A9BDD2;--steel-600:#4A6A8A;
--spring:#7BC17F;--spring-deep:#4E9E63;--spring-700:#3E8552;--spring-300:#A9D9AC;--spring-100:#E4F2E5;
--ink:#1B2540;--muted:#5E6B7E;--faint:#8A94A3;--paper:#FFFFFF;--board:#ECEEF1;--line:#DEE3E8;--line-strong:#C7CFD8;
--font-serif:"Newsreader",Georgia,"Times New Roman",serif;--font-sans:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
--shadow-sm:0 1px 3px rgba(20,38,74,.08),0 1px 2px rgba(20,38,74,.04);--shadow-md:0 4px 14px rgba(20,38,74,.08);--shadow-lg:0 12px 32px rgba(20,38,74,.12);
--link:#2A4A7A;--link-hover:#1F3864;--wrap:1180px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--board);font-family:var(--font-sans);color:var(--ink);font-size:16px;line-height:1.6}
img{display:block;max-width:100%}
h1,h2,h3{text-wrap:pretty;margin:0}
a{color:var(--link)}a:hover{color:var(--link-hover)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}
.eyebrow{font-family:var(--font-sans);font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--spring-deep)}
.h1{font-family:var(--font-serif);font-weight:500;font-size:clamp(34px,4vw,52px);line-height:1.07;letter-spacing:-.02em;color:var(--navy)}
.h1 em{font-style:italic;color:var(--spring-deep)}
.h2{font-family:var(--font-serif);font-weight:500;font-size:34px;line-height:1.15;letter-spacing:-.01em;color:var(--navy)}
.lead{font-size:19px;color:var(--muted);line-height:1.6}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;z-index:100;background:#fff;padding:10px 16px;border-radius:8px;box-shadow:var(--shadow-md)}

/* header */
.site-head{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.head-in{max-width:var(--wrap);margin:0 auto;padding:0 32px;height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.head-in>a{display:inline-flex;text-decoration:none;flex:none}
.head-in>a img{height:53px;width:auto}
.site-nav{display:flex;align-items:center;gap:4px}
.site-nav a{font-weight:600;font-size:15px;text-decoration:none;color:var(--muted);padding:8px 14px;border-radius:10px}
.site-nav a:hover{color:var(--navy);background:var(--board)}
.site-nav a[aria-current="page"]{color:var(--navy)}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:10px;padding:8px 12px;font:inherit;font-weight:600;color:var(--navy);cursor:pointer}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-sans);font-weight:600;font-size:16px;line-height:1;text-decoration:none;border:1px solid transparent;border-radius:10px;padding:15px 22px;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.btn svg{flex:none}
.btn-primary{background:var(--navy);color:#fff}
.btn-primary:hover{background:var(--navy-800);color:#fff}
.btn-secondary{background:#fff;color:var(--navy);border-color:var(--line-strong)}
.btn-secondary:hover{border-color:var(--steel);color:var(--navy)}
.btn-accent{background:var(--spring-deep);color:#fff}
.btn-accent:hover{background:var(--spring-700);color:#fff}
.btn-ghost{background:none;color:var(--navy-600);padding:12px 14px}
.btn-ghost:hover{color:var(--navy);background:rgba(31,56,100,.06)}
.btn-sm{font-size:14px;padding:11px 16px}
.site-nav a.btn-primary,.site-nav a.btn-primary:hover{color:#fff}
.scroll-cue{display:flex;margin-top:-12px;align-items:center;justify-content:center;gap:8px;text-decoration:none;color:var(--muted);font-family:var(--font-sans);font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:0 32px 34px;transition:color .2s,opacity .3s}
.scroll-cue:hover{color:var(--navy)}
.scroll-cue svg{animation:cue-bob 1.9s ease-in-out infinite}
@keyframes cue-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
.scroll-cue.is-hidden{opacity:0;pointer-events:none}
@media (prefers-reduced-motion:reduce){.scroll-cue svg{animation:none}}

/* cards */
.card{background:var(--paper);border-radius:12px;padding:32px;box-shadow:var(--shadow-sm)}
.grid{display:grid;gap:22px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tick{display:flex;gap:14px;padding:28px 30px}
.tick svg{flex:none;color:var(--spring-deep);margin-top:2px}
.tick p{margin:0;font-size:15px;line-height:1.55}
.tick strong{color:var(--navy)}

/* hero */
.hero{background:linear-gradient(180deg,#F7F9FB 0%,var(--board) 100%);border-bottom:1px solid var(--line)}
.hero-in{max-width:var(--wrap);margin:0 auto;padding:80px 32px 72px;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero .lead{margin:22px 0 0;max-width:48ch}
.cta-row{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:40px;max-width:540px}
.stat-n{font-family:var(--font-serif);font-size:30px;font-weight:500;color:var(--navy);line-height:1.1}
.stat-l{font-size:13px;color:var(--muted);margin-top:2px;line-height:1.4}
.shot{position:relative}
.shot .frame{border-radius:16px;overflow:hidden;box-shadow:var(--shadow-lg);width:100%;aspect-ratio:4/5}
.hero .shot .frame{aspect-ratio:auto;height:min(66vh,720px)}
.shot .frame img{width:100%;height:100%;object-fit:cover;object-position:center 38%}
.badge-card{position:absolute;bottom:-18px;left:-18px;background:#fff;border-radius:12px;box-shadow:var(--shadow-md);border:1px solid var(--line);padding:14px 16px;display:flex;align-items:center;gap:12px;max-width:260px}
.badge-card .dot{width:40px;height:40px;flex:none;border-radius:50%;background:var(--spring-100);display:inline-flex;align-items:center;justify-content:center;color:var(--spring-700)}
.badge-card b{display:block;font-size:13px;color:var(--ink)}
.badge-card span.s{font-size:12px;color:var(--muted)}

/* page header (interior) */
.page-head{background:var(--paper);border-bottom:1px solid var(--line)}
.page-head .wrap{padding-top:32px;padding-bottom:56px}
.crumb{font-size:13.5px;color:var(--muted);display:flex;gap:8px;align-items:center}
.crumb a{color:var(--link);text-decoration:none;font-weight:500}
.crumb span.sep{color:var(--line-strong)}
.crumb b{color:var(--ink);font-weight:600}
.page-h1{font-family:var(--font-serif);font-weight:500;font-size:clamp(32px,3.6vw,46px);line-height:1.1;letter-spacing:-.02em;color:var(--navy);margin:12px 0 0}
.split{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;margin-top:28px}
.split .frame{border-radius:16px;overflow:hidden;box-shadow:var(--shadow-md);aspect-ratio:4/5}
.split .frame img{width:100%;height:100%;object-fit:cover}
.checklist{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:8px;max-width:52ch}
.checklist li{display:flex;gap:10px;font-size:17px;color:var(--muted);line-height:1.5}
.checklist svg{flex:none;color:var(--spring-deep);margin-top:3px}

/* section heading */
.sec{padding:88px 0 84px}
.sec-head .h2{margin-top:12px}
.sec-head p{font-size:18px;color:var(--muted);margin:14px 0 0;max-width:44ch}

/* navy band */
.band{background:var(--navy);color:#fff}
.band .wrap{padding:84px 32px}
.band .kicker{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--spring);font-weight:600}
.band h2{font-family:var(--font-serif);font-weight:500;font-size:38px;letter-spacing:-.015em;margin:14px 0 0;line-height:1.12}
.band .rows{display:grid;grid-template-columns:1fr 1fr;column-gap:56px;row-gap:4px;margin-top:44px}
.band .rows>div{padding:26px 0;border-top:1px solid var(--navy-600)}
.band .rows h3{font-family:var(--font-sans);font-weight:700;font-size:17px;color:var(--spring);margin:0;line-height:1.35}
.band .rows p{font-size:15.5px;color:#DCE5EF;line-height:1.6;margin:10px 0 0}

/* quotes */
.quote-mark{color:var(--spring-deep)}
.quote{font-family:var(--font-serif);font-size:19px;color:var(--ink);line-height:1.5;margin:14px 0 20px}
.attrib{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;line-height:1.4}
.feature-quote{background:var(--navy);color:#fff;border-radius:22px;padding:48px 56px}
.feature-quote .quote-mark{color:var(--spring)}
.feature-quote p{font-family:var(--font-serif);font-weight:500;font-size:27px;line-height:1.4;letter-spacing:-.01em;margin:16px 0 24px;max-width:44ch}
.feature-quote .who{font-size:14px;color:var(--spring);font-weight:600;letter-spacing:.02em}
.disclaimer{font-size:13px;color:var(--faint);line-height:1.6;margin:0;max-width:78ch;border-top:1px solid var(--line);padding-top:18px}

/* cta band */
.cta-band{background:linear-gradient(120deg,var(--spring-100),#F2F8F3);border:1px solid var(--spring-300);border-radius:22px;padding:56px 48px;text-align:center}
.cta-band h2{font-family:var(--font-serif);font-weight:500;font-size:36px;color:var(--navy);letter-spacing:-.015em;margin:0}
.cta-band p{font-size:18px;color:var(--spring-700);margin:14px auto 0;max-width:50ch;line-height:1.6}
.cta-band .btn{margin-top:28px}

/* tabs */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.tabs button{font:inherit;font-weight:600;font-size:15px;color:var(--muted);background:none;border:none;border-bottom:2px solid transparent;padding:14px 18px;cursor:pointer;margin-bottom:-1px}
.tabs button:hover{color:var(--navy)}
.tabs button[aria-selected="true"]{color:var(--navy);border-bottom-color:var(--spring-deep)}
.panel[hidden]{display:none}
.panel-lede{font-family:var(--font-serif);font-size:24px;color:var(--navy);line-height:1.45;margin:36px 0 0;max-width:56ch;letter-spacing:-.01em}

/* about */
.career{display:grid;grid-template-columns:repeat(2,1fr);margin-top:28px;background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.career>div{padding:24px}
.career>div:nth-child(n+3){border-top:1px solid var(--line)}
.career>div:nth-child(even){border-left:1px solid var(--line)}
.career h3{font-family:var(--font-serif);font-weight:500;font-size:19px;color:var(--navy);margin:0 0 6px}
.career p{font-size:14.5px;color:var(--muted);line-height:1.55;margin:0}
.pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.pill{display:inline-flex;align-items:center;font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px;background:#E9EEF4;color:var(--steel-600);border:1px solid var(--line)}
.pill-accent{background:var(--spring-100);color:var(--spring-700);border-color:var(--spring-300);gap:6px}
.pill-accent::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--spring-deep)}

/* contact */
.contact-in{max-width:var(--wrap);margin:0 auto;padding:64px 32px 84px;display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.info-rows{display:flex;flex-direction:column;gap:18px;margin-top:32px}
.info-row{display:flex;gap:14px;align-items:flex-start}
.info-row .ico{width:42px;height:42px;flex:none;border-radius:10px;background:var(--paper);border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;color:var(--navy)}
.info-row b{display:block;font-size:13px;color:var(--ink)}
.info-row span.v{font-size:14.5px;color:var(--muted);line-height:1.5}
.info-row a{color:var(--muted);text-decoration:none}
.info-row a:hover{color:var(--navy)}
form.enquiry{display:flex;flex-direction:column;gap:18px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:13px;font-weight:700;color:var(--ink)}
.field .req{color:var(--spring-deep)}
.field .helper{font-size:12.5px;color:var(--faint)}
input[type=text],input[type=email],select,textarea{font:inherit;font-size:15px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:10px;padding:12px 14px;width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--steel);box-shadow:0 0 0 3px rgba(92,124,156,.35)}
textarea{resize:vertical;min-height:110px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted)}
.check input{margin:2px 0 0;width:16px;height:16px;accent-color:var(--navy)}
.form-note{font-size:12.5px;color:var(--faint);text-align:center;margin:0;line-height:1.5}
.btn-full{width:100%;justify-content:center}

/* footer */
.site-foot{background:var(--navy);color:#fff;margin-top:8px}
.foot-in{max-width:var(--wrap);margin:0 auto;padding:56px 32px 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.foot-in img{height:36px;width:auto}
.foot-in>div>p{margin-top:16px;color:var(--steel-300);font-size:14px;line-height:1.6;max-width:34ch}
.foot-col{display:flex;flex-direction:column;gap:10px}
.foot-col .t{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--steel-300);font-weight:700}
.foot-col a,.foot-col span.plain{color:#fff;opacity:.82;text-decoration:none;font-size:14px}
.foot-col a:hover{opacity:1;color:#fff;text-decoration:underline}
.foot-bar{border-top:1px solid var(--navy-600)}
.foot-bar .in{max-width:var(--wrap);margin:0 auto;padding:18px 32px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--steel-300);font-size:13px;flex-wrap:wrap}
.foot-bar a{color:var(--steel-300);display:inline-flex}
.foot-bar a:hover{color:#fff}

@media (max-width:1024px){
:root{--wrap:100%}
.hero-in,.split,.contact-in{grid-template-columns:1fr;gap:36px}
.hero-in{padding:56px 24px 60px}
.h2,.band h2,.cta-band h2{font-size:28px}
.g2,.g3,.band .rows,.career,.stats{grid-template-columns:1fr}
.stats{gap:20px}
.wrap,.head-in,.foot-in,.foot-bar .in{padding-left:24px;padding-right:24px}
.sec{padding:56px 0}
.band .wrap{padding:56px 24px}
.feature-quote{padding:32px 28px}.feature-quote p{font-size:22px}
.cta-band{padding:40px 24px}
.foot-in{grid-template-columns:1fr;gap:32px}
.badge-card{position:static;margin-top:16px;max-width:none}
.site-nav{position:absolute;top:88px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:12px 24px 20px;gap:2px;box-shadow:var(--shadow-md)}
.site-nav[hidden]{display:none}
.site-nav a{padding:12px 4px}
.site-nav .btn{margin-top:8px;justify-content:center}
.nav-toggle{display:inline-flex}
.career>div:nth-child(even){border-left:none}
.career>div:nth-child(n+2){border-top:1px solid var(--line)}
}
@media print{.site-head,.site-nav,.nav-toggle,.cta-band,form.enquiry{display:none}body{background:#fff}}
