:root{color-scheme:dark;--cream:#f8f0e4;--ink:#f8f0e4;--rule:rgba(248,240,228,.25);--page-pad:clamp(24px,5vw,88px);--serif:'Instrument Serif',Georgia,serif;--sans:Manrope,'Trebuchet MS',sans-serif}
*{box-sizing:border-box}html{margin:0;background:#080d20;scroll-padding-top:0}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:7px}::selection{background:#b9a6ce;color:#201b32}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}em{font-weight:400}img{object-fit:contain}button{border:0;background:none}a,button{touch-action:manipulation}
.skip-link{position:fixed;left:20px;top:16px;padding:14px;background:#f8f0e4;color:#181c30;transform:translateY(-150%);z-index:20}.skip-link:focus{transform:none}
.atmosphere{position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(160deg,#080d20,#242c4a 70%,#665572)}#concept-sky{position:absolute;inset:0;display:block;width:100%;height:100%}.paper-grain{position:absolute;inset:0;opacity:.075;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.8' filter='url(%23n)'/%3E%3C/svg%3E")}
.site-header{position:fixed;top:0;left:0;width:100%;padding:18px var(--page-pad);display:flex;justify-content:space-between;align-items:center;z-index:5;color:var(--palette-ink,#30283b);background:transparent;opacity:0;visibility:hidden;transform:translateY(-12px);pointer-events:none;transition:opacity 320ms ease,transform 320ms ease,visibility 320ms}.has-content-header .site-header{opacity:1;visibility:visible;transform:none;pointer-events:auto}.site-header .wordmark img{filter:brightness(0);opacity:.8}.wordmark{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:26px;letter-spacing:-.02em}.site-header nav{display:flex;align-items:center;gap:34px;font-size:12px}.site-header nav a{padding:10px 0;border-bottom:1px solid transparent}.site-header nav a:hover{border-color:currentColor}.site-header nav a:last-child{display:flex;gap:22px}
.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:10px;font-weight:600;line-height:1.6}.hero{min-height:680px;height:100svh;position:relative;display:flex;align-items:center;justify-content:center;color:var(--cream);padding:110px var(--page-pad) 145px}.hero-center{width:100%;text-align:center;margin-top:20px}.hero h1{display:flex;align-items:center;justify-content:center;gap:.16em;font-size:clamp(110px,16.5vw,262px);line-height:1.08;letter-spacing:-.045em;white-space:nowrap}.hero-emblem{position:relative;display:block;flex:0 0 .4em;transform:translateY(.045em)}.hero-star{display:block;width:100%;height:auto;filter:drop-shadow(.009em .012em 0 #c9b8b5) drop-shadow(.018em .026em 0 #6b607d) drop-shadow(0 .05em .08em #0005)}.hero-deck{font-size:clamp(15px,1.25vw,18px);margin-top:45px;letter-spacing:.01em}.hero-bottom{position:absolute;bottom:34px;left:var(--page-pad);right:var(--page-pad);display:flex;justify-content:center;align-items:end;font-size:10px}.scroll-cue{display:flex;flex-direction:column;align-items:center;gap:15px;text-transform:uppercase;letter-spacing:.18em;font-size:9px}.scroll-rule{height:37px;width:1px;background:linear-gradient(transparent,#f8f0e47a)}
.content-section{position:relative;padding:55px var(--page-pad);scroll-margin-top:0}.our-world{min-height:100svh;padding-top:76px;padding-bottom:100px}.section-topline{display:flex;align-items:center;justify-content:space-between;padding-bottom:30px;border-top:1px solid var(--rule);padding-top:22px}.editorial-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10vw;align-items:start;padding:30px 0 110px}h2{font-size:clamp(52px,6.1vw,96px);letter-spacing:-.035em;line-height:.98}.intro-copy{max-width:390px;padding-top:3px}.intro-copy .lead{font-family:var(--serif);font-size:clamp(26px,2.5vw,38px);line-height:1.14;letter-spacing:-.02em;margin-bottom:23px}.intro-copy>p:not(.lead){font-size:13px;line-height:1.9;opacity:.86}.intro-copy .people-line{margin-top:22px;font-size:11px!important}.people-line span{font-weight:600}.people-line a{text-decoration:underline;text-underline-offset:4px}.expertise{scroll-margin-top:100px}.expertise-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px}.expertise-heading>p:last-child{font-size:11px;opacity:.75}.services{display:grid;grid-template-columns:1fr 1fr;column-gap:6vw;align-items:start}.services details{border-top:1px solid var(--rule);padding:0 0 2px}.services summary{cursor:pointer;display:flex;align-items:center;min-height:80px;list-style:none;gap:20px}.services summary::-webkit-details-marker{display:none}.service-number{font-size:9px;letter-spacing:.1em;opacity:.65}.services h3{font-size:clamp(26px,2.4vw,36px);letter-spacing:-.01em}.service-plus{position:relative;display:block;width:12px;height:12px;flex-shrink:0;margin-left:auto;transition:transform .2s}.service-plus::before,.service-plus::after{content:"";position:absolute;background:currentColor}.service-plus::before{left:0;right:0;top:5.5px;height:1px}.service-plus::after{top:0;bottom:0;left:5.5px;width:1px}.services details[open] .service-plus{transform:rotate(45deg)}.services details>p{padding:0 32px 22px 33px;font-size:13px;line-height:1.85;max-width:510px;opacity:.87}
.contact{color:var(--palette-ink,#322739);--rule:var(--palette-rule,#3227393d);min-height:100svh;display:flex;flex-direction:column;background:transparent}.contact .section-topline{width:100%}.contact-center{text-align:center;padding:32px 0 65px;margin:auto 0}.contact-star{filter:brightness(0);opacity:.72;width:27px;height:auto;margin-bottom:27px}.contact h2{font-size:clamp(72px,8vw,124px)}.contact-center>p{margin-top:24px;font-size:13px;line-height:1.8}.contact-link{display:inline-flex;align-items:center;gap:44px;font-family:var(--serif);font-size:clamp(24px,2.4vw,34px);margin-top:33px;padding-bottom:10px;border-bottom:1px solid currentColor}.email-link{display:block;width:max-content;max-width:100%;margin:17px auto 0;font-size:10px;opacity:.7}footer{border-top:1px solid var(--rule);padding-top:25px;display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;font-size:10px}footer .wordmark{font-size:24px}footer img{filter:brightness(0);opacity:.75}footer>span{opacity:.7}footer button{font-size:10px;padding:12px 0}
/* A still, sculpted wordmark with a warm silver face at every screen size. */
.hero h1{width:max-content;max-width:100%;margin-inline:auto}
.hero-logo-surface{position:relative;display:flex;align-items:center;justify-content:center;gap:inherit}
.hero-title-graphic{position:relative;display:block;isolation:isolate;word-spacing:.035em}
.hero-title-depth{position:absolute;inset:0;pointer-events:none;user-select:none;z-index:-1;color:#b5a6b1;text-shadow:.004em .005em 0 #e1d3cc,.009em .011em 0 #b6a6b8,.014em .017em 0 #97899f,.019em .023em 0 #80738e,.024em .029em 0 #6b607d,.029em .035em 0 #534c68,.035em .042em .025em #11122299,.02em .07em .09em #0007}
.hero-title-face{position:relative;display:block;color:var(--cream)}
.hero-emblem::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#fffaf0 3%,#d5ccdc 18%,#948ca8 34%,#efe3d4 46%,#fffdf4 49%,#8c8099 51%,#cbbdca 58%,#f8ebd5 75%,#b9a7c2 98%);mask:url('../assets/logo.png') center/contain no-repeat;-webkit-mask:url('../assets/logo.png') center/contain no-repeat}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
  .hero-title-face .intro-word{background:linear-gradient(180deg,#fffaf0 3%,#d5ccdc 18%,#948ca8 34%,#efe3d4 46%,#fffdf4 49%,#8c8099 51%,#cbbdca 58%,#f8ebd5 75%,#b9a7c2 98%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-stroke:clamp(.35px,.004em,1.1px) #fff7e866}
}
@media(forced-colors:active){.site-header{background:Canvas;color:CanvasText}.site-header::before{display:none}.hero-title-face .intro-word{background:none;color:CanvasText;-webkit-text-stroke:0}.hero-title-depth,.hero-emblem::after{display:none}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media(min-width:1600px){.editorial-grid{max-width:1440px;margin:auto}.our-world{display:flex;flex-direction:column;justify-content:center}.section-topline,.expertise{width:100%;max-width:1440px;margin-left:auto;margin-right:auto}}
@media(max-width:760px){.site-header{padding-block:16px}.site-header .wordmark{font-size:23px}.site-header nav{gap:18px;font-size:10px}.site-header nav a:not(:last-child){display:none}.site-header nav a:last-child{gap:9px}.hero{min-height:620px;padding-bottom:140px}.hero-center{margin-top:0}.hero h1{gap:.15em;font-size:clamp(54px,18.4vw,136px);margin:auto}.hero-emblem{flex-basis:.38em}.hero-deck{margin-top:28px;font-size:13px}.hero-bottom{bottom:27px}.scroll-cue{font-size:8px;letter-spacing:.12em;white-space:nowrap;gap:12px}.scroll-rule{height:32px}.our-world{padding-top:45px;padding-bottom:65px}.section-topline{padding-top:19px;padding-bottom:22px}.eyebrow{font-size:9px}.editorial-grid{grid-template-columns:1fr;gap:29px;padding:24px 0 100px}.intro-copy{max-width:450px}.intro-copy .lead{font-size:30px}.intro-copy>p:not(.lead){font-size:12px;line-height:1.85}.intro-copy .people-line{margin-top:16px}.expertise-heading{display:block}.expertise-heading>p:last-child{margin-top:9px;font-size:10px}.services{grid-template-columns:1fr}.services summary{min-height:70px}.services h3{font-size:31px}.services details>p{font-size:12px}.contact{padding-top:32px;min-height:790px}.contact-center{padding:30px 0 60px}.contact h2{font-size:83px}.contact-star{width:25px;margin-bottom:24px}footer{flex-wrap:wrap;padding-top:21px;gap:14px}footer .wordmark{font-size:23px}footer>span{order:3;width:100%;font-size:9px}footer button{font-size:9px}.contact-center>p{font-size:12px}}
@media(max-width:360px){.hero h1{font-size:18.4vw}.services h3{font-size:28px}}
@media(max-height:650px) and (min-width:761px){.hero{min-height:560px}.hero h1{font-size:15.4vw}.hero-deck{margin-top:28px}.hero-bottom{bottom:23px}}
/* Incoming content sits in the lighter lower half of the dithered horizon. */
.our-world{color:var(--palette-ink,#30283b);--rule:var(--palette-rule,rgba(48,40,59,.25))}
.hero-center,.hero-bottom{filter:opacity(var(--hero-visibility,1))}



/* Shared SVG social library: crisp shapes, never font or emoji glyphs. */
.social-icon{display:block;width:19px;height:19px;fill:currentColor;flex:none}
.people-line .person-link{display:inline-flex;align-items:center;gap:6px;min-height:40px;font-weight:600;text-decoration:none;white-space:nowrap;border-bottom:1px solid transparent}
.people-line .person-link:hover{border-bottom-color:currentColor}
.people-line .person-link .social-icon{color:#161616;opacity:.8;transition:opacity .2s}
.people-line .person-link:hover .social-icon{opacity:1}

/* The original glint opens into the star, then each word settles into place. */
.intro-word{display:inline-block}
.intro-spark{position:absolute;z-index:3;left:50%;top:50%;width:3px;height:3px;border-radius:50%;background:#f5f1e5;box-shadow:0 0 7px 2px #f1e6ce5c,0 0 28px 10px #bad3f01c;opacity:0;transform:translate(-50%,-50%);pointer-events:none}
html:is(.c3-intro-pending,.c3-intro-playing) .intro-word{will-change:opacity,transform}
html:is(.c3-intro-pending,.c3-intro-playing) .intro-first{opacity:var(--intro-first,0);transform:translateY(calc((1 - var(--intro-first,0))*5px))}
html:is(.c3-intro-pending,.c3-intro-playing) .intro-last{opacity:var(--intro-last,0);transform:translateY(calc((1 - var(--intro-last,0))*5px))}
html:is(.c3-intro-pending,.c3-intro-playing) .hero-star,html:is(.c3-intro-pending,.c3-intro-playing) .hero-emblem::after{opacity:var(--intro-mark,0);transform:scale(calc(.3 + var(--intro-mark,0)*.7));will-change:opacity,transform}
html:is(.c3-intro-pending,.c3-intro-playing) .intro-spark{opacity:var(--intro-spark,0);transform:translate(-50%,-50%) scale(calc(.65 + var(--intro-spark,0)*.5))}
html:is(.c3-intro-pending,.c3-intro-playing) :is(.hero-deck,.scroll-cue){opacity:var(--intro-support,0)}
@media(prefers-reduced-motion:reduce){html:is(.c3-intro-pending,.c3-intro-playing) :is(.intro-word,.hero-star){opacity:1;transform:none}html:is(.c3-intro-pending,.c3-intro-playing) :is(.hero-deck,.scroll-cue){opacity:1}html:is(.c3-intro-pending,.c3-intro-playing) .hero-emblem::after{opacity:1;transform:none}.intro-spark{display:none}}

/* Navigation arrives after the hero; section copy clears its fixed height. */
.our-world,.contact{padding-top:110px}
#hero-title:focus{outline:none}
@media(max-width:760px){.our-world,.contact{padding-top:94px}.expertise{scroll-margin-top:88px}}
@media(prefers-reduced-motion:reduce){.site-header{transition:none}}

/* One bright reflection crosses the complete metal wordmark on arrival. */
.intro-metal-sheen{position:absolute;inset:0;display:block;opacity:0;pointer-events:none;user-select:none;filter:drop-shadow(0 0 .012em #fff) drop-shadow(0 0 .055em #c4d9ffcc)}
.hero-title-intro-shine,.hero-emblem-intro-shine::before{background-image:linear-gradient(110deg,transparent 5%,#c7d9ff33 22%,#fff0c78c 35%,#fffdf2ed 43%,#fff 47%,#fff 53%,#fff7daeb 59%,#c9d8ff66 71%,transparent 90%);background-repeat:no-repeat;background-size:var(--intro-sheen-width,220px) var(--intro-sheen-height,200px);background-position:calc(var(--intro-sheen-x,-400px) - var(--sheen-offset-x,0px)) calc(0px - var(--sheen-offset-y,0px))}
.hero-title-intro-shine{background-clip:text;-webkit-background-clip:text;color:transparent}
.hero-emblem-intro-shine{z-index:2}
.hero-emblem-intro-shine::before{content:"";position:absolute;inset:0;mask:url('../assets/logo.png') center/contain no-repeat;-webkit-mask:url('../assets/logo.png') center/contain no-repeat}
html:is(.c3-intro-pending,.c3-intro-playing) .intro-metal-sheen{opacity:var(--intro-sheen-opacity,0)}
html:is(.c3-intro-pending,.c3-intro-playing) .hero-title-face{filter:brightness(calc(.85 + var(--intro-finish,0)*.15))}
@media(prefers-reduced-motion:reduce),(forced-colors:active){.intro-metal-sheen{display:none!important}.hero-title-face{filter:none!important}}

/* A delayed script can still sweep the already visible logo once. */
html.c3-intro-shimmer-only .intro-word,html.c3-intro-shimmer-only .hero-star,html.c3-intro-shimmer-only .hero-emblem::after{opacity:1;transform:none}
html.c3-intro-shimmer-only :is(.hero-deck,.scroll-cue){opacity:1}
html.c3-intro-shimmer-only .intro-spark{display:none}
html.c3-intro-shimmer-only .hero-title-face{filter:none}
