/* A photographic welcome and quiet, purposeful motion inside the conversation. */
body{background:#f6f9fc}.ambient{background:radial-gradient(ellipse at 4% 4%,#e5f0fb 0,transparent 42%),radial-gradient(ellipse at 100% 10%,#e7f5fa 0,transparent 40%),linear-gradient(160deg,#fbfcff,#f2f7fc)}.ambient:before{content:'';position:absolute;left:-15%;top:10%;width:70vw;height:70vw;max-height:950px;border-radius:50%;background:radial-gradient(circle,#d1e8f333,transparent 65%);animation:ambientDrift 22s ease-in-out infinite alternate;pointer-events:none}header{max-width:1530px;height:105px}.header-right .concept{padding:8px 12px;background:#ffffff9c;border:1px solid #dbe9f2;border-radius:25px;font-size:9px}.brand{filter:drop-shadow(0 3px 5px #1c608008)}#welcome{max-width:1240px;padding:30px 40px 0;text-align:left}.welcome-stage{display:grid;grid-template-columns:1.12fr 1fr;gap:52px;align-items:center}.welcome-intro{padding:12px 0}.welcome-intro>.eyebrow{font-size:9px;letter-spacing:2.3px}.welcome-intro h1{font-size:clamp(43px,4.4vw,64px);line-height:1.12;letter-spacing:-2.5px;margin:24px 0 24px}.welcome-intro h1 em{background:linear-gradient(105deg,#2c8cb8,#1c618e);-webkit-background-clip:text;background-clip:text;color:transparent}.welcome-intro .intro{font-size:14px;line-height:1.8;max-width:340px;margin:0 0 28px}.hero-composer{width:100%;border-color:#c8dce9;background:#ffffffeb;box-shadow:0 18px 50px #1a4c7012,0 3px 8px #1a4c7004;border-radius:19px;transition:box-shadow .3s,border-color .3s}.hero-composer:focus-within{border-color:#69b7d5;box-shadow:0 0 0 4px #69b7d512,0 18px 50px #1a4c7012}.hero-composer form{padding:16px 14px 16px 20px;gap:8px}.hero-composer input{font-size:12px}.hero-caption{font-size:8px;padding:10px 17px;background:#f4f9fd}.ai-disclosure{font-size:8px;line-height:1.7;color:#8a9fb1;margin:11px 2px 0;max-width:380px}.immersive-city{height:450px;margin:0;border-radius:24px;box-shadow:0 24px 65px #103d5a22,0 4px 12px #163d5710;isolation:isolate;overflow:hidden;border:1px solid #fff}.city-slides{position:absolute;inset:0;background:#123f63}.city-slides .city-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%;opacity:0;transform:scale(1.055);transition:opacity 1.5s ease;animation:cityFloat 18s ease-in-out infinite alternate}.city-slides .city-slide.active{opacity:1}.city-slides .city-slide:nth-child(2){object-position:50% 50%}.city-slides .city-slide:nth-child(3){object-position:50% 50%}.immersive-city .city-overlay{background:linear-gradient(180deg,#082c5144 0%,#0a305205 30%,#082b5266 65%,#051e3de6 100%)}.scene-topline{position:absolute;top:21px;left:22px;right:20px;display:flex;align-items:center;justify-content:space-between;color:#eef7ff;z-index:2}.scene-topline>span{font-size:7px;letter-spacing:2px;text-shadow:0 1px 7px #1b3c5c55;display:flex;gap:8px;align-items:center}.scene-topline i{width:4px;height:4px;background:#c0edff;border-radius:50%;box-shadow:0 0 0 4px #c0edff22}.scene-topline button{width:29px;height:29px;border:1px solid #ffffff45;border-radius:50%;background:#14395c25;backdrop-filter:blur(10px);color:#fff;font-size:10px;display:grid;place-items:center}.scene-glass{position:absolute;left:24px;right:24px;bottom:24px;border:1px solid #ffffff30;border-radius:17px;background:linear-gradient(135deg,#ffffff17,#ffffff05);backdrop-filter:blur(9px);padding:23px 24px 17px;color:white;box-shadow:0 8px 25px #071e4810}.scene-eyebrow{font-size:7px;letter-spacing:2px;color:#c0dfef}.scene-glass h3{font-family:Georgia,serif;font-weight:400;font-size:34px;letter-spacing:-.8px;line-height:1.15;margin:12px 0 10px;color:#fff}.scene-glass p{font-size:10px;color:#ccdfed;margin:0;line-height:1.9}.scene-bottom{margin-top:20px;display:flex;align-items:center;justify-content:space-between;padding-top:15px;border-top:1px solid #ffffff20}.scene-bottom>span{font-size:6px;letter-spacing:1.3px;color:#b3cfdf}.scene-controls{display:flex;align-items:center;gap:7px}.scene-controls button{border:0;width:6px;height:6px;background:#ffffff50;border-radius:20px;padding:0;transition:width .4s,background .4s;position:relative}.scene-controls button:before{content:'';position:absolute;inset:-7px}.scene-controls button.active{width:22px;background:#b6e9ff}.conversation-starters{justify-content:flex-start;margin:20px 0 19px;gap:22px}.conversation-starters button{font-size:9px;padding:5px 0;color:#6f91ac}.service-section-label{font-size:8px;letter-spacing:2px;margin:0 0 12px}.service-launcher{gap:12px;margin-bottom:0}.service-choice{background:#ffffffbf;border-color:#dae7f1;border-radius:14px;padding:15px;min-height:77px;box-shadow:0 7px 20px #234c7104;transition:background .25s,transform .3s,box-shadow .3s,border-color .3s;position:relative;overflow:hidden}.service-choice:after{content:'';position:absolute;height:2px;left:16px;right:16px;bottom:0;background:linear-gradient(90deg,#3eaddd,#d9edf8);transform:scaleX(0);transform-origin:left;transition:transform .3s}.service-choice:hover:after{transform:scaleX(1)}.service-choice:hover{background:#fff;border-color:#a9cfe7;box-shadow:0 12px 30px #21597b12;transform:translateY(-4px)}.service-icon{width:35px;height:39px;border:1px solid #e5eff8;background:linear-gradient(140deg,#f5faff,#e8f3fb);border-radius:11px;color:#388fba}.service-icon svg{width:21px;height:21px}.service-choice small{font-size:6px;letter-spacing:.9px;margin-bottom:5px}.service-choice b{font-size:10px}.welcome-bottom{margin:24px 0 20px;font-size:8px;border-top:1px solid #e0eaf3;padding-top:17px}.visual-progress{height:2px;background:#e5edf5;position:relative;margin:-33px 0 33px;border-radius:3px;overflow:hidden}.visual-progress>span{height:100%;width:0;display:block;background:linear-gradient(90deg,#207eac,#48bce1);transition:width 1s cubic-bezier(.2,.8,.2,1);position:relative}.visual-progress>span:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,#ffffff99,transparent);transform:translateX(-100%);animation:progressShine 3s 1s 1}.journey-heading{border-color:#e5edf5}.journey-heading:after{display:none}.message.assistant{animation:messageRise .5s cubic-bezier(.2,.7,.2,1) both}.message.user{animation:userArrive .35s ease both}.assistant-label .mini-mark{background:linear-gradient(145deg,#e1f1fc,#eff7fc);box-shadow:0 2px 8px #2f8ec510;border:1px solid #dceef9}.card{box-shadow:0 12px 35px #143f6c08;border-color:#d9e6f0;transition:box-shadow .3s}.card:hover{box-shadow:0 14px 38px #143f6c0c}.service-cover{height:110px;position:relative;overflow:hidden;background:#173f61}.service-cover>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 60%;animation:coverReveal .9s ease both}.service-cover-shade{position:absolute;inset:0;background:linear-gradient(90deg,#082e52df 0%,#123e60a6 55%,#123e6055)}.service-cover-copy{position:absolute;left:24px;top:27px;color:white}.service-cover-copy small{display:block;color:#b9dbea;font-size:7px;letter-spacing:2px}.service-cover-copy>span{display:block;font-family:Georgia,serif;font-size:24px;letter-spacing:-.4px;font-weight:400;margin-top:7px}.service-cover-icon{position:absolute;right:25px;top:30px;display:grid;place-items:center;width:45px;height:49px;border-radius:13px;border:1px solid #ffffff40;background:#ffffff10;backdrop-filter:blur(10px);color:#d7effc}.service-cover-icon svg{width:27px;height:27px}.visual-card:before{display:none}.completed-step .service-cover{height:90px}.completed-step .service-cover-copy{top:20px}.completed-step .service-cover-copy>span{font-size:20px}.check-row{animation:checkArrive .4s ease both}.check-row:nth-child(2){animation-delay:.08s}.check-row:nth-child(3){animation-delay:.16s}.check-row:nth-child(4){animation-delay:.24s}.check-row .check{animation:checkAppear .5s cubic-bezier(.2,.7,.2,1) both;box-shadow:0 0 0 4px #f5fbfe}.check-row:nth-child(2) .check{animation-delay:.1s}.check-row:nth-child(3) .check{animation-delay:.2s}.check-row:nth-child(4) .check{animation-delay:.3s}#typing{padding:12px 0 20px;gap:12px}#typing>.mini-mark{width:29px;height:29px;display:grid;place-items:center;border:1px solid #d5eaf6;border-radius:50%;color:#258dbc;background:radial-gradient(#edf8fe,#fcfeff);position:relative}#typing>.mini-mark:before{content:'';position:absolute;inset:-4px;border:1px solid transparent;border-left-color:#3aa7d0;border-top-color:#b2e2f6;border-radius:50%;animation:thinkingOrbit 1.4s linear infinite}#typing-label{font-size:11px;letter-spacing:.1px}.dots i{width:3px;height:3px}.success-head{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 0,#cfedfb55,transparent 70%)}.success-icon{width:65px;height:65px;background:#def3fd;border:7px solid #f0f9fd;box-shadow:0 0 0 1px #d6edf9,0 8px 20px #4da4c812;animation:successBloom .8s ease both}.success-check-path{stroke-dasharray:40;stroke-dashoffset:40;animation:drawCheck .65s .25s ease forwards}.success-head h3{animation:messageRise .65s .1s ease both}.success-head p{animation:messageRise .65s .2s ease both}.balance-hero{position:relative;overflow:hidden}.balance-hero:after{content:'';position:absolute;right:-35px;top:-40px;width:150px;height:150px;border:1px solid #69b1d320;border-radius:50%;box-shadow:0 0 0 20px #69b1d309,0 0 0 40px #69b1d305;pointer-events:none}.balance-hero>strong{animation:balanceReveal .6s ease both}.rail-city{height:130px}.rail-city img{transition:opacity .5s;object-position:50% 55%}.rail-city:after{background:linear-gradient(transparent,#092e4fc9)}#journey-panel{box-shadow:0 12px 40px #1b4d7010;border-color:#dce8f2}#steps li.active .step-number{box-shadow:0 0 0 4px #e5f5fe,0 3px 8px #217cab22;transition:box-shadow .5s}#steps li.done .step-number{animation:checkAppear .4s ease}.primary{position:relative;overflow:hidden}.primary:after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent,#ffffff18,transparent);transform:translateX(-120%);transition:transform .65s}.primary:hover:after{transform:translateX(120%)}#chat-form{background:#ffffffeb;backdrop-filter:blur(12px);box-shadow:0 12px 40px #123f6512}.visual-credits{font-size:10px!important}.visual-credits a{color:#3b8bb7}body[data-mode=conversation] .visual-progress{display:none}body[data-motion=paused] .city-slide,body[data-motion=paused] .ambient:before{animation-play-state:paused}body[data-motion=paused] .city-slide{transition:none}
@keyframes ambientDrift{from{transform:translate(0,0)}to{transform:translate(8%,5%)}}@keyframes cityFloat{from{transform:scale(1.025)}to{transform:scale(1.09)}}@keyframes messageRise{from{opacity:0;transform:translateY(11px)}to{opacity:1;transform:translateY(0)}}@keyframes userArrive{from{opacity:0;transform:translateX(9px)}to{opacity:1;transform:translateX(0)}}@keyframes coverReveal{from{opacity:.5;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes checkArrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes checkAppear{from{transform:scale(.75)}to{transform:scale(1)}}@keyframes thinkingOrbit{to{transform:rotate(360deg)}}@keyframes successBloom{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes drawCheck{to{stroke-dashoffset:0}}@keyframes balanceReveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes progressShine{to{transform:translateX(100%)}}
@media(min-width:1450px){.immersive-city{height:475px}.welcome-stage{gap:64px}#welcome{padding-top:35px}.welcome-intro h1{font-size:68px}.service-choice{min-height:82px}}@media(max-width:1050px){#welcome{padding:25px 30px 0}.welcome-stage{gap:28px;grid-template-columns:1.08fr 1fr}.welcome-intro h1{font-size:49px}.immersive-city{height:420px}.scene-glass{left:17px;right:17px;bottom:17px;padding:18px}.scene-glass h3{font-size:29px}.service-launcher{max-width:none;grid-template-columns:repeat(5,1fr);gap:8px}.service-choice{padding:13px 9px;gap:7px;min-height:75px}.service-choice b{font-size:9px;white-space:normal}.service-choice small{font-size:5px;letter-spacing:.6px}.service-choice .service-arrow{display:none}.service-icon{width:28px;height:32px}.hero-composer input{font-size:11px}.hero-caption{font-size:6.5px}.hero-composer form{padding:14px 11px 14px 15px}}@media(max-width:760px){header{height:85px}.header-right .concept{padding:5px 7px;font-size:7px;max-width:100px}.welcome-stage{display:flex;flex-direction:column;gap:24px;align-items:stretch}#welcome{padding:15px 22px 0}.welcome-intro{padding:10px 0 0;text-align:center}.welcome-intro>.eyebrow{font-size:7px;letter-spacing:1.5px}.welcome-intro h1{font-size:44px;margin:17px 0 19px;letter-spacing:-2px}.welcome-intro .intro{margin:0 auto 23px;font-size:12px;max-width:280px}.hero-composer form{padding:13px 10px 13px 15px}.hero-composer input{font-size:11px}.hero-caption{font-size:7px}.ai-disclosure{max-width:300px;font-size:7px;margin:10px auto 0}.immersive-city{height:265px;border-radius:20px}.city-slides .city-slide{object-position:50% 54%}.scene-glass{left:15px;right:15px;bottom:15px;padding:16px 18px}.scene-glass h3{font-size:26px;margin:8px 0;line-height:1.05}.scene-glass h3 br{display:none}.scene-glass p{font-size:8px;line-height:1.6}.scene-glass p br{display:none}.scene-eyebrow{font-size:6px;letter-spacing:1.6px}.scene-bottom{margin-top:12px;padding-top:11px}.scene-topline{left:20px;top:16px;right:16px}.scene-topline>span{font-size:6px;letter-spacing:1.3px}.scene-topline button{width:26px;height:26px}.conversation-starters{justify-content:center;gap:12px;margin:18px 0}.conversation-starters button{font-size:8px}.service-section-label{font-size:7px;letter-spacing:1.5px;text-align:center}.service-launcher{grid-template-columns:1fr 1fr;gap:9px}.service-choice{padding:11px;gap:9px;min-height:65px}.service-choice b{font-size:10px}.service-choice small{font-size:6px;letter-spacing:1px}.service-icon{width:32px;height:35px}.service-choice .service-arrow{display:block}.welcome-bottom{margin-top:20px;font-size:7px;justify-content:space-between}.service-cover{height:96px}.service-cover-copy{left:18px;top:24px}.service-cover-copy>span{font-size:20px;max-width:220px}.service-cover-copy small{font-size:6px;letter-spacing:1.5px}.service-cover-icon{right:17px;top:27px;width:36px;height:40px}.service-cover-icon svg{width:23px;height:23px}.visual-progress{margin-top:-26px;margin-bottom:25px}.scene-controls button:before{inset:-8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.success-check-path{stroke-dashoffset:0}.city-slides .city-slide{transform:none}}
