/* Bracara Photonics landing page. Tokens copied from the design system (8. Design System/tokens). */
@font-face{font-family:'Marcellus';src:url('assets/fonts/marcellus.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Marcellus SC';src:url('assets/fonts/marcellus-sc.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Hanken Grotesk';src:url('assets/fonts/hanken-grotesk.woff') format('woff');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('assets/fonts/jetbrains-mono.woff') format('woff');font-weight:100 800;font-style:normal;font-display:swap}

:root{
  --granite-0:#FBFAF7;--granite-50:#F4F2EC;--granite-100:#EAE7E0;--granite-200:#D9D6CE;--granite-300:#C0BDB5;--granite-400:#9E9C96;--granite-500:#7C7C79;--granite-600:#5F6062;--granite-700:#47494C;--granite-800:#33363A;--granite-900:#23262A;--granite-950:#16181B;
  --cypress-100:#D8E1D9;--cypress-200:#B3C4B5;--cypress-500:#426147;--cypress-600:#304C36;--cypress-700:#243B2A;--cypress-800:#1A2B1F;
  --mondim-100:#F4E3C4;--mondim-300:#D9A95A;--mondim-400:#C68D35;--mondim-500:#A87226;
  --fg-1:var(--granite-900);--fg-2:var(--granite-700);--fg-3:var(--granite-600);
  --border-subtle:var(--granite-200);--border-default:var(--granite-300);--border-strong:var(--granite-500);
  --focus-ring:var(--mondim-500);
  --font-display:'Marcellus',ui-serif,Georgia,serif;
  --font-inscription:'Marcellus SC','Marcellus',ui-serif,Georgia,serif;
  --font-sans:'Hanken Grotesk',ui-sans-serif,system-ui,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  --radius-2:3px;--radius-3:5px;
  --ease:cubic-bezier(.2,0,0,1);
  --container:1200px;--gutter:32px;
}

*,*::before,*::after{box-sizing:border-box}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media (prefers-reduced-motion:reduce){.hero-3d,.hero-visual .hero-window{transition:none}}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-padding-top:96px;scrollbar-color:var(--granite-400) var(--granite-100);text-size-adjust:100%}
body{margin:0;background:var(--granite-50);color:var(--fg-1);font:400 15px/1.5 var(--font-sans);caret-color:var(--cypress-600)}
img,canvas,svg,video{display:block;max-width:100%}
h1,h2,h3,h4,p,ol,ul,dl,dd,figure{margin:0}
ol,ul{padding:0;list-style:none}
h1,h2,h3{font-weight:400;text-wrap:balance}
p{text-wrap:pretty}
a{color:var(--cypress-600);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--cypress-800)}
::selection{background:var(--mondim-100);color:var(--granite-950)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-2)}
.sec-ask :focus-visible,.site-footer :focus-visible{outline-color:var(--mondim-300)}
.skip{position:absolute;left:16px;top:-48px;z-index:100;padding:10px 14px;background:var(--granite-950);color:var(--granite-50);border-radius:var(--radius-2);text-decoration:none;font-weight:500}
.skip:focus{top:12px}
.skip:hover{color:var(--granite-50)}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.wrap{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);margin:0 auto;padding:0 var(--gutter)}
.eyebrow{font:400 13px/1 var(--font-inscription);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3)}

.btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 20px;border:1px solid transparent;border-radius:var(--radius-2);font:500 15px/1 var(--font-sans);letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background-color 120ms var(--ease),border-color 120ms var(--ease);white-space:nowrap}
.btn-accent{background:var(--mondim-300);color:var(--granite-950)}
.btn-accent:hover{background:var(--mondim-400);color:var(--granite-950)}
.btn-accent:active{background:var(--mondim-500)}
.btn-secondary{background:var(--granite-0);color:var(--granite-900);border-color:var(--border-default)}
.btn-secondary:hover{background:var(--granite-100);color:var(--granite-900)}
.btn-sm{height:36px;padding:0 14px;font-size:14px}
.btn-ghost-light{background:transparent;color:var(--granite-50);border-color:var(--cypress-200)}
.btn-ghost-light:hover{background:var(--cypress-600);color:var(--granite-50)}
.actions{display:flex;gap:12px;flex-wrap:wrap}

