/* One restrained input-to-result diagram, built from live text and SVG. */
.hero .hero-layout { grid-template-columns:1.08fr 1fr; gap:5vw; }
.hero h1 { font-size:clamp(54px,5.8vw,86px); line-height:1.06; letter-spacing:-.05em; margin:23px 0; }
.hero .hero-copy>p { max-width:400px; font-size:18px; line-height:1.7; color:#556557; }
.hero .hero-copy>.eyebrow { font-size:10px; line-height:1.6; letter-spacing:.04em; }
.hero .hero-actions { gap:23px; margin-top:29px; }
.hero .hero-actions .button { min-width:132px; gap:20px; padding:11px 16px; font-size:14px; }
.hero .hero-actions .quiet-link { gap:9px; font-size:13px; }
.hero-workflow.hero-art { width:100%; max-width:554px; min-width:0; max-height:none; padding:25px; border-radius:20px; background:radial-gradient(ellipse at 95% 0,#e1dcef99,transparent 55%),linear-gradient(135deg,#edf3eb,#e8eff0); border:1px solid #fff; box-shadow:inset 0 1px 0 #fff,0 12px 38px #17252208; }
.hero-workflow.hero-art::after { inset:6px; border-radius:14px; border-color:#ffffff75; }
.hero-workflow__top { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:1px 1px 23px; border-bottom:1px solid #17252215; position:relative; z-index:1; }
.hero-workflow__top>span:first-child { font-size:16px; font-weight:550; letter-spacing:-.025em; line-height:1.4; }
.hero-workflow__tag { font:9px/1.5 var(--mono); letter-spacing:.025em; color:#5f7162; }
.hero-workflow__labels { display:grid; grid-template-columns:32% 1fr; gap:33px; margin:23px 0 12px; font:8px/1.5 var(--mono); letter-spacing:.03em; color:#68766a; }
.hero-workflow__rows { display:grid; gap:14px; }
.hero-workflow__row { display:grid; grid-template-columns:minmax(0,.68fr) 33px minmax(0,1.32fr); align-items:center; min-width:0; }
.hero-input { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:9px; min-height:95px; padding:15px 13px; border:1px solid #bfccbd; border-radius:8px; background:#f4f7f0d9; box-shadow:0 2px 0 #d1dacb; }
.hero-input>svg { color:#6e8067; flex:none; }
.hero-input>span { font-size:12px; line-height:1.4; font-weight:500; color:#435640; }
.hero-route { display:flex; align-items:center; position:relative; padding:0 1px 0 4px; color:#597050; }
.hero-route>span { flex:1; height:1px; background:#a8b99d; position:relative; }
.hero-route>span>i { display:block; width:100%; height:1px; background:#405d32; transform-origin:left; }
.hero-route>svg { width:12px; height:12px; margin-left:-4px; flex:none; }
.hero-output { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:101px; padding:15px; border:1px solid #fff; border-radius:9px; background:#fbfcf8; box-shadow:0 4px 12px #17252204; }
.hero-output__content { display:flex; flex-direction:column; gap:5px; min-width:0; }
.hero-output__category { color:#697b66; font:8px/1.45 var(--mono); letter-spacing:.03em; }
.hero-output strong { font-size:14px; line-height:1.4; font-weight:600; letter-spacing:-.025em; }
.hero-output__detail { font-size:10px; line-height:1.5; color:#60715c; }
.hero-output__check { width:20px; height:20px; flex:none; display:grid; place-items:center; border-radius:50%; background:#e6edcd; color:#405a32; }
.hero-output--itinerary .hero-output__check { background:#e8e0f1; color:#6f5c83; }
.hero-output--campaign .hero-output__check { background:#dae9ed; color:#4a6c75; }
.hero-workflow__foot { display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid #17252215; margin-top:23px; padding:16px 1px 0; color:#60715e; }
.hero-workflow__foot>span:first-child { font:8px/1.5 var(--mono); }
.hero-workflow__foot>span:last-child { font-size:10px; line-height:1.5; }
@media(min-width:1000px) and (max-height:760px) {
 .hero h1 { font-size:clamp(52px,5.5vw,77px); }
 .hero .hero-copy>p { font-size:17px; }
 .hero-workflow.hero-art { padding:20px; }
 .hero-workflow__top { padding-bottom:17px; }
 .hero-workflow__labels { margin-top:16px; }
 .hero-workflow__rows { gap:11px; }
 .hero-input { min-height:82px; padding:12px; gap:7px; }
 .hero-output { min-height:87px; padding:12px; }
 .hero-workflow__foot { margin-top:17px; padding-top:13px; }
}
@media(min-width:641px) and (max-width:999px) {
 .hero .hero-layout { grid-template-columns:1fr; max-width:740px; margin:auto; gap:34px; padding-block:36px; }
 .hero h1 { font-size:64px; }
 .hero .hero-copy>p { max-width:470px; }
 .hero-workflow.hero-art { max-width:none; }
 .hero-workflow__row { grid-template-columns:minmax(0,.85fr) 60px minmax(0,1.15fr); }
 .hero-input { flex-direction:row; justify-content:flex-start; align-items:center; gap:12px; min-height:87px; padding-inline:20px; }
 .hero-input>span { font-size:14px; }
 .hero-output { min-height:87px; }
 .hero-workflow__labels { grid-template-columns:42.5% 1fr; gap:34px; }
}
@media(max-width:640px) {
 .hero .hero-layout { grid-template-columns:1fr; padding-top:26px; gap:33px; }
 .hero h1 { font-size:clamp(34px,10.5vw,59px); margin-block:21px; }
 .hero .hero-copy>p { font-size:17px; max-width:35ch; line-height:1.65; }
 .hero .hero-actions { gap:23px; margin-top:26px; }
 .hero .hero-actions .button { font-size:13px; min-width:123px; padding:10px 14px; }
 .hero .hero-actions .quiet-link { font-size:12px; }
 .hero-workflow.hero-art { max-width:480px; padding:19px 16px; border-radius:17px; }
 .hero-workflow__top { padding-bottom:19px; gap:8px; }
 .hero-workflow__top>span:first-child { font-size:15px; }
 .hero-workflow__tag { font-size:8px; }
 .hero-workflow__labels { grid-template-columns:32% 1fr; gap:25px; font-size:7px; margin:19px 0 11px; }
 .hero-workflow__row { grid-template-columns:minmax(0,.7fr) 25px minmax(0,1.3fr); }
 .hero-workflow__rows { gap:12px; }
 .hero-input { min-height:96px; padding:12px 9px; gap:9px; }
 .hero-input>span { font-size:11px; }
 .hero-output { min-height:101px; padding:12px 11px; gap:6px; }
 .hero-output strong { font-size:13px; line-height:1.35; }
 .hero-output__category { font-size:7px; }
 .hero-output__detail { font-size:10px; line-height:1.5; }
 .hero-output__check { width:17px; height:17px; }
 .hero-workflow__foot { gap:10px; margin-top:20px; padding-top:14px; }
 .hero-workflow__foot>span:first-child { font-size:7px; }
 .hero-workflow__foot>span:last-child { font-size:9px; }
}
@media(max-width:360px) {
 .hero h1 { font-size:36px; }
 .hero .hero-actions { gap:17px; }
 .hero-workflow.hero-art { padding-inline:13px; }
 .hero-workflow__row { grid-template-columns:minmax(0,.67fr) 20px minmax(0,1.33fr); }
 .hero-workflow__labels { gap:20px; }
 .hero-workflow__tag { display:none; }
 .hero-input { padding:11px 7px; }
 .hero-input>span { font-size:10px; }
 .hero-output { padding:11px 9px; }
 .hero-output strong { font-size:12px; }
 .hero-output__check { display:none; }
 .hero-output__detail { font-size:9px; }
}
@media(max-width:300px) {
 .hero h1 { font-size:32px; }
 .hero .hero-copy>.eyebrow { font-size:8px; }
 .hero .hero-actions { column-gap:14px; }
 .hero .hero-actions .button { min-width:112px; }
 .hero .hero-actions .quiet-link { font-size:11px; }
 .hero-workflow__labels { font-size:6px; }
 .hero-workflow__foot { align-items:flex-start; }
 .hero-workflow__foot>span:first-child { max-width:72px; }
 .hero-workflow__foot>span:last-child { max-width:100px; text-align:right; }
}
