:root{--navy:#020035;--navy-soft:#111760;--paper:#f6f4ef;--paper-2:#ece9e2;--muted:#77736d;--line:rgba(23,25,29,.14);--white:#ffffff;--accent:#020035}*{box-sizing:border-box}::selection{background:rgba(2,0,53,.16)}button,input,select,textarea{font:inherit}button{color:inherit}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #6e79ff;outline-offset:4px}.skipLink{position:fixed;left:16px;top:-80px;z-index:1000;background:white;color:var(--ink);padding:12px 16px;font-size:12px;font-weight:700;transition:top .2s ease}.skipLink:focus{top:16px}img{display:block}main{min-height:70vh;margin:0;padding:0}.shell{width:min(1240px,calc(100% - 48px));margin:0 auto}.siteHeader{position:fixed;inset:0 0 auto 0;z-index:100;color:white;background:transparent;border:0;transition:background .28s ease,box-shadow .28s ease,-webkit-backdrop-filter .28s ease;transition:background .28s ease,box-shadow .28s ease,backdrop-filter .28s ease;transition:background .28s ease,box-shadow .28s ease,backdrop-filter .28s ease,-webkit-backdrop-filter .28s ease}.siteHeaderSolid{background:rgba(13,15,19,.92);box-shadow:0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.siteHeader:before{display:none}.headerInner{position:relative;z-index:1;min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:30px}.siteHeader:not(.siteHeaderSolid) .brandLogo{filter:drop-shadow(0 2px 10px rgba(255,255,255,.18))}.siteHeader:not(.siteHeaderSolid) .nav{filter:drop-shadow(0 2px 10px rgba(0,0,0,.46))}.siteHeaderSolid .brandLogo{filter:brightness(0) invert(1)}.siteHeader:not(.siteHeaderSolid) .nav a{text-shadow:0 1px 12px rgba(0,0,0,.62)}.brand{display:inline-flex;align-items:center}.brandLogo{width:238px;height:auto;object-fit:contain}.nav{display:flex;gap:30px;font-size:13px}.menuButton,.nav{align-items:center}.menuButton{display:none;width:46px;height:46px;padding:0;border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.08);justify-content:center;flex-direction:column;gap:7px;cursor:pointer}.menuButton span{width:20px;height:1px;background:white;transition:transform .22s ease}.siteHeaderMenuOpen .menuButton span:first-child{transform:translateY(4px) rotate(45deg)}.siteHeaderMenuOpen .menuButton span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobileMenu{display:none}.nav a{opacity:.88;transition:opacity .2s ease}.nav a:hover{opacity:.62}.navCta{border:1px solid rgba(255,255,255,.72);background:rgba(255,255,255,.06);color:white;padding:13px 18px}.navCta:hover{opacity:1!important;background:white;color:var(--ink)}.hero{min-height:840px;height:min(92vh,960px);margin:0;padding:0;position:relative;top:0;overflow:hidden;background:var(--charcoal);color:white;display:flex;flex-direction:column}.heroBackdrop{position:absolute;inset:0;opacity:1}.heroBackdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,12,16,.42),rgba(10,12,16,.24) 31%,rgba(10,12,16,.06) 56%,rgba(10,12,16,0) 78%),linear-gradient(0deg,rgba(10,12,16,.2),rgba(10,12,16,0) 34%)}.heroPhoto{object-fit:cover;object-position:center 52%;filter:saturate(.98) contrast(1.01)}.heroInner{position:relative;z-index:2;padding-top:220px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:700;margin-bottom:30px}.light{color:rgba(255,255,255,.72)}.hero h1,.projectDetailHeading h1,.serviceHero h1{font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:-.045em;line-height:.93;margin:0}.hero h1{font-size:clamp(68px,8vw,116px);max-width:820px;text-shadow:0 2px 28px rgba(0,0,0,.22)}.heroCopy{max-width:520px;font-size:17px;line-height:1.6;color:rgba(255,255,255,.86);margin:34px 0 38px;text-shadow:0 1px 16px rgba(0,0,0,.24)}.heroActions{display:flex;align-items:center;gap:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;border:1px solid var(--ink);cursor:pointer}.buttonLight{color:var(--ink);background:white;border-color:white}.buttonDark{color:white;background:var(--navy);border-color:var(--navy)}.buttonLight:hover{background:rgba(255,255,255,.86)}.buttonDark:hover{background:#0d0b48;border-color:#0d0b48}.textLink{display:inline-flex;align-items:center;gap:12px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;padding-bottom:6px;border-bottom:1px solid}.lightLink{color:white}.heroFoot{position:relative;z-index:2;margin-top:auto;min-height:72px;border-top:1px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.66)}.section{padding:125px 0}.introSection{background:var(--paper)}.twoColIntro{display:grid;grid-template-columns:1.05fr .95fr;grid-gap:10vw;gap:10vw;align-items:start}.displaySmall,.pageTitle{font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:-.04em;line-height:1.02;margin:0}.displaySmall{font-size:clamp(48px,6vw,82px)}.introCopy{padding-top:56px}.aboutCopy p,.introCopy p{font-size:18px;line-height:1.75;color:var(--body);margin:0 0 35px}.servicesSection{background:var(--paper-2)}.sectionHeader,.sectionTitleRow{display:flex;align-items:end;justify-content:space-between;gap:32px}.sectionHeader{border-bottom:1px solid var(--line);padding-bottom:18px;color:var(--muted);font-size:10px;letter-spacing:.15em;text-transform:uppercase}.sectionHeader .eyebrow{margin:0;color:var(--ink)}.serviceList{border-bottom:1px solid var(--line)}.serviceRow{display:grid;grid-template-columns:80px 1fr 40px;align-items:center;grid-gap:24px;gap:24px;min-height:154px;border-top:1px solid var(--line);transition:padding .25s ease,background .25s ease}.serviceRow:first-child{border-top:0}.serviceRow:hover{padding-left:14px;background:rgba(23,25,29,.035)}.serviceIndex{font-size:10px;color:var(--muted);letter-spacing:.15em}.serviceRow h2,.serviceRow h3{font-family:Georgia,serif;font-size:clamp(30px,4vw,48px);font-weight:400;letter-spacing:-.025em;margin:0 0 8px}.serviceRow p{margin:0;color:var(--muted);font-size:14px}.serviceArrow{font-size:24px;justify-self:end}.projectsSection{background:var(--paper)}.sectionTitleRow{margin-bottom:54px}.sectionTitleRow .eyebrow{margin-bottom:20px}.projectsGrid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:56px 26px;gap:56px 26px}.projectsSection .projectsGrid{grid-template-columns:repeat(3,1fr);gap:42px 20px}.allProjects{grid-template-columns:repeat(2,1fr)}.projectCard{display:block}.projectImageWrap{position:relative;aspect-ratio:1.25/1;overflow:hidden;background:#eef0f7}.projectImage{object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.projectCard:hover .projectImage{transform:scale(1.025)}.projectMeta{display:flex;justify-content:space-between;gap:24px;align-items:start;padding-top:20px}.projectMeta h3{font-family:Georgia,serif;font-size:26px;font-weight:400;margin:0 0 7px}.projectMeta p{margin:0;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em}.projectArrow{font-size:22px}.placeholderNote{margin:32px 0 0;color:var(--muted);font-size:12px}.manifesto{background:var(--charcoal);color:white;padding:140px 0;box-shadow:inset 0 1px 0 rgba(2,0,53,.75)}.manifestoGrid{display:grid;grid-template-columns:.55fr 1.5fr .9fr;grid-gap:60px;gap:60px;align-items:start}.manifesto h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(58px,7vw,98px);letter-spacing:-.05em;line-height:.96;margin:0}.manifestoCopy{padding-top:20px}.manifestoCopy p{color:rgba(255,255,255,.67);line-height:1.75;font-size:16px;margin:0 0 34px}.finalCtaInner{position:relative;border-top:1px solid var(--line);padding-top:42px}.finalCtaInner h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(52px,7vw,94px);letter-spacing:-.05em;line-height:.99;max-width:920px;margin:0}.roundArrow{position:absolute;right:0;bottom:0;width:92px;height:92px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:30px}.footer{background:#0d0f13;color:rgba(255,255,255,.7);padding:74px 0 30px;border-top:1px solid rgba(2,0,53,.8)}.footerGrid{display:grid;grid-template-columns:1.45fr .55fr .85fr .8fr;grid-gap:58px;gap:58px}.footerGrid>div{display:flex;flex-direction:column;gap:12px}.footerLogo{width:260px;height:auto;margin-bottom:18px;filter:brightness(0) invert(1)}.footerGrid p{max-width:420px;line-height:1.7;margin:0}.footerLabel{color:white;letter-spacing:.16em;margin-bottom:8px}.footerBottom,.footerLabel{font-size:10px;text-transform:uppercase}.footerBottom{border-top:1px solid rgba(255,255,255,.12);margin-top:60px;padding-top:24px;letter-spacing:.12em;display:flex;justify-content:space-between;gap:20px}.pageHero{padding-top:180px}.pageTitle{font-size:clamp(64px,8vw,114px);max-width:980px}.pageLead{font-size:18px;line-height:1.65;max-width:600px;color:var(--muted);margin:30px 0 80px}.allProjects{margin-top:30px}.serviceHero{background:var(--charcoal);color:white;padding:215px 0 125px;box-shadow:inset 0 -2px 0 var(--navy)}.serviceHeroGrid{display:grid;grid-template-columns:1.4fr .6fr;grid-gap:8vw;gap:8vw;align-items:end}.serviceHero h1{font-size:clamp(70px,8vw,118px)}.serviceHero p{color:rgba(255,255,255,.68);font-size:18px;line-height:1.65;margin:0 0 12px}.aboutGrid,.projectStory,.serviceBody{display:grid;grid-template-columns:.72fr 1.28fr;grid-gap:10vw;gap:10vw}.projectStory h2,.serviceBody h2{font-family:Georgia,serif;font-size:clamp(44px,5vw,70px);font-weight:400;letter-spacing:-.04em;line-height:1.05;margin:0 0 30px}.projectStory p,.serviceBody p{font-size:18px;line-height:1.75;color:var(--body);margin:0 0 34px}.serviceDetailList{list-style:none;padding:0;margin:0 0 40px;border-top:1px solid var(--line)}.serviceDetailList li{padding:16px 0 16px 24px;border-bottom:1px solid var(--line);position:relative;color:var(--body)}.serviceDetailList li:before{content:"—";position:absolute;left:0;color:var(--muted)}.servicesIndex{background:var(--paper)}.projectDetailHero{padding-top:180px}.projectDetailHeading{display:flex;justify-content:space-between;align-items:end;gap:40px;padding-bottom:45px}.projectDetailHeading h1{font-size:clamp(66px,8vw,110px);color:var(--ink)}.projectDetailMeta{display:flex;flex-direction:column;gap:8px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:10px;text-align:right}.projectDetailImage{position:relative;aspect-ratio:2/1;background:#eef0f7;overflow:hidden}.projectDetailImage .projectImage{object-position:center}.projectOverviewSection{padding-bottom:92px}.projectGallerySection{padding:0 0 120px}.projectGalleryHeader{display:flex;justify-content:space-between;gap:24px;align-items:end;border-top:1px solid var(--line);padding:24px 0 34px;color:var(--muted);text-transform:uppercase;font-size:10px;letter-spacing:.14em}.projectGalleryHeader .eyebrow{color:var(--ink);margin:0}.projectGallery{display:grid;grid-template-columns:1.18fr .82fr;grid-gap:22px;gap:22px}.projectGalleryItem{position:relative;min-height:460px;overflow:hidden;background:#eef0f7}.projectGalleryItem:nth-child(3n+1){min-height:620px}.projectGalleryCount1{grid-template-columns:1fr}.projectGalleryCount1 .projectGalleryItem{min-height:min(70vw,760px)}.projectGalleryCount2 .projectGalleryItem{min-height:520px}.projectGalleryCount3 .projectGalleryItem:first-child{grid-row:span 2}.projectGalleryCount3 .projectGalleryItem:nth-child(2),.projectGalleryCount3 .projectGalleryItem:nth-child(3){min-height:299px}.projectGalleryImage{object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.projectGalleryItem:hover .projectGalleryImage{transform:scale(1.015)}.galleryIndex{position:absolute;left:16px;bottom:14px;z-index:2;color:white;background:rgba(17,19,24,.86);padding:7px 9px;font-size:9px;letter-spacing:.14em}.projectNext{padding-top:28px}.contactPage{padding-top:180px}.contactGrid{display:grid;grid-template-columns:.85fr 1.15fr;grid-gap:9vw;gap:9vw;align-items:start}.contactDirect{display:flex;flex-direction:column;gap:12px;margin-top:48px;font-size:15px}.contactForm{background:var(--paper-2);padding:38px}.formGrid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:22px;gap:22px}.contactForm label{display:flex;flex-direction:column;gap:9px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-bottom:22px}.contactForm input,.contactForm select,.contactForm textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(23,25,29,.28);padding:12px 0;font:inherit;font-size:15px;color:var(--ink);outline:none}.contactForm textarea{border:1px solid rgba(23,25,29,.28);padding:14px;resize:vertical}.formStatus{font-size:13px;color:var(--muted);margin:18px 0 0}.formStatus.success{color:#2f613e}.formStatus.error{color:#8a2f2f}.formPrivacy{margin:14px 0 0;color:var(--muted);font-size:11px;line-height:1.6}.formPrivacy a{text-decoration:underline;text-underline-offset:2px}.honeypot{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.aboutOwnerSection{background:var(--paper-2)}.legalPage,.notFoundPage{padding-top:190px}.legalShell{max-width:900px}.legalCopy{max-width:720px;margin-top:54px}.legalCopy p{color:var(--body);font-size:17px;line-height:1.75;margin:0 0 24px}.nextProjectSection{background:var(--paper-2)}.nextProjectInner{position:relative;border-top:1px solid var(--line);padding-top:42px;min-height:260px}.nextProjectInner h2{font-family:Georgia,serif;font-size:clamp(52px,7vw,88px);font-weight:400;letter-spacing:-.045em;margin:0}@media (max-width:900px){.shell{width:min(100% - 32px,1240px)}.desktopNav{display:none}.menuButton{display:flex}.mobileMenu{display:block;position:fixed;inset:0;z-index:0;background:rgba(13,15,19,.985);opacity:0;visibility:hidden;transform:translateY(-14px);transition:opacity .2s ease,visibility .2s ease,transform .25s ease}.mobileMenuOpen{opacity:1;visibility:visible;transform:translateY(0)}.mobileNav{padding-top:150px;display:flex;flex-direction:column}.mobileNav a{display:grid;grid-template-columns:46px 1fr;align-items:center;min-height:84px;border-top:1px solid rgba(255,255,255,.14);font-family:Georgia,serif;font-size:34px;letter-spacing:-.02em}.mobileNav a span{font-family:Arial,sans-serif;font-size:9px;letter-spacing:.14em;color:rgba(255,255,255,.5)}.mobileNavCta{color:white;border-bottom:1px solid rgba(255,255,255,.14)}.hero{min-height:760px}.heroInner{padding-top:190px}.heroFoot{gap:20px;overflow:hidden}.heroFoot span:nth-child(3){display:none}.section{padding:88px 0}.aboutGrid,.contactGrid,.projectStory,.serviceBody,.serviceHeroGrid,.twoColIntro{grid-template-columns:1fr;gap:46px}.introCopy{padding-top:0}.allProjects,.projectsGrid,.projectsSection .projectsGrid{grid-template-columns:1fr;gap:42px}.projectGallery{grid-template-columns:1fr}.projectGalleryCount2 .projectGalleryItem,.projectGalleryCount3 .projectGalleryItem:first-child,.projectGalleryCount3 .projectGalleryItem:nth-child(2),.projectGalleryCount3 .projectGalleryItem:nth-child(3),.projectGalleryItem,.projectGalleryItem:nth-child(3n+1){min-height:64vw;grid-row:auto}.manifestoGrid{grid-template-columns:1fr;gap:38px}.manifestoCopy{max-width:620px}.footerGrid{grid-template-columns:1fr 1fr;gap:42px}.serviceHero{padding-top:180px}.serviceHeroGrid p{max-width:620px}.projectDetailHeading{align-items:start;flex-direction:column}.projectDetailMeta{text-align:left}.projectDetailImage{aspect-ratio:1.25/1}.roundArrow{position:static;margin-top:40px}}@media (max-width:600px){.headerInner{min-height:84px}.brandLogo{width:188px;height:auto}.menuButton{width:42px;height:42px}.hero h1{font-size:66px}.heroCopy{font-size:16px}.heroActions{align-items:flex-start;flex-direction:column}.heroFoot{font-size:8px}.serviceRow{grid-template-columns:42px 1fr 22px;min-height:132px;gap:12px}.serviceRow p{display:none}.sectionTitleRow{align-items:start;flex-direction:column}.manifesto{padding:95px 0}.finalCtaInner h2{font-size:52px}.contactPage,.pageHero,.projectDetailHero{padding-top:145px}.formGrid{grid-template-columns:1fr;gap:0}.contactForm{padding:26px 20px}.footerGrid{grid-template-columns:1fr}.footerBottom{flex-direction:column}.mobileNav{padding-top:120px}.mobileNav a{min-height:74px;font-size:30px}.legalPage,.notFoundPage{padding-top:145px}}:root{--charcoal:#151719;--ink:#17191d;--body:#4a4b4e;--muted:#6b6761}.footer,.hero,.manifesto,.serviceHero{background-color:var(--navy)}.siteHeaderSolid{background:rgba(2,0,53,.94)}.manifesto{box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.serviceHero{box-shadow:inset 0 -1px 0 rgba(255,255,255,.08)}.footer{border-top:1px solid rgba(255,255,255,.1)}.ownerIdentity{display:flex;flex-direction:column;gap:30px}.ownerHeadshot{width:min(100%,360px);height:auto;aspect-ratio:624/910;object-fit:cover;object-position:center top;background:var(--paper-2)}.businessDetails{font-size:12px}.footerLegalLinks{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 18px}.footerLegalButton{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;background:transparent;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.legalUpdated{margin:24px 0 0;color:var(--muted);font-size:13px}.legalCopy h2{margin:42px 0 14px;font-family:Georgia,Times New Roman,serif;font-size:30px;font-weight:400;line-height:1.15}.legalCopy ul{margin:0 0 24px;padding-left:22px;color:var(--body);font-size:17px;line-height:1.75}.legalCopy a{text-decoration:underline;text-underline-offset:3px}.legalCopy code{font-size:.92em}.formDataNotice{margin:0 0 28px;color:var(--body);font-size:13px;line-height:1.55}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #5965e8;outline-offset:3px}.contactForm input:focus-visible,.contactForm select:focus-visible,.contactForm textarea:focus-visible{outline:3px solid #5965e8;outline-offset:3px;border-color:var(--navy)}.consentRow{flex-direction:row!important;align-items:flex-start;gap:12px!important;text-transform:none!important;letter-spacing:normal!important;font-size:13px!important;line-height:1.55;font-weight:400!important}.consentRow input[type=checkbox]{flex:0 0 auto;width:18px;height:18px;margin:2px 0 0;padding:0;border:1px solid var(--ink);accent-color:var(--navy)}.consentRow a{text-decoration:underline;text-underline-offset:2px}.cookieBanner{position:fixed;z-index:1000;left:24px;right:24px;bottom:24px;width:min(900px,calc(100% - 48px));margin:0 auto;padding:22px 24px;display:grid;grid-template-columns:1fr auto;grid-gap:28px;gap:28px;align-items:center;background:var(--navy);color:white;border:1px solid rgba(255,255,255,.24);box-shadow:0 18px 70px rgba(0,0,0,.25)}.cookieBanner strong{display:block;margin-bottom:8px;font-size:14px}.cookieBanner p{margin:0;max-width:620px;color:rgba(255,255,255,.82);font-size:13px;line-height:1.55}.cookieBanner a{color:white;text-decoration:underline;text-underline-offset:2px}.cookieActions{display:flex;flex-wrap:wrap;gap:10px}.cookiePrimary,.cookieSecondary{min-height:44px;padding:0 15px;border:1px solid white;font-size:12px;font-weight:700;cursor:pointer}.cookiePrimary{background:white;color:var(--navy)}.cookieSecondary{background:transparent;color:white}@media (max-width:900px){.ownerHeadshot{width:min(76vw,330px)}.siteHeaderMenuOpen{background:var(--navy)}.siteHeaderMenuOpen .headerInner{position:relative;z-index:3}.mobileMenu{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;z-index:2;overflow-y:auto;overscroll-behavior:contain;background:var(--navy)!important;backdrop-filter:none;-webkit-backdrop-filter:none}.mobileMenuOpen{opacity:1;visibility:visible;transform:none}.mobileNav{padding-top:132px;padding-bottom:48px}.mobileNav a{color:#fff}.cookieBanner{grid-template-columns:1fr;gap:18px}.footerLegalLinks{justify-content:flex-start}}@media (max-width:600px){.ownerHeadshot{width:min(72vw,280px)}.mobileNav{padding-top:112px}.cookieBanner{left:12px;right:12px;bottom:12px;width:calc(100% - 24px);padding:18px}.cookieActions{flex-direction:column-reverse}.cookiePrimary,.cookieSecondary{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}