/* Header */
.top{position:fixed;top:0;left:0;right:0;z-index:20;border-bottom:1px solid transparent;transition:background-color 180ms var(--ease),border-color 180ms var(--ease)}
.top.is-stuck{background:rgba(244,242,236,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom-color:var(--border-subtle)}
.top-row{display:flex;align-items:center;gap:32px;height:80px}
.nav{display:flex;gap:28px;margin-left:auto}
.nav a{font:500 15px/1 var(--font-sans);color:var(--fg-2);text-decoration:none;padding:10px 0}
.nav a:hover{color:var(--fg-1);text-decoration:underline;text-underline-offset:6px}
.nav a[aria-current]{color:var(--fg-1);text-decoration:underline;text-underline-offset:6px}
.top-actions{display:flex;gap:10px;align-items:center}
.btn-cta{background:var(--granite-0);color:var(--granite-900);border-color:var(--border-default)}
.btn-cta:hover{background:var(--granite-100);color:var(--granite-900)}
.top.is-stuck .btn-cta{background:var(--mondim-300);color:var(--granite-950);border-color:transparent}
.top.is-stuck .btn-cta:hover{background:var(--mondim-400)}
.brand{display:inline-flex}
.brand img{height:44px;width:auto}

/* Screenshot and video slots: a framed box at the media's aspect ratio, labelled while the file is missing */
.shot{position:relative;border:1px solid var(--border-default);border-radius:var(--radius-3);background:var(--granite-100);overflow:hidden;box-shadow:0 1px 0 var(--granite-0) inset}
.shot img,.shot video{width:100%;height:auto}
.shot.is-empty img,.shot.is-empty video{visibility:hidden}
.shot.is-empty::after{content:attr(data-label);position:absolute;inset:0;display:grid;place-items:center;font:400 13px/1 var(--font-inscription);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3)}

