/* Surface rhythm and components for the approved travel editorial design. */
.home-page,.terminal-hero,.value-section,.how-section,.ed-compat,.trust-strip,.home-footer { background:#f8f9fa; }
.stage-section,.benefit-section,.ed-faq { background:#f1f3f1; }
.terminal-intro { min-height:205px; }
.terminal-visual { display:none!important; }
.terminal-controls,.ed-search,.ed-checker,.how-grid article,.benefit-grid article,.ed-faq-list details { border:1px solid rgba(209,215,210,.8); box-shadow:0 4px 20px rgba(0,0,0,.04); }
.terminal-controls { background:#fff; }
.stage-panel { background:rgba(23,27,25,.65); border:1px solid rgba(255,255,255,.18); border-radius:16px; box-shadow:0 18px 45px rgba(0,0,0,.24); -webkit-backdrop-filter:blur(22px); backdrop-filter:blur(22px); }
.value-section { padding:50px 0 58px; }
.value-section .stage-heading { display:flex; margin-bottom:22px; }
.value-section .stage-heading p { display:block; }
.value-grid { gap:16px; }
.value-panel,.value-panel+.value-panel { min-height:320px; padding:27px; border:1px solid rgba(209,215,210,.8); border-radius:13px; background:#fff; box-shadow:0 4px 20px rgba(0,0,0,.04); }
.value-copy { display:flex; flex-direction:column; align-items:flex-start; max-width:260px; }
.value-copy h3 { font-size:clamp(24px,2.1vw,31px); margin:22px 0 14px; }
.value-copy p { font-size:13px; line-height:1.6; }
.value-copy a { margin-top:auto; }
.signal-ui { background:#f6f8f7; border-color:#e4e9e5; box-shadow:0 4px 20px rgba(0,0,0,.04); }
.number-scene { align-self:stretch; min-height:260px; display:flex; align-items:center; justify-content:center; background:#ecf0ee url('/assets/images/home/terminal-phone.webp') center/cover no-repeat; }
.number-scene::before { content:''; position:absolute; inset:0; background:rgba(23,34,29,.14); }
.number-phone { position:relative; width:155px; height:255px; padding:28px 11px 12px; border:4px solid #1b211e; border-radius:27px; background:linear-gradient(155deg,#718b87,#344b50 62%,#24363a); box-shadow:0 12px 27px rgba(25,32,27,.24); text-align:center; color:white; }
.number-phone-notch { position:absolute; top:6px; left:50%; width:50px; height:11px; transform:translateX(-50%); border-radius:10px; background:#171c1b; }
.number-phone-clock { margin-top:7px; font-size:31px; font-weight:600; line-height:1; letter-spacing:-.03em; }
.number-phone-date { margin:6px 0 17px; font-size:9px; color:rgba(255,255,255,.88); }
.number-phone-call,.number-phone-message { position:relative; display:flex; align-items:center; gap:7px; width:172px; margin-left:-20px; padding:9px; text-align:left; color:#26322b; background:rgba(255,255,255,.92); border:1px solid rgba(255,255,255,.55); border-radius:10px; box-shadow:0 5px 15px rgba(14,22,17,.15); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.number-phone-message { margin-top:9px; width:164px; margin-left:-10px; }
.number-phone-call span:nth-child(2),.number-phone-message span:nth-child(2) { display:grid; flex:1; min-width:0; }
.number-phone-call strong,.number-phone-message strong { font-size:10px; line-height:1.3; }
.number-phone-call small,.number-phone-message small { font-size:9px; line-height:1.3; color:#647069; }
.phone-icon,.phone-action { flex:none; display:grid; place-items:center; width:26px; height:26px; border-radius:8px; background:#e9eeeb; color:#52675a; font-size:15px; }
.phone-action { border-radius:50%; background:#596e62; color:white; }
.how-section { padding:75px 0 84px; }
.how-grid article { background:#fff; border-radius:12px; }
.how-grid article>span { background:#eef1ef; color:#5c6b61; }
.benefit-section { padding:65px 0 72px; }
.benefit-grid { gap:14px; }
.benefit-grid article { padding:23px; background:#fff; border-radius:12px; }
.benefit-grid article>i { display:grid; place-items:center; width:40px; height:40px; margin-bottom:16px; color:#65746a; background:#f2f5f3; border:1px solid #e7ebe8; border-radius:10px; }
.benefit-grid h3 { font-size:17px; line-height:1.18; }
.benefit-grid p { font-size:12px; line-height:1.55; }
.benefit-grid .benefit-large { min-height:335px; padding:30px; }
.benefit-large h3 { font-size:clamp(27px,2.5vw,36px); line-height:1.04; }
.benefit-large>div:first-child { max-width:230px; }
.benefit-interface { flex:none; width:48%; max-width:230px; padding:17px; background:#f7f9f8; border:1px solid #e0e6e2; border-radius:12px; box-shadow:0 4px 20px rgba(0,0,0,.04); }
.benefit-interface-head,.benefit-interface-foot { display:flex; justify-content:space-between; align-items:center; gap:6px; color:#68766c; font-size:9px; font-weight:700; letter-spacing:.04em; }
.benefit-interface-head i,.benefit-interface-foot i { font-size:16px; }
.benefit-destination { display:flex; align-items:center; gap:9px; margin:24px 0 18px; }
.benefit-destination>i { display:grid; place-items:center; width:36px; height:36px; border-radius:9px; background:#e9eeeb; color:#6a7970; font-size:20px; }
.benefit-destination>span { display:grid; gap:4px; margin:0; }
.benefit-destination small { color:#718078; font-size:9px; font-weight:700; }
.benefit-destination strong { margin:0; color:#27312b; font-size:13px; }
.benefit-tags { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:24px; }
.benefit-tags span { margin:0; padding:6px 8px; border:1px solid #e1e7e2; border-radius:20px; color:#5c6c62; background:#fff; font-size:9px; font-weight:700; }
.benefit-interface-foot { padding-top:11px; border-top:1px solid #e3e9e4; }
.benefit-interface-foot span,.benefit-interface-head span { margin:0; }
.ed-compat { padding:65px 0; }
.ed-checker { padding:14px; background:#fff; border-radius:10px; }
.ed-faq { padding:80px 0; }
.ed-faq-list details { background:#fff; border-radius:12px; }
.ed-faq-list summary { min-height:82px; padding:24px; }
[data-bs-theme=dark] .home-page,[data-bs-theme=dark] .terminal-hero,[data-bs-theme=dark] .value-section,[data-bs-theme=dark] .how-section,[data-bs-theme=dark] .ed-compat,[data-bs-theme=dark] .trust-strip,[data-bs-theme=dark] .home-footer { background:#1b2520; }
[data-bs-theme=dark] .stage-section,[data-bs-theme=dark] .benefit-section,[data-bs-theme=dark] .ed-faq { background:#222e27; }
[data-bs-theme=dark] .terminal-controls,[data-bs-theme=dark] .value-panel,[data-bs-theme=dark] .value-panel+.value-panel,[data-bs-theme=dark] .how-grid article,[data-bs-theme=dark] .benefit-grid article,[data-bs-theme=dark] .ed-checker,[data-bs-theme=dark] .ed-faq-list details { background:#28362d; border-color:#46574b; }
[data-bs-theme=dark] .benefit-interface,[data-bs-theme=dark] .signal-ui { background:#1b2520; border-color:#46574b; }
[data-bs-theme=dark] .benefit-destination strong,[data-bs-theme=dark] .benefit-grid h3,[data-bs-theme=dark] .how-grid h3 { color:#eef4ef; }
@media(max-width:900px) { .value-panel,.value-panel+.value-panel { flex-wrap:wrap; }.number-scene { width:100%; max-width:none; }.benefit-grid .benefit-large { padding:24px; }.benefit-interface { width:46%; } }
@media(max-width:700px) { .terminal-intro { min-height:145px; }.value-section { padding:45px 0; }.value-panel,.value-panel+.value-panel { padding:23px; min-height:0; }.value-copy a { margin-top:12px; }.number-scene { min-height:285px; }.benefit-grid .benefit-large { min-height:290px; }.ed-faq-list { grid-template-columns:1fr; }.ed-faq { padding:65px 0; } }
@media(max-width:420px) { .benefit-interface { display:block; width:47%; }.benefit-grid .benefit-large { align-items:center; gap:12px; }.benefit-large h3 { font-size:24px; }.benefit-interface { padding:11px; }.benefit-tags span { font-size:8px; } }
@media(prefers-reduced-motion:reduce) { .number-phone *, .benefit-interface * { animation:none!important; transition:none!important; } }
