@font-face{font-family:'General Sans';src:url('./fonts/general-sans-400.woff2') format('woff2');font-weight:400;font-display:swap;font-style:normal}
@font-face{font-family:'General Sans';src:url('./fonts/general-sans-500.woff2') format('woff2');font-weight:500;font-display:swap;font-style:normal}
@font-face{font-family:'General Sans';src:url('./fonts/general-sans-600.woff2') format('woff2');font-weight:600;font-display:swap;font-style:normal}
@font-face{font-family:'General Sans';src:url('./fonts/general-sans-700.woff2') format('woff2');font-weight:700;font-display:swap;font-style:normal}
:root {
  --color-bg: oklch(1 0 0); --color-surface: oklch(.975 .005 250); --color-text: oklch(.235 .048 258); --color-text-muted: oklch(.45 .03 258); --color-text-inverse: oklch(.98 .003 250); --color-primary: oklch(.9 .19 119); --color-primary-hover: oklch(.84 .19 119); --color-border: oklch(.235 .048 258 / .15); --color-navy: #101f36; --color-dark-muted: #b9c5d5;
  --font-body: 'General Sans', 'Helvetica Neue', sans-serif; --font-display: 'General Sans', 'Helvetica Neue', sans-serif;
  --text-xs: clamp(.75rem,.72rem + .15vw,.8125rem); --text-sm: clamp(.875rem,.84rem + .15vw,.9375rem); --text-base: clamp(1rem,.96rem + .2vw,1.125rem); --text-lg: clamp(1.25rem,1.15rem + .4vw,1.5rem); --text-xl: clamp(2rem,1.5rem + 1.7vw,3.25rem); --text-hero: clamp(2.8rem,1.6rem + 3.7vw,5.5rem);
  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem; --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem; --space-12:3rem; --space-16:4rem; --space-20:5rem; --space-24:6rem; --space-32:8rem;
  --radius-sm:.25rem; --radius-md:.5rem; --radius-full:999px; --transition-interactive:180ms ease;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:var(--space-8)}
