:root{--color-darkest: #262a31;--color-dark: #3c424e;--color-mid: #525a6b;--color-light: #687388;--color-pale: #e6e6e6;--color-white: #ffffff;--bg: var(--color-white);--bg-alt: #f2f3f5;--bg-dark: var(--color-darkest);--ink: var(--color-dark);--ink-2: var(--color-mid);--ink-3: var(--color-light);--border: var(--color-pale);--white: var(--color-white);--font: "Inria Sans", system-ui, sans-serif;--section-y: clamp(80px, 11vw, 136px);--container-x: clamp(20px, 6vw, 80px);--max-w: 1240px;--ease: cubic-bezier(.16, 1, .3, 1);--dur: .3s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-weight:300;font-size:1rem;line-height:1.65;min-height:100dvh}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}.container{max-width:var(--max-w);margin:0 auto;padding:0 var(--container-x)}.section{padding:var(--section-y) 0}.section--dark{background:var(--bg-dark);color:var(--white)}.section--alt{background:var(--bg-alt)}.display{font-style:italic;font-weight:400;line-height:1.08;letter-spacing:-.015em}.display--xl{font-size:clamp(2.75rem,6.5vw,6rem)}.display--lg{font-size:clamp(2.25rem,5vw,4.5rem)}.display--md{font-size:clamp(1.875rem,3.5vw,3rem)}.display--sm{font-size:clamp(1.5rem,2.5vw,2.25rem)}.label{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.875rem;font-family:var(--font);font-size:.875rem;font-weight:400;letter-spacing:.03em;border:none;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease),opacity var(--dur) var(--ease);text-decoration:none;line-height:1}.btn--primary{background:var(--ink);color:var(--white)}.btn--primary:hover{opacity:.8}.btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--border)}.btn--ghost:hover{border-color:var(--ink)}.btn--ghost-white{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.3)}.btn--ghost-white:hover{border-color:var(--white)}.page-intro{padding:calc(72px + clamp(48px,8vw,96px)) 0 clamp(48px,6vw,80px);border-bottom:1px solid var(--border)}.page-intro .label{margin-bottom:1.5rem}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.form-field input,.form-field textarea{background:transparent;border:none;border-bottom:1px solid var(--border);padding:.75rem 0;font-family:var(--font);font-size:1rem;font-weight:300;color:var(--ink);outline:none;transition:border-color var(--dur) var(--ease);width:100%}.form-field input:focus,.form-field textarea:focus{border-bottom-color:var(--ink)}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--ink-3)}.form-field textarea{resize:none;min-height:120px}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .75s var(--ease) both}.delay-1{animation-delay:.08s}.delay-2{animation-delay:.16s}.delay-3{animation-delay:.24s}.delay-4{animation-delay:.32s}.delay-5{animation-delay:.4s}.nav{position:fixed;inset:0 0 auto;z-index:100;background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color var(--dur) var(--ease)}.nav.scrolled{border-bottom-color:var(--border)}.nav__inner{display:flex;align-items:center;justify-content:space-between;height:72px;gap:2rem}.nav__logo{flex-shrink:0;transition:opacity var(--dur) var(--ease)}.nav__logo:hover{opacity:.65}.nav__logo img{height:26px;width:auto}.nav__links{display:flex;align-items:center;gap:2.25rem;list-style:none}.nav__link{font-size:.875rem;font-weight:400;color:var(--ink-2);letter-spacing:.01em;position:relative;transition:color var(--dur) var(--ease)}.nav__link:after{content:"";position:absolute;bottom:-3px;left:0;right:0;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform var(--dur) var(--ease)}.nav__link:hover,.nav__link--active{color:var(--ink)}.nav__link:hover:after,.nav__link--active:after{transform:scaleX(1)}.nav__toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.nav__toggle span{display:block;width:22px;height:1px;background:var(--ink);transition:all var(--dur) var(--ease)}.nav__toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav__toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav__toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}@media(max-width:768px){.nav__toggle{display:flex}.nav__links{display:none;position:fixed;inset:72px 0 0;background:var(--bg);flex-direction:column;align-items:center;justify-content:center;gap:2rem}.nav__links.open{display:flex}.nav__link{font-size:1.25rem}}.footer{border-top:1px solid var(--border);padding-top:4rem;padding-bottom:2rem;margin-top:auto}.footer__inner{display:grid;grid-template-columns:1fr auto auto;gap:4rem;align-items:start;padding-bottom:3rem;border-bottom:1px solid var(--border)}@media(max-width:768px){.footer__inner{grid-template-columns:1fr;gap:2.5rem}}.footer__logo{filter:none}.footer__tagline{margin-top:.875rem;font-size:.9rem;font-style:italic;color:var(--ink-3)}.footer__nav ul{list-style:none;display:flex;flex-direction:column;gap:.625rem}.footer__nav a{font-size:.875rem;color:var(--ink-2);transition:color var(--dur) var(--ease)}.footer__nav a:hover{color:var(--ink)}.footer__email{font-size:.875rem;color:var(--ink-2);border-bottom:1px solid transparent;padding-bottom:1px;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.footer__email:hover{color:var(--ink);border-bottom-color:var(--ink)}.footer__bottom{padding-top:1.5rem;display:flex;align-items:center;justify-content:space-between}.footer__bottom p{font-size:.75rem;color:var(--ink-3)}