/* Hero: photon field behind the copy; the optic forms in the run slot; the Studio shot sits below */
.stage{position:relative;padding-top:80px;background:var(--granite-50);overflow:hidden}
.field{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero{position:relative;z-index:1;padding:72px 0 96px}
.hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center;min-height:min(62svh,560px)}
.hero-copy{grid-column:1 / span 5;position:relative;z-index:2}
.hero h1{margin-top:20px;font:400 clamp(2.25rem,4.6vw,4rem)/1.08 var(--font-display);letter-spacing:-.01em;max-width:16ch}
.sub{margin-top:20px;font:400 clamp(1.0625rem,1.5vw,1.25rem)/1.5 var(--font-sans);color:var(--fg-2);max-width:46ch}
.hero .actions{margin-top:32px}
.fine{margin-top:14px;font:400 14px/1.4 var(--font-sans);color:var(--fg-3)}
.hero-visual{grid-column:6 / span 7;position:relative;height:540px}
.run-slot{position:absolute;left:-50px;top:50%;width:170px;height:170px;transform:translateY(-50%)}
.hero-window{position:absolute;left:140px;top:50%;width:max(640px,60vw);transform:translateY(-50%) perspective(1800px) rotateY(-7deg);transform-origin:left center;border:1px solid var(--border-default);border-radius:var(--radius-3);overflow:hidden;background:var(--granite-0);box-shadow:0 24px 60px rgba(22,24,27,.16)}
.hero-window img{width:100%;height:auto}
.hero-visual .hero-window{opacity:0;transition:opacity 400ms var(--ease)}
.hero-visual.is-fallback .hero-window{opacity:1}
.hero-3d{position:absolute;top:-60px;bottom:-60px;left:-280px;right:-140px;opacity:0;transition:opacity 600ms var(--ease)}
.hero-3d.is-live{opacity:1}
.hero-visual:has(.hero-3d.is-live) .hero-window{display:none}
.hero-3d-canvas{display:block;width:100%;height:100%;touch-action:pan-y}
.hero-view{position:absolute;display:block;border-radius:var(--radius-3);box-shadow:0 12px 32px rgba(22,24,27,.22);pointer-events:none;background:#0e1410}
.hero-view-yz{left:calc(280px + 24%);bottom:28px;width:250px;height:140px}
.hero-view-xy{left:calc(280px + 24% + 266px);bottom:28px;width:140px;height:140px}

/* Sections */
.sec{padding:96px 0}
.sec h2{font:400 clamp(2rem,4.2vw,2.75rem)/1.08 var(--font-display);letter-spacing:-.01em}
.body{font:400 17px/1.65 var(--font-sans);color:var(--fg-2);max-width:56ch}
.head,.valid-grid,.ask-grid,.run-grid,.examples-grid,.fab-grid,.faq-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.head h2{grid-column:1 / span 5}
.head .body{grid-column:7 / span 6}

.sec-problem{background:var(--granite-0);border-top:1px solid var(--border-subtle)}
.problem-grid,.story-grid,.diff-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.problem-grid h2{grid-column:1 / span 5}
.problem-copy{grid-column:7 / span 6;display:flex;flex-direction:column;gap:16px}
.kicker{font:400 clamp(1.375rem,2.2vw,1.75rem)/1.25 var(--font-display);color:var(--fg-1)}
.sec-story{background:var(--granite-50);border-top:1px solid var(--border-subtle)}
.story-copy{grid-column:1 / span 6;display:flex;flex-direction:column;gap:18px}
.lead-in{font:400 clamp(1.125rem,1.6vw,1.375rem)/1.45 var(--font-sans);color:var(--fg-1)}
.story-links{font:400 15px/1.5 var(--font-sans);color:var(--fg-3)}
.proof{grid-column:8 / span 5;align-self:center}
.proof div{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:baseline;padding:22px 0;border-top:1px solid var(--border-strong)}
.proof div:last-child{border-bottom:1px solid var(--border-strong)}
.proof dt{font:400 clamp(1.75rem,3vw,2.25rem)/1 var(--font-display);color:var(--cypress-600)}
.proof dd{font:400 15px/1.5 var(--font-sans);color:var(--fg-2)}
.proof .cite{display:block;margin-top:6px;font-size:13px;color:var(--fg-3)}
.sec-diff{background:var(--cypress-700);color:var(--granite-50)}
.diff-grid>*{grid-column:1 / span 8}
.sec-diff .eyebrow{color:var(--cypress-200)}
.sec-diff h2{margin-top:16px;color:var(--granite-50)}
.sec-diff .body{margin-top:20px;color:var(--cypress-100)}
.sec-diff .kicker{margin-top:24px;color:var(--mondim-300)}
.pubs-wrap{overflow-x:auto}
.pubs{width:100%;max-width:960px;margin-top:24px;border-collapse:collapse;font:400 15px/1.5 var(--font-sans)}
.pubs th{padding:10px 16px 10px 0;text-align:left;font:400 12px/1 var(--font-inscription);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);border-bottom:1px solid var(--border-strong)}
.pubs td{padding:14px 16px 14px 0;vertical-align:top;border-bottom:1px solid var(--border-subtle);color:var(--fg-2)}
.pubs td:first-child{font-family:var(--font-mono);font-size:14px;color:var(--fg-3);white-space:nowrap}
.pubs a{color:var(--fg-1)}
.story-page .prose p{font-size:17px}

.sec-run{background:var(--granite-0);border-top:1px solid var(--border-subtle)}
.run-grid{align-items:center}
.run-copy{grid-column:1 / span 4}
.run-copy .body{margin-top:20px}
.shot-run{grid-column:5 / span 8}

