/* Home only: a continuous, readable story, enhanced with a stationary desktop preview. */
.home-flow{--flow-surface:#fcf9f3;--flow-glass:#faf6eecc;--flow-rim:#cfc3b2;--flow-accent:#887052;--flow-chip:#e9dfd0;--flow-shadow:#3c30201a;position:relative;padding-top:90px;padding-bottom:36px;isolation:isolate}
.home-flow:before{content:'';position:absolute;inset:0 0 10%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 83% 35%,#c9bca334,transparent 52%)}
.flow-introduction{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:end;margin-bottom:55px}
.flow-introduction h2{font-size:clamp(36px,4.2vw,59px);letter-spacing:-.06em;line-height:1.12}
.flow-introduction h2>span{color:var(--warm)}
.flow-introduction>div:last-child{max-width:390px;padding-bottom:4px}
.flow-introduction>div>p:not(.eyebrow){font-size:16px;line-height:1.85;color:var(--muted);margin-bottom:22px}
.flow-disclosure{font-size:10px;line-height:1.7;color:var(--muted);display:inline-flex;align-items:center;gap:8px}
.flow-disclosure:before{content:'';height:5px;width:5px;flex:none;border-radius:50%;background:var(--flow-accent)}
.flow-layout{position:relative}
.flow-step-track{position:relative;min-width:0}
.flow-steps{list-style:none;padding:0;margin:0}
.flow-thread{position:absolute;top:27px;bottom:52px;left:18px;width:1px;background:var(--line);pointer-events:none}
.flow-thread i{position:absolute;top:0;left:0;width:1px;height:100%;background:linear-gradient(180deg,#e8e5e0,#b4a38d 65%,#93816b);transform:scaleY(var(--flow-progress,0));transform-origin:top;box-shadow:0 0 7px #f5efe4aa}
.flow-step{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;min-height:380px;padding:35px 0 50px 64px;scroll-margin-top:145px}
.flow-copy{position:relative;min-width:0;max-width:400px}
.flow-node{position:absolute;left:-64px;top:-3px;display:grid;place-items:center;width:37px;height:37px;font-size:10px;font-weight:650;letter-spacing:.05em;background:var(--paper);color:var(--muted);border:1px solid var(--line);border-radius:50%;box-shadow:0 0 0 8px var(--paper)}
.flow-step .eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:17px;color:var(--warm)}
.flow-step h3{font-size:clamp(25px,2.6vw,35px);font-weight:500;letter-spacing:-.045em;line-height:1.25;margin:0 0 18px;max-width:340px}
.flow-lead{font-size:14px;line-height:1.85;margin:0 0 13px}
.flow-detail{font-size:12px;line-height:1.9;color:var(--muted);margin:0;max-width:355px}
.flow-step[data-current=true] .flow-node{border-color:var(--flow-accent);color:var(--ink);background:var(--flow-chip);box-shadow:0 0 0 8px var(--paper),0 0 0 9px var(--line)}
.flow-preview{display:none}
.flow-mobile-record{min-width:0}
.flow-record{position:relative;overflow:hidden;border:1px solid var(--flow-rim);border-radius:18px;background:var(--flow-surface);box-shadow:inset 0 1px 0 #fff9,0 16px 40px var(--flow-shadow);text-align:left}
.flow-record:before{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(130deg,#ffffff45,transparent 50%);z-index:1}
.flow-record-head{display:flex;gap:10px;align-items:center;padding:19px 19px 17px;border-bottom:1px solid var(--line)}
.flow-record-icon{width:33px;height:33px;flex:none;display:grid;place-items:center;border-radius:11px;background:var(--flow-chip);font-size:19px;color:var(--flow-accent)}
.flow-record-head>div{flex:1;min-width:0}
.flow-record-head strong{display:block;font-size:12px;font-weight:650;line-height:1.5}
.flow-record-head small{display:block;font-size:9px;line-height:1.6;color:var(--muted);margin-top:3px}
.flow-badge{font-size:8px;line-height:1.6;border:1px solid var(--flow-rim);border-radius:99px;padding:5px 8px;flex:none;background:var(--flow-chip);white-space:nowrap;color:var(--ink)}
.flow-record-body{padding:23px;min-height:255px;display:flex;flex-direction:column;justify-content:center;gap:19px}
.flow-field>span,.flow-question>span,.flow-action-meta span{font-size:9px;color:var(--muted);display:block;margin-bottom:9px;line-height:1.5;font-weight:600}
.flow-field p,.flow-question p{font-size:14px;line-height:1.75;letter-spacing:-.015em;margin:0}
.flow-quoted{border-left:2px solid var(--flow-rim);padding-left:16px}
.flow-quoted p{font-size:18px;line-height:1.65;letter-spacing:-.025em}
.flow-question{border-top:1px solid var(--line);padding-top:17px}
.flow-question p{font-size:12px;color:var(--muted)}
.flow-action-meta{display:flex;gap:45px}
.flow-action-meta span{margin-bottom:4px}
.flow-action-meta strong{font-size:12px;font-weight:600}
.flow-useful{display:flex;gap:11px;align-items:center;padding:15px;border:1px solid var(--flow-rim);background:var(--flow-chip);border-radius:12px}
.flow-useful>span{font-size:18px}
.flow-useful strong{display:block;font-size:12px;font-weight:650}
.flow-useful small{display:block;font-size:9px;color:var(--muted);margin-top:5px;line-height:1.5}
.flow-record-foot{display:flex;gap:8px;align-items:center;border-top:1px solid var(--line);padding:13px 20px;font-size:8px;line-height:1.7;color:var(--muted)}
.flow-record-foot>span:last-child{margin-left:auto;font-size:10px;letter-spacing:.05em}
.flow-origin-dot{height:5px;width:5px;flex:none;border-radius:50%;background:var(--flow-accent)}
.flow-ending{position:relative;display:flex;align-items:center;gap:27px;border-block:1px solid var(--line);padding:36px 0;margin-top:10px}
.flow-end-mark{display:block;width:39px;height:39px;flex:none;color:var(--flow-accent)}
.flow-ending .eyebrow{font-size:8px;margin-bottom:10px}
.flow-ending p:not(.eyebrow){font-size:22px;letter-spacing:-.035em;line-height:1.5;margin:0}
.flow-ending p>span{color:var(--muted)}
.flow-ending>a{margin-left:auto;flex:none}
body[data-page=home] .why{padding-top:70px}
/* Supporting visuals respond; all explanatory text stays readable at every scroll position. */
@media(min-width:981px){
 .home-flow[data-flow-enhanced=true] .flow-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:65px;align-items:start}
 .home-flow[data-flow-enhanced=true] .flow-step{display:flex;min-height:350px;padding-right:5px}
 .home-flow[data-flow-enhanced=true] .flow-mobile-record{display:none}
 .home-flow[data-flow-enhanced=true] .flow-preview{display:block;position:sticky;top:var(--flow-top,115px);margin-top:13px;padding:18px;border-radius:26px;border:1px solid var(--flow-rim);background:linear-gradient(130deg,#ffffff64,#e8dece24),var(--flow-glass);box-shadow:inset 0 1px 0 #fff9,0 25px 65px var(--flow-shadow);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:hidden}
 .flow-preview-top{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:8px;color:var(--muted);margin-bottom:19px;padding-inline:3px}
 .flow-preview-brand{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:-.03em;color:var(--ink);font-weight:600}
 .flow-preview-brand img{width:25px;height:25px;object-fit:contain}
 .flow-preview-brand sup{font-size:6px;margin-left:-6px;align-self:flex-start;margin-top:3px}
 .home-flow .flow-navigation{position:static;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;margin-bottom:18px;border:1px solid var(--flow-rim);border-radius:14px;background:#ffffff1a;box-shadow:inset 0 1px 0 #fff5;font-size:9px;line-height:1.5}
 .home-flow .flow-navigation a{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;width:auto;border-radius:10px;padding:9px 4px;white-space:normal;transition:background .3s,color .3s;letter-spacing:-.015em;text-align:center}
 .home-flow .flow-navigation a>span:first-child{font-size:7px;color:var(--muted)}
 .home-flow .flow-navigation a:after{display:none}
 .home-flow .flow-navigation a[aria-current=step]{color:var(--ink);background:var(--flow-surface);box-shadow:0 2px 6px var(--flow-shadow),inset 0 1px 0 #fff6}
 .home-flow .flow-navigation a:hover{color:var(--ink);background:var(--flow-chip)}
 .flow-scenes{position:relative;display:grid;min-height:370px;align-items:stretch}
 .flow-scene{display:block;grid-area:1/1;visibility:hidden;pointer-events:none}
 .flow-scene[data-active=true]{visibility:visible;pointer-events:auto}
 .flow-scenes .flow-record{height:100%;display:flex;flex-direction:column;box-shadow:inset 0 1px 0 #ffffff80,0 8px 18px var(--flow-shadow)}
 .flow-scenes .flow-record-body{flex:1;min-height:257px;overflow:visible}
 .flow-preview-caption{display:flex;justify-content:space-between;gap:15px;font-size:9px;line-height:1.8;color:var(--muted);padding:15px 4px 0}
 .flow-preview-caption>span:last-child{font-size:9px;letter-spacing:.1em}
 .flow-preview-disclosure{font-size:8px;line-height:1.8;margin:10px 4px 0;color:var(--muted)}
}
@media(max-width:1100px) and (min-width:981px){.home-flow[data-flow-enhanced=true] .flow-layout{gap:35px}.flow-step{padding-left:56px}.flow-node{left:-56px}.flow-preview-brand{font-size:9px}.flow-preview-top>span:last-child{font-size:7px}}
@media(max-width:980px){.flow-ending{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:19px;row-gap:14px;align-items:start}.flow-end-mark{width:30px;height:30px}.flow-ending>div{min-width:0;max-width:100%}.flow-ending>a{grid-column:2;margin-left:0;justify-self:start;max-width:100%;white-space:normal;gap:16px}.flow-ending>a>span{flex:none}.home-flow{padding-top:65px}.flow-introduction{gap:40px}.flow-step{gap:35px;padding-left:57px}.flow-node{left:-57px}.flow-record-body{padding:20px}.flow-badge{font-size:7px;padding:4px 6px}.flow-record-head{padding:17px 15px;gap:8px}.flow-record-head strong{font-size:11px}.flow-ending p:not(.eyebrow){font-size:20px}}
@media(max-width:760px){
 .home-flow{padding-top:48px;padding-bottom:12px}
 .flow-introduction{grid-template-columns:1fr;gap:23px;margin-bottom:28px}
 .flow-introduction .eyebrow{font-size:9px;margin-bottom:17px}
 .flow-introduction h2{font-size:clamp(34px,9.3vw,47px);line-height:1.15}
 .flow-introduction>div>p:not(.eyebrow){font-size:15px;line-height:1.8;margin-bottom:16px}
 .flow-disclosure{font-size:10px}
 .flow-step{display:block;padding:27px 0 38px 36px;min-height:0;scroll-margin-top:115px}
 .flow-thread{left:8px;top:36px;bottom:48px}
 .flow-node{left:-41px;top:-1px;width:26px;height:26px;font-size:8px;box-shadow:0 0 0 6px var(--paper)}
 .flow-step[data-current=true] .flow-node{box-shadow:0 0 0 6px var(--paper),0 0 0 7px var(--line)}
 .flow-step .eyebrow{font-size:9px;margin-bottom:15px}
 .flow-step h3{font-size:29px;margin-bottom:16px;max-width:320px}
 .flow-lead{font-size:15px;line-height:1.8;margin-bottom:12px}
 .flow-detail{font-size:13px;line-height:1.85}
 .flow-mobile-record{margin-top:23px}
 .flow-record{border-radius:17px}
 .flow-record-head{padding:16px 14px;flex-wrap:wrap}
 .flow-record-head>div{flex-basis:calc(100% - 50px)}
 .flow-badge{margin-left:41px;font-size:9px;padding:4px 9px}
 .flow-record-head strong{font-size:13px}
 .flow-record-head small{font-size:10px}
 .flow-record-body{min-height:0;padding:20px 17px;gap:20px}
 .flow-field>span,.flow-question>span,.flow-action-meta span{font-size:10px}
 .flow-field p{font-size:14px}
 .flow-quoted{padding-left:12px}
 .flow-quoted p{font-size:16px;line-height:1.7}
 .flow-question p{font-size:13px}
 .flow-action-meta{gap:30px}
 .flow-action-meta strong{font-size:13px}
 .flow-useful{padding:13px 11px}
 .flow-useful strong{font-size:12px}.flow-useful small{font-size:10px}
 .flow-record-foot{padding:12px 14px;font-size:9px;gap:7px}
 .flow-ending{gap:19px;margin-top:0;padding:29px 0}
 .flow-end-mark{align-self:start}
 .flow-ending>div{min-width:0}
 .flow-ending p:not(.eyebrow){font-size:21px}
 .flow-ending>a{margin-left:0;font-size:13px;min-height:48px}
 body[data-page=home] .why{padding-top:45px}
}
@media(max-width:360px){.flow-step{padding-left:29px}.flow-node{left:-34px}.flow-step h3{font-size:26px}.flow-record-head{padding-inline:12px}.flow-record-body{padding-inline:14px}.flow-record-foot{font-size:8px}.flow-ending p:not(.eyebrow){font-size:19px}}
html[data-theme=dark] .home-flow{--flow-surface:#2b2722;--flow-glass:#393228cc;--flow-rim:#766956;--flow-accent:#d4bd9d;--flow-chip:#42372b;--flow-shadow:#00000026}
html[data-theme=dark] .home-flow:before{background:radial-gradient(ellipse at 83% 35%,#b89a6d17,transparent 52%)}
html[data-theme=dark] .flow-record:before{background:linear-gradient(130deg,#ffffff06,transparent 50%)}
html[data-theme=dark] .flow-preview-brand img{filter:invert(1)}
html[data-theme=dark] .home-flow[data-flow-enhanced=true] .flow-preview{background:linear-gradient(130deg,#ffffff0a,#201b171a),var(--flow-glass);box-shadow:inset 0 1px 0 #ffffff24,0 25px 65px var(--flow-shadow)}
html[data-theme=dark] .flow-thread i{background:linear-gradient(180deg,#dedbd5,#b4a38d 65%,#93816b);box-shadow:0 0 6px #d8bd8824}
@media(prefers-reduced-motion:reduce){.flow-thread i{transform:scaleY(1)}.home-flow .flow-navigation a{transition:none}.flow-preview{position:static!important}}
@media(prefers-reduced-transparency:reduce){.home-flow .flow-preview{background:var(--flow-surface);backdrop-filter:none;-webkit-backdrop-filter:none}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.home-flow .flow-preview{background:var(--flow-surface)}}
@media(forced-colors:active){.flow-record,.home-flow .flow-preview,.flow-node{border-color:CanvasText;background:Canvas}.flow-thread{background:CanvasText}.flow-thread i{background:Highlight}.flow-step[data-current=true] .flow-node,.home-flow .flow-navigation a[aria-current=step]{outline:2px solid Highlight}}
@media print{.home-flow{padding-block:30px}.home-flow:before,.home-flow .flow-preview,.flow-thread{display:none!important}.home-flow[data-flow-enhanced=true] .flow-layout{display:block}.home-flow[data-flow-enhanced=true] .flow-mobile-record{display:block}.flow-step{display:block!important;break-inside:avoid;min-height:0!important;padding-block:20px}.flow-mobile-record{margin-top:20px}.flow-record{box-shadow:none}}

/* Keep the original, shorter homepage below the desktop breakpoint. */
.hero-caption .home-story-mobile{display:none}
@media(max-width:980px){
 .home-flow{display:none}
 .hero-caption .home-story-desktop{display:none}
 .hero-caption .home-story-mobile{display:inline-flex;align-items:center;min-height:44px}
}
