.demo-section{max-width:1120px;margin:0 auto;padding:62px 24px 82px;color:#342d31}.demo-section-standalone{padding-top:72px}.demo-intro{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:48px;gap:48px;align-items:end;margin-bottom:26px}.demo-eyebrow{margin:0 0 13px;color:#ed6680;font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.demo-intro h1{margin:0;font-size:clamp(44px,7vw,82px);line-height:.99;letter-spacing:-.075em}.demo-description{max-width:430px;margin:24px 0 18px;color:#75666c;font-size:17px;line-height:1.65}.demo-meta{color:#9a6878;font-size:13px;font-weight:800}.demo-meta span{margin-right:5px;color:#ed6680}.demo-postcard{display:flex;min-height:188px;padding:24px;flex-direction:column;justify-content:space-between;border-radius:30px;background:#f8dfd1;color:#58434a;transform:rotate(2.5deg);box-shadow:12px 15px 0 #f4cbd0}.demo-postcard>span{font-size:13px;font-weight:900;letter-spacing:.16em}.demo-postcard-heart{align-self:center;color:#ee7185;font-family:Georgia,serif;font-size:78px;line-height:.7}.demo-postcard small{font-size:12px;font-weight:700}.demo-card{max-width:760px;padding:32px;border:1px solid #f2e2e6;border-radius:30px;background:rgba(255,255,255,.9);box-shadow:0 24px 70px rgba(111,53,73,.09)}.demo-card-topline{display:flex;justify-content:space-between;margin-bottom:32px;color:#b08a96;font-size:11px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.demo-card fieldset{min-width:0;padding:0 0 28px;margin:0 0 28px;border:0;border-bottom:1px solid #f2e7e9}.demo-card legend{padding:0;margin-bottom:10px;font-size:23px;font-weight:850;letter-spacing:-.055em}.demo-hint,.demo-label{display:block;margin:0 0 12px;color:#947e85;font-size:13px}.demo-location-input{display:flex;align-items:center;gap:9px;padding:0 14px;border:1px solid #e8d9de;border-radius:14px;background:#fffafb;color:#ed6680}.demo-location-input input{width:100%;min-height:52px;border:0;outline:0;background:transparent;color:#342d31;font:inherit;font-size:15px}.demo-location-input input::placeholder{color:#bcaab0}.demo-suggestions{overflow:hidden;margin-top:8px;border:1px solid #f0e2e5;border-radius:14px;background:#fff}.demo-suggestions button{display:flex;width:100%;padding:12px 14px;flex-direction:column;align-items:flex-start;border:0;border-bottom:1px solid #f7edef;background:#fff;color:#342d31;text-align:left;cursor:pointer}.demo-suggestions button:hover{background:#fff4f6}.demo-suggestions strong{font-size:14px}.demo-suggestions span{margin-top:3px;color:#9a878d;font-size:12px}.demo-suggestions small{display:block;padding:8px 14px;color:#b18d99;font-size:11px}.demo-selected-location{display:flex;align-items:baseline;gap:8px;margin-top:12px;color:#5d4b52}.demo-selected-location span{padding:4px 7px;border-radius:999px;background:#ffe1e8;color:#e85e79;font-size:10px;font-weight:850}.demo-selected-location strong{font-size:14px}.demo-selected-location small{overflow:hidden;color:#a18b92;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.demo-chip-list{display:flex;flex-wrap:wrap;gap:9px}.demo-chip{padding:10px 14px;border:1px solid #eadde0;border-radius:999px;background:#fff;color:#806e75;font:inherit;font-size:13px;cursor:pointer}.demo-chip.is-selected{border-color:#ed6680;background:#ed6680;color:#fff;box-shadow:0 6px 13px rgba(237,102,128,.2)}.demo-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.demo-step-option{position:relative;display:flex;min-height:105px;padding:14px;flex-direction:column;align-items:flex-start;border:1px solid #eee2e4;border-radius:16px;background:#fff;color:#4b3e43;text-align:left;cursor:pointer}.demo-step-option:hover{border-color:#e99aaa}.demo-step-option.is-selected{border-color:#ed6680;background:#fff5f7}.demo-step-option>span{margin-bottom:11px;font-size:20px}.demo-step-option strong{font-size:14px}.demo-step-option small{margin-top:3px;color:#a18d93;font-size:11px}.demo-step-option em{position:absolute;top:10px;right:10px;display:grid;width:21px;height:21px;place-items:center;border-radius:50%;background:#ed6680;color:#fff;font-size:10px;font-style:normal;font-weight:850}.demo-options-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:24px}.demo-options-row label{display:flex;flex-direction:column;gap:7px;color:#947e85;font-size:12px;font-weight:750}.demo-options-row input,.demo-options-row select{min-height:46px;padding:0 12px;border:1px solid #e8d9de;border-radius:12px;background:#fffafb;color:#4b3e43;font:inherit}.demo-submit{width:100%;min-height:58px;border:0;border-radius:999px;background:#292225;color:#fff;font:inherit;font-size:16px;font-weight:850;box-shadow:0 12px 24px rgba(65,33,45,.16);cursor:pointer}.demo-submit:disabled{opacity:.6;cursor:wait}.demo-privacy{margin:12px 0 0;color:#ae9ca2;font-size:11px;text-align:center}.demo-error{padding:11px 13px;margin:0 0 14px;border-radius:12px;background:#fff0f1;color:#c44f65;font-size:13px}.demo-result{max-width:760px;padding:34px 32px 30px;margin-top:22px;border-radius:30px;background:#342d31;color:#fff;box-shadow:0 25px 55px rgba(52,45,49,.2)}.demo-result-heading{display:flex;justify-content:space-between;gap:20px}.demo-result-heading h2{margin:0;font-size:clamp(28px,4vw,42px);line-height:1.08;letter-spacing:-.065em}.demo-result .demo-eyebrow{color:#ff9caf}.demo-result-mark{color:#ff9caf;font-size:45px}.demo-preview-note{padding:10px 12px;margin:20px 0 0;border-radius:10px;background:rgba(255,255,255,.09);color:#f1c8d0;font-size:12px}.demo-timeline{margin-top:23px}.demo-result-step{display:grid;grid-template-columns:43px 1fr;grid-gap:12px;gap:12px;padding:18px 0;border-top:1px solid rgba(255,255,255,.14)}.demo-result-index{color:#ff91a5;font-size:13px;font-weight:850}.demo-result-label{color:#ffacb9;font-size:11px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.demo-result-step h3{margin:5px 0;font-size:21px;letter-spacing:-.045em}.demo-result-step p{margin:0;color:#d3bfc5;font-size:13px}.demo-result-step small{display:block;margin-top:9px;color:#bca8ae;font-size:12px;line-height:1.5}.demo-result-step a{display:inline-block;margin-top:10px;color:#ffacb9;font-size:12px;font-weight:750}.demo-retry{padding:10px 15px;margin-top:7px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:transparent;color:#fff;font:inherit;font-size:12px;cursor:pointer}.demo-workspace{display:grid;grid-template-columns:minmax(0,.88fr) minmax(360px,1.12fr);grid-gap:24px;gap:24px;align-items:start}.demo-flow-column{min-width:0}.demo-flow-column .demo-card,.demo-flow-column .demo-result{max-width:none}.demo-map-panel{position:-webkit-sticky;position:sticky;top:24px;min-width:0;padding:22px;border:1px solid #f2e2e6;border-radius:30px;background:#fff;box-shadow:0 24px 70px rgba(111,53,73,.09)}.demo-map-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.demo-map-heading .demo-eyebrow{margin-bottom:7px;font-size:10px}.demo-map-heading h2{margin:0;color:#342d31;font-size:clamp(22px,3vw,32px);line-height:1.05;letter-spacing:-.065em}.demo-map-location-pill{flex:0 0 auto;padding:8px 10px;border-radius:999px;background:#fff0f4;color:#d45e73;font-size:11px;font-weight:800}.demo-map-canvas{position:relative;min-height:590px;overflow:hidden;border-radius:21px;background:#f8f1ec}.demo-map-canvas .maplibregl-map{position:absolute;inset:0}.demo-map-canvas .maplibregl-ctrl-attrib{font-size:9px}.demo-map-hint,.demo-map-state{position:absolute;z-index:2;top:50%;left:50%;display:flex;width:min(280px,calc(100% - 40px));padding:15px 17px;flex-direction:column;gap:5px;border:1px solid rgba(255,255,255,.8);border-radius:15px;background:rgba(255,255,255,.9);color:#67565d;font-size:12px;line-height:1.45;text-align:center;transform:translate(-50%,-50%);box-shadow:0 12px 30px rgba(76,50,57,.1);pointer-events:none}.demo-map-state strong{color:#342d31;font-size:14px}.demo-map-hint{top:auto;right:12px;bottom:12px;left:12px;width:auto;padding:10px 12px;transform:none}.demo-map-footer{display:flex;padding:13px 2px 0;align-items:center;justify-content:space-between;gap:10px}.demo-map-route-status{display:flex;min-width:0;align-items:center;gap:7px;color:#66545c;font-size:12px;font-weight:800}.demo-map-footer small{flex:0 0 auto;color:#a18b92;font-size:10px}.demo-map-route-dot,.demo-map-spinner{display:inline-block;width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#ed6680}.demo-map-route-dot.is-muted{background:#c8b8bd}.demo-map-spinner{border:2px solid #f7c4ce;border-top-color:#ed6680;background:transparent;animation:demo-map-spin .8s linear infinite}@keyframes demo-map-spin{to{transform:rotate(1turn)}}.demo-map-step-marker{display:grid;width:34px;height:34px;padding:0;place-items:center;border:3px solid #fff;border-radius:50%;background:var(--marker-color,#ed6680);color:#fff;font:inherit;font-size:12px;font-weight:900;box-shadow:0 5px 12px rgba(72,39,49,.25);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.demo-map-step-marker.is-selected,.demo-map-step-marker:focus-visible,.demo-map-step-marker:hover{outline:0;transform:scale(1.18);box-shadow:0 0 0 5px rgba(237,102,128,.2),0 7px 15px rgba(72,39,49,.26)}.demo-map-location-marker{width:14px;height:14px;border:3px solid #fff;border-radius:50%;background:#342d31;box-shadow:0 3px 9px rgba(72,39,49,.3)}.demo-route-leg{display:flex;min-height:28px;padding:5px 0 5px 43px;align-items:center;gap:7px;color:#ed9dac;font-size:11px}.demo-route-leg>span:first-child{margin-left:-1px;color:#ffacb9;font-size:17px}.demo-route-leg strong{color:#fff}.demo-route-leg em{padding:3px 6px;border-radius:999px;background:rgba(255,198,111,.16);color:#ffd28f;font-size:10px;font-style:normal;font-weight:800}.demo-route-leg.is-over-limit{color:#ffd28f}.demo-result-step{border-radius:13px;cursor:pointer}.demo-result-step.is-selected{background:rgba(255,255,255,.08)}.demo-result-step:focus-visible{outline:2px solid #ff9caf;outline-offset:3px}@media (max-width:720px){.demo-section{padding:38px 18px 56px}.demo-intro{grid-template-columns:1fr;gap:27px}.demo-postcard{max-width:280px;min-height:142px}.demo-card,.demo-result{padding:24px 18px;border-radius:22px}.demo-options-row,.demo-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.demo-options-row,.demo-workspace{grid-template-columns:1fr}.demo-map-panel{position:static;padding:16px;border-radius:22px}.demo-map-canvas{min-height:420px}.demo-map-heading{flex-direction:column}}