.sec-do{background:var(--granite-50);border-top:1px solid var(--border-subtle)}
.loop{margin-top:72px}
.loop-svg{width:100%;height:auto}
.band{fill:var(--granite-0);stroke:var(--border-default);stroke-width:1}
.band-label{font:400 13px var(--font-inscription);letter-spacing:.14em;text-transform:uppercase;fill:var(--granite-600)}
.box rect{fill:var(--granite-0);stroke:var(--border-strong);stroke-width:1}
.bt{font:600 15px var(--font-sans);fill:var(--granite-900)}
.bs{font:400 13px var(--font-sans);fill:var(--granite-600)}
.links path{fill:none;stroke:var(--cypress-600);stroke-width:1.5;stroke-linejoin:round}
.mk{fill:var(--cypress-600)}
.steps{display:none}
.steps h3{margin-top:32px;font:400 13px/1 var(--font-inscription);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3)}
.steps h3:first-child{margin-top:0}
.steps ol{margin-top:12px}
.steps li{padding:12px 0;border-top:1px solid var(--border-default);color:var(--fg-2)}
.steps li:last-child{border-bottom:1px solid var(--border-default)}
.steps b{display:block;font:600 15px/1.3 var(--font-sans);color:var(--fg-1)}

.walk{margin-top:96px;display:grid;gap:80px}
.walk li{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center}
.walk-copy{grid-column:1 / span 4}
.walk .shot{grid-column:6 / span 7}
.walk li:nth-child(even) .walk-copy{grid-column:9 / span 4;grid-row:1}
.walk li:nth-child(even) .shot{grid-column:1 / span 7;grid-row:1}
.walk h3{margin-top:0;font:400 clamp(1.5rem,2.6vw,2rem)/1.1 var(--font-display)}
.walk-copy p:last-child{margin-top:12px;font:400 17px/1.6 var(--font-sans);color:var(--fg-2);max-width:40ch}

.sec-examples{background:var(--granite-0);border-top:1px solid var(--border-subtle)}
.examples-grid{align-items:center}
.examples-copy{grid-column:1 / span 4}
.examples-copy .body{margin-top:20px}
.examples-copy .actions{margin-top:28px}
.sec-examples .shot{grid-column:5 / span 8}

.sec-fab{background:var(--granite-50);border-top:1px solid var(--border-subtle)}
.fab-copy{grid-column:1 / span 5}
.fab-copy .body{margin-top:20px}
.order-line{margin-top:28px;display:flex;flex-wrap:nowrap;white-space:nowrap;gap:8px 0;font:500 14px/1.3 var(--font-sans);color:var(--fg-1);counter-reset:o}
.order-line li{display:flex;align-items:center}
.order-line li+li::before{content:'';width:20px;height:1px;margin:0 10px;background:var(--cypress-600)}
.fab-copy .actions{margin-top:32px}
.fab-lead{grid-column:7 / span 6}
.photo img{width:100%;height:auto;border-radius:var(--radius-3);background:var(--granite-200)}
.photo figcaption,.photo p{margin-top:8px;font:400 13px/1.4 var(--font-sans);color:var(--fg-3)}
.showcase{margin-top:56px}
.showcase-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.showcase-track img{width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;box-shadow:0 10px 30px rgba(22,24,27,.14)}
@media (prefers-reduced-motion:no-preference){
  .showcase-track img{transition:transform 240ms var(--ease),box-shadow 240ms var(--ease)}
  .showcase-track li:hover img{transform:translateY(-4px);box-shadow:0 16px 36px rgba(22,24,27,.18)}
}

.sec-valid{background:var(--granite-100);border-top:1px solid var(--border-subtle)}
.valid-grid h2{grid-column:1 / span 8;max-width:20ch}
.valid-grid .body{grid-column:1 / span 7;margin-top:8px;max-width:62ch}
.valid-grid .cite{grid-column:1 / span 8;font:400 14px/1.5 var(--font-sans);color:var(--fg-2)}

