@font-face{font-family:Geist;src:url('/fonts/geist-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Cormorant;src:url('/fonts/cormorant-garamond-latin.woff2') format('woff2');font-style:normal;font-weight:300 700;font-display:swap}
:root{--paper:#f0ede6;--ink:#302c25;--muted:#605a51;--line:#c9c2b7;--dark:#29241f;--serif:Cormorant,Georgia,serif;--sans:Geist,Arial,sans-serif;--gutter:clamp(24px,5vw,80px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:20px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}
img,video{display:block;width:100%;height:auto;object-fit:cover}
figure,p,h1,h2,h3,dl,dd{margin:0}
h1,h2,h3{font-weight:400}
h2{font-family:var(--serif);font-size:clamp(48px,5.3vw,80px);line-height:1.02;letter-spacing:-.03em;text-wrap:balance}
h3{font-family:var(--serif);font-size:clamp(34px,3vw,44px);line-height:1.12;letter-spacing:-.02em}
p+p{margin-top:20px}
.wrap{width:100%;max-width:1440px;margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:104px}
.section-intro{max-width:880px;margin-bottom:56px}
.eyebrow{font-size:16px;font-weight:500;line-height:1.5;margin-bottom:22px}
.lead{font-size:clamp(20px,1.8vw,26px);line-height:1.55;max-width:760px;margin-top:28px}
.note,figcaption{font-size:17px;line-height:1.6;color:var(--muted)}
.note{border-left:2px solid var(--line);padding-left:20px;margin-top:28px}
figcaption{margin-top:14px}
.skip-link{position:fixed;top:10px;left:10px;padding:12px 20px;background:var(--paper);z-index:20;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.button{display:inline-flex;justify-content:center;align-items:center;gap:32px;min-height:54px;padding:12px 25px;border-radius:100px;font-size:18px;line-height:1.5;font-weight:500;transition:background .2s,color .2s}
.button-light{color:var(--ink);background:var(--paper);border:1px solid var(--paper)}
.button-light:hover{background:#fff}
.button-dark{color:var(--paper);background:var(--dark);border:1px solid var(--dark)}
.button-dark:hover{background:#514438}
.text-link{display:inline-flex;gap:24px;align-items:center;margin-top:28px;padding-block:8px;border-bottom:1px solid currentColor;font-size:18px}
.site-header{position:absolute;top:0;left:0;width:100%;z-index:5;color:white;display:flex;align-items:center;justify-content:space-between;gap:36px;padding:28px var(--gutter)}
.brand{font-family:var(--serif);font-size:32px;line-height:1.2;z-index:2}
.site-header nav{display:flex;gap:32px;align-items:center;font-size:17px}
.site-header nav a{padding-block:12px}
.site-header a:hover{text-decoration:underline;text-underline-offset:6px}
.menu-toggle{display:none}
.hero{position:relative;min-height:680px;height:88svh;max-height:1000px;display:flex;align-items:center;text-align:center;background:#33251c;color:white}
.hero-photo,.hero-shade{position:absolute;inset:0}
.hero-photo img{height:100%;object-position:center}
.hero-shade{background:linear-gradient(180deg,#100b086b,#100b0852 35%,#100b0880)}
.hero-copy{position:relative;padding-top:90px;padding-bottom:60px}
.hero-status{font-size:18px;margin-bottom:24px}
.hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(58px,10vw,152px);letter-spacing:.02em;line-height:1}
.hero-tagline{font-family:var(--serif);font-size:clamp(34px,3.6vw,52px);line-height:1.2;margin:24px 0 34px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;scroll-margin-top:30px}
.prototype-image{aspect-ratio:1/1;object-position:50% 57%}
.section-copy{max-width:570px}
.section-copy h3{margin-bottom:24px}
.measurements{margin-top:30px}
.measurements>div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding-block:18px;border-top:1px solid var(--line);font-size:18px}
.measurements>div:last-child{border-bottom:1px solid var(--line)}
dt{font-weight:500}dd{color:var(--muted)}
.development-section{background:#e2ddd3}
.development-grid{display:grid;grid-template-columns:1fr 1fr;gap:6%}
.development-grid article{scroll-margin-top:32px}
.development-grid img{aspect-ratio:4/3;margin-bottom:28px}
.development-grid h3{margin-bottom:18px}
.development-grid p{max-width:560px}
.research-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%;margin-top:72px;padding-top:72px;border-top:1px solid #bcb3a4}
.video-wrap{position:relative;background:#bcb6ab;aspect-ratio:4/3;overflow:hidden}
.video-wrap video{height:100%;object-position:center}
.video-toggle{position:absolute;bottom:20px;left:20px;display:flex;align-items:center;gap:14px;padding:12px 22px;min-height:50px;border-radius:30px;background:var(--dark);color:white;font-size:17px}
.video-toggle[hidden]{display:none}
.video-toggle:hover{background:#514438}
.story-photo img{aspect-ratio:16/7;object-position:50% 53%}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:44px;padding-top:32px;border-top:1px solid var(--line)}
.team-grid h3{font-family:var(--sans);font-size:20px;line-height:1.4;font-weight:500;letter-spacing:0}
.team-grid p{font-size:17px;color:var(--muted);margin-top:8px}
.conversation-section{background:var(--dark);color:var(--paper)}
.conversation-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:center}
.conversation-intro .button{margin-top:30px}
.faq-list{margin-top:64px;border-top:1px solid #655d52}
.faq-list details{border-bottom:1px solid #655d52}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;font-size:22px;line-height:1.45;padding-block:24px;cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary>span{font-size:30px;transition:transform .2s}
.faq-list details[open] summary>span{transform:rotate(45deg)}
.faq-list details>p{max-width:820px;padding:0 40px 28px 0;color:#ddd7cc;font-size:20px}
.contact-section{padding-block:104px 88px}
.contact-section .lead{max-width:640px}
.contact-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:32px}
#copy-email{font-size:17px;min-height:48px;text-decoration:underline;text-underline-offset:5px}
#copy-status{font-size:17px;color:var(--muted);flex-basis:100%}
#copy-status:empty{display:none}
.email-address{display:inline-block;overflow-wrap:anywhere;font-size:18px;margin-top:24px;color:var(--muted)}
.site-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;border-top:1px solid var(--line);padding-block:42px;font-size:16px;color:var(--muted)}
.footer-wordmark{font-family:var(--serif);font-size:42px;line-height:1;color:var(--ink)}
.footer-links{display:flex;gap:24px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.footer-links p{flex-basis:100%;text-align:right}
.footer-links button{padding:0;font-size:16px}
.footer-links a:hover,.footer-links button:hover{text-decoration:underline;text-underline-offset:5px}
dialog{border:0;background:var(--paper);color:var(--ink);width:calc(100% - 40px);max-width:700px;max-height:85svh;padding:58px 40px 40px}
dialog::backdrop{background:#17130dbf}
dialog h2{font-size:48px;margin-bottom:26px}
dialog p{font-size:18px}
dialog a{overflow-wrap:anywhere;text-decoration:underline}
.dialog-close{position:absolute;right:12px;top:8px;width:44px;height:44px;font-size:32px;line-height:1}
@media(max-width:1000px){
  .site-header nav{gap:22px;font-size:16px}
  .split,.research-row,.conversation-intro{gap:5%}
  .measurements>div{grid-template-columns:1fr;gap:4px}
  .team-grid{grid-template-columns:1fr 1fr}
  .site-footer{flex-wrap:wrap}.footer-links{margin-left:auto}
}
@media(max-width:760px){
  html{scroll-padding-top:24px}body{font-size:18px}.section{padding-block:64px}.section-intro{margin-bottom:36px}.eyebrow{margin-bottom:18px}
  h2{font-size:clamp(46px,10vw,64px)}.lead{margin-top:24px;font-size:21px}
  .site-header{padding:22px 24px}.brand{font-size:30px}
  .menu-toggle{display:flex;align-items:center;gap:16px;min-height:44px;padding:0;font-size:17px;z-index:2}.menu-toggle span{font-size:25px}
  .site-header nav{display:none}
  .site-header nav.open{display:flex;position:fixed;inset:0;background:var(--dark);padding:116px 24px 40px;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:14px;overflow-y:auto}
  .site-header nav.open a{font-family:var(--serif);font-size:36px;line-height:1.2}
  .hero{min-height:620px;height:88svh;max-height:850px}.hero-copy{padding-inline:20px;padding-top:100px}
  .hero h1{font-size:11.6vw;letter-spacing:0}.hero-status{font-size:16px;margin-bottom:28px}.hero-tagline{font-size:36px;margin-top:22px}
  .hero-shade{background:linear-gradient(180deg,#100b0878,#100b0866 35%,#100b088c)}
  .split,.development-grid,.research-row,.conversation-intro{grid-template-columns:1fr;gap:36px}.section-copy{max-width:none}.prototype-image{max-height:600px}
  .measurements>div{grid-template-columns:110px 1fr;gap:16px}.development-grid{gap:48px}.development-grid img{margin-bottom:24px}
  .research-row{margin-top:48px;padding-top:48px}.video-wrap{aspect-ratio:1/1}.video-toggle{bottom:16px;left:16px}
  .story-photo img{aspect-ratio:4/3;object-position:50% 54%}.team-grid{gap:28px 20px;margin-top:32px}.team-grid h3{font-size:19px}.team-grid p{font-size:17px}
  .faq-list{margin-top:44px}.faq-list summary{font-size:20px;padding-block:22px;gap:20px}.faq-list details>p{font-size:18px;padding-right:0}
  .contact-actions{gap:16px}.email-address{font-size:17px}.site-footer{display:grid;grid-template-columns:1fr;gap:26px;padding-block:32px}
  .footer-links{justify-content:flex-start;margin:0;gap:24px}.footer-links p{text-align:left}dialog{padding:56px 24px 30px}dialog h2{font-size:42px}
}
@media(max-width:380px){.measurements>div{grid-template-columns:1fr;gap:4px}.team-grid{grid-template-columns:1fr}.button{padding-inline:22px;gap:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
