html{scroll-behavior:smooth;font-size:16px}:root{--navy:#0f1f3d;--navy-mid:#1a3260;--navy-lt:#2a4a8a;--white:#fafaf8;--offwhite:#f0ede6;--rule:#0f1f3d1f;--muted:#4a5568;--gold:#b89a5a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--white);color:var(--navy);-webkit-font-smoothing:antialiased;font-family:Jost,sans-serif;font-size:17px;font-weight:400}.rule{background:var(--rule);width:100%;height:1px}.serif{font-family:Playfair Display,serif}nav{z-index:100;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--rule);background:#fafaf8eb;justify-content:space-between;align-items:center;height:64px;padding:0 3.5rem;display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{color:var(--navy);letter-spacing:.01em;font-family:Playfair Display,serif;font-size:1.05rem;font-weight:500;text-decoration:none}.nav-logo em{color:var(--gold);font-style:italic}.nav-links{gap:2.5rem;list-style:none;display:flex}.nav-links a{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:400;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--navy)}.nav-cta{letter-spacing:.1em;text-transform:uppercase;background:var(--navy);padding:.55rem 1.4rem;font-size:.75rem;font-weight:500;text-decoration:none;color:var(--white)!important;transition:background .2s!important}.nav-cta:hover{background:var(--navy-lt)!important;color:var(--white)!important}.hero{grid-template-columns:1fr 1fr;min-height:100vh;padding-top:64px;display:grid}.hero-left{background:var(--navy);flex-direction:column;justify-content:flex-end;padding:5rem 4rem 5rem 3.5rem;display:flex;position:relative;overflow:hidden}.hero-left:before{content:"+";color:#ffffff08;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:Jost,sans-serif;font-size:28rem;font-weight:300;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--gold);opacity:0;margin-bottom:2rem;font-size:.7rem;font-weight:400;animation:.7s .4s forwards fadeUp}.hero-h1{color:var(--white);opacity:0;margin-bottom:2rem;font-family:Playfair Display,serif;font-size:clamp(3rem,5.5vw,5.2rem);font-weight:400;line-height:1.1;animation:.8s .6s forwards fadeUp}.hero-h1 em{color:var(--gold);font-style:italic}.hero-sub{color:#fafaf8d1;opacity:0;max-width:380px;margin-bottom:3rem;font-size:1rem;line-height:1.8;animation:.8s .8s forwards fadeUp}.hero-actions{opacity:0;flex-wrap:wrap;gap:1rem;animation:.8s 1s forwards fadeUp;display:flex}.btn-white{letter-spacing:.1em;text-transform:uppercase;color:var(--navy);background:var(--white);padding:.9rem 2rem;font-size:.75rem;font-weight:500;text-decoration:none;transition:background .2s}.btn-white:hover{background:var(--offwhite)}.btn-ghost{letter-spacing:.1em;text-transform:uppercase;color:#fafaf899;border:1px solid #fafaf833;padding:.9rem 2rem;font-size:.75rem;font-weight:400;text-decoration:none;transition:border-color .2s,color .2s}.btn-ghost:hover{color:var(--white);border-color:#fafaf899}.hero-right{background:var(--offwhite);flex-direction:column;justify-content:flex-end;padding:5rem 3.5rem 5rem 4rem;display:flex}.hero-stat-grid{grid-template-columns:1fr 1fr;gap:3rem 2rem;margin-bottom:3rem;display:grid}.hero-stat-num{color:var(--navy);margin-bottom:.4rem;font-family:Playfair Display,serif;font-size:3.5rem;font-weight:400;line-height:1}.hero-stat-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.hero-location{border-top:1px solid var(--rule);align-items:center;gap:.8rem;padding-top:2rem;display:flex}.hero-location-dot{background:var(--navy);border-radius:50%;flex-shrink:0;width:8px;height:8px}.hero-location-text{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.75rem}.services{background:var(--white);padding:7rem 3.5rem}.block-header{border-bottom:1px solid var(--rule);grid-template-columns:1fr 2fr;align-items:end;gap:4rem;margin-bottom:4rem;padding-bottom:2.5rem;display:grid}.block-label{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.8rem;font-size:.75rem}.block-h2{color:var(--navy);font-family:Playfair Display,serif;font-size:clamp(2.2rem,4vw,3.5rem);font-weight:400;line-height:1.1}.block-h2 em{color:var(--navy-lt);font-style:italic}.expertise .block-h2{color:var(--white)}.expertise .block-h2 em{color:var(--gold)}.expertise .block-label{color:#fafaf899}.expertise .block-intro,.contact .block-intro{color:#fafaf8bf}.contact .block-h2{color:var(--navy)}.contact .block-h2 em{color:var(--gold)}.contact .block-label{color:var(--muted)}.services .block-h2{color:var(--navy)}.services .block-h2 em{color:var(--gold)}.services .block-label{color:var(--muted)}.block-intro{color:var(--muted);align-self:end;max-width:440px;font-size:1rem;line-height:1.85}.services-list{border-top:1px solid var(--rule);grid-template-columns:repeat(3,1fr);display:grid}.service-item{border-right:1px solid var(--rule);padding:3rem 2.5rem 3rem 0;transition:background .3s;position:relative}.service-item:last-child{border-right:none;padding-right:0}.service-item:first-child{padding-left:0}.service-item+.service-item{padding-left:2.5rem}.service-marker{background:var(--gold);width:32px;height:1px;margin-bottom:2rem;transition:width .3s}.service-item:hover .service-marker{width:56px}.service-title{color:var(--navy);margin-bottom:1rem;font-family:Playfair Display,serif;font-size:1.3rem;font-weight:500;line-height:1.25}.service-desc{color:var(--muted);font-size:.95rem;line-height:1.8}.expertise{background:var(--navy);grid-template-columns:1fr 1.4fr;align-items:center;gap:6rem;padding:7rem 3.5rem;display:grid}.expertise-left .block-label{color:#fafaf899}.expertise-text{color:#fafaf8bf;max-width:360px;margin-top:1.5rem;font-size:1rem;line-height:1.85}.expertise-stack{background:#ffffff0f;grid-template-columns:1fr 1fr;gap:1px;display:grid}.stack-item{background:var(--navy);padding:2rem;transition:background .25s}.stack-item:hover{background:var(--navy-mid)}.stack-name{color:var(--white);letter-spacing:.04em;margin-bottom:.4rem;font-size:.9rem;font-weight:500}.stack-desc{color:#fafaf8a6;font-size:.82rem;line-height:1.6}.about{background:var(--white);border-top:1px solid var(--rule);grid-template-columns:1.2fr 1fr;align-items:center;gap:7rem;padding:7rem 3.5rem;display:grid}.about-portrait{background:var(--offwhite);aspect-ratio:4/5;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.about-portrait-inner{color:#0f1f3d0f;-webkit-user-select:none;user-select:none;font-family:Playfair Display,serif;font-size:11rem;font-style:italic;font-weight:400;line-height:1}.about-portrait-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);background:var(--white);padding:.5rem 1rem;font-size:.7rem;position:absolute;bottom:2rem;left:2rem}.about-content .block-label{margin-bottom:.5rem}.about-content .block-h2{margin-bottom:1.5rem}.about-body{color:var(--muted);margin-bottom:1.2rem;font-size:1rem;line-height:1.85}.about-sig{border-top:1px solid var(--rule);margin-top:2.5rem;padding-top:2rem}.about-sig-name{color:var(--navy);margin-bottom:.3rem;font-family:Playfair Display,serif;font-size:1.1rem;font-style:italic}.about-sig-role{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.contact{background:var(--offwhite);border-top:1px solid var(--rule);grid-template-columns:1fr 1fr;align-items:center;gap:6rem;padding:7rem 3.5rem;display:grid}.contact-left .block-h2{margin-bottom:1rem}.contact-sub{color:var(--muted);margin-bottom:2.5rem;font-size:1rem;line-height:1.8}.contact-email-link{color:var(--navy);border-bottom:1px solid var(--navy);padding-bottom:2px;font-family:Playfair Display,serif;font-size:1.1rem;font-style:italic;text-decoration:none;transition:color .2s,border-color .2s}.contact-email-link:hover{color:var(--gold);border-color:var(--gold)}.contact-right{background:var(--navy);padding:3.5rem}.contact-detail{border-bottom:1px solid #ffffff12;margin-bottom:2rem;padding-bottom:2rem}.contact-detail:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.contact-detail-label{letter-spacing:.16em;text-transform:uppercase;color:#fafaf880;margin-bottom:.5rem;font-size:.72rem}.contact-detail-value{color:var(--white);font-size:1rem;font-weight:400}.contact-detail-value a{color:var(--white);text-decoration:none;transition:color .2s}.contact-detail-value a:hover{color:var(--gold)}footer{border-top:1px solid var(--rule);background:var(--white);justify-content:space-between;align-items:center;padding:2rem 3.5rem;display:flex}.footer-brand{color:var(--navy);font-family:Playfair Display,serif;font-size:.85rem;font-style:italic}.footer-copy{letter-spacing:.08em;color:var(--muted);font-size:.7rem}.footer-links{gap:2rem;list-style:none;display:flex}.footer-links a{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.7rem;text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--navy)}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(28px)}.reveal.visible{opacity:1;transform:translateY(0)}@media (width<=960px){nav{padding:0 1.5rem}.nav-links li:not(:last-child){display:none}.hero{min-height:unset;grid-template-columns:1fr}.hero-left{min-height:65vh;padding:4rem 1.5rem 3rem}.hero-right{background:var(--offwhite);padding:3rem 1.5rem}.hero-stat-grid{grid-template-columns:1fr 1fr;gap:2rem 1.5rem}.services{background:var(--white);padding:5rem 1.5rem}.block-header{grid-template-columns:1fr;gap:1.5rem}.services-list{grid-template-columns:1fr}.service-item{border-right:none;border-bottom:1px solid var(--rule);padding:2.5rem 0!important}.service-item:last-child{border-bottom:none}.expertise{grid-template-columns:1fr;gap:3rem;padding:5rem 1.5rem}.expertise-stack{grid-template-columns:1fr 1fr}.about{background:var(--white);grid-template-columns:1fr;gap:3rem;padding:5rem 1.5rem}.about-portrait{aspect-ratio:3/2}.contact{grid-template-columns:1fr;gap:3rem;padding:5rem 1.5rem}footer{text-align:center;flex-direction:column;gap:1rem;padding:1.5rem}.footer-links{justify-content:center}}