.sec-plans{background:var(--granite-50);border-top:1px solid var(--border-subtle)}
.plans-grid{margin-top:48px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 40px minmax(0,1fr);column-gap:16px;row-gap:16px;align-items:stretch}
.plans-group{font:600 22px/1.2 var(--font-sans);color:var(--fg-1)}
.plans-group span{margin-left:12px;font:400 13px/1.3 var(--font-sans);color:var(--fg-3)}
.plans-group-subs{grid-column:1 / 4}
.plans-group-fab{grid-column:5}
.plans-rule{grid-column:4;grid-row:2;justify-self:center;width:1px;background:var(--border-default)}
.plan-card{display:flex;flex-direction:column;padding:24px 22px 0;background:var(--granite-0);border:1px solid var(--border-subtle);border-radius:var(--radius-3);color:var(--fg-1)}
.plan-card h4{display:flex;align-items:center;justify-content:space-between;gap:8px;font:600 17px/1.3 var(--font-sans)}
.plan-pitch{margin-top:20px;font:400 16px/1.55 var(--font-sans);color:inherit}
.plan-price{margin-top:14px;font:400 14px/1.5 var(--font-mono);color:inherit}
.plan-features{margin-top:22px;padding-left:26px;display:flex;flex-direction:column;gap:10px;font:400 14px/1.45 var(--font-sans);flex:1}
.plan-features li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.plan-features .tag{height:20px;padding:0 6px;font-size:11px}
.plan-foot{margin:24px -22px 0;padding:16px 22px;border-top:1px solid var(--border-subtle);background:var(--granite-50);border-radius:0 0 var(--radius-3) var(--radius-3);display:flex;flex-direction:column;gap:10px}
.plan-foot .btn{width:100%}
.plan-addon{font:400 12px/1.3 var(--font-sans);color:var(--fg-3)}
.plan-card-key{border-color:var(--cypress-600)}
.btn-primary{background:var(--cypress-600);color:var(--granite-50)}
.btn-primary:hover{background:var(--cypress-700);color:var(--granite-50)}
.tag{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border:1px solid var(--border-default);border-radius:2px;background:var(--granite-100);color:var(--fg-2);font:500 12px/1 var(--font-sans)}
.tag::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--granite-500)}
.plan-card-fab{background:var(--granite-900);border-color:var(--granite-900);color:var(--granite-50)}
.plan-card-fab .plan-features{font-weight:500}
.plan-card-fab .plan-foot{background:transparent;border-top-color:var(--granite-700)}

.sec-faq{background:var(--granite-50);border-top:1px solid var(--border-subtle)}
.faq-grid h2{grid-column:1 / span 4}
.faq{grid-column:6 / span 7;border-top:1px solid var(--border-strong)}
.faq details{border-bottom:1px solid var(--border-strong)}
.faq summary{display:flex;justify-content:space-between;gap:16px;padding:20px 0;font:600 17px/1.35 var(--font-sans);color:var(--fg-1);cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font:400 22px/1 var(--font-sans);color:var(--fg-3)}
.faq details[open] summary::after{content:'\2212'}
.faq details p{padding:0 0 22px;max-width:60ch;font:400 16px/1.65 var(--font-sans);color:var(--fg-2)}

