:root{--color-navy: #204b6f;--color-navy-deep: #162f47;--color-charcoal: #0d141a;--color-charcoal-mid: #1a2530;--color-slate: #6d8999;--color-stone: #4d6373;--color-silver: #a3b5c1;--color-cream: #f5f0e8;--color-cream-light: #faf7f2;--color-white: #ffffff;--color-teal: #3aafa9;--color-teal-deep: #237671;--color-teal-light: #5cc4be;--color-gold: #c8a45e;--color-gold-light: #dfc07a;--color-coral: #f26c4f;--font-display: "Playfair Display", Georgia, "Times New Roman", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs: clamp(.75rem, .7rem + .2vw, .8125rem);--text-sm: clamp(.8125rem, .75rem + .25vw, .9375rem);--text-base: clamp(1rem, .95rem + .25vw, 1.125rem);--text-lg: clamp(1.125rem, 1rem + .5vw, 1.375rem);--text-xl: clamp(1.375rem, 1.1rem + 1vw, 1.875rem);--text-2xl: clamp(1.75rem, 1.3rem + 1.8vw, 2.75rem);--text-3xl: clamp(2.25rem, 1.5rem + 3vw, 4rem);--text-4xl: clamp(3rem, 1.8rem + 5vw, 6rem);--space-xs: clamp(.5rem, .4rem + .4vw, .75rem);--space-sm: clamp(.75rem, .6rem + .6vw, 1.25rem);--space-md: clamp(1.5rem, 1rem + 1.5vw, 2.5rem);--space-lg: clamp(3rem, 2rem + 3vw, 5rem);--space-xl: clamp(5rem, 3rem + 5vw, 8rem);--space-2xl: clamp(7rem, 4rem + 8vw, 12rem);--max-width: 76rem;--gutter: clamp(1.25rem, 1rem + 1vw, 3rem);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quint: cubic-bezier(.22, 1, .36, 1);--duration-fast: .2s;--duration-base: .4s;--duration-slow: .8s;--duration-glacial: 1.2s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.7;color:var(--color-navy);background-color:var(--color-charcoal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.svg-filters{position:absolute;width:0;height:0;overflow:hidden}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:999;opacity:.028;filter:url(#grain);mix-blend-mode:overlay}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:200;background:transparent}.scroll-progress-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--color-teal),var(--color-gold));transition:width 60ms linear}:focus-visible{outline:2px solid var(--color-teal);outline-offset:3px;border-radius:2px}:focus:not(:focus-visible){outline:none}::selection{background-color:var(--color-teal);color:var(--color-white)}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--space-2xl);position:relative}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mb-md{margin-bottom:var(--space-md)}.heading-display{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;line-height:1.02;letter-spacing:-.03em}.heading-1{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--color-navy)}.heading-2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;line-height:1.15;letter-spacing:-.01em;color:var(--color-navy)}.heading-3{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;line-height:1.3;color:var(--color-navy)}.text-body{font-size:var(--text-base);line-height:1.7;color:var(--color-stone)}.text-body-lg{font-size:var(--text-lg);line-height:1.65;color:var(--color-stone)}.text-caption{font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-teal-deep);display:inline-flex;align-items:center;gap:.75rem}.text-caption:before{content:"";display:block;width:1.5rem;height:1px;background:var(--color-gold)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2.25rem;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;letter-spacing:.04em;text-transform:uppercase;border:none;border-radius:4px;cursor:pointer;transition:all var(--duration-base) var(--ease-out-expo);text-decoration:none;white-space:nowrap;position:relative}.btn:focus-visible{outline:2px solid var(--color-teal);outline-offset:3px}.btn-primary{background-color:var(--color-navy);color:var(--color-cream)}.btn-primary:hover{background-color:var(--color-teal-deep);color:var(--color-white);transform:translateY(-1px);box-shadow:0 4px 20px #2376714d}.btn-primary--dark{background-color:var(--color-teal);color:var(--color-charcoal)}.btn-primary--dark:hover{background-color:var(--color-teal-light);color:var(--color-charcoal);transform:translateY(-1px);box-shadow:0 4px 24px #3aafa959}.btn-secondary{background-color:transparent;color:var(--color-navy);border:1.5px solid var(--color-navy)}.btn-secondary:hover{background-color:var(--color-navy);color:var(--color-cream);transform:translateY(-1px)}.btn-secondary--dark{color:var(--color-cream);border-color:#ffffff40}.btn-secondary--dark:hover{background-color:#ffffff14;border-color:#ffffff80;color:var(--color-white);transform:translateY(-1px)}.btn .arrow-icon{transition:transform var(--duration-fast) var(--ease-out-expo)}.btn:hover .arrow-icon{transform:translate(4px)}.site-nav{position:fixed;top:0;left:0;right:0;z-index:100;padding-block:1.5rem;transition:all var(--duration-base) var(--ease-out-expo)}.site-nav.scrolled{background-color:#0d141ae0;backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);padding-block:.75rem;box-shadow:0 1px #ffffff0a}.nav-inner{display:flex;align-items:center;justify-content:space-between}.nav-wordmark{display:flex;align-items:center;text-decoration:none}.nav-logo{height:48px;width:auto;flex-shrink:0;transition:height var(--duration-base) var(--ease-out-expo)}.site-nav.scrolled .nav-logo{height:36px}.nav-menu{display:flex;align-items:center;gap:2.5rem}.nav-links{display:flex;align-items:center;gap:2.5rem;list-style:none}.nav-link{font-size:var(--text-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-silver);text-decoration:none;transition:color var(--duration-fast) ease;position:relative}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:linear-gradient(90deg,var(--color-teal),var(--color-gold));transition:width var(--duration-base) var(--ease-out-expo)}.nav-link:hover,.nav-link.active{color:var(--color-cream)}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-cta{font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-cream);text-decoration:none;padding:.625rem 1.5rem;border:1.5px solid rgba(255,255,255,.2);border-radius:4px;transition:all var(--duration-base) var(--ease-out-expo)}.nav-cta:hover{background-color:var(--color-teal);border-color:var(--color-teal);color:var(--color-charcoal)}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem;color:var(--color-cream)}.nav-toggle svg{width:1.5rem;height:1.5rem}@media(max-width:768px){.nav-toggle{display:flex;align-items:center;justify-content:center}.nav-menu{display:none;position:absolute;top:100%;left:0;right:0;background-color:#0d141af5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:var(--space-md) var(--gutter);flex-direction:column;gap:0;border-bottom:1px solid rgba(255,255,255,.06)}.nav-menu.open{display:flex}.nav-links{flex-direction:column;align-items:flex-start;gap:0;width:100%}.nav-link{padding-block:.875rem;font-size:var(--text-sm);width:100%;border-bottom:1px solid rgba(255,255,255,.04)}.nav-link:after{display:none}.nav-cta{margin-top:1rem;display:block;text-align:center;width:100%}}.hero{min-height:100vh;min-height:100dvh;display:flex;align-items:center;position:relative;overflow:hidden;padding-top:6rem;background:linear-gradient(170deg,var(--color-charcoal) 0%,var(--color-navy-deep) 40%,var(--color-charcoal-mid) 100%)}.hero-content{position:relative;z-index:3;max-width:50rem}.hero .text-caption{color:var(--color-teal)}.hero .text-caption:before{background:var(--color-teal)}.hero-label{display:inline-flex;margin-bottom:var(--space-md)}.hero-headline{margin-bottom:var(--space-md);color:var(--color-cream)}.hero-headline em{color:var(--color-teal-light);font-style:italic}.hero-subhead{max-width:36rem;margin-bottom:var(--space-lg);color:var(--color-silver)}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.hero-compass{position:absolute;top:50%;right:8%;transform:translateY(-50%);width:clamp(320px,42vw,580px);height:clamp(320px,42vw,580px);pointer-events:none;z-index:1}.compass-rose{width:100%;height:100%;object-fit:contain;opacity:.09;will-change:transform}.hero-glow{position:absolute;top:50%;right:15%;transform:translate(10%,-50%);width:clamp(400px,50vw,700px);height:clamp(400px,50vw,700px);background:radial-gradient(ellipse,rgba(58,175,169,.08) 0%,transparent 65%);pointer-events:none;z-index:0}.hero-routes{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;opacity:.08}.hero-routes svg{width:100%;height:100%}.route-line{stroke:var(--color-teal);stroke-dasharray:1800;stroke-dashoffset:1800}.hero:before{content:"";position:absolute;top:0;left:var(--gutter);width:1px;height:45%;background:linear-gradient(to bottom,transparent,var(--color-gold) 50%,transparent);opacity:.25;z-index:2}@media(max-width:768px){.hero{min-height:auto;padding-top:8rem;padding-bottom:var(--space-xl)}.hero-compass{right:-10%;width:260px;height:260px;opacity:.7}.hero-glow{display:none}.hero:before{display:none}}.zone-divider{position:relative;height:1px;background:var(--color-cream-light)}.zone-divider-line{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 10%,var(--color-gold) 50%,transparent 90%);opacity:.4}.approach{background-color:var(--color-cream-light);overflow:hidden}.approach .text-caption{color:var(--color-teal-deep)}.approach .heading-2{color:var(--color-navy);max-width:36rem}.approach .text-body-lg{color:var(--color-stone);max-width:40rem}.approach-header{margin-bottom:var(--space-xl)}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.approach-card{border-radius:6px;position:relative}.approach-card-inner{background-color:var(--color-white);padding:var(--space-lg) var(--space-md);border-radius:6px;border:1px solid rgba(32,75,111,.06);border-top:2px solid transparent;background-image:linear-gradient(var(--color-white),var(--color-white)),linear-gradient(135deg,var(--color-teal),var(--color-gold));background-origin:border-box;background-clip:padding-box,border-box;transition:transform var(--duration-base) var(--ease-out-expo),box-shadow var(--duration-slow) var(--ease-out-expo);height:100%}.approach-card:hover .approach-card-inner{transform:translateY(-4px);box-shadow:0 16px 48px #0d141a14,0 4px 12px #0d141a0a}.approach-card-number{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;color:#c8a45e1f;line-height:1;margin-bottom:var(--space-xs);transition:color var(--duration-slow) var(--ease-out-expo)}.approach-card:hover .approach-card-number{color:#c8a45e38}.approach-card-icon{width:2.5rem;height:2.5rem;color:var(--color-teal);margin-bottom:var(--space-sm);transition:transform var(--duration-base) var(--ease-out-expo),color var(--duration-base) var(--ease-out-expo)}.approach-card:hover .approach-card-icon{transform:scale(1.1);color:var(--color-teal-deep)}.approach-card-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--color-navy);margin-bottom:var(--space-sm);line-height:1.3}.approach-card-text{font-size:var(--text-sm);line-height:1.75;color:var(--color-stone)}.approach-watermark{position:absolute;bottom:-8%;right:-4%;width:280px;height:280px;pointer-events:none;opacity:.035}.approach-watermark-img{width:100%;height:100%;object-fit:contain}@media(max-width:768px){.approach-grid{grid-template-columns:1fr}}@media(min-width:769px)and (max-width:1024px){.approach-grid{grid-template-columns:1fr 1fr}.approach-card:last-child{grid-column:1 / -1;max-width:50%}}.services{background-color:var(--color-navy-deep);color:var(--color-cream)}.services .text-caption{color:var(--color-teal)}.services .text-caption:before{background:var(--color-teal)}.services .heading-2{color:var(--color-cream)}.services .text-body-lg{color:var(--color-silver)}.services-header{margin-bottom:var(--space-xl);max-width:36rem}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background-color:#ffffff0a;border-radius:6px;overflow:hidden}.service-item{display:flex;gap:var(--space-md);padding:var(--space-lg) var(--space-md);background-color:var(--color-navy-deep);position:relative;transition:background-color var(--duration-base) var(--ease-out-expo)}.service-item:hover{background-color:var(--color-charcoal-mid)}.service-marker{flex-shrink:0;width:3px;height:2rem;background:linear-gradient(to bottom,var(--color-teal),var(--color-gold));border-radius:2px;margin-top:.375rem;transition:height var(--duration-slow) var(--ease-out-expo)}.service-item:hover .service-marker{height:3.5rem}.services .heading-3{color:var(--color-cream)}.service-title{margin-bottom:var(--space-xs)}.services .text-body{color:var(--color-silver)}.service-text{margin-bottom:var(--space-sm)}.service-tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none}.service-tag{font-size:var(--text-xs);font-weight:500;letter-spacing:.04em;color:var(--color-teal);padding:.25rem .75rem;border:1px solid rgba(58,175,169,.2);border-radius:4px;transition:border-color var(--duration-base) ease,box-shadow var(--duration-base) ease}.service-item:hover .service-tag{border-color:#3aafa966;box-shadow:0 0 8px #3aafa91a}@media(max-width:768px){.services-grid{grid-template-columns:1fr}.service-item{padding:var(--space-md)}}.about{background-color:var(--color-cream)}.about-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-xl);align-items:start}.about-prose p+p{margin-top:var(--space-sm)}.about-principles{padding:var(--space-lg);background-color:var(--color-cream-light);border:1px solid rgba(32,75,111,.06);border-radius:6px}.principles-list{display:flex;flex-direction:column;gap:var(--space-md)}.principle{display:flex;gap:1rem;align-items:flex-start}.principle-number{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--color-gold);line-height:1.4;flex-shrink:0;width:2rem;transition:color var(--duration-base) ease,text-shadow var(--duration-base) ease}.principle:hover .principle-number{color:var(--color-gold-light);text-shadow:0 0 12px rgba(200,164,94,.3)}.principle-title{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;color:var(--color-navy);line-height:1.4;position:relative;display:inline;background-image:linear-gradient(var(--color-gold-light),var(--color-gold-light));background-size:0% 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size var(--duration-base) var(--ease-out-expo)}.principle:hover .principle-title{background-size:100% 1px}.principle-text{font-size:var(--text-sm);color:var(--color-stone);line-height:1.6;margin-top:.25rem}@media(max-width:768px){.about-layout{grid-template-columns:1fr;gap:var(--space-lg)}.about-principles{padding:var(--space-md)}}.contact{background:linear-gradient(170deg,var(--color-charcoal) 0%,var(--color-navy-deep) 100%);color:var(--color-cream);overflow:hidden}.contact .text-caption{color:var(--color-teal)}.contact .text-caption:before{background:var(--color-teal)}.contact .heading-2{color:var(--color-cream)}.contact .text-body-lg{color:var(--color-silver)}.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--space-xl);align-items:start}.contact-form{display:flex;flex-direction:column;gap:var(--space-sm)}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-label{font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-silver)}.form-optional{font-weight:400;text-transform:none;letter-spacing:0;color:var(--color-slate)}.form-input{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-cream);background-color:#ffffff0a;border:1.5px solid rgba(255,255,255,.1);padding:.875rem 1rem;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease,background-color var(--duration-fast) ease;border-radius:4px;-webkit-appearance:none}.form-input:hover{border-color:#ffffff2e;background-color:#ffffff0d}.form-input::placeholder{color:var(--color-slate)}.form-input:focus{outline:none;border-color:var(--color-teal);box-shadow:0 0 0 3px #3aafa926;background-color:#ffffff0f}.form-textarea{resize:vertical;min-height:6rem}.contact-submit{align-self:flex-start;margin-top:var(--space-xs)}.contact-submit:disabled{cursor:default;opacity:.8;transform:none;box-shadow:none}.form-group.focused .form-label{color:var(--color-teal)}.form-group.has-value .form-label{color:var(--color-cream)}.contact-motif{position:absolute;top:-20%;right:-10%;width:60%;height:80%;opacity:.03;pointer-events:none;color:var(--color-teal)}@media(max-width:768px){.contact-layout{grid-template-columns:1fr;gap:var(--space-lg)}.contact-submit{width:100%;justify-content:center}}.site-footer{background-color:var(--color-charcoal);color:var(--color-silver);padding-block:var(--space-lg);position:relative;overflow:hidden}.footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);padding-bottom:var(--space-lg);border-bottom:1px solid rgba(255,255,255,.04)}.footer-logo{height:36px;width:auto;opacity:.75}.footer-tagline{font-size:var(--text-sm);color:var(--color-slate);margin-top:.75rem;max-width:18rem}.footer-links{display:flex;gap:2rem;flex-wrap:wrap}.footer-link{font-size:var(--text-xs);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-slate);text-decoration:none;transition:color var(--duration-fast) ease}.footer-link:hover{color:var(--color-teal-light)}.footer-bottom{padding-top:var(--space-md)}.footer-copyright{font-size:var(--text-xs);color:var(--color-slate);letter-spacing:.02em}.footer-watermark{position:absolute;bottom:-15%;right:-3%;width:200px;height:200px;pointer-events:none;opacity:.025}.footer-watermark-img{width:100%;height:100%;object-fit:contain}@media(max-width:768px){.footer-inner{flex-direction:column;gap:var(--space-md)}.footer-links{gap:1.25rem}}@media(prefers-reduced-motion:no-preference){@keyframes drawRoute{to{stroke-dashoffset:0}}.route-line-1{animation:drawRoute 3s var(--ease-out-quint) .6s forwards}.route-line-2{animation:drawRoute 3.5s var(--ease-out-quint) 1s forwards}.route-line-3{animation:drawRoute 4s var(--ease-out-quint) 1.4s forwards}}@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(24px);transition:opacity var(--duration-slow) var(--ease-out-expo),transform var(--duration-slow) var(--ease-out-expo)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}.skip-link{position:absolute;top:-100%;left:50%;transform:translate(-50%);background-color:var(--color-navy);color:var(--color-cream);padding:.75rem 1.5rem;font-size:var(--text-sm);font-weight:600;z-index:200;transition:top var(--duration-fast) ease}.skip-link:focus{top:1rem}.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}@media(prefers-reduced-motion:no-preference){.service-item.reveal{opacity:0;transform:translateY(32px)}.service-item.reveal.visible{opacity:1;transform:translateY(0)}.about-principles.reveal{opacity:0;transform:translate(24px)}.about-principles.reveal.visible{opacity:1;transform:translate(0)}.contact-form.reveal{opacity:0;transform:translateY(32px);transition-duration:1s}.contact-form.reveal.visible{opacity:1;transform:translateY(0)}.approach-card.reveal{opacity:0;transform:translateY(32px) scale(.98)}.approach-card.reveal.visible{opacity:1;transform:translateY(0) scale(1)}}@media(min-width:769px)and (max-width:1024px){.services-grid{grid-template-columns:1fr}.about-layout,.contact-layout{grid-template-columns:1fr;gap:var(--space-lg)}}
