:root{--paper: #F3EFE6;--surface: #EAE6DC;--surface-hover: #E2DDD3;--ink: #1A1917;--ink-2: #3D3B38;--ink-3: #8A8884;--ink-4: #B8B4AE;--rule: rgba(26, 25, 23, .13);--rule-mid: rgba(26, 25, 23, .25);--blue: #4A7AA8;--blue-bg: rgba(74, 122, 168, .06);--serif: "Cormorant Garamond", Georgia, serif;--mono: "JetBrains Mono", "Courier New", monospace;--nav-bg: #F3EFE6}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:auto;background:var(--paper)}html.smooth-scroll{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--serif);overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='250' height='250'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='250' height='250' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");opacity:.038;pointer-events:none;z-index:10}nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:24px 56px;padding-top:calc(24px + env(safe-area-inset-top,0px));display:flex;justify-content:space-between;align-items:center;background:var(--nav-bg);border-bottom:1px solid var(--rule);box-shadow:0 -100px 0 100px var(--nav-bg)}.logo{display:flex;align-items:center;color:var(--blue);text-decoration:none;transition:opacity .25s}.logo:hover{opacity:.75}.logo svg{height:25px;width:auto}.nav-links{display:flex;gap:40px;align-items:center}.nav-links a{font-family:var(--mono);font-size:13px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--ink-3);text-decoration:none;transition:color .25s}.nav-links a:hover{color:var(--ink)}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;padding:4px;background:none;border:none;cursor:pointer;z-index:101}.nav-toggle span{display:block;width:22px;height:1.5px;background:var(--ink);transition:transform .25s,opacity .25s}.hero{min-height:66vh;display:flex;flex-direction:column;justify-content:center;padding:106px 56px;position:relative;border-bottom:1px solid var(--rule)}.hero-meta{font-family:var(--mono);font-size:clamp(9px,2.5vw,13px);font-weight:400;letter-spacing:clamp(1.5px,1vw,5px);text-transform:uppercase;color:var(--ink-3);margin:32px 0;display:flex;align-items:center;flex-wrap:nowrap;white-space:nowrap;gap:clamp(8px,1.8vw,16px);opacity:0;animation:fadeUp .8s .2s forwards}.hero-meta .sep{color:var(--ink-4)}.hero h1{font-family:var(--serif);font-size:clamp(48px,6vw,96px);font-weight:300;line-height:1.1;max-width:950px;color:var(--ink);opacity:0;animation:fadeUp .8s .4s forwards}.hero h1 em{font-style:italic;color:var(--blue)}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}section{padding:120px 56px;position:relative;border-bottom:1px solid var(--rule)}.section-label{font-family:var(--mono);font-size:14px;font-weight:500;letter-spacing:5px;text-transform:uppercase;color:var(--ink-2);margin-bottom:64px;padding-top:14px;border-top:2px solid var(--ink);display:flex;align-items:center;gap:20px}.section-label .num{color:var(--ink-4);font-weight:300}.about-text{font-family:var(--serif);font-size:clamp(28px,3.5vw,50px);font-weight:300;line-height:1.4;max-width:1000px;color:var(--ink-2)}.about-text strong{color:var(--ink);font-weight:400}.focus-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;max-width:1200px;background:var(--rule)}.focus-card{background:var(--paper);padding:52px 44px;border-left:2px solid transparent;transition:background .3s,border-color .3s}.focus-card:hover{background:var(--surface);border-left-color:var(--blue)}.focus-num{font-family:var(--mono);font-size:13px;font-weight:300;letter-spacing:3px;color:var(--ink-4);margin-bottom:28px}.focus-card h3{font-family:var(--mono);font-size:14px;font-weight:500;letter-spacing:4px;text-transform:uppercase;color:var(--ink);margin-bottom:18px}.focus-card p{font-family:var(--serif);font-size:17px;font-weight:300;line-height:1.75;color:var(--ink-2)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:1px;max-width:1200px;background:var(--rule)}.portfolio-card{background:var(--paper);padding:23px 28px 49px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:130px;cursor:default;border-left:2px solid transparent;transition:background .3s,border-color .3s}.portfolio-card:hover,.portfolio-card.is-active{background:var(--surface);border-left-color:var(--blue)}a.portfolio-card{cursor:pointer;text-decoration:none;color:inherit}.portfolio-name{font-family:var(--mono);font-size:14px;font-weight:400;letter-spacing:2.5px;text-transform:uppercase;color:var(--ink-3);transition:color .3s}.portfolio-card:hover .portfolio-name,.portfolio-card.is-active .portfolio-name{color:var(--ink)}.portfolio-logo{height:50px;max-width:calc(66% * var(--logo-scale, 1));object-fit:contain;filter:grayscale(1) opacity(.55);transition:filter .3s}.portfolio-card:hover .portfolio-logo,.portfolio-card.is-active .portfolio-logo{filter:grayscale(0) opacity(1)}.portfolio-logo--svg{height:31px;max-width:calc(44% * var(--logo-scale, 1))}.portfolio-meta{position:absolute;bottom:24px;left:0;right:0;text-align:center;font-family:var(--mono);font-size:11px;font-weight:300;letter-spacing:1px;white-space:nowrap;color:var(--blue);opacity:0;transform:translateY(3px);transition:all .3s}.portfolio-card:hover .portfolio-meta,.portfolio-card.is-active .portfolio-meta{opacity:1;transform:translateY(0)}.jobs-intro{font-family:var(--serif);font-size:20px;font-weight:300;line-height:1.65;color:var(--ink-2);max-width:560px;margin-bottom:40px}.jobs-list{display:flex;flex-direction:column;gap:1px;max-width:1200px;background:var(--rule)}.job-row{display:grid;grid-template-columns:1fr 180px 140px 48px;align-items:center;gap:24px;background:var(--paper);padding:22px 28px;cursor:pointer;text-decoration:none;border-left:2px solid transparent;transition:background .25s,border-color .25s}.job-row:hover{background:var(--surface);border-left-color:var(--blue)}.job-title-group{display:flex;flex-direction:column;gap:4px}.job-title{font-family:var(--serif);font-size:18px;font-weight:400;color:var(--ink);transition:color .25s}.job-row:hover .job-title{color:var(--blue)}.job-company{font-family:var(--mono);font-size:13px;font-weight:400;letter-spacing:2.5px;text-transform:uppercase;color:var(--blue)}.job-location{font-family:var(--mono);font-size:13px;font-weight:300;color:var(--ink-3)}.job-type{font-family:var(--mono);font-size:13px;font-weight:400;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-3);padding:4px 12px;border:1px solid var(--rule-mid);text-align:center;white-space:nowrap}.job-arrow{font-family:var(--mono);font-size:14px;color:var(--ink-4);transition:all .25s;text-align:center}.job-row:hover .job-arrow{color:var(--blue);transform:translate(4px)}.jobs-loading,.jobs-empty{padding:40px 28px;background:var(--paper);border:1px solid var(--rule)}.jobs-loading-text{font-family:var(--mono);font-size:13px;letter-spacing:3px;color:var(--ink-3);animation:pulse 2s ease-in-out infinite}.jobs-empty{font-family:var(--mono);font-size:13px;letter-spacing:3px;color:var(--ink-3)}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.jobs-list{transition:opacity .18s ease}.jobs-carousel-controls{display:flex;align-items:center;gap:20px;margin-top:16px;max-width:1200px}.jobs-prev,.jobs-next{font-family:var(--mono);font-size:16px;color:var(--ink-3);background:none;border:1px solid var(--rule-mid);width:36px;height:36px;cursor:pointer;transition:color .2s,border-color .2s;display:flex;align-items:center;justify-content:center}.jobs-prev:hover,.jobs-next:hover{color:var(--blue);border-color:var(--blue)}.jobs-page-indicator{font-family:var(--mono);font-size:12px;letter-spacing:2px;color:var(--ink-4)}.jobs-cta{margin-top:32px}.jobs-cta a{font-family:var(--mono);font-size:13px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--blue);text-decoration:none;transition:opacity .25s;display:inline-flex;align-items:center;gap:10px}.jobs-cta a:hover{opacity:.7}.jobs-cta a:after{content:"→";transition:transform .25s}.jobs-cta a:hover:after{transform:translate(4px)}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;max-width:900px;background:var(--rule)}.team-card{background:var(--paper);overflow:hidden;transition:background .3s}.team-card:hover{background:var(--surface)}.team-photo{width:100%;aspect-ratio:1;position:relative;overflow:hidden}.team-photo-inner{width:100%;height:100%;background:var(--surface);display:flex;align-items:center;justify-content:center}.team-photo-inner picture{display:block;width:100%;height:100%}.team-photo-inner img{width:100%;height:100%;object-fit:cover;object-position:center top}.team-photo-inner span{font-family:var(--mono);font-size:28px;font-weight:300;letter-spacing:4px;color:var(--ink-4)}.team-photo:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(transparent,#eae6dc80)}.team-info{padding:20px 24px 24px}.team-name{font-family:var(--serif);font-size:20px;font-weight:400;color:var(--ink);margin-bottom:4px}.team-role{font-family:var(--mono);font-size:13px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--ink-3)}.cta-section{min-height:50vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;border-bottom:none}.cta-section h2{font-family:var(--serif);font-size:clamp(36px,4.2vw,64px);font-weight:300;line-height:1.25;color:var(--ink-2);max-width:700px;margin-bottom:48px}.cta-section h2 em{font-style:italic;color:var(--blue)}.cta-button{font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:5px;text-transform:uppercase;color:var(--blue);background:transparent;border:1px solid rgba(74,122,168,.4);padding:16px 40px;cursor:pointer;text-decoration:none;display:inline-block;transition:all .25s}.cta-button:hover{background:var(--blue-bg);border-color:var(--blue)}footer{padding:40px 56px;background:var(--paper);border-top:1px solid var(--rule)}.footer-inner{display:flex;justify-content:space-between;align-items:center}footer p{font-family:var(--mono);font-size:13px;font-weight:300;letter-spacing:2.5px;text-transform:uppercase;color:var(--ink-3)}footer a{color:var(--ink-3);text-decoration:none;transition:color .2s}footer a:hover{color:var(--blue)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:1024px){nav{padding:20px 32px;padding-top:calc(20px + env(safe-area-inset-top,0px))}.nav-links{gap:24px}section{padding:100px 32px}.hero{padding:140px 32px 80px}.team-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){section{padding:80px 20px}.hero{padding:120px 20px 64px}nav{padding:16px 20px;padding-top:calc(16px + env(safe-area-inset-top,0px))}.nav-toggle{display:flex}nav.nav-open .nav-toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}nav.nav-open .nav-toggle span:nth-child(2){opacity:0}nav.nav-open .nav-toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 20px;background:var(--nav-bg);border-bottom:1px solid var(--rule);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility .25s}nav.nav-open .nav-links{opacity:1;visibility:visible;transform:translateY(0)}.nav-links a{font-size:13px;letter-spacing:3px;padding:16px 0;border-bottom:1px solid var(--rule)}.focus-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:repeat(2,1fr)}.job-row{grid-template-columns:max-content 1fr;column-gap:14px;row-gap:6px;padding:20px;align-items:baseline}.job-title-group{display:contents}.job-title{grid-column:1 / -1}.job-type{grid-column:1 / -1;justify-self:start}.job-arrow{display:none}}@media(max-width:480px){section{padding:64px 18px}.hero{padding:110px 18px 56px}.hero h1{font-size:clamp(34px,9vw,48px)}.section-label{margin-bottom:40px}.focus-card{padding:36px 28px}.team-grid{grid-template-columns:1fr}.footer-inner{flex-direction:column;align-items:flex-start;gap:16px}}