.sec-ask{background:var(--cypress-700);color:var(--granite-50)}
.sec-ask h2{color:var(--granite-50)}
.sec-ask .body{margin-top:16px;color:var(--cypress-100)}
.sec-ask .actions{margin-top:28px}
.ask-grid{align-items:start}
.ask-copy{grid-column:1 / span 6}
.newsletter{grid-column:8 / span 5;padding-top:8px}
.newsletter h3{font:400 13px/1 var(--font-inscription);letter-spacing:.14em;text-transform:uppercase;color:var(--cypress-200)}
.newsletter>p{margin-top:12px;font:400 15px/1.55 var(--font-sans);color:var(--cypress-100)}
.news-row{display:flex;gap:8px;margin-top:16px}
.news-row input{flex:1;min-width:0;height:44px;padding:0 12px;border:1px solid var(--cypress-200);border-radius:var(--radius-2);background:var(--cypress-800);color:var(--granite-50);font:400 15px/1 var(--font-sans)}
.news-row input::placeholder{color:var(--cypress-200)}
.news-consent{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font:400 13px/1.45 var(--font-sans);color:var(--cypress-100)}
.news-consent input{margin-top:2px;flex:none;width:16px;height:16px;accent-color:var(--mondim-300)}
.sec-ask a:not(.btn){color:var(--granite-50)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

.site-footer{background:var(--granite-900);color:var(--granite-300);padding:56px 0 48px}
.foot-grid{display:grid;grid-template-columns:1.6fr repeat(3,minmax(0,1fr));gap:40px}
.foot-brand img{height:56px;width:auto}
.foot-brand p{margin-top:16px;font:400 14px/1.45 var(--font-sans)}
.site-footer h2{font:400 12px/1 var(--font-inscription);letter-spacing:.14em;text-transform:uppercase;color:var(--granite-400)}
.site-footer ul{margin-top:16px}
.site-footer li{margin-bottom:10px}
.site-footer a{color:var(--granite-200);font:400 14px/1.4 var(--font-sans);text-decoration:none}
.site-footer a:hover{color:var(--granite-50);text-decoration:underline;text-underline-offset:4px}

.link-btn{padding:0;border:0;background:none;color:var(--granite-200);font:400 14px/1.4 var(--font-sans);cursor:pointer}
.link-btn:hover{color:var(--granite-50);text-decoration:underline;text-underline-offset:4px}

/* Cookie choice */
.consent{position:fixed;left:16px;bottom:16px;z-index:30;max-width:420px;padding:18px 20px;background:var(--granite-0);border:1px solid var(--border-default);border-radius:var(--radius-3);box-shadow:0 8px 24px rgba(22,24,27,.12)}
.consent p{font:400 14px/1.5 var(--font-sans);color:var(--fg-2)}
.consent-actions{display:flex;gap:8px;margin-top:14px}
.consent-actions .btn{flex:1}

.badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:2px;background:var(--granite-100);color:var(--granite-700);font:500 11px/1 var(--font-sans);letter-spacing:.02em}

/* Inner pages */
.page-main{padding-top:80px;min-height:70vh;background:var(--granite-50)}
.page-head{padding-top:72px;padding-bottom:40px}
.page-head h1{font:400 clamp(2.25rem,5vw,3.5rem)/1.08 var(--font-display);letter-spacing:-.01em}
.lead{margin-top:20px;font:400 20px/1.5 var(--font-sans);color:var(--fg-2);max-width:56ch}
.page-body{padding-bottom:96px}
.h-sm{font:400 clamp(1.5rem,2.6vw,1.875rem)/1.15 var(--font-display)}
.page-body .body{margin-top:12px}
.outline{margin:24px 0 32px}
.outline li{display:grid;grid-template-columns:200px 1fr auto;gap:16px;align-items:center;padding:16px 0;border-top:1px solid var(--border-strong)}
.outline li:last-child{border-bottom:1px solid var(--border-strong)}
.outline b{font:600 18px/1.3 var(--font-sans)}
.outline span:not(.badge){color:var(--fg-2);font:400 16px/1.5 var(--font-sans)}
.mv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;padding-bottom:72px}
.team-lead{max-width:56ch}
.team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin-top:32px}
.person img{width:100%;max-width:200px;height:auto;aspect-ratio:1;object-fit:cover;background:var(--granite-200);border:1px solid var(--border-subtle);border-radius:var(--radius-3)}
.person img.pos-top{object-position:50% 15%}
.person h3{margin-top:20px;font:400 30px/1.1 var(--font-display)}
.role{margin-top:6px;font:600 14px/1.3 var(--font-sans);color:var(--fg-3)}
.focus{margin-top:12px;max-width:46ch;font:400 17px/1.55 var(--font-sans);color:var(--fg-1)}
.bio{margin-top:16px;max-width:46ch}
.bio li{padding:8px 0;border-top:1px solid var(--border-subtle);font:400 15px/1.5 var(--font-sans);color:var(--fg-2)}
.facts{margin-top:32px;max-width:520px}
.facts div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--border-strong)}
.facts div:last-child{border-bottom:1px solid var(--border-strong)}
.facts dt{font:600 14px/1.5 var(--font-sans);color:var(--fg-3)}
.facts dd{font:400 17px/1.5 var(--font-sans)}
.draft{margin-top:20px;max-width:62ch;padding:12px 16px;background:var(--mondim-100);border:1px solid var(--mondim-300);border-radius:var(--radius-2);font:500 15px/1.45 var(--font-sans);color:var(--granite-950)}
.prose>*{max-width:68ch}
.prose h2{margin-top:44px;font:400 1.5rem/1.2 var(--font-display)}
.prose h2:first-child{margin-top:0}
.prose p,.prose ul{margin-top:12px;font:400 16px/1.7 var(--font-sans);color:var(--fg-2)}
.prose ul{padding-left:20px;list-style:disc}
.prose li{margin-top:6px}
.prose b{color:var(--fg-1);font-weight:600}
.legal-more{margin-top:32px}
.prose .fine{margin-top:48px;font-size:13px;color:var(--fg-3)}

