:root{--paper:#f7f5ef;--ink:#1a1c18;--acid:#dfff53;--purple:#dcd4f7;--line:#d4d2c7;--muted:#515349;--head:"Bricolage Grotesque",Arial,sans-serif;--mono:"Space Mono",monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #7950bf;outline-offset:5px}.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}header,footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:22px}header{border-bottom:1px solid var(--line)}nav{display:flex;gap:32px;font-size:.91rem;font-weight:700}nav a:hover,.simple:hover{text-decoration:underline}.logo{font:800 37px/.95 var(--head);letter-spacing:-.09em}.logo span{color:#547300}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:white;border:1px solid var(--ink);padding:14px 22px;border-radius:5px;font-weight:700;transition:background .2s,color .2s}.button:hover{background:var(--acid);color:var(--ink)}.small{padding:8px 15px;font-size:.9rem}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;padding-block:74px 84px}.eyebrow{font:400 12px/1.5 var(--mono);letter-spacing:.065em;display:flex;align-items:center;gap:9px;margin:0 0 20px}.eyebrow i{width:9px;height:9px;border-radius:50%;background:#789917}.dark .eyebrow i{background:var(--acid)}h1,h2,h3{font-family:var(--head);line-height:.99;margin:0;letter-spacing:-.06em}h1{font-size:clamp(64px,8.2vw,124px);font-weight:800}h1 em{font-style:normal;background:var(--acid);padding:0 .09em .04em;box-decoration-break:clone}h2{font-size:clamp(42px,5.8vw,79px);font-weight:800}h3{font-size:clamp(23px,2.4vw,34px);line-height:1.1}.intro{font-size:1.14rem;color:var(--muted);max-width:500px;margin:27px 0}.actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.simple{font-weight:700;text-decoration:underline;text-underline-offset:5px}.demo{background:var(--purple);border:1px solid var(--ink);box-shadow:8px 8px 0 var(--ink);border-radius:12px;overflow:hidden;min-width:0}.demo-top,.demo-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;font:11px var(--mono);letter-spacing:.035em}.demo-top{border-bottom:1px solid var(--ink);padding:13px 17px}.demo-body{padding:22px;background-image:radial-gradient(#aea0c7 1px,transparent 1px);background-size:13px 13px}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:15px}.tabs button{background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:4px;padding:5px 10px;font-size:.8rem;font-weight:700}.tabs button[aria-pressed=true]{background:var(--acid)}.query{background:var(--paper);border:1px solid var(--ink);border-radius:7px;padding:23px;min-height:230px}.query span,.cards article>span{font:12px var(--mono)}.query strong{display:block;font:800 clamp(26px,3.1vw,45px)/1.05 var(--head);letter-spacing:-.05em;margin:12px 0}.query p{margin:12px 0 0;color:var(--muted)}.demo-bottom{margin-top:15px}.band{background:var(--acid);border-block:1px solid var(--ink)}.band .wrap{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-block:17px}.band span{font:11px var(--mono)}.band strong{font:800 clamp(17px,2vw,25px) var(--head);letter-spacing:-.035em}.section{padding-block:72px}.section-head{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:end}.section-head p,.contact p{font-size:1.14rem;max-width:490px;margin:0;color:var(--muted)}.cards{display:grid;margin-top:38px;gap:12px}.three{grid-template-columns:repeat(3,1fr)}.four{grid-template-columns:repeat(4,1fr)}.cards article{border:1px solid var(--line);border-radius:7px;padding:24px}.three article:first-child{background:#ede9dc}.three article:nth-child(2){background:#edfad3}.three article:nth-child(3){background:#ece6fa}.cards article>span{display:inline-block;margin-bottom:16px}.cards p,.note{color:var(--muted);margin-bottom:0}.dark{background:var(--ink);color:var(--paper)}.dark p{color:#d1d2c6}.dark .cards article{border-color:#515447}.dark h3{color:var(--acid)}.contact{background:var(--acid);border-block:1px solid var(--ink)}.contact p{margin:18px 0}.contact .button:hover{background:white}footer p,footer>a:last-child{font-size:.9rem}
@media(max-width:950px){.hero{gap:32px}.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:740px){.wrap{width:calc(100% - 36px)}header,footer{gap:12px}.logo{font-size:30px}nav{gap:12px;font-size:.8rem}header .small{display:none}.hero,.section-head{grid-template-columns:1fr}.hero{padding-block:56px 65px;gap:36px}.demo{margin-right:8px}.section{padding-block:58px}.section-head{gap:16px}.three{grid-template-columns:1fr}.band .wrap{flex-wrap:wrap;justify-content:flex-start;gap:8px 13px}.band span{width:100%}.cards article{padding:17px}footer p{display:none}}
@media(max-width:340px){.four{grid-template-columns:1fr}h1{font-size:57px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.two{grid-template-columns:repeat(2,1fr);margin-top:12px}
.fanout{display:grid;grid-template-columns:1.15fr 1fr;gap:30px;align-items:center;margin-top:12px;padding:28px;border:1px solid var(--line);border-radius:7px;background:var(--purple)}
.fanout p{color:var(--muted);margin-bottom:0}
.fanout .eyebrow{margin:0 0 12px}
.sources a{text-decoration:underline;text-underline-offset:3px;font-size:.84rem}
.branches{background:var(--paper);padding:20px;border:1px solid var(--ink);border-radius:5px}
.branches li{margin-block:5px}.branches small{color:var(--muted)}
@media(max-width:740px){.fanout,.two{grid-template-columns:1fr}.fanout{gap:18px;padding:18px}header{flex-wrap:wrap}nav{flex-wrap:wrap}}

.journey{background:#efece3;border-top:1px solid var(--line)}
.journey-map{margin-top:32px;padding:24px;background:var(--purple);border:1px solid var(--ink);border-radius:10px;box-shadow:5px 5px 0 var(--ink)}
.journey-controls{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.journey-controls button,.journey-stops button{border:1px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:5px;font-weight:700}
.journey-controls button{padding:8px 14px}
.journey-controls button[aria-pressed=true],.journey-stops button[aria-pressed=true]{background:var(--acid)}
.journey-stops{list-style:none;padding:0;margin:0 0 16px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.journey-stops li{position:relative}
.journey-stops li:not(:last-child)::after{content:"";position:absolute;width:10px;border-top:1px solid var(--ink);top:50%;left:100%;pointer-events:none}
.journey-stops button{display:block;width:100%;height:100%;padding:10px;text-align:left;line-height:1.2}
.journey-stops small{display:block;font:11px var(--mono);margin-bottom:6px}
.journey-detail{display:grid;grid-template-columns:1.05fr 1fr;gap:24px;background:var(--paper);border:1px solid var(--ink);border-radius:6px;padding:22px}
.journey-detail p{margin:5px 0 14px;color:var(--muted)}.journey-detail p:last-child{margin-bottom:0}.journey-detail .eyebrow{text-transform:uppercase;margin:0 0 12px}
.journey-detail h3{margin-bottom:10px}.journey-map+.cards{margin-top:18px}
@media(max-width:740px){.journey-map{padding:14px;margin-right:5px}.journey-stops{grid-template-columns:repeat(3,minmax(0,1fr))}.journey-stops li:nth-child(3)::after{display:none}.journey-detail{grid-template-columns:1fr;gap:16px;padding:16px}}

.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.inquiry{background:var(--paper);border:1px solid var(--ink);border-radius:8px;padding:24px;display:grid;gap:14px}
.inquiry label{display:grid;gap:5px;min-width:0;font-weight:700}
.inquiry label span{display:contents;font-weight:400}
.inquiry input,.inquiry textarea{display:block;width:100%;padding:10px;border:1px solid #646457;border-radius:4px;background:white;color:var(--ink);font:inherit;font-weight:400}
.inquiry textarea{resize:vertical}
.inquiry :is(input,textarea):focus-visible{outline:2px solid #7950bf;outline-offset:2px}
.inquiry-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contact .form-note{font-size:.85rem;margin:0}
.inquiry .button{justify-self:start}
@media(max-width:740px){.contact-layout,.inquiry-row{grid-template-columns:1fr}.contact-layout{gap:24px}.inquiry{padding:16px}}
