:root{--cream:#fff3df;--orange:#ed7939;--ink:#241e18}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--cream);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #ffad69;outline-offset:6px}[hidden]{display:none!important}header{position:absolute;inset:0 0 auto;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:30px 4vw;border-bottom:1px solid #fff3df35;background:linear-gradient(#24150b55,transparent)}.brand{font-size:31px;font-weight:800;letter-spacing:-2px}.brand span{font-weight:400}.brand sup{font:10px Arial;vertical-align:top;letter-spacing:0;margin-left:5px}nav{display:flex;gap:30px;font-size:13px}nav a{opacity:.8}nav a:hover{opacity:1}.contact-link{font-size:13px}.contact-link span{margin-left:22px}#journey{height:660vh;height:660svh}.stage{height:100vh;height:100dvh;position:sticky;top:0;overflow:hidden;background:#50321e}video{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 50%;inset:0}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,15,8,.77),rgba(26,15,8,.30) 44%,transparent 77%),linear-gradient(0deg,#21160e88,transparent 35%);transition:opacity .2s}.stage.flying .shade{opacity:.25}.frame-lines{position:absolute;inset:0 4vw;border-left:1px solid #fff3df18;border-right:1px solid #fff3df18;pointer-events:none}.panel{position:absolute;left:7vw;top:50%;transform:translateY(-37%);max-width:660px;width:56vw;opacity:0;visibility:hidden;pointer-events:none}.panel.active{visibility:visible;pointer-events:auto;opacity:1}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;margin:0 0 26px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.052em;line-height:.99;font-size:clamp(42px,5.5vw,88px);margin:0 0 27px}em{font-weight:400}p{line-height:1.65}.description{font-size:15px;max-width:365px;margin:0 0 28px;color:#fff3dfdd}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:var(--cream);color:var(--ink);border:0;border-radius:2px;padding:17px 22px;font-size:12px;cursor:pointer;transition:background .2s}.button:hover{background:#ffc98f}.button span{font-size:19px}.tags{margin-top:37px;font-size:9px;letter-spacing:1.2px;color:#fff3dfbb}.tags b{margin:0 9px;font-weight:400}.bottom{position:absolute;bottom:29px;left:7vw;right:7vw;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px}.scroll-hint{color:#fff3dfaa}.scroll-hint span{display:inline-block;margin-left:20px}.progress{position:absolute;bottom:0;left:0;height:3px;width:100%;background:#fff3df25}#bar{height:100%;background:var(--orange);transform-origin:left;transform:scaleX(0)}#loading{position:absolute;right:4vw;top:110px;display:flex;gap:10px;align-items:center;font-size:11px;z-index:9}#loading i{width:7px;height:7px;background:var(--cream);border-radius:50%;animation:pulse 1s infinite}#loading button{background:var(--cream);border:0;padding:8px}#loading.ready{display:none}@keyframes pulse{50%{opacity:.2}}.details{background:var(--cream);color:var(--ink);padding:100px 7vw}.section-head{max-width:850px}.section-head h2,.brief h2{font-size:clamp(40px,5vw,68px)}.section-head>p:last-child{max-width:425px;color:#6b5e50;font-size:15px}.cards{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border-top:1px solid #241e1840}.cards article{padding:35px 30px 10px 0;scroll-margin-top:35px}.cards article+article{padding-left:30px;border-left:1px solid #241e1825}.cards span{font-size:9px;letter-spacing:1.5px;color:#947252}.cards h3{font:30px Georgia;margin:28px 0 18px;letter-spacing:-1px}.cards p{font-size:14px;color:#6b5e50;max-width:290px;min-height:94px}.cards a{display:inline-block;font-size:12px;margin-top:15px;border-bottom:1px solid;padding-bottom:6px}.brief{padding:100px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:12vw;background:#db713d;color:#241e18}.brief>div>p:last-child{max-width:360px;font-size:12px;opacity:.7}form{display:grid;gap:22px}label{font-size:11px;display:grid;gap:8px}input,textarea{color:#241e18;background:transparent;border:0;border-bottom:1px solid #241e1866;padding:10px 0;border-radius:0;width:100%;font-size:16px}input::placeholder,textarea::placeholder{color:#241e1888}form .button{justify-self:start}#form-result{font-size:12px;margin:0}footer{display:flex;align-items:center;justify-content:space-between;padding:40px 7vw}footer>span,footer>a:last-child{font-size:11px;color:#c9b9a8}@media(max-width:700px){header{padding:22px 6vw}.brand{font-size:27px}nav{position:absolute;top:80px;left:6vw;gap:25px;font-size:11px}.contact-link{font-size:11px}.contact-link span{margin-left:8px}.panel{width:86vw;left:7vw;top:auto;bottom:105px;transform:none}h1,h2{font-size:clamp(39px,9vw,62px)}.description{font-size:14px;max-width:320px}.shade{background:linear-gradient(0deg,#1c1009ed,rgba(28,16,9,.65) 40%,transparent 80%)}.tags{font-size:8px;margin-top:25px;letter-spacing:.5px}.eyebrow{font-size:9px;margin-bottom:18px}.scroll-hint{display:none}.bottom{bottom:27px}#loading{top:120px}.cards,.brief{grid-template-columns:1fr}.cards article+article{padding:35px 0 10px;border-left:0;border-top:1px solid #241e1825}.cards p{min-height:0;max-width:100%}.details,.brief{padding:65px 7vw}.brief{gap:35px}footer{gap:25px;flex-wrap:wrap}footer>span{width:100%;order:3}video{object-position:55% 50%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}#journey{height:100svh}.panel{display:none}.panel:first-of-type{display:block;opacity:1;visibility:visible}.scroll-hint{display:none}#loading i{animation:none}}
:root .panel .button{background:transparent;color:var(--cream);border:1px solid #fff3df88;backdrop-filter:blur(5px)}
:root .panel .button:hover{background:#fff3df18;border-color:var(--cream)}
#meeting-journey{height:340svh;position:relative;background:#352315}
.meeting-stage{height:100dvh;position:sticky;top:0;overflow:hidden;background:#352315}
.meeting-stage video{width:100%;height:100%;object-fit:cover}
.meeting-caption{position:absolute;bottom:7vh;left:7vw;right:7vw;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:1px;z-index:2}
.meeting-stage:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#20140dbb);pointer-events:none}
.meeting-caption a{border-bottom:1px solid #fff3df88;padding:8px 0;letter-spacing:0}
.brief{background:linear-gradient(90deg,#20140df2,#20140dbb),none;color:var(--cream);min-height:100svh;align-content:center}
.brief input,.brief textarea{color:var(--cream);border-color:#fff3df77}
.brief input::placeholder,.brief textarea::placeholder{color:#fff3df99}
@media(prefers-reduced-motion:reduce){#meeting-journey{display:none}}

.meeting-stage .brief{position:absolute;inset:0;z-index:3;min-height:0;max-height:100%;overflow-y:auto;background:linear-gradient(90deg,#20140df2,#20140dbb);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s,visibility .45s;align-content:safe center}
.meeting-stage.brief-visible .brief{opacity:1;visibility:visible;pointer-events:auto}
.meeting-stage.brief-visible .meeting-caption{opacity:0;visibility:hidden;pointer-events:none}
@media(prefers-reduced-motion:reduce){#meeting-journey{display:block;height:100svh}.meeting-stage .brief{transition:none}}
.panel{transform:translateY(-43%)}
.panel h2{font-size:clamp(36px,4.6vw,70px)}
.brief>div>p:last-child{font-size:15px;opacity:.9;line-height:1.65}
.demo-note{font-size:11px;opacity:.7;margin:0}
.cards p{min-height:120px}
@media(max-width:700px){.panel{transform:none}.panel h2{font-size:clamp(34px,8.7vw,52px)}.cards p{min-height:0}.brief h2{font-size:38px}.brief>div>p:last-child{font-size:14px}}
/* Release layout */
.site-header{padding:24px 5vw}.site-header nav{gap:24px}.skip{position:fixed;top:-100px;left:16px;z-index:100;background:#fff3df;color:#241e18;padding:12px}.skip:focus{top:12px}.brand{white-space:nowrap}.brand span{font-weight:400}.collection{padding:100px 5vw;background:#f4e9d9;color:#342217}.collection-heading{max-width:900px;margin-bottom:55px}.collection-heading>p:last-child{max-width:450px;color:#715d4e}.visual-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.visual-card{position:relative;min-height:400px;aspect-ratio:1.45;overflow:hidden;background:#875c3c;color:#fff3df}.visual-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .5s}.visual-card:hover img{transform:scale(1.025)}.visual-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 25%,#24140dea)}.visual-card>div{position:absolute;z-index:1;bottom:30px;left:30px;right:30px}.visual-card span{font-size:10px;letter-spacing:1.5px}.visual-card h3{font:clamp(25px,2.8vw,43px)/1.1 Georgia;margin:16px 0 10px;letter-spacing:-1.5px}.visual-card p{font-size:13px;margin:0}.visual-card b{position:absolute;right:0;bottom:0;font-size:23px;font-weight:400}.scene-bg{position:fixed;inset:0;z-index:-1;background-image:linear-gradient(90deg,#21170ff2 0%,#21170fdc 38%,#21170f65 67%,#21170f20),var(--scene);background-size:cover;background-position:center}.interior{background:#3b2a20;isolation:isolate}.interior .site-header{position:relative;background:#21170f38}.editorial{padding:90px 6vw 70px;min-height:85vh}.copy{max-width:620px}.copy h1{font-size:clamp(48px,6.4vw,84px);margin:20px 0 32px}.copy h2{font-size:clamp(35px,4vw,54px);margin:55px 0 24px;line-height:1.05}.copy h3{font:28px/1.15 Georgia;margin:32px 0 15px}.copy p,.copy li{font-size:16px;line-height:1.8;color:#f4e8d7}.copy a{border-bottom:1px solid #fff3df65}.copy a:hover{color:#ffb675}.copy section+section{border-top:1px solid #fff3df35;margin-top:55px;padding-top:25px}.copy ul{padding-left:22px}.copy a.button{margin:20px 12px 16px 0}.copy .page-cta{margin-top:80px;padding-bottom:20px}.copy div:has(>h3){border-top:1px solid #fff3df30;margin-top:30px;padding-top:8px}.copy div:has(>h3)>div{font-size:12px;line-height:2;color:#e7c1a5}.copy div:has(>h3)>div span{margin-right:10px}.copy h1~p{font-size:18px}.button,.brief .button{background:transparent;color:inherit;border:1px solid #fff3df88;backdrop-filter:blur(5px)}.button:hover,.brief .button:hover{background:#fff3df15}.contact-list{display:grid;gap:15px;margin:35px 0}.contact-list a{font-size:clamp(20px,3vw,32px);justify-self:start}.map{width:100%;height:280px;border:1px solid #fff3df50;margin-top:30px}.copy .fine{font-size:12px;opacity:.75}.footer-links{display:flex;flex-wrap:wrap;gap:20px;font-size:12px}footer{position:relative;flex-wrap:wrap;gap:25px;background:#241b15;z-index:1}footer p{font-size:12px}footer small{font-size:11px;opacity:.6}input:focus,textarea:focus{outline:2px solid #ffc28c;outline-offset:5px}.demo-note a{text-decoration:underline}#email-fallback{font-size:12px;text-decoration:underline}.brief form{gap:16px}.brief{gap:8vw}.brief h2{font-size:clamp(38px,4.7vw,68px)}.brief>div>a{display:inline-block;margin-top:16px;font-size:14px}.brief-visible .brief{padding-top:40px;padding-bottom:40px}.copy .eyebrow{font-size:10px}
@media(min-width:1500px){.copy{max-width:680px}}
@media(max-width:700px){.site-header{padding:20px 6vw 62px}.site-header nav{top:70px;gap:19px;font-size:11px;max-width:88vw}.collection{padding:60px 6vw}.visual-grid{grid-template-columns:1fr;gap:18px}.visual-card{min-height:320px}.visual-card>div{left:23px;right:23px;bottom:23px}.visual-card h3{font-size:32px}.editorial{padding:45px 7vw}.scene-bg{background-image:linear-gradient(90deg,#21170fe8,#21170fc2),var(--scene);background-position:62% center}.copy h1{font-size:49px}.copy p,.copy li{font-size:15px}.brief-visible .brief{padding:34px 7vw;align-content:start;gap:22px}.brief h2{font-size:38px;margin-bottom:14px}.brief .eyebrow{margin-bottom:14px}.brief>div>p:last-of-type{margin:0;font-size:13px}.brief>div>a{margin-top:8px}.brief form{gap:13px}.brief textarea{min-height:75px}.brief input{padding:7px 0}footer{padding:40px 7vw}.collection-heading h2{font-size:45px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.visual-card:hover img{transform:none}}
@media(max-height:650px) and (min-width:701px){.panel{top:53%}.panel h1,.panel h2{font-size:44px}.tags{display:none}.description{font-size:13px;margin-bottom:15px}.brief-visible .brief{padding:25px 7vw}}
#journey.video-failed{height:100svh}.video-failed .panel:not(:first-of-type){display:none}.video-failed .panel:first-of-type{visibility:visible;opacity:1;pointer-events:auto}.copy>section:first-child>div>a:first-child{font-size:12px}.copy>section:first-child>div>div:first-child{font-size:11px;letter-spacing:1.2px}.copy strong{color:#fff3df}
.visual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-card{min-width:0;width:100%}@media(max-width:700px){.visual-grid{grid-template-columns:minmax(0,1fr)}.visual-card{aspect-ratio:auto;height:340px}}

/* Readable headlines and product facts */
.copy h1.software-headline{white-space:nowrap;width:88vw;max-width:none;font-size:clamp(13px,4.4vw,70px);letter-spacing:-.055em;line-height:1.15}
.copy .product-metrics h2{font:400 32px/1.2 Georgia,serif;letter-spacing:-.03em;margin:20px 0 30px}
.metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin:0}
.metrics-grid>div{display:flex;flex-direction:column;border-top:1px solid #fff3df38;padding:26px 0 30px;gap:12px;min-width:0}
.metrics-grid dt{order:2;font-size:14px;line-height:1.5;color:#f4e8d7}
.metrics-grid dd{order:1;font:400 clamp(30px,3.5vw,48px)/1.1 Georgia,serif;letter-spacing:-.025em;margin:0;color:#fff3df;overflow-wrap:anywhere}
@media(max-width:700px){.copy h1.software-headline{width:86vw;font-size:4.25vw;letter-spacing:-.05em}.metrics-grid{gap:0 20px}.metrics-grid dt{font-size:13px}.copy .product-metrics h2{font-size:28px}}

/* Shared fact and technology groups across editorial pages. */
.stack-grid dd{font-family:Arial,Helvetica,sans-serif;font-size:clamp(18px,2vw,24px);line-height:1.3;letter-spacing:-.025em}
.copy .tech-tags{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:20px}
.copy .tech-tags span{display:block;margin:0;padding:3px 0;font-size:12px;line-height:1.5}
.metrics-grid>div{row-gap:12px}.metrics-grid dt,.metrics-grid dd{display:block}

/* Technology catalogue: name, purpose and index. */
.copy .technology-stack{scroll-margin-top:28px}.copy .technology-stack h2{margin:20px 0;font-size:clamp(38px,4.5vw,60px)}
.copy .stack-intro{font-size:15px;max-width:560px;margin:0 0 32px;color:#ead5c3}
.stack-grid{gap:12px}
.stack-grid>div{position:relative;padding:24px 22px 26px;gap:10px;min-height:158px;border:1px solid #f2c29b40;border-radius:4px;background:linear-gradient(135deg,#ca8b5430,#261b16a6);backdrop-filter:blur(8px)}
.stack-grid .stack-number{order:0;font:11px/1.2 Arial,sans-serif;letter-spacing:2px;color:#efb989;margin-bottom:9px}
.stack-grid dt{order:1;font:400 clamp(18px,1.8vw,23px)/1.25 Arial,Helvetica,sans-serif;letter-spacing:-.035em;color:#fff3df}
.stack-grid dd{order:2;font:13px/1.55 Arial,Helvetica,sans-serif;letter-spacing:0;color:#e4c9b3;margin:0;overflow-wrap:normal}
@media(max-width:700px){.stack-grid{gap:10px}.stack-grid>div{padding:18px 14px;min-height:160px}.stack-grid dt{font-size:18px}.stack-grid dd{font-size:12px}}
@media(max-width:360px){.stack-grid{grid-template-columns:1fr}.stack-grid>div{min-height:0}}

.meeting-stage .email-contact{grid-template-columns:1fr;align-content:center}.email-contact>div{max-width:640px}.brief.email-contact>div>a.button{display:inline-flex;margin-top:28px;font-size:15px;padding:18px 30px}.email-contact>div>p:last-of-type{max-width:400px}

.email-contact .end-links{position:absolute;bottom:28px;left:7vw;right:7vw;display:flex;gap:24px;align-items:center;font-size:12px;color:#fff3dfbb}.email-contact .end-links span{margin-left:auto}.email-contact .end-links a{border-bottom:1px solid #fff3df66}.meeting-stage .email-contact{padding-bottom:90px}@media(max-height:500px){.email-contact .end-links{position:static;flex-wrap:wrap;margin-top:28px}.meeting-stage .email-contact{align-content:start}}

/* Contact is a destination, without another call-to-action below. */
.contact-end{min-height:100dvh;display:flex;flex-direction:column}.contact-end .editorial{min-height:0;flex:1;padding:32px 6vw;display:flex;align-items:center}.contact-end .copy h1{font-size:clamp(44px,5vw,66px);margin:14px 0 22px}.contact-end .copy>p{max-width:530px;font-size:15px;line-height:1.6}.contact-end .contact-list{margin:24px 0 0;gap:12px}.contact-end .contact-list p{margin:0}.contact-end .contact-end-footer{background:transparent;padding:18px 6vw;gap:24px;font-size:12px;border-top:1px solid #fff3df25}.contact-end-footer span{margin-left:auto;font-size:11px}.contact-end .contact-end-footer a{font-size:12px}@media(max-width:700px){.contact-end .editorial{padding:24px 7vw}.contact-end .copy h1{font-size:44px}.contact-end .copy>p{font-size:14px}.contact-end .contact-end-footer{padding:18px 7vw}.contact-end .contact-end-footer>span{width:auto;order:0}}