@media (max-width:1279px){
  .loop-svg{display:none}
  .steps{display:block}
}
@media (max-width:1099px){
  .plans-grid{grid-template-columns:1fr}
  .plans-group-subs,.plans-group-fab{grid-column:1}
  .plans-rule{display:none}
  .plans-group-fab{order:2}
  .plan-card-fab{order:3}
}
@media (max-width:959px){
  .nav{display:none}
  .top-actions{margin-left:auto}
  .hero{padding:32px 0 64px}
  .hero-grid{min-height:0}
  .hero-visual{grid-column:1 / -1;height:320px}
  .run-slot{width:110px;height:110px}
  .hero-window{left:80px;width:max(520px,110vw)}
  .hero-3d{top:-10px;bottom:-10px;left:40px;right:-20px}
  .hero-view-yz{left:12%;bottom:4px;width:150px;height:84px}
  .hero-view-xy{left:calc(12% + 160px);bottom:4px;width:84px;height:84px}
  .sec{padding:64px 0}
  .hero-copy,.run-copy,.shot-run,.walk-copy,.walk .shot,.walk li:nth-child(even) .walk-copy,.walk li:nth-child(even) .shot,
  .examples-copy,.sec-examples .shot,.fab-copy,.fab-lead,.faq-grid h2,.faq,
  .problem-grid h2,.problem-copy,.story-copy,.proof,.diff-grid>*,
  .head h2,.head .body,.valid-grid h2,.valid-grid .body,.valid-grid .cite,.ask-copy,.newsletter{grid-column:1 / -1;grid-row:auto}
  .head,.valid-grid,.ask-grid,.run-grid,.examples-grid,.fab-grid,.faq-grid,.hero-grid{row-gap:32px}
  .walk{margin-top:56px;gap:56px}
  .walk li{row-gap:20px}
  .loop{margin-top:48px}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-brand{grid-column:1 / -1}
  .mv,.team{grid-template-columns:1fr;gap:40px}
  .outline li{grid-template-columns:1fr;gap:6px}
  .page-head{padding-top:48px}
  .page-body{padding-bottom:64px}
}
@media (max-width:480px){
  .consent{left:8px;right:8px;bottom:8px;max-width:none}
  :root{--gutter:20px}
  .top-row{height:72px;gap:12px}
  .brand img{height:36px}
  .stage{padding-top:72px}
  .top-actions{gap:8px}
  .btn-sm{padding:0 12px}
  .actions .btn{flex:1 1 100%}
  .news-row{flex-direction:column}
  .plans-group span{display:block;margin:4px 0 0}
  .showcase-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .order-line{flex-wrap:wrap;white-space:normal}
}

