@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap');

:root { --ink:#202124; --muted:#6b6d73; --paper:#fffdf9; --canvas:#f4f0e8; --line:#e4ddd2; --brand:#f4513d; --brand-dark:#cf3628; --sage:#dce8dd; --terminal:#25272a; --mono:'DM Mono', ui-monospace, monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:1.5rem; }
body { margin:0; color:var(--ink); background:var(--canvas); font-family:'DM Sans', Inter, system-ui, sans-serif; font-size:16px; line-height:1.5; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.shell { width:min(1120px, calc(100% - 48px)); margin-inline:auto; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.site-header { height:82px; display:flex; align-items:center; gap:26px; }
.brand { display:inline-flex; align-items:center; gap:10px; font-size:1.22rem; line-height:1; font-weight:700; letter-spacing:-.055em; }
.brand img { display:block; }
.nav { display:flex; align-items:center; gap:25px; margin-left:auto; color:var(--muted); font-size:.9rem; font-weight:600; }
.nav a:not(.nav-cta):hover { color:var(--brand-dark); }
.nav-cta { padding:9px 14px; color:#fff; background:var(--brand); border-radius:9px; box-shadow:0 5px 12px #f4513d28; transition:.16s ease; }
.nav-cta:hover { background:var(--brand-dark); transform:translateY(-1px); }
.menu-toggle { display:none; }

.hero { min-height:570px; display:grid; grid-template-columns:1.02fr .98fr; gap:55px; align-items:center; padding:72px 0 66px; }
.eyebrow { display:flex; align-items:center; gap:9px; margin:0 0 18px; color:var(--brand-dark); font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.eyebrow > span { width:20px; height:1px; background:currentColor; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { letter-spacing:-.075em; line-height:.96; }
h1 { max-width:560px; margin-bottom:21px; font-size:clamp(3.4rem,6.3vw,5.45rem); font-weight:700; }
h1 em,h2 em { color:var(--brand); font-family:Fraunces, Georgia, serif; font-style:normal; font-weight:600; letter-spacing:-.09em; }
.lead { max-width:510px; margin-bottom:28px; color:var(--muted); font-size:1.12rem; line-height:1.55; }
.hero-actions,.start-actions { display:flex; flex-wrap:wrap; gap:11px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; border-radius:10px; padding:12px 16px; font-size:.91rem; font-weight:700; transition:transform .15s ease,background .15s ease,box-shadow .15s ease; }
.button:hover { transform:translateY(-2px); }
.button-primary { color:#fff; background:var(--brand); box-shadow:0 7px 16px #f4513d35; }
.button-primary:hover { background:var(--brand-dark); }
.button-secondary { border:1px solid var(--line); background:var(--paper); }
.button-secondary:hover { border-color:#cfc5b5; box-shadow:0 5px 13px #3b32200b; }
.hero-note { display:flex; align-items:center; gap:8px; margin:19px 0 0; color:var(--muted); font-size:.78rem; font-weight:600; }
.live-dot { width:7px; height:7px; background:#4aa677; border-radius:50%; box-shadow:0 0 0 4px #4aa67718; }

.terminal-wrap { position:relative; padding:18px 0 23px; }
.terminal-shadow { position:absolute; inset:40px 16px 0; background:#b39d7d32; filter:blur(26px); transform:translateY(23px); }
.terminal { position:relative; overflow:hidden; border:1px solid #36383b; border-radius:15px; color:#e9e7e1; background:var(--terminal); box-shadow:0 22px 38px #4e412820; }
.terminal-bar { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:12px 14px; border-bottom:1px solid #3d3e41; color:#9a9a9b; font-family:var(--mono); font-size:.66rem; text-align:center; }
.window-dots { display:flex; gap:5px; }
.window-dots i { width:8px; height:8px; border-radius:50%; background:#f36655; }.window-dots i:nth-child(2){background:#f3bd56}.window-dots i:nth-child(3){background:#65c469}
.terminal-body { padding:25px 25px 24px; font-family:var(--mono); font-size:.73rem; line-height:1.95; }
.terminal-body p { margin:0; white-space:nowrap; }.terminal-muted{color:#9b9c9d}.prompt{color:#f77861}.path{color:#ddae68}.success{color:#74c99e}.brand-text{color:#f77861}.url{color:#e9d29a}.spacer{height:13px}.cursor-line{margin-top:4px!important}.cursor { display:inline-block; width:7px; height:14px; vertical-align:-2px; background:#ece8dd; animation:blink 1.1s steps(1) infinite; }@keyframes blink{50%{opacity:0}}
.wizard-rule{color:#656669}.wizard-logo{margin:13px 0 7px;color:#eee8d4;font-family:var(--mono);font-size:.71rem;line-height:1.15}.wizard-credit{color:#e6b67b}.wizard-intro{margin:16px 0 12px!important;color:#dedbd2}.wizard-answer{color:#4fd2c9}
.build-chip { position:absolute; z-index:2; right:-22px; bottom:0; display:flex; align-items:center; gap:9px; padding:11px 15px 11px 10px; border:1px solid var(--line); border-radius:11px; background:var(--paper); box-shadow:0 12px 24px #332a1b17; font-size:.72rem; }.build-chip b,.build-chip small{display:block}.build-chip small{margin-top:1px;color:var(--muted);font-size:.65rem}.build-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;color:#fff;background:#4ca77a;font-weight:800;}

.proof { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-bottom:96px; border:1px solid var(--line); border-radius:15px; background:var(--paper); }.proof article{display:flex;gap:13px;padding:22px 22px 24px}.proof article+article{border-left:1px solid var(--line)}.proof-icon{display:grid;place-items:center;flex:none;width:31px;height:31px;border-radius:9px;color:var(--brand-dark);background:#fde5df;font-size:1.1rem;font-weight:700}.proof strong{font-size:.91rem}.proof p{margin:2px 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}

.capabilities-section { padding:92px 0 105px; background:var(--paper); border-block:1px solid var(--line); }.section-heading{margin-bottom:40px}.heading-row{display:flex;gap:55px;align-items:end;justify-content:space-between}.heading-row h2,.bridge h2,.workflow h2,.start h2{margin-bottom:0;font-size:clamp(2.45rem,4.3vw,4rem);font-weight:700}.heading-row p{max-width:345px;margin:0 4px 3px 0;color:var(--muted);font-size:.95rem}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-card{position:relative;min-height:340px;display:flex;flex-direction:column;padding:25px;border:1px solid var(--line);border-radius:14px;background:var(--canvas);transition:transform .2s ease,box-shadow .2s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:0 14px 25px #372e1a0d}.feature-card-accent{background:#fbe9e4;border-color:#f3cec5}.card-number{position:absolute;top:22px;right:23px;color:#a9a49a;font-family:var(--mono);font-size:.66rem}.card-icon{display:grid;place-items:center;width:37px;height:37px;margin-bottom:29px;border-radius:10px;color:#fff;background:var(--ink);font-size:1.2rem;font-weight:700}.feature-card-accent .card-icon{background:var(--brand)}.feature-card h3{max-width:250px;margin-bottom:9px;font-size:1.35rem;letter-spacing:-.045em;line-height:1.1}.feature-card p{margin-bottom:17px;color:var(--muted);font-size:.85rem;line-height:1.6}.feature-card code,.bridge code,.start-card code{padding:.1em .3em;border-radius:4px;background:#e8e1d8;color:#4a4742;font-family:var(--mono);font-size:.82em}.feature-card a{margin-top:auto;color:var(--brand-dark);font-size:.79rem;font-weight:700}.feature-card a span,.text-link span,.mapping-footer span{padding-left:5px;transition:padding .15s}.feature-card a:hover span,.text-link:hover span,.mapping-footer:hover span{padding-left:9px}

.template-showcase{display:grid;grid-template-columns:.83fr 1.17fr;gap:45px;align-items:center;margin-top:45px;padding:34px;border:1px solid var(--line);border-radius:14px;background:#f8f4ed}.template-copy h3{margin-bottom:13px;font-size:1.58rem;letter-spacing:-.055em;line-height:1.08}.template-copy p{color:var(--muted);font-size:.9rem;line-height:1.62}.template-copy p:last-of-type{margin-bottom:21px}.template-copy code{padding:.1em .3em;border-radius:4px;color:#4a4742;background:#e8e1d8;font-family:var(--mono);font-size:.84em}.template-code{overflow:hidden;border:1px solid #3a3b3e;border-radius:12px;background:var(--terminal);box-shadow:0 14px 24px #2e261a18}.code-title{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid #3c3d40;color:#a8a8a8;font-family:var(--mono);font-size:.66rem}.file-dot{display:block;width:8px;height:8px;border-radius:50%;background:var(--brand)}.template-code pre{margin:0;padding:21px 20px;overflow:auto;color:#dedcd7;font-family:var(--mono);font-size:.71rem;line-height:1.8}.code-directive{color:#f38a76}.code-string{color:#e6bf7d}.code-keyword{color:#82c9b7}
.bridge { display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:center; padding:109px 0; }.bridge-content>p:not(.eyebrow){max-width:390px;margin:22px 0 25px;color:var(--muted);font-size:.98rem;line-height:1.6}.text-link{color:var(--brand-dark);font-size:.86rem;font-weight:700}.mapping-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:0 18px 28px #51432b0d}.mapping-head,.mapping-row{display:grid;grid-template-columns:1fr 25px 1fr;align-items:center;padding:13px 19px}.mapping-head{padding-top:15px;padding-bottom:10px;color:var(--muted);font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.mapping-head span:last-child{grid-column:3}.mapping-row{border-top:1px solid var(--line);font-family:var(--mono);font-size:.72rem}.mapping-row>span{color:#afa99e;text-align:center}.mapping-row code{width:max-content;background:transparent;padding:0}.mapping-row .accent-code{color:var(--brand-dark)}.mapping-footer{display:block;padding:15px 19px;color:var(--brand-dark);border-top:1px solid var(--line);font-size:.76rem;font-weight:700}

.workflow-section { color:#f5f1e8; background:var(--ink); }.workflow{display:grid;grid-template-columns:.8fr 1.2fr;gap:110px;padding:92px 0}.workflow .eyebrow{color:#f48d7d}.workflow h2{color:#fff}.workflow ol{margin:0;padding:0;list-style:none}.workflow li{display:grid;grid-template-columns:43px 1fr;gap:16px;padding:2px 0 22px}.workflow li+li{padding-top:23px;border-top:1px solid #444546}.workflow li>span{color:#f28a79;font-family:var(--mono);font-size:.71rem}.workflow h3{margin:0 0 4px;font-size:1.02rem;letter-spacing:-.025em}.workflow li p{margin:0;color:#bdbdbc;font-size:.85rem;line-height:1.55}.workflow code{padding:1px 4px;border-radius:4px;color:#f2bc91;background:#38393a;font-family:var(--mono);font-size:.82em}

.start { padding:108px 0; }.start-card{position:relative;overflow:hidden;padding:57px 36px 52px;border:1px solid #f0c9bf;border-radius:17px;background:#fbe6e0;text-align:center}.start-card:before,.start-card:after{position:absolute;content:"";width:260px;height:260px;border:1px solid #f4c8be;border-radius:50%;pointer-events:none}.start-card:before{left:-170px;bottom:-185px}.start-card:after{right:-175px;top:-185px}.start-card img{position:relative;z-index:1;margin-bottom:18px}.centered{justify-content:center;margin-bottom:13px}.start-card h2{position:relative;z-index:1;margin-bottom:18px}.start-card>p:not(.eyebrow){position:relative;z-index:1;max-width:460px;margin:0 auto 24px;color:#6d6664;font-size:.92rem}.code-command{position:relative;z-index:1;display:flex;align-items:center;width:min(100%,540px);margin:0 auto 24px;padding:12px 12px 12px 15px;border:1px solid #e7c6bc;border-radius:9px;color:#5b5552;background:#fffaf7;font-family:var(--mono);font-size:.72rem;text-align:left}.code-command>span{margin-right:10px;color:var(--brand)}.code-command code{overflow:hidden;padding:0;background:transparent;text-overflow:ellipsis;white-space:nowrap}.copy-button{margin-left:auto;padding:3px;border:0;color:var(--muted);background:transparent;cursor:pointer;font-size:1.05rem}.copy-button:hover{color:var(--brand-dark)}.start-actions{position:relative;z-index:1;justify-content:center}.button-quiet{color:var(--ink)}.button-quiet:hover{color:var(--brand-dark)}

.site-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:27px 0 32px;border-top:1px solid var(--line);color:var(--muted);font-size:.76rem}.site-footer p{margin:0;text-align:center}.site-footer>div{display:flex;justify-content:flex-end;gap:18px;font-weight:600}.site-footer a:hover{color:var(--brand-dark)}

/* Larust's dark, warm-neutral palette — shared with the project demo and docs. */
:root{--ink:#f6f1e8;--muted:#b8b1a8;--paper:#272522;--canvas:#181716;--line:#45413b;--brand:#ff735f;--brand-dark:#ff8a79;--terminal:#151514}
.nav-cta,.button-primary{color:#181716}.nav-cta:hover,.button-primary:hover{color:#181716;background:#ff8a79}.terminal{border-color:#45413b;box-shadow:0 22px 38px #00000055}.build-chip{background:#272522;box-shadow:0 12px 24px #00000045}.proof-icon{color:#ff8a79;background:#422d28}.feature-card{background:#1f1e1c}.feature-card:hover{box-shadow:0 14px 25px #00000045}.feature-card-accent{background:#332724;border-color:#66433b}.card-icon{background:#45413b}.feature-card-accent .card-icon{background:var(--brand)}.card-number{color:#8e8981}.feature-card code,.bridge code,.start-card code,.template-copy code{color:#eee3d6;background:#38342f}.template-showcase{background:#1f1e1c}.template-code{box-shadow:0 14px 24px #00000045}.mapping-card{box-shadow:0 18px 28px #00000045}.workflow-section{background:#121110}.workflow h2{color:var(--ink)}.start-card{border-color:#67453e;background:#312522}.start-card:before,.start-card:after{border-color:#5b3d37}.start-card>p:not(.eyebrow){color:#c5bbb1}.code-command{border-color:#5d4740;color:#e8ded3;background:#1d1c1a}.button-quiet{color:var(--ink)}.site-footer{background:var(--canvas)}

@media (max-width:800px){.hero{grid-template-columns:1fr;gap:20px;padding-top:55px}.hero-copy{max-width:600px}.terminal-wrap{max-width:590px;width:92%;margin-left:auto}.proof{grid-template-columns:1fr}.proof article+article{border-top:1px solid var(--line);border-left:0}.heading-row,.bridge,.workflow{grid-template-columns:1fr;gap:34px}.heading-row{align-items:start}.bridge{padding:78px 0}.workflow{padding:76px 0}.feature-grid{grid-template-columns:1fr}.feature-card{min-height:280px}.heading-row p{max-width:500px}.workflow ol{max-width:600px}}
@media (max-width:600px){.shell{width:min(100% - 30px,560px)}.site-header{height:70px}.nav{position:fixed;z-index:10;top:70px;right:0;left:0;display:grid;gap:0;padding:12px 15px 19px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 18px #31291a12;transform:translateY(-140%);transition:transform .2s ease}.nav.is-open{transform:translateY(0)}.nav a{padding:11px 5px}.nav-cta{margin-top:7px;text-align:center}.menu-toggle{display:grid;gap:4px;width:26px;padding:5px 0;border:0;margin-left:auto;background:transparent;cursor:pointer}.menu-toggle i{display:block;width:100%;height:2px;background:var(--ink)}.hero{min-height:auto;padding:50px 0 60px;gap:22px}h1{font-size:clamp(3.1rem,15vw,4.3rem)}.lead{font-size:1rem}.terminal-wrap{width:100%;padding:0 0 30px}.terminal-body{padding:20px 14px;font-size:clamp(.59rem,2.65vw,.72rem)}.build-chip{right:5px;bottom:0}.proof{margin-bottom:66px}.capabilities-section{padding:69px 0 74px}.heading-row h2,.bridge h2,.workflow h2,.start h2{font-size:clamp(2.35rem,11vw,3.3rem)}.feature-card{min-height:250px}.bridge{gap:35px;padding:72px 0}.mapping-head,.mapping-row{padding-left:13px;padding-right:13px}.mapping-row{font-size:clamp(.57rem,2.8vw,.72rem)}.workflow{gap:42px;padding:70px 0}.start{padding:70px 0}.start-card{padding:41px 17px 38px}.start-card img{width:48px;height:48px}.code-command{font-size:clamp(.55rem,2.5vw,.69rem)}.site-footer{grid-template-columns:1fr;gap:17px;text-align:center}.site-footer .brand{justify-content:center}.site-footer p{text-align:center}.site-footer>div{justify-content:center}.button{width:100%}.hero-actions{display:grid}.start-actions{display:grid}}