body{min-height:100dvh;line-height:1.6;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg)}
img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}
ul[role=list],ol[role=list]{list-style:none}
input,button,textarea,select{font:inherit;color:inherit}
h1,h2,h3,h4,h5,h6{text-wrap:balance;line-height:1.15}
p,li,figcaption{text-wrap:pretty;max-width:72ch}
::selection{background:var(--color-primary);color:var(--color-navy)}
:focus-visible{outline:3px solid currentColor;outline-offset:5px;border-radius:var(--radius-sm)}
button{cursor:pointer;background:none;border:none}
table{border-collapse:collapse;width:100%}
a,button,[role=button],input,textarea,select{transition:color var(--transition-interactive),background var(--transition-interactive),border-color var(--transition-interactive),box-shadow var(--transition-interactive)}
a{color:inherit;text-decoration:none}
a:active{opacity:.75}
.wrap{max-width:1280px;margin-inline:auto;padding-inline:var(--space-12)}
.skip-link{position:absolute;left:var(--space-4);top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-primary);color:var(--color-navy);z-index:10;transform:translateY(-200%)}
.skip-link:focus{transform:none}
.header{background:var(--color-navy);color:var(--color-text-inverse)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);min-height:112px}
.wordmark{font-size:var(--text-lg);font-weight:700;letter-spacing:-.055em;line-height:1.1;display:inline-flex;flex-direction:column;padding-block:var(--space-3)}
.wordmark span{font-size:var(--text-xs);letter-spacing:.19em;font-weight:500;margin-top:var(--space-2)}
nav{display:flex;gap:var(--space-8)}
nav a{font-size:var(--text-sm);padding-block:var(--space-3);color:var(--color-dark-muted)}
nav a:hover,.text-link:hover{color:var(--color-primary)}
.button{display:inline-flex;justify-content:center;align-items:center;gap:var(--space-6);font-size:var(--text-sm);font-weight:600;min-height:52px;padding:var(--space-4) var(--space-6);border-radius:var(--radius-sm)}
.button span[aria-hidden]{font-size:var(--text-lg);line-height:1}
.header-cta{border:1px solid #ffffff45}
.header-cta:hover{background:#ffffff12}
.primary{background:var(--color-primary);color:var(--color-navy)}
.primary:hover{background:var(--color-primary-hover)}
.hero{background:var(--color-navy);color:var(--color-text-inverse)}
.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-20);padding-top:var(--space-20);padding-bottom:var(--space-20);align-items:center}
.eyebrow{font-size:var(--text-xs);letter-spacing:.12em;font-weight:600;line-height:1.5}
.hero .eyebrow{color:var(--color-dark-muted);display:flex;align-items:center;gap:var(--space-3)}
.status-dot{height:7px;width:7px;background:var(--color-primary);border-radius:var(--radius-full);flex-shrink:0}
h1{font-family:var(--font-display);font-size:var(--text-hero);font-weight:500;letter-spacing:-.055em;line-height:1.06;margin-top:var(--space-6)}
.hero-description{color:var(--color-dark-muted);max-width:46ch;margin-top:var(--space-6);margin-bottom:var(--space-8)}
.micro{font-size:var(--text-xs);color:var(--color-dark-muted);margin-top:var(--space-4)}
.workflow{background:#192a43;border:1px solid #ffffff20;padding:var(--space-6);border-radius:var(--radius-md)}
.workflow-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);font-size:var(--text-xs);letter-spacing:.08em;color:var(--color-dark-muted);margin-bottom:var(--space-8);flex-wrap:wrap}
.diagram-tag{font-size:var(--text-xs);letter-spacing:.04em;border-bottom:1px solid #ffffff30;padding-bottom:var(--space-1)}
.flow-step{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:#22344e;border:1px solid #ffffff15;border-radius:var(--radius-sm)}
.flow-number{font-size:var(--text-xs);color:var(--color-dark-muted);align-self:flex-start;padding-top:var(--space-1)}
.flow-step h2{font-size:var(--text-base);font-weight:500;letter-spacing:-.02em}
.flow-step p{font-size:var(--text-xs);color:var(--color-dark-muted);margin-top:var(--space-2)}
.flow-mark{margin-left:auto;font-size:var(--text-lg);color:var(--color-primary)}
.flow-connector{display:flex;gap:var(--space-4);align-items:center;padding:var(--space-2) var(--space-6);color:var(--color-dark-muted);font-size:var(--text-xs);letter-spacing:.08em}
.flow-connector>span:first-child{font-size:var(--text-lg);line-height:1.2}
.final-step{background:var(--color-primary);color:var(--color-navy)}
.final-step p,.final-step .flow-number,.final-step .flow-mark{color:var(--color-navy)}
.workflow-caption{font-size:var(--text-xs);color:var(--color-dark-muted);padding-top:var(--space-6)}
.hero-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding-block:var(--space-6);border-top:1px solid #ffffff20;font-size:var(--text-xs);color:var(--color-dark-muted)}
.hero-foot>span:first-child{letter-spacing:.12em}
.hero-foot>span:last-child{font-size:var(--text-lg)}
.section{padding-block:var(--space-24)}
h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;letter-spacing:-.045em}
.section-intro h2,.approach-intro h2,.about h2,.audit h2{margin-top:var(--space-6)}
.services{display:grid;grid-template-columns:.9fr 1.25fr;gap:var(--space-24)}
.section-intro>p:last-child{color:var(--color-text-muted);margin-top:var(--space-6);max-width:34ch}
.service{display:grid;grid-template-columns:auto 1fr;gap:var(--space-8);padding-block:var(--space-8);border-bottom:1px solid var(--color-border)}
.service:first-child{padding-top:0}
.index{font-size:var(--text-xs);color:var(--color-text-muted);padding-top:var(--space-2)}
h3{font-size:var(--text-lg);font-weight:500;letter-spacing:-.025em}
.service p{color:var(--color-text-muted);margin-top:var(--space-3)}
.service .examples{font-size:var(--text-xs);margin-top:var(--space-4)}
.approach{background:var(--color-surface)}
.approach-intro{display:grid;grid-template-columns:1fr 1.3fr;column-gap:var(--space-20)}
.approach-intro .eyebrow{grid-column:1/-1}
.approach-intro>p:last-child{align-self:end;max-width:36ch;color:var(--color-text-muted)}
.process{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-12);margin-top:var(--space-16)}
.process li{border-top:1px solid var(--color-border);padding-top:var(--space-6)}
.process-number{font-size:var(--text-xs);color:var(--color-text-muted)}
.process h3{margin-top:var(--space-6);font-size:var(--text-base);font-weight:600}
.process p{color:var(--color-text-muted);margin-top:var(--space-3)}
.about{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-20);align-items:start}
.about .eyebrow{max-width:35ch}
.about-copy{padding-top:var(--space-10)}
.about-copy p{color:var(--color-text-muted);margin-bottom:var(--space-5)}
.text-link{font-size:var(--text-sm);display:inline-flex;align-items:center;gap:var(--space-8);min-height:44px;font-weight:600;border-bottom:1px solid var(--color-border)}
.text-link:hover{color:var(--color-text-muted)}
.audit{background:var(--color-navy);color:var(--color-text-inverse)}
.audit-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--space-24);padding-block:var(--space-20);align-items:center}
.audit .eyebrow{color:var(--color-primary)}
.audit-grid>div>p:last-child{color:var(--color-dark-muted);margin-top:var(--space-6);max-width:46ch}
.audit-duration{font-size:var(--text-xs);letter-spacing:.12em;color:var(--color-dark-muted);margin-bottom:var(--space-5)}
.audit-action .button{width:100%;justify-content:space-between}
.audit-reassurance{font-size:var(--text-sm);color:var(--color-dark-muted);margin-top:var(--space-6)}
.contact-form{display:flex;flex-direction:column;gap:var(--space-4)}
.contact-form .button{width:100%;justify-content:space-between}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.field{display:flex;flex-direction:column;gap:var(--space-2)}
.field label{font-size:var(--text-xs);letter-spacing:.06em;color:var(--color-dark-muted)}
.field .optional{color:var(--color-dark-muted);letter-spacing:0}
.field input,.field textarea{width:100%;background:#0b1626;border:1px solid #ffffff26;border-radius:var(--radius-sm);color:var(--color-text-inverse);padding:var(--space-3) var(--space-4);min-height:48px;font-size:var(--text-sm)}
.field textarea{resize:vertical;line-height:1.5}
.field input::placeholder,.field textarea::placeholder{color:#8494ab}
.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-error{font-size:var(--text-sm);color:#ffb3a3}
.booking-note{font-size:var(--text-sm);color:var(--color-dark-muted);margin-top:calc(-1 * var(--space-2))}
.form-privacy{font-size:var(--text-xs);color:var(--color-dark-muted)}
.form-privacy a,.footer-privacy{color:var(--color-primary);text-decoration:none;border-bottom:1px solid currentColor}
.form-success h3,.form-fallback h3{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text-inverse)}
.form-success p,.form-fallback p{font-size:var(--text-sm);color:var(--color-dark-muted);margin-block:var(--space-3) var(--space-5)}
.form-fallback .button{width:100%;justify-content:space-between}
@media(max-width:700px){.field-row{grid-template-columns:1fr}}
.privacy-page{max-width:760px;padding-block:var(--space-20)}
.privacy-page h1{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;letter-spacing:-.045em;color:var(--color-text);margin-top:var(--space-5)}
.privacy-body h2{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;margin-top:var(--space-10)}
.privacy-body p{margin-top:var(--space-4);color:var(--color-text-muted)}
.privacy-body .effective{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-top:var(--space-6)}
.email-link{font-size:var(--text-sm);display:inline-block;min-height:44px;padding-block:var(--space-3);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.email-link:hover{color:var(--color-primary)}
.footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding-block:var(--space-8)}
.footer>p,.footer>span{font-size:var(--text-xs);color:var(--color-text-muted)}
@media(min-width:1450px){.hero-grid{padding-top:var(--space-24);padding-bottom:var(--space-24)}}
@media(max-width:1000px){.wrap{padding-inline:var(--space-8)}.header-inner{gap:var(--space-6)}nav{gap:var(--space-5)}.header-cta{display:none}.hero-grid{gap:var(--space-10)}.services{gap:var(--space-12)}.audit-grid{gap:var(--space-12)}.about{gap:var(--space-12)}.workflow{padding:var(--space-4)}.flow-step{padding:var(--space-4);gap:var(--space-3)}.footer{flex-wrap:wrap}.footer>p{display:none}}
@media(max-width:700px){.wrap{padding-inline:var(--space-6)}.header-inner{flex-wrap:wrap;gap:0;padding-top:var(--space-4);padding-bottom:var(--space-3);min-height:auto}.wordmark{font-size:var(--text-lg)}nav{width:100%;justify-content:space-between;margin-top:var(--space-3);border-top:1px solid #ffffff20;gap:var(--space-3);padding-top:var(--space-1)}nav a{font-size:var(--text-xs)}.hero-grid{grid-template-columns:1fr;padding-top:var(--space-10);padding-bottom:var(--space-12);gap:var(--space-12)}.hero-description{margin-top:var(--space-5);margin-bottom:var(--space-6)}h1{margin-top:var(--space-5)}.hero .eyebrow{font-size:var(--text-xs);letter-spacing:.08em}.button{padding-inline:var(--space-5);gap:var(--space-4)}.workflow{padding:var(--space-5)}.workflow-header{margin-bottom:var(--space-6)}.diagram-tag{display:none}.hero-foot{flex-wrap:wrap;gap:var(--space-3);padding-block:var(--space-5)}.hero-foot p{order:3;width:100%}.section{padding-block:var(--space-16)}.services,.about,.audit-grid{grid-template-columns:1fr;gap:var(--space-10)}.section-intro>p:last-child{max-width:none}.service{gap:var(--space-5);padding-block:var(--space-6)}.approach-intro{grid-template-columns:1fr;gap:0}.approach-intro>p:last-child{margin-top:var(--space-6)}.process{grid-template-columns:1fr;gap:var(--space-8);margin-top:var(--space-10)}.process h3{margin-top:var(--space-3)}.about-copy{padding-top:0}.audit-grid{padding-block:var(--space-16)}.audit h2{font-size:var(--text-xl)}.footer{gap:var(--space-5);padding-block:var(--space-6)}.footer>span{width:100%}}
@media(max-width:700px){h1{font-size:clamp(2.25rem,10.65vw,3rem)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