/*
LEGACY: styles of the previous hero (photon field stage, run slot, rail) and the "Three hurdles" section.

.stage{position:relative;display:flex;flex-direction:column;min-height:min(100svh,880px);padding-top:80px;background:var(--granite-50);overflow:hidden}
.field{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;padding-bottom:40px}
.hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center;flex:1}
.hero-copy{grid-column:1 / span 8;padding:32px 0}
.tagline{font:400 clamp(1.125rem,1.8vw,1.5rem)/1.2 var(--font-display);color:var(--fg-2)}
.hero h1{margin-top:0;font:400 clamp(2.25rem,4.6vw,4rem)/1.08 var(--font-display);letter-spacing:-.01em}
.punch{margin-top:12px;font:400 clamp(1.625rem,3vw,2.625rem)/1.15 var(--font-display);color:var(--fg-3);text-wrap:balance}
.sub{margin-top:16px;font:400 clamp(1.125rem,1.6vw,1.375rem)/1.35 var(--font-sans);color:var(--fg-2)}
.hero .actions{margin-top:28px}
.run-slot{grid-column:9 / span 4;width:100%;max-width:420px;aspect-ratio:1;justify-self:end}
.sec-do{background:var(--granite-0);border-top:1px solid var(--border-subtle)}
.band{fill:var(--granite-50);stroke:var(--border-default);stroke-width:1}
.claim{font:400 21px var(--font-display);fill:var(--granite-900)}
.why-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.sec-why{background:var(--granite-50);border-top:1px solid var(--border-subtle)}
.why-lead{grid-column:1 / span 5}
.why-lead .body{margin-top:24px}
.barriers{grid-column:7 / span 6}
.barriers div{padding:24px 0;border-top:1px solid var(--border-strong)}
.barriers div:last-child{border-bottom:1px solid var(--border-strong)}
.barriers dt{font:600 20px/1.25 var(--font-sans);color:var(--fg-1)}
.barriers dd{margin-top:6px;font:400 17px/1.55 var(--font-sans);color:var(--fg-2)}
.ask-grid>div:first-child{grid-column:1 / span 7}
.ask-grid .actions{grid-column:9 / span 4;justify-content:flex-end}
.rail{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:32px;margin-top:8px}
.rail::after{content:'';position:absolute;right:-1px;top:26px;border-left:10px solid var(--granite-900);border-top:6px solid transparent;border-bottom:6px solid transparent}
.rail li{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-top:88px}
.rail li::after{content:'';position:absolute;top:32px;left:80px;right:-20px;height:1px;background:var(--granite-900)}
.rail li:last-child::after{right:0}
.rail .node{position:absolute;top:0;left:0;display:grid;place-items:center;width:64px;height:64px;color:var(--granite-950)}
.rail .ico{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round}
.rail .ico *{vector-effect:non-scaling-stroke}
.rail .ccw{transform:scaleX(-1)}
.rail h2{font:400 clamp(1.25rem,2vw,1.75rem)/1.1 var(--font-display)}
.rail p{font:400 15px/1.55 var(--font-sans);color:var(--fg-2);max-width:26ch}
@media (max-width:1099px){
  .rail{grid-template-columns:1fr;row-gap:28px}
  .rail::after{display:none}
  .rail li{padding:6px 0 0 92px;gap:6px}
  .rail li::after{left:32px;right:auto;top:72px;bottom:-16px;width:1px;height:auto}
  .rail li:last-child::after{display:none}
  .rail p{max-width:44ch}
}
@media (max-width:959px){
  .stage{min-height:0}
  .hero-copy{grid-column:1 / -1;padding:24px 0 8px}
  .run-slot{grid-column:1 / -1;justify-self:start;max-width:420px;aspect-ratio:2 / 1}
  .hero-grid{align-items:start}
  .hero .rail{margin-top:32px}
}

.sec-plans{background:var(--granite-0);border-top:1px solid var(--border-subtle)}
.plans{margin-top:56px;border-top:1px solid var(--border-strong)}
.plan{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid var(--border-strong)}
.plan-name{grid-column:1 / span 3}
.plan h3{font:400 clamp(1.5rem,2.4vw,1.875rem)/1.1 var(--font-display)}
.price{margin-top:6px;font:500 14px/1.3 var(--font-sans);color:var(--fg-3)}
.plan-what{grid-column:4 / span 6;font:400 17px/1.6 var(--font-sans);color:var(--fg-2)}
.plan .btn{grid-column:11 / span 2;justify-self:end}
.plan-lead{padding:36px 24px;margin:0 -24px;background:var(--granite-50);border-bottom-color:var(--border-strong)}
.plan-lead .price{color:var(--cypress-600)}

*/
