@font-face{font-family:"Manrope";src:url("/assets/Manrope-variable.ttf") format("truetype");font-weight:200 800;font-display:swap}
:root{--ink:#142C43;--cobalt:#2457D6;--ivory:#F6F4EE;--pale:#BFD2FF;--paler:#E8EEFB;--slate:#536576;--rule:#D7DDE2;--white:#fff;--wrap:1240px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:"Manrope",system-ui,sans-serif;font-size:17px;line-height:1.6;color:var(--ink);background:var(--ivory)}
img{max-width:100%;height:auto;display:block}
a{color:var(--cobalt)}
h1,h2,h3,h4{margin:0;line-height:1.12;letter-spacing:-.02em;font-weight:600}
p{margin:0}
.wrap{width:min(var(--wrap),100% - 32px);margin-inline:auto}
@media(min-width:720px){.wrap{width:min(var(--wrap),100% - 96px)}}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--ivory);padding:10px 16px;z-index:100}
.skip:focus{left:16px}
:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}
.eyebrow,.mini-label{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--cobalt);display:flex;align-items:center;gap:14px}
.eyebrow:before{content:"";width:40px;height:2px;background:currentColor;flex:none}
.mini-label{font-size:12px;color:var(--slate)}

/* Header */
header{position:sticky;top:0;z-index:50;background:rgba(246,244,238,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.nav-wrap{width:min(var(--wrap),100% - 32px);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;height:96px}
@media(min-width:720px){.nav-wrap{width:min(var(--wrap),100% - 96px)}}
.brand img{width:280px}@media(max-width:600px){.brand img{width:220px}}
nav{display:flex;align-items:center;gap:28px}
nav a{color:var(--ink);text-decoration:none;font-size:15px;font-weight:600}
nav a:hover{color:var(--cobalt)}
#language{font:600 14px "Manrope";background:none;border:1px solid var(--rule);color:var(--ink);padding:6px 12px;cursor:pointer}
.nav-contact{background:var(--ink);color:var(--ivory)!important;padding:10px 16px;display:inline-flex;gap:8px}
.nav-contact:hover{background:var(--cobalt)}
.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.menu-toggle span{position:absolute;left:10px;right:10px;height:2px;background:var(--ink)}
.menu-toggle span:first-child{top:17px}.menu-toggle span:last-child{top:25px}
@media(max-width:900px){
 .menu-toggle{display:block}
 nav{position:absolute;top:96px;left:0;right:0;background:var(--ivory);border-bottom:1px solid var(--rule);flex-direction:column;align-items:flex-start;padding:16px 16px 24px;gap:18px;display:none}
 nav.open{display:flex}
}

/* Buttons */
.actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:36px}
.button{display:inline-flex;gap:10px;align-items:center;background:var(--cobalt);color:var(--white);text-decoration:none;font-weight:600;font-size:15px;padding:14px 22px}
.button:hover{background:var(--ink)}
.text-link{color:var(--ink);font-weight:600;font-size:15px;text-underline-offset:5px}

/* Hero */
.hero{display:grid;gap:48px;padding:72px 0 56px;align-items:center}
@media(min-width:960px){.hero{grid-template-columns:1fr 1.05fr;gap:64px;padding:96px 0 72px}}
.hero h1{font-size:clamp(40px,6vw,68px);margin:22px 0 24px;font-weight:600}
.hero h1 span{color:var(--cobalt)}
.intro{font-size:19px;color:#2C4257;max-width:560px}
.hero-visual{margin:0}
.image-stage img{width:100%;aspect-ratio:16/10;object-fit:cover}
figcaption{display:flex;gap:12px;align-items:center;font-size:14px;color:var(--slate);margin-top:14px}
.caption-mark{width:28px;height:2px;background:var(--cobalt);flex:none}

/* Outcomes */
.outcomes{display:grid;gap:0;border-top:1px solid var(--rule);margin-bottom:24px}
@media(min-width:820px){.outcomes{grid-template-columns:repeat(3,1fr)}}
.outcomes>div{display:flex;gap:18px;padding:32px 24px 32px 0;border-bottom:1px solid var(--rule)}
@media(min-width:820px){.outcomes>div{border-bottom:0;border-right:1px solid var(--rule);padding-left:24px}.outcomes>div:first-child{padding-left:0}.outcomes>div:last-child{border-right:0}}
.outcome-n{font-size:13px;font-weight:600;color:var(--cobalt);padding-top:4px}
.outcomes h2{font-size:21px;margin-bottom:8px}
.outcomes p{color:var(--slate);font-size:15px}

/* Sections */
.section{padding:96px 0}
.section-head{display:grid;gap:24px;margin-bottom:56px}
@media(min-width:900px){.section-head{grid-template-columns:1.1fr .9fr;gap:64px;align-items:end}}
.section-head h2{font-size:clamp(32px,4.2vw,48px);margin-top:18px}
.section-intro{color:#2C4257;font-size:17px}

/* Case */
.case{background:var(--white);border:1px solid var(--rule)}
.case-heading{display:grid;gap:16px;padding:32px;border-bottom:1px solid var(--rule)}
@media(min-width:900px){.case-heading{grid-template-columns:1fr 1fr;align-items:end;padding:40px 48px}}
.case-heading h3{font-size:28px;margin-top:14px}
.case-heading>p{color:var(--slate)}
.case-tabs{display:grid;border-bottom:1px solid var(--rule)}
@media(min-width:601px){.case-tabs{grid-template-columns:repeat(3,1fr)}}
.case-tabs button{font:600 15px "Manrope";text-align:left;background:var(--ivory);color:var(--slate);border:0;border-right:1px solid var(--rule);padding:18px 24px;cursor:pointer;display:flex;gap:12px;align-items:center;border-bottom:3px solid transparent}
.case-tabs button:last-child{border-right:0}
.case-tabs button[aria-selected="true"]{background:var(--white);color:var(--ink);border-bottom-color:var(--cobalt)}
.tab-n{color:var(--cobalt);font-size:13px}
.case-content{display:grid}
@media(min-width:900px){.case-content{grid-template-columns:.8fr 1.2fr}}
.source-note{padding:40px 32px;background:var(--paler);border-right:1px solid var(--rule)}
@media(min-width:900px){.source-note{padding:48px}}
.quote-icon{width:32px;color:var(--cobalt);margin:22px 0 14px}
blockquote{margin:0 0 16px;font-size:22px;line-height:1.35;font-weight:500;font-style:italic}
.fine{font-size:14px;color:var(--slate)}
.case-panel{padding:40px 32px}
@media(min-width:900px){.case-panel{padding:48px}}
.case-status{display:inline-flex;gap:10px;align-items:center;font-size:13px;font-weight:600;color:var(--ink);background:var(--paler);padding:6px 12px;margin-bottom:22px}
.case-status span{width:8px;height:8px;border-radius:50%;background:var(--cobalt)}
.case-detail h4{font-size:24px;margin:10px 0 14px}
.case-detail>p:not(.mini-label):not(.case-status){color:#2C4257}
.retained{margin-top:26px;padding-top:20px;border-top:1px solid var(--rule)}
.retained p:last-child{margin-top:8px;color:#2C4257}
.approval{display:flex;gap:12px;align-items:flex-start;margin-top:28px;font-size:14px;color:var(--slate)}
.approval span{color:var(--cobalt)}

/* Flow (ink) */
.flow-section{background:var(--ink);color:var(--ivory);padding:96px 0}
.flow-section .eyebrow{color:var(--pale)}
.flow-section .section-intro{color:#D0DAE5}
.flow{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid #3A5370}
@media(min-width:900px){.flow{grid-template-columns:repeat(5,1fr)}}
.flow li{padding:28px 20px 28px 0;border-bottom:1px solid #3A5370}
@media(min-width:900px){.flow li{border-bottom:0;border-right:1px solid #3A5370;padding:32px 20px}.flow li:first-child{padding-left:0}.flow li:last-child{border-right:0}}
.flow-n{font-size:13px;font-weight:600;color:var(--pale)}
.flow h3{font-size:20px;margin:12px 0 8px}
.flow p{font-size:15px;color:#D0DAE5}
.flow-validation{display:flex;gap:12px;align-items:center;margin-top:32px;font-size:14px;color:var(--pale)}

/* Software */
.engines{display:grid;gap:24px}
@media(min-width:820px){.engines{grid-template-columns:1fr 1fr}}
.engines article,.context-grid article{background:var(--white);border:1px solid var(--rule);padding:36px}
.engines h3,.context-grid h3{font-size:22px;margin:22px 0 12px}
.engines p,.context-grid p{color:#2C4257;font-size:16px}
.engine-symbol{display:flex;gap:6px;height:28px;align-items:flex-end}
.engine-symbol i{display:block;width:28px;height:2px;background:var(--cobalt)}
.engine-symbol.rules i:nth-child(2){height:2px;width:48px}.engine-symbol.rules i{align-self:center}
.engine-symbol.assist i{width:10px;height:10px;border:2px solid var(--cobalt);background:none;border-radius:50%}
.human-review{display:flex;gap:20px;align-items:flex-start;margin:24px 0;background:var(--ink);color:var(--ivory);padding:36px}
.review-mark{font-size:28px;color:var(--pale);line-height:1}
.human-review h3{font-size:22px;margin-bottom:10px}
.human-review p{color:#D0DAE5}
.ui-figure{margin:56px 0}
.ui-figure img{border:1px solid var(--rule);box-shadow:0 24px 60px rgba(20,44,67,.14)}
.trace-block{display:grid;gap:32px;padding:48px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:24px}
@media(min-width:900px){.trace-block{grid-template-columns:.9fr 1.1fr;align-items:center;gap:56px}}
.trace-block h3{font-size:28px;margin-bottom:14px}
.trace-block p{color:#2C4257}
.trace-chain{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);position:relative}
.trace-chain:before{content:"";position:absolute;left:10%;right:10%;top:22px;height:2px;background:var(--cobalt)}
.trace-chain li{display:flex;flex-direction:column;align-items:center;gap:12px;font-size:14px;font-weight:600;text-align:center;position:relative}
.trace-node{width:44px;height:44px;display:grid;place-items:center;background:var(--ivory);border:2px solid var(--cobalt);color:var(--cobalt);font-size:13px}
.context-grid{display:grid;gap:24px}
@media(min-width:820px){.context-grid{grid-template-columns:1fr 1fr}}
.context-symbol{font-size:15px;font-weight:600;color:var(--cobalt)}

/* Report */
.report-section{background:var(--paler);padding:96px 0}
.report-grid{display:grid;gap:48px;align-items:center}
@media(min-width:900px){.report-grid{grid-template-columns:1fr 1fr;gap:72px}}
.report-grid h2{font-size:clamp(34px,4.4vw,52px);margin:18px 0 24px}
.report-grid>div>p:last-child{color:#2C4257}
.report-sheet{background:var(--white);padding:40px;box-shadow:0 24px 60px rgba(20,44,67,.12);border-top:4px solid var(--cobalt)}
.sheet-brand{padding-bottom:20px;border-bottom:1px solid var(--rule);margin-bottom:8px}
.sheet-brand img{width:170px}
.report-sheet ol{list-style:none;margin:0;padding:0}
.report-sheet li{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid var(--rule)}
.report-sheet li span{font-size:13px;font-weight:600;color:var(--cobalt);padding-top:3px}
.report-sheet li p{font-weight:500}
.report-foot{font-size:14px;color:var(--slate);margin-top:20px}
.legal-boundary{margin-top:56px;padding:20px 24px;border-left:3px solid var(--cobalt);background:var(--white);font-size:15px;color:#2C4257}

/* Contact */
.contact-section{display:grid;gap:40px;padding:96px 0;align-items:center}
@media(min-width:900px){.contact-section{grid-template-columns:1.2fr .8fr;gap:72px}}
.contact-section h2{font-size:clamp(32px,4.2vw,48px);margin:18px 0 20px}
.contact-section>div>p:last-child{color:#2C4257}
.contact-person{background:var(--white);border:1px solid var(--rule);padding:36px}
.avatar{width:56px;height:56px;display:grid;place-items:center;background:var(--ink);color:var(--ivory);font-weight:600;margin-bottom:18px}
.contact-person h3{font-size:22px;margin-bottom:6px}
.email{display:block;margin-bottom:24px;font-weight:500;word-break:break-all}

/* Footer */
footer{background:var(--ink);color:var(--ivory);padding:56px 0}
.footer-main{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;align-items:flex-start}
footer .brand img{width:220px}
.footer-links{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;font-size:15px}
.footer-links a,.footer-links button,.footer-links summary{color:var(--ivory);background:none;border:0;font:500 15px "Manrope";cursor:pointer;text-decoration:none;padding:0}
.footer-links a:hover,.footer-links button:hover,.footer-links summary:hover{color:var(--pale)}
details a{display:block;margin-top:10px;color:var(--pale)!important}

/* Dialog */
dialog{max-width:560px;width:calc(100% - 32px);border:0;padding:40px;color:var(--ink);background:var(--ivory)}
dialog::backdrop{background:rgba(20,44,67,.55)}
dialog h2{font-size:24px;margin-bottom:16px}
dialog p{margin-bottom:14px;color:#2C4257;font-size:16px}
.close-dialog{position:absolute;right:14px;top:10px;background:none;border:0;font-size:28px;cursor:pointer;color:var(--ink)}

/* Legal page */
.legal-page{padding:80px 0 96px}
.legal-page h1{font-size:clamp(34px,5vw,52px);margin:18px 0 20px}
.legal-page .lead{font-size:19px;color:#2C4257;margin-bottom:48px}
.legal-grid{display:grid;gap:24px}
@media(min-width:820px){.legal-grid{grid-template-columns:1fr 1fr}}
.legal-grid article{background:var(--white);border:1px solid var(--rule);padding:32px}
.legal-grid h2{font-size:21px;margin:12px 0 12px}
.legal-grid p{color:#2C4257;font-size:16px;margin-bottom:8px}

.nav-simple{display:flex!important;position:static!important;flex-direction:row!important;padding:0!important;border:0!important;background:none!important;align-items:center;gap:20px}

/* Product tour */
.product{padding-top:72px}
.shots{display:grid;gap:56px}
.shot{display:grid;gap:28px;align-items:center}
@media(min-width:960px){.shot{grid-template-columns:1.35fr .65fr;gap:56px}.shot:nth-child(even){grid-template-columns:.65fr 1.35fr}.shot:nth-child(even) img{order:2}}
.shot img{border:1px solid var(--rule);box-shadow:0 24px 60px rgba(20,44,67,.14);background:#fff}
.shot-n{font-size:13px;font-weight:600;color:var(--cobalt)}
.shot h3{font-size:26px;margin:10px 0 14px}
.shot p{color:#2C4257}
.shot-note{margin-top:28px;font-size:14px;color:var(--slate)}
.journal{margin-top:64px;background:var(--ink);color:var(--ivory);padding:44px}
.journal h3{font-size:28px;margin-bottom:12px}
.journal>p{color:#D0DAE5;max-width:760px}
.journal .trace-chain{margin:36px 0 8px}
.journal .trace-node{background:var(--ink);border-color:var(--pale);color:var(--pale)}
.journal .trace-chain:before{background:var(--pale)}
.journal .trace-chain li{color:var(--ivory)}
.journal-note{font-size:13px;color:#8DA2B8!important;margin-top:20px}
.case-shot{margin:0;padding:28px;background:var(--paler);border-right:1px solid var(--rule)}
.case-shot img{border:1px solid var(--rule);background:#fff}
.case-shot figcaption{margin-top:12px}
