@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--navy:#08111b;--green:#72f5ad;--ink:#15212a;--muted:#b4bdc7;--paper:#f3f6f7;--font:'DM Sans',Arial,sans-serif;--display:'Barlow Condensed','Arial Narrow',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:var(--navy);color:white;font:16px/1.65 var(--font)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #239fd6;outline-offset:6px}::selection{background:var(--green);color:var(--navy)}.skip{position:fixed;left:15px;top:-80px;background:var(--green);padding:12px;z-index:99;color:var(--navy)}.skip:focus{top:15px}.reading-progress{position:fixed;top:0;height:3px;background:var(--green);z-index:50;width:0}.site-header{height:94px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30;background:rgba(8,17,27,.97);border-bottom:1px solid #ffffff1c}.brand{width:218px;height:57px;background:white;overflow:hidden;display:flex;align-items:center;justify-content:center}.brand img{width:237px;height:auto;max-width:none}.site-header nav{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:500}.site-header nav a{transition:color .2s}.site-header nav a:hover,.site-header nav a.active{color:var(--green)}.nav-contact{border:1px solid #ffffff60;padding:10px 22px}.menu-toggle{display:none;background:none;border:0;color:white}.hero{position:relative;min-height:760px;padding:76px 6% 100px;overflow:hidden}.hero-photo{position:absolute;inset:0 0 0 32%;background:linear-gradient(90deg,var(--navy) 0%,rgba(8,17,27,.72) 20%,rgba(8,17,27,.18) 65%),linear-gradient(0deg,var(--navy),transparent 38%),url('assets/technical.jpg') center/cover;opacity:.75}.hero-content{position:relative;z-index:1;max-width:750px}.eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700;color:#a7bac9}.line{height:1px;width:35px;background:var(--green)}h1,h2,h3,p{margin:0}h1{font-family:var(--display);font-size:clamp(72px,8.4vw,126px);font-weight:600;line-height:.94;letter-spacing:-.02em;margin:31px 0}h1 span{color:var(--green)}.hero-content>p{max-width:480px;color:#ced6de;font-size:17px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:35px}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;font-size:14px;font-weight:700;transition:background .2s,transform .2s;border:1px solid transparent}.button:hover{transform:translateY(-2px)}.primary{background:var(--green);color:var(--navy)}.primary:hover{background:#a5ffcb}.text-link{font-size:14px;border-bottom:1px solid #ffffff60;padding:6px 0}.text-link:hover{color:var(--green)}.hero-bottom{position:absolute;bottom:27px;left:6%;right:6%;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff2e;padding-top:23px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#acbcca}.scroll-link span{margin-left:15px;color:var(--green);font-size:18px}.section{padding:105px 6%;scroll-margin-top:0}.light{background:var(--paper);color:var(--ink)}.section-heading{display:flex;justify-content:space-between;gap:70px;align-items:flex-end;margin-bottom:62px}.section-heading>div{flex:1.2}.section-heading>p{flex:1;max-width:405px;color:var(--muted)}.light .section-heading>p{color:#55616b}.eyebrow.dark{color:#53606a}h2{font-family:var(--display);font-size:clamp(44px,4.8vw,70px);font-weight:600;line-height:1.03;letter-spacing:-.012em;margin-top:25px}.expertise-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%}.small-label{text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.12em}.expertise-intro{border-top:2px solid #1a2b36;padding-top:23px}.big-copy{font-size:26px;font-weight:500;line-height:1.35;margin:25px 0 18px}.expertise-intro>p:not(.big-copy){color:#55616b;max-width:330px}.dark-button{background:var(--navy);color:white}.dark-button:hover{background:#263948}.expertise-intro .button{margin-top:25px}.expertise-list{border-top:1px solid #b7c1c7}details{border-bottom:1px solid #b7c1c7}summary{list-style:none;display:flex;gap:25px;align-items:center;padding:26px 0;cursor:pointer;font-size:22px;font-weight:500}summary::-webkit-details-marker{display:none}.number{font-size:12px;color:#65747d;font-weight:600}.plus{width:20px;height:20px;margin-left:auto;position:relative;flex-shrink:0}.plus:before,.plus:after{content:'';position:absolute;top:9px;left:2px;width:16px;height:2px;background:#1c323e}.plus:after{transform:rotate(90deg);transition:transform .2s}details[open] .plus:after{transform:rotate(0deg)}.detail-content{padding:0 0 27px 41px;color:#52606a}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:21px}.tags span{font-size:12px;border:1px solid #c4ced4;padding:5px 10px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.step{border-top:1px solid #ffffff3b;padding:27px 0}.step-number{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--green)}h3{font-size:22px;line-height:1.3;font-weight:500;margin:24px 0 17px}.step p{color:var(--muted);max-width:310px}.approach-statement{margin-top:47px;border-top:1px solid #ffffff25;padding-top:42px;display:flex;justify-content:space-between}.approach-statement>span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.approach-statement p{font-family:var(--display);font-size:clamp(48px,6.2vw,88px);line-height:1.06;max-width:750px;width:66%;font-weight:500}.approach-statement em{font-style:normal;color:var(--green)}.company{display:grid;grid-template-columns:1fr 1fr;gap:10%}.company-content .lead{font-size:25px;line-height:1.45;color:var(--ink);margin-bottom:27px}.company-content>p{color:#53616b;margin-bottom:20px}.ownership{margin-top:38px;background:#e3ebee;border-left:3px solid #147ba3;padding:28px 30px}.ownership-label{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#52626a}.ownership h3{margin:14px 0 12px;font-size:20px;font-weight:600}.ownership p{font-size:14px;color:#53616b}.ownership a{display:inline-block;font-size:14px;margin-top:18px;border-bottom:1px solid #3d6d80}.contact{background:var(--green);color:var(--navy);display:grid;grid-template-columns:1fr 1.1fr;gap:7%;align-items:center}.contact h2{font-size:clamp(65px,6.5vw,94px);margin-bottom:25px}.contact .eyebrow{color:#2a5f45}.contact p{color:#28513e}.contact-actions{border-top:1px solid #28654155;padding-top:28px}.email-link{display:block;font-family:var(--display);font-weight:500;font-size:clamp(28px,3.3vw,49px);line-height:1.4;margin:16px 0 26px;overflow-wrap:anywhere}.email-link:hover{text-decoration:underline;text-underline-offset:6px}.contact-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:20px}.copy-button{border:0;background:none;padding:4px 0;border-bottom:1px solid #3b6951;color:var(--navy);font-size:14px}.contact-note{margin-top:25px;font-size:12px}footer{padding:35px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px;color:var(--muted)}.footer-name{color:white;font-size:24px;letter-spacing:.08em;font-weight:700;line-height:1.05}.footer-name span{display:block;font-size:9px;letter-spacing:.28em;font-weight:400;margin-top:7px}footer>a:last-child{border-bottom:1px solid #ffffff40}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:white;color:var(--navy);padding:13px 23px;box-shadow:0 4px 20px #0004;z-index:60;transition:.2s;font-size:14px}.toast.show{opacity:1;transform:translate(-50%,0)}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(22px);transition:opacity .6s,transform .6s}.js-motion .reveal.visible{opacity:1;transform:none}
@media(min-width:1500px){.section,.hero,.site-header,footer{padding-left:max(6%,calc((100vw - 1320px)/2));padding-right:max(6%,calc((100vw - 1320px)/2))}.hero-bottom{left:max(6%,calc((100vw - 1320px)/2));right:max(6%,calc((100vw - 1320px)/2))}}
@media(max-width:900px){.site-header nav{gap:20px}.brand{width:185px;height:49px}.brand img{width:200px}.hero{min-height:730px;padding-top:72px}.hero-photo{left:20%;opacity:.5}.section{padding-top:75px;padding-bottom:75px}.section-heading{gap:35px}.expertise-layout{gap:6%;grid-template-columns:.8fr 1.2fr}.company{gap:6%}.contact{grid-template-columns:1fr;gap:45px}.contact h2 br{display:none}.contact-actions{max-width:650px}.steps{gap:25px}.step h3{font-size:20px}.email-link{font-size:45px}}
@media(max-width:650px){html{scroll-padding-top:78px}.site-header{height:78px;padding:0 6%}.brand{width:163px;height:45px}.brand img{width:179px}.menu-toggle{display:flex;align-items:center;gap:12px;font-size:14px}.menu-toggle span{font-size:20px}.site-header nav{display:none;position:absolute;top:78px;left:0;right:0;padding:25px 6% 30px;background:var(--navy);border-bottom:1px solid #ffffff30;align-items:stretch;gap:20px}.site-header nav.open{display:flex;flex-direction:column}.nav-contact{text-align:center}.hero{padding:53px 6% 104px;min-height:735px}.hero-photo{left:0;opacity:.32;background-position:60% center}.eyebrow{font-size:11px;letter-spacing:.1em}h1{font-size:clamp(72px,19vw,99px);margin:28px 0;line-height:.98}.hero-content>p{font-size:16px;max-width:350px}.hero-actions{align-items:flex-start;flex-direction:column;gap:15px;margin-top:25px}.hero-bottom{font-size:10px;letter-spacing:.03em;gap:15px;padding-top:20px}.hero-bottom>span:nth-child(2){display:none}.section{padding:65px 6%}.section-heading{display:block;margin-bottom:40px}h2{font-size:49px}.section-heading>p{margin-top:25px;max-width:100%}.expertise-layout{display:block}.expertise-intro{margin-bottom:40px}.big-copy{font-size:25px}.expertise-intro>p:not(.big-copy){max-width:100%}summary{font-size:20px;gap:18px}.detail-content{padding-left:32px}.steps{display:block}.step{padding:25px 0 35px}.step p{max-width:100%}.approach-statement{display:block;margin-top:16px;padding-top:28px}.approach-statement p{width:100%;font-size:61px;margin-top:22px}.company{display:block}.company-content{margin-top:35px}.company-content .lead{font-size:23px}.ownership{padding:24px}.contact{gap:40px}.contact h2{font-size:64px}.contact h2 br{display:block}.contact p br{display:none}.email-link{font-size:clamp(28px,8vw,44px)}.contact-buttons{align-items:flex-start;flex-direction:column}footer{align-items:flex-start;flex-wrap:wrap;padding:30px 6%}.footer-name{width:100%}footer p{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.js-motion .reveal{opacity:1;transform:none}}

/* Refined Freya logo on the dark header */
.brand{background:var(--navy)}.brand img{width:300px;flex-shrink:0}
@media(max-width:900px){.brand img{width:255px}}
@media(max-width:650px){.brand img{width:224px}}

.certification-graphic{display:block;width:100%;max-width:380px;height:auto;object-fit:contain;margin:24px 0 6px}

/* Contact form */
.contact-form{width:100%;min-width:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0 24px}.form-wide{grid-column:1/-1}.contact-form label{display:block;font-size:14px;font-weight:600}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:7px;padding:12px 14px;border:1px solid #28513e80;border-radius:3px;background:#ffffffdf;color:var(--navy);font:16px/1.5 var(--font)}.contact-form textarea{resize:vertical;min-height:140px}.contact-form input:focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible{outline:3px solid #147ba3;outline-offset:2px}.contact-form button:disabled{opacity:.6;cursor:wait;transform:none}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-status{font-size:14px;min-height:24px;margin-top:16px}.form-status[data-state=error]{color:#7c1717;font-weight:600}.form-status[data-state=success]{font-weight:600}.contact-form .contact-note{font-size:12px;line-height:1.6;margin-top:14px}@media(max-width:650px){.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}.contact-form button{width:100%}}
