:root{--ink:#352842;--navy:#4c365f;--accent:#7550a6;--paper:#fbf7f0;--white:#fff;--muted:#6c6173;--line:#ddd1e3;--radius:24px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,textarea{font:inherit}button,a,summary,textarea{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #7550a6;outline-offset:5px}p,h1,h2,h3{margin-top:0}p{margin-bottom:0}button{border:0}a,button{touch-action:manipulation}[hidden]{display:none!important}.container{width:min(1280px,calc(100% - 112px));margin-inline:auto}.eyebrow{font-size:.76rem;font-weight:700;letter-spacing:.14em;line-height:1.5;margin-bottom:25px}.button{background:var(--accent);border:1px solid var(--accent);display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 23px;border-radius:999px;color:#fff;font-size:.93rem;font-weight:650;transition:background .2s,transform .2s;text-align:center}.button:hover{background:#63418f;transform:translateY(-2px)}.button.small{min-height:44px;padding:10px 18px;font-size:.875rem}.button.dark{background:var(--accent);color:white;border-color:var(--accent)}.button.dark:hover{background:#63418f}.text-link{font-size:.93rem;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#a48ab8;white-space:nowrap}.text-link:hover{text-decoration-color:var(--accent)}.skip-link{position:fixed;top:10px;left:10px;z-index:100;background:var(--accent);padding:12px;color:#fff;border-radius:14px;transform:translateY(-200%)}.skip-link:focus{transform:none}
.header{background:#f4eddf;color:var(--ink);border-bottom:1px solid #ddd1e3;position:relative;z-index:10}.header-inner{height:94px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:inline-flex;align-items:center;gap:11px;font-size:1.75rem;font-weight:650;letter-spacing:-.055em;line-height:1;white-space:nowrap}.brand-dot{color:var(--accent)}.brand-icon{display:flex;gap:3px;align-items:center;height:31px;width:28px}.brand-icon i{display:block;width:7px;background:var(--accent);transform:skewY(-18deg);border-radius:3px}.brand-icon i:nth-child(1){height:17px}.brand-icon i:nth-child(2){height:29px}.brand-icon i:nth-child(3){height:22px}.desktop-nav{display:flex;gap:30px;font-size:.875rem}.desktop-nav a:hover,.languages a:hover{color:var(--accent)}.header-actions{display:flex;align-items:center;gap:28px}.languages{font-size:.8rem;display:flex;gap:9px;color:#74677f}.languages a{display:inline-flex;align-items:center;min-height:44px}.languages [aria-current]{color:var(--accent);font-weight:700}.menu-button{display:none;background:transparent;border:1px solid #c6b6d1;border-radius:999px;padding:9px 13px}.mobile-nav{padding:10px 28px 25px;display:grid;gap:12px}
.hero{background:#f4eddf;color:var(--ink);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:65px;align-items:center;padding-top:78px;padding-bottom:77px}.hero-copy .eyebrow{color:var(--accent)}h1{font-size:clamp(3.3rem,5.35vw,5.5rem);font-weight:500;line-height:1.055;letter-spacing:-.058em;margin-bottom:28px;max-width:650px}h1 em{font-style:normal;color:var(--accent);display:block}.intro{color:#6c6173;max-width:520px;font-size:1.05rem;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:35px;flex-wrap:wrap}.data-art{position:relative;padding:25px 29px 22px;background-color:#eee4f4;background-image:radial-gradient(#9c7bb229 .8px,transparent .8px);background-size:19px 19px;border:1px solid #d8c7e2;border-radius:32px;transform:rotate(-1deg);box-shadow:0 25px 55px #50376612}.art-heading{display:flex;align-items:center;justify-content:space-between;font-size:.65rem;letter-spacing:.13em;color:#665172;gap:10px}.art-heading span{font-size:.65rem;color:#786685}.source-nodes{display:flex;justify-content:space-between;gap:10px;margin-top:45px}.source-nodes>div{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d8c7e2;background:#fbf7f0;color:#57445f;border-radius:16px;padding:10px 8px;flex:1;font-size:.73rem}.node-icon{font-size:1.15rem;color:var(--accent)}.connector-lines{position:relative;height:70px;margin:0 16%;display:flex;justify-content:space-between}.connector-lines i{width:1px;background:#b69bca;height:36px}.connector-lines i:first-child{border-bottom:1px solid #b69bca;border-left:1px solid #b69bca;width:50%;background:none;border-radius:0 0 0 15px}.connector-lines i:last-child{border-bottom:1px solid #b69bca;border-right:1px solid #b69bca;width:50%;background:none;border-radius:0 0 15px 0}.connector-lines i:nth-child(2){position:absolute;left:50%;height:70px}.data-core{background:var(--accent);color:#fff;position:relative;width:78%;margin:auto;padding:24px 14px 21px;border-radius:24px;box-shadow:0 0 55px #7550a612;display:flex;align-items:center;flex-direction:column;gap:13px}.core-mark{display:flex;align-items:center;font-weight:650;font-size:2.2rem;line-height:1;letter-spacing:-.05em;gap:10px}.core-mark .brand-icon i{background:#eadbf5}.core-mark .brand-dot{color:#eadbf5}.data-core>span:last-child{font-size:.85rem}.output-line{height:39px;width:1px;background:#b69bca;margin:auto}.output-node{display:flex;align-items:center;justify-content:center;gap:13px;padding:14px 12px;background:#faf6fd;color:#57445f;border:1px solid #c8b3d8;border-radius:16px;font-size:.84rem}.output-node>span{font-size:1.3rem;color:var(--accent)}.art-bottom{margin-top:35px;display:flex;justify-content:space-between;align-items:center;font-size:.56rem;letter-spacing:.13em;color:#786685}.art-bottom span:last-child{font-size:1.4rem}.principles{border-top:1px solid #dacfe0;display:flex;justify-content:space-between;padding-block:25px;color:#6c6173;font-size:.86rem;gap:20px}.principles b{color:var(--accent);font-size:.68rem;margin-right:16px;font-weight:500}
.section{padding:98px 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:70px;margin-bottom:49px}h2{font-size:clamp(2.4rem,3.65vw,3.65rem);font-weight:500;line-height:1.12;letter-spacing:-.048em;margin-bottom:0}.section-heading>p{max-width:370px;color:var(--muted);font-size:1rem;line-height:1.8}.services .eyebrow,.approach .eyebrow{color:#78618c}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;align-items:start}.service-card{border:1px solid #e4d9e9;border-radius:var(--radius);background:#fff;overflow:hidden;box-shadow:0 5px 20px #50376604;transition:border-color .2s,box-shadow .2s}.service-card:hover,.service-card[open]{border-color:#b399c7;box-shadow:0 12px 28px #5037660c}.service-card summary{list-style:none;padding:24px 24px 27px;display:flex;flex-direction:column;min-height:307px}.service-card summary::-webkit-details-marker{display:none}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:42px}.service-number{font-size:.76rem;color:#80658e}.expand{font-size:1.5rem;font-weight:300;line-height:1;transition:transform .2s}.service-card[open] .expand{transform:rotate(45deg)}h3{font-size:1.32rem;font-weight:550;letter-spacing:-.025em;line-height:1.3;margin-bottom:13px}.service-card summary p{color:var(--muted);font-size:.94rem;line-height:1.7}.service-more{padding-top:25px;margin-top:auto;font-size:.76rem;font-weight:600;text-decoration:underline;text-underline-offset:4px}.service-detail{padding:0 24px 24px;font-size:.92rem;color:var(--muted)}.service-detail ul{padding-left:19px;margin-bottom:0}.service-detail li{padding-top:9px}
.applications{background:#f0e9f6}.applications .eyebrow{color:#78618c}.usecase-tabs{display:flex;gap:8px;border-bottom:1px solid #d8c8e2;padding-bottom:17px;margin-bottom:42px;flex-wrap:wrap}.usecase-tabs button{background:transparent;padding:12px 22px;border:1px solid transparent;border-radius:999px;font-size:.94rem}.usecase-tabs button:hover{border-color:#b399c7}.usecase-tabs [aria-selected="true"]{background:var(--accent);color:#fff}.usecase-panel{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.usecase-copy>.eyebrow{font-size:.69rem;margin-bottom:17px}.usecase-copy h3{font-size:2.45rem;font-weight:500;letter-spacing:-.04em;line-height:1.13;margin-bottom:22px}.usecase-copy>p:not(.eyebrow){color:#6c6173;line-height:1.8}.usecase-copy ul{list-style:none;padding:0;margin:24px 0 0;color:#57445f;font-size:.94rem}.usecase-copy li{position:relative;padding-left:25px;margin-top:10px}.usecase-copy li:before{content:'✓';position:absolute;left:0;color:#7550a6}.usecase-visual{position:relative;overflow:hidden;align-self:stretch;min-height:360px;background:#e8daf2;color:var(--ink);border-radius:28px;padding:30px 36px;display:flex;flex-direction:column;justify-content:center}.example-label{font-size:.69rem;color:#756181;letter-spacing:.04em;margin-bottom:27px}.flow-step{position:relative;padding:13px 18px;border:1px solid #d6c2e4;border-radius:16px;display:flex;gap:16px;align-items:center;margin-bottom:17px;background:#fbf7f0}.flow-step:not(:last-child):after{content:'';position:absolute;left:31px;width:1px;height:18px;top:100%;background:#b69bca}.flow-step>span{color:var(--accent);font-size:.7rem}.flow-step strong{font-weight:500;font-size:.9rem}.flow-step i{font-style:normal;margin-left:auto;font-size:1.2rem;color:var(--accent)}.flow-step:last-child{background:var(--accent);color:#fff;border-color:var(--accent)}.flow-step:last-child span,.flow-step:last-child i{color:#fff}.usecase-visual>p{font-size:.85rem;color:#6b547a;max-width:78%;margin-top:9px;position:relative;z-index:1}.visual-corner{position:absolute;bottom:-9px;right:10px;font-size:5rem;line-height:1;letter-spacing:-.08em;font-weight:600;color:#7550a610}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:65px}.step-number{font-size:3.4rem;font-weight:350;line-height:1;color:#7550a6;letter-spacing:-.055em;display:flex;justify-content:space-between;border-bottom:1px solid #ddd1e3;padding-bottom:25px;margin-bottom:27px}.step-number span{font-size:2.9rem;color:#c6b1d6;font-weight:300}.steps h3{font-size:1.5rem}.steps p{color:var(--muted);line-height:1.8;font-size:.96rem}
.contact-section{padding:79px 0;background:#e7dcf0;border-radius:48px 48px 0 0}.contact-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:95px;align-items:center}.contact-section h2{font-size:clamp(2.3rem,3.3vw,3.35rem);margin-bottom:24px}.contact-section .eyebrow{color:#725289}.contact-grid>div>p:not(.eyebrow){max-width:460px;color:#62506e;line-height:1.8}.email-link{display:inline-block;font-size:1.4rem;text-decoration:underline;text-underline-offset:5px;margin-top:23px}.brief-form label{display:block;font-size:1rem;font-weight:600;margin-bottom:14px}.brief-form textarea{display:block;width:100%;padding:16px;border:1px solid #c5afd5;border-radius:16px;background:#fffcf7;color:var(--ink);resize:vertical;min-height:138px;line-height:1.6;font-size:.94rem;margin-bottom:16px}.brief-form textarea::placeholder{color:#7a6887}.form-hint{font-size:.76rem;margin-top:12px;color:#6c557b;line-height:1.5}.form-status{font-size:.86rem;margin-top:8px}.brief-form .button{min-width:180px}footer{background:#f4eddf;color:var(--ink);padding:51px 0 24px}.footer-top{display:flex;align-items:center;gap:55px;padding-bottom:42px}.footer-top p{font-size:.94rem;color:#75677d}.footer-top>.text-link{margin-left:auto;font-size:.8rem}.footer-bottom{border-top:1px solid #dacfe0;padding-top:24px;display:flex;align-items:flex-start;justify-content:space-between;gap:35px;font-size:.75rem;color:#75677d}.privacy{max-width:460px;text-align:right}.privacy summary{text-decoration:underline;text-underline-offset:4px}.privacy p{margin-top:16px;line-height:1.8;text-align:left}
@media(min-width:1600px){.hero-grid{padding-top:100px;padding-bottom:100px}}@media(max-width:1150px){.container{width:calc(100% - 64px)}.header-inner{gap:20px}.desktop-nav{gap:20px}.header-actions{gap:20px}.hero-grid{gap:36px}.data-art{padding:23px 20px}.art-heading{font-size:.6rem}.source-nodes>div{font-size:.66rem;padding:8px 5px;gap:5px}.node-icon{font-size:1rem}.hero-actions{gap:20px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card summary{min-height:245px}.service-top{margin-bottom:24px}.usecase-panel{gap:48px}.contact-grid{gap:55px}}
@media(max-width:900px){.desktop-nav,.header-cta{display:none!important}.menu-button{display:block}.header-inner{height:80px}.hero-grid{grid-template-columns:1fr;padding-top:56px;gap:48px;padding-bottom:55px}.hero-copy{max-width:660px}.hero h1{font-size:clamp(3.5rem,8vw,5rem);max-width:630px}.intro{max-width:580px}.data-art{width:min(520px,93%);justify-self:center;transform:rotate(-1deg)}.source-nodes>div{font-size:.78rem}.hero .principles{font-size:.77rem}.principles b{margin-right:7px}.section{padding-block:70px}.section-heading{gap:35px;align-items:flex-start}.section-heading>p{max-width:300px}.usecase-panel{gap:32px}.usecase-visual{padding:25px 20px;min-height:340px}.steps{gap:28px}.contact-grid{gap:35px}.footer-top{gap:30px;flex-wrap:wrap}.footer-top>.text-link{margin-left:0}}
@media(max-width:650px){html{scroll-padding-top:25px}.container{width:calc(100% - 40px)}.brand{font-size:1.55rem;gap:8px}.header-actions{gap:16px}.header-inner{gap:10px;height:76px}.languages{gap:6px}.menu-button{font-size:.82rem;padding:8px 10px;min-height:44px}.hero-grid{padding-top:42px;gap:43px}.eyebrow{font-size:.69rem;letter-spacing:.1em;margin-bottom:22px}.hero h1{font-size:clamp(2.8rem,11.5vw,4.1rem);line-height:1.08;letter-spacing:-.05em;margin-bottom:22px}.intro{font-size:1rem}.hero-actions{margin-top:27px;align-items:flex-start;gap:23px}.hero-actions .text-link{padding-block:9px}.data-art{width:96%;padding:22px 17px 16px}.source-nodes{margin-top:33px;gap:7px}.source-nodes>div{font-size:.67rem;padding:9px 5px}.connector-lines{height:54px}.connector-lines i:nth-child(2){height:54px}.data-core{width:84%;padding:19px 10px}.core-mark{font-size:1.9rem}.output-node{font-size:.77rem;padding:12px 7px;gap:9px}.art-bottom{margin-top:25px;font-size:.49rem}.art-heading{font-size:.55rem;letter-spacing:.06em}.art-heading span{font-size:.55rem}.principles{display:grid;grid-template-columns:1fr;padding-block:20px;gap:8px;font-size:.82rem}.principles b{margin-right:16px}.section{padding-block:58px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{max-width:100%;margin-top:24px}h2{font-size:2.4rem}.service-grid{grid-template-columns:1fr;gap:13px}.service-card summary{min-height:0;padding:21px 24px}.service-top{margin-bottom:18px}.service-card h3{font-size:1.4rem}.service-more{padding-top:17px}.usecase-tabs{gap:7px;margin-bottom:32px}.usecase-tabs button{font-size:.85rem;padding:10px 12px}.usecase-panel{grid-template-columns:1fr;gap:28px}.usecase-copy h3{font-size:2.1rem}.usecase-visual{min-height:320px;padding:28px}.steps{grid-template-columns:1fr;gap:32px;margin-top:38px}.step-number{font-size:2.6rem;padding-bottom:15px;margin-bottom:19px}.step-number span{font-size:2.4rem}.contact-section{padding-block:56px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-section h2{font-size:2.25rem}.brief-form textarea{font-size:1rem}.footer-top{display:grid;gap:20px;padding-bottom:29px}.footer-bottom{display:block}.privacy{text-align:left;margin-top:18px}footer{padding-top:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Soft, rounded accents shared by both language versions. */
.service-card:nth-child(even){background:#f5eef9}.service-card:nth-child(odd){background:#fffcf7}.expand{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#ece1f4;color:#7550a6}.brief-form textarea{border-radius:20px}.mobile-nav{background:#f4eddf}.data-art .node-icon{color:#7550a6}::selection{background:#dfcbed;color:#352842}
/* Platforms and our six-stage method. */
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card:first-child{grid-column:span 2;background:#eee4f4}.service-card:first-child h3{font-size:1.8rem}.service-card:first-child summary p{max-width:520px}.method-belief{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center;padding-block:12px 25px}.method-belief h3{font-size:1.55rem}.method-belief p{color:var(--muted);line-height:1.8;margin-top:18px}.method-belief figure{margin:0;padding:40px;background:#eee4f4;border:1px solid #ded0e7;border-radius:32px}.method-belief blockquote{margin:0;color:var(--accent);font-size:clamp(1.7rem,2.5vw,2.4rem);line-height:1.3;letter-spacing:-.035em}.method-belief figcaption{margin-top:26px;font-size:.82rem;color:var(--muted)}.steps{list-style:none;padding:0;margin-bottom:0;row-gap:48px}.steps>li{min-width:0}.method-note{margin-top:40px;padding:22px 26px;border-left:3px solid var(--accent);background:#f4edf8;border-radius:0 18px 18px 0;color:var(--muted);max-width:870px}
@media(max-width:1150px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.method-belief{gap:36px}.method-belief figure{padding:30px}}
@media(max-width:900px){.method-belief{grid-template-columns:1fr}.method-belief figure{max-width:680px}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.service-grid,.steps{grid-template-columns:1fr}.service-card:first-child{grid-column:auto}.service-card:first-child h3{font-size:1.4rem}.method-belief{gap:26px}.method-belief figure{padding:28px}.steps{row-gap:32px}.method-note{padding:18px 20px}}
/* Compact route: six stops, only the pilot and concept share a loop. */
.method-route{max-width:1280px;margin:56px auto 0;scroll-margin-top:28px}
.route-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:22px}
.route-heading h3{font-size:2rem;font-weight:500;letter-spacing:-.045em;margin:0}
.route-heading>p{font-size:.85rem;color:var(--muted)}
.route-map{position:relative;display:grid;grid-template-columns:1fr 1fr 2.3fr 1fr 1fr;gap:14px;align-items:center;min-height:238px}
.route-track{position:absolute;width:100%;height:80px;top:60px;left:0;overflow:visible;pointer-events:none}
.route-track path{fill:none;stroke-width:2;vector-effect:non-scaling-stroke}
.track-base{stroke:#d3bfdf}.track-travel{stroke:#9872b8;stroke-dasharray:5 10}
.route-stop{background:transparent;position:relative;z-index:1;display:flex;align-items:center;flex-direction:column;justify-content:flex-start;width:100%;min-height:154px;padding:8px 5px;text-align:center;border-radius:20px;transition:transform .22s}
.route-stop:hover{transform:translateY(-5px)}
.stop-symbol{position:relative;display:grid;place-items:center;width:68px;height:68px;background:#fffcf7;border:1px solid #d7c4e4;border-radius:23px;box-shadow:0 7px 20px #50376609;color:var(--accent);transition:background .2s,color .2s,box-shadow .2s}
.stop-symbol>svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.stop-number{position:absolute;right:-7px;bottom:-6px;border:3px solid var(--paper);background:#e8dbf2;border-radius:50%;display:grid;place-items:center;width:28px;height:28px;font-size:.65rem;font-weight:700;letter-spacing:.02em;color:var(--accent)}
.stop-name{display:block;margin-top:18px;font-size:.94rem;font-weight:650;line-height:1.3;max-width:150px}
.stop-caption{display:block;margin-top:7px;font-size:.76rem;line-height:1.4;color:var(--muted)}
.route-stop[aria-expanded="true"] .stop-symbol{background:var(--accent);color:white;border-color:var(--accent);box-shadow:0 8px 24px #7550a633}
.route-cycle{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:35px 12px 22px;border:1px solid #d2bce3;border-radius:38px;background:#eee4f4}
.cycle-label{position:absolute;left:0;right:0;top:10px;text-align:center;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}
.cycle-track{position:absolute;inset:23px 0 auto;width:100%;height:190px;pointer-events:none;overflow:visible}
.cycle-track path{fill:none;stroke:#ad8ac6;stroke-width:1.5;stroke-dasharray:4 5;vector-effect:non-scaling-stroke}
.cycle-track .cycle-arrows{stroke-dasharray:none;stroke-width:2}
.route-cycle .stop-number{border-color:#eee4f4}
.route-details{margin-top:20px;min-height:160px;padding:23px 28px;border-top:1px solid #ded0e7;border-bottom:1px solid #ded0e7}
.route-detail{display:flex;align-items:flex-start;gap:22px;animation:detail-arrive .25s ease-out}
.detail-number{font-size:2.1rem;line-height:1.2;font-weight:350;color:#a48bb6}
.route-detail h4{margin:0 0 7px;font-size:1rem;font-weight:650;line-height:1.3}
.route-detail p{color:var(--muted);font-size:.9rem;line-height:1.7;max-width:1000px}
.route-detail .detail-loop{margin-top:8px;font-size:.81rem;color:var(--accent);font-weight:550}
.route-guarantee{display:flex;align-items:center;gap:22px;margin-top:23px;padding:19px 26px;background:#f1e9dc;border:1px solid #e6d9c6;border-radius:25px}
.guarantee-seal{flex-shrink:0;width:71px;height:71px;border:1px dashed #947ba6;outline:1px solid #d4c6dc;outline-offset:4px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--accent);font-size:2.2rem;line-height:1;transform:rotate(-9deg);transition:transform .3s}
.route-guarantee:hover .guarantee-seal{transform:rotate(9deg)}
.guarantee-seal>span{font-size:.51rem;font-weight:700;letter-spacing:.07em;line-height:1.8}
.guarantee-label{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:4px}
.route-guarantee h4{font-size:1.4rem;font-weight:550;letter-spacing:-.03em;line-height:1.2;margin:0 0 5px}
.route-guarantee p{font-size:.83rem;color:var(--muted)}
.guarantee-spark{margin-left:auto;font-size:2.7rem;color:#ad96bf;font-weight:300}
.route-in-view .route-stop{animation:stop-arrive .5s ease-out both}
.route-in-view .route-stop[data-route-step="1"]{animation-delay:.08s}
.route-in-view .route-stop[data-route-step="2"]{animation-delay:.16s}
.route-in-view .route-stop[data-route-step="3"]{animation-delay:.24s}
.route-in-view .route-stop[data-route-step="4"]{animation-delay:.32s}
.route-in-view .route-stop[data-route-step="5"]{animation-delay:.4s}
.route-in-view .track-travel{animation:route-travel 3.6s linear}
.route-in-view .cycle-track path:not(.cycle-arrows){animation:loop-travel 3.6s linear}
@keyframes route-travel{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes loop-travel{from{stroke-dashoffset:72}to{stroke-dashoffset:0}}
@keyframes stop-arrive{from{opacity:.3;translate:0 12px}to{opacity:1;translate:0 0}}
@keyframes detail-arrive{from{opacity:.4;translate:0 4px}to{opacity:1;translate:0 0}}
@media(max-width:1050px){
  .route-map{gap:4px;grid-template-columns:1fr 1fr 2.1fr 1fr 1fr}
  .route-cycle{padding-inline:6px;gap:2px}.stop-name{font-size:.83rem}.stop-caption{font-size:.7rem}
  .route-details{min-height:180px}.route-heading h3{font-size:1.8rem}
}
@media(max-width:760px){
  .method-route{margin-top:35px}.route-heading{display:block;margin-bottom:14px}.route-heading h3{font-size:1.65rem}.route-heading>p{margin-top:5px;font-size:.77rem}
  .route-map{grid-template-columns:1fr 1fr;gap:8px 26px;min-height:0;max-width:470px;margin:auto}
  .route-track{display:none}.route-cycle{grid-column:1/-1;grid-row:2;padding:24px 14px 14px;border-radius:28px;gap:26px}
  .cycle-label{top:7px;font-size:.62rem}.cycle-track{inset:14px 0 auto;height:111px}
  .route-stop{min-height:94px;padding:4px 0;border-radius:14px}.stop-symbol{width:42px;height:42px;border-radius:15px}.stop-symbol>svg{width:22px;height:22px}
  .stop-number{width:23px;height:23px;font-size:.57rem;right:-7px;bottom:-5px;border-width:2px}
  .stop-name{font-size:.79rem;margin-top:10px;max-width:170px}.stop-caption{font-size:.65rem;margin-top:3px}
  .route-map>.route-stop:nth-of-type(odd):after{content:'→';position:absolute;left:calc(100% + 4px);top:10px;color:#ad8ac6;font-size:20px}
  .route-cycle:before,.route-cycle:after{content:'↓';position:absolute;right:22%;color:#ad8ac6;font-size:18px;line-height:18px}
  .route-cycle:before{top:-18px}.route-cycle:after{bottom:-19px;left:22%;right:auto}
  .route-details{margin-top:12px;padding:16px 0;min-height:190px}.route-detail{gap:13px}.detail-number{font-size:1.5rem}.route-detail h4{font-size:.9rem}.route-detail p{font-size:.8rem;line-height:1.6}.route-detail .detail-loop{font-size:.74rem;line-height:1.5;margin-top:6px}
  .route-guarantee{margin-top:14px;padding:14px 16px;gap:16px;border-radius:20px}.guarantee-seal{width:50px;height:50px;font-size:1.7rem}.guarantee-seal>span{font-size:.4rem}.guarantee-label{font-size:.55rem}.route-guarantee h4{font-size:1.1rem}.route-guarantee p{font-size:.73rem}.guarantee-spark{display:none}
}
@media(prefers-reduced-motion:reduce){.method-route *{animation:none!important;transition:none!important}.route-stop:hover{transform:none}}
@media(max-width:760px){.route-details{min-height:160px}.route-cycle:before,.route-cycle:after{left:calc(50% - 5px);right:auto}.route-cycle:before{top:-18px}.route-cycle:after{bottom:-19px}}
@media(max-width:360px){.route-heading{margin-bottom:10px}.route-details{padding-block:12px}.route-guarantee{padding-block:12px}}
@media(max-width:360px){.stop-caption{display:none}.route-stop{min-height:78px}}
/* Fit both headline lines to the text column, not the viewport. */
.hero-copy{min-width:0;container-type:inline-size}
.hero h1{font-size:min(5.5rem,12.6cqi);max-width:none}
.hero .headline-line{display:block;white-space:nowrap}
/* Privacy and cookie pages share the site's light, calm typography. */
.footer-legal{display:flex;gap:22px;flex-wrap:wrap}.footer-legal a{text-decoration:underline;text-underline-offset:4px}.footer-legal a:hover,.footer-legal [aria-current]{color:var(--accent)}
.legal-home{font-size:.85rem;text-decoration:underline;text-underline-offset:5px}.legal-hero{padding:70px 0 54px;background:#f4eddf}.legal-hero .eyebrow{color:var(--accent)}.legal-hero h1{font-size:clamp(2.6rem,4.3vw,4.5rem);max-width:980px}.legal-hero .intro{max-width:680px}.legal-updated{font-size:.8rem;color:var(--muted);margin-top:25px}.legal-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:75px;padding-block:60px 85px;align-items:start}.legal-sidebar{position:sticky;top:30px}.legal-sidebar .eyebrow{margin-bottom:17px;letter-spacing:.07em;font-size:.69rem}.legal-sidebar nav>a{display:block;font-size:.85rem;line-height:1.6;padding:8px 0;color:var(--muted)}.legal-sidebar a:hover{color:var(--accent);text-decoration:underline}.legal-body{max-width:790px;min-width:0}.legal-summary{padding:26px 30px;background:#eee4f4;border:1px solid #decde9;border-radius:26px;margin-bottom:42px}.legal-summary ul{padding-left:20px;margin:0}.legal-summary li{padding:4px 0}.legal-section{scroll-margin-top:30px;margin-top:36px}.legal-section h2{font-size:1.6rem;letter-spacing:-.03em;margin-bottom:17px;line-height:1.2}.legal-section p{color:var(--muted);line-height:1.85;margin:0 0 17px}.legal-section a{color:#69468e;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legal-section a:hover{color:var(--ink)}
@media(max-width:900px){.legal-layout{grid-template-columns:180px minmax(0,1fr);gap:35px}.legal-summary{padding:22px}.legal-hero{padding-block:50px}}
@media(max-width:650px){.legal-home{display:none}.legal-hero{padding-block:40px}.legal-hero h1{font-size:2.4rem}.legal-layout{display:block;padding-block:30px 50px}.legal-sidebar{position:static;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:28px}.legal-sidebar nav{display:flex;flex-wrap:wrap;gap:4px 18px}.legal-sidebar .eyebrow{width:100%;margin-bottom:6px}.legal-sidebar nav>a{font-size:.8rem;padding:5px 0}.legal-section h2{font-size:1.45rem}.legal-summary{font-size:.94rem;padding:20px;margin-bottom:30px}.footer-legal{margin-top:14px;gap:18px}}
.languages{align-items:center}.languages>span{display:inline-flex;align-items:center;justify-content:center;align-self:center}
/* Give NL, the separator and EN the same centered line box. */
.languages{display:grid;grid-template-columns:auto auto auto;align-items:center}
.languages>a,.languages>span{display:flex;align-items:center;justify-content:center;height:44px;min-height:44px;line-height:1;margin:0;padding:0;align-self:center}
