/* TrvlFit Landing Styles (non-critical & extended) */
:root{--bg:#0f1115;--surface:#131720;--surface-alt:#1a202b;--text:#e9edf5;--muted:#a9b0be;--primary:#ff6a00;--primary-600:#e35f00;--accent:#1fb7b6;--ring:rgba(31,183,182,.45);--success:#11b981;--warning:#f59e0b;--danger:#ef4444;--radius:16px;--shadow:0 10px 30px -5px rgba(0,0,0,.55),0 4px 14px -6px rgba(0,0,0,.4);--noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='0.85' stitchTiles='stitch' type='fractalNoise'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.1'/%3E%3C/svg%3E");--grad-accent:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);--ease-spring:cubic-bezier(.34,1.56,.46,.99)}
body.theme-light{--bg:#f6f8fc;--surface:#ffffff;--surface-alt:#eef2f8;--text:#10151b;--muted:#516071;--accent:#0d9e9d;--ring:rgba(13,158,157,.35);--shadow:0 8px 26px -8px rgba(0,0,0,.18),0 4px 10px -4px rgba(0,0,0,.08)}
html,body{background:var(--bg);color:var(--text)}
body.loaded .hero-title{animation:heroPop .9s var(--ease-spring)}
@keyframes heroPop{0%{opacity:0;transform:translateY(18px) scale(.98)}60%{opacity:1;transform:translateY(-4px) scale(1.01)}100%{transform:translateY(0) scale(1)} }
.visually-hidden{position:absolute!important;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden;white-space:nowrap}
.footer-inner{max-width:1240px;margin:0 auto;padding:2.2rem clamp(1rem,2vw,2rem);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.25rem;font-size:.75rem;color:var(--muted)}
.legal-nav a{color:var(--muted);font-weight:500;font-size:.75rem;margin-right:1.1rem;position:relative}
.legal-nav a:last-child{margin-right:0}
.legal-nav a:hover{color:var(--text)}
.section{padding:clamp(3.5rem,8vh,5.2rem) clamp(1rem,2vw,2rem)}
.section-header{max-width:1240px;margin:0 auto 2rem;display:flex;flex-direction:column;gap:.4rem}
.section-header h2{margin:0;font-size:clamp(1.65rem,3.5vw,2.35rem);letter-spacing:-.5px}
.section-header .muted{max-width:60ch}
.grid.cards-3{--min:260px;display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--min),1fr));gap:1.5rem;max-width:1240px;margin:0 auto}
.card.step,.price-card{position:relative;padding:1.4rem 1.4rem 1.55rem;background:linear-gradient(180deg,var(--surface) 0%,rgba(255,255,255,0) 130%);border:1px solid rgba(255,255,255,.08);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);transition:transform .6s var(--ease-spring),background .4s,border-color .4s}
body.theme-light .card.step,body.theme-light .price-card{border-color:#d6dde7;background:linear-gradient(180deg,var(--surface) 0%,#fafbfd 130%)}
.card.step .step-icon{position:absolute;top:-22px;right:-22px;width:110px;height:110px;opacity:.14;filter:drop-shadow(0 4px 10px rgba(0,0,0,.4));color:var(--accent);pointer-events:none;transition:opacity .5s}
.card.step:hover .step-icon{opacity:.24}
.card.step .step-icon .icon{width:100%;height:100%}
.card.step:before,.price-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 0 0,rgba(255,106,0,.4),transparent 60%),radial-gradient(circle at 100% 100%,rgba(31,183,182,.35),transparent 65%);opacity:.18;pointer-events:none;transition:opacity .5s}
.card.step:hover:before,.price-card:hover:before{opacity:.32}
[data-tilt]:hover{transform:translateY(-6px) rotateX(4deg) rotateY(-4deg)}
.step-num{width:40px;height:40px;background:var(--grad-accent);color:#fff;display:grid;place-items:center;font-weight:700;border-radius:12px;font-size:.95rem;box-shadow:0 4px 10px -2px rgba(0,0,0,.35)}
.card.step h3{margin:.95rem 0 .35rem;font-size:1.1rem}
.card.step p{margin:0;color:var(--muted);font-size:.9rem}
.panel-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.6rem;padding:0 clamp(0rem,2vw,0rem)}
.panel-card{background:linear-gradient(145deg,var(--surface) 0%,var(--surface-alt) 100%);border:1px solid rgba(255,255,255,.08);padding:1.75rem 1.65rem 2rem;border-radius:28px;position:relative;overflow:hidden;box-shadow:var(--shadow);transition:transform .5s var(--ease-spring),border-color .4s}
body.theme-light .panel-card{border-color:#d2dae4}
.panel-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 10%,rgba(255,106,0,.25),transparent 60%),radial-gradient(circle at 85% 90%,rgba(31,183,182,.3),transparent 65%);opacity:.18;mix-blend-mode:overlay;transition:opacity .6s}
.panel-card:hover:after{opacity:.32}
.panel-card h2{margin-top:0;margin-bottom:.85rem;font-size:clamp(1.35rem,2.5vw,1.85rem)}
.tick-list{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.tick{width:22px;height:22px;border-radius:8px;display:grid;place-items:center;background:rgba(31,183,182,.15);border:1px solid #254a4a;font-size:.9rem;color:var(--accent)}
body.theme-light .tick{background:rgba(13,158,157,.12);border-color:#53d3d1}
.tick-list li{display:flex;align-items:flex-start;gap:.65rem;font-size:.9rem;line-height:1.4;color:var(--muted)}
.price-card h3{margin:0 0 .6rem;font-size:1.1rem}
.price-range{font-size:1.8rem;font-weight:700;letter-spacing:-1px;margin:.25rem 0 .35rem;background:linear-gradient(120deg,var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.price-card p{margin:0 0 .65rem;font-size:.85rem}
.divider{height:1px;background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,0));margin:1.15rem 0}
body.theme-light .divider{background:linear-gradient(90deg,#d8e0ea,rgba(216,224,234,0))}
.stats{display:flex;flex-wrap:wrap;gap:1.1rem;margin:1.4rem 0 0}
.stat{display:flex;align-items:baseline;gap:.45rem;background:rgba(255,255,255,.05);padding:.55rem .8rem;border-radius:14px;font-size:.75rem;font-weight:600;letter-spacing:.5px;color:var(--muted);border:1px solid rgba(255,255,255,.09)}
body.theme-light .stat{background:#f0f4f9;border-color:#d5dde6;color:#5a6b7c}
.stat .num{font-size:1.15rem;font-weight:700;color:var(--text)}
.hero-map .map-hint{margin:.65rem 0 0;font-size:.65rem;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}
.noise-overlay{position:absolute;inset:0;pointer-events:none;background:var(--noise);opacity:.18;mix-blend-mode:overlay}
.faq-grid{max-width:960px;margin:0 auto;display:grid;gap:1rem}
.faq-item{border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:.2rem 1rem;background:linear-gradient(140deg,var(--surface) 0%,var(--surface-alt) 100%);box-shadow:var(--shadow);transition:border-color .4s,background .4s}
body.theme-light .faq-item{border-color:#d5dde6}
.faq-item[open]{border-color:var(--accent)}
.faq-item summary{cursor:pointer;list-style:none;font-weight:600;display:flex;align-items:center;gap:.75rem;padding:1rem 0;font-size:.95rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item .answer{padding:0 0 1rem;font-size:.85rem;color:var(--muted);animation:fadeSlide .5s}
@keyframes fadeSlide{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.contact .newsletter{margin-top:1.25rem;display:flex;flex-wrap:wrap;gap:.7rem}
.contact input[type=email]{flex:1;min-width:220px;padding:.85rem 1rem;border-radius:14px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);color:var(--text);font:inherit}
body.theme-light .contact input[type=email]{background:#fff;border-color:#c9d3df}
.contact input[type=email]:focus{outline:2px solid var(--accent);outline-offset:2px}
.floating-cta{position:fixed;bottom:1.5rem;right:1.5rem;padding:.95rem 1.25rem;background:var(--grad-accent);color:#fff;font-weight:600;border:none;border-radius:18px;box-shadow:0 8px 30px -8px rgba(0,0,0,.5);cursor:pointer;opacity:0;transform:translateY(20px) scale(.9);pointer-events:none;transition:opacity .5s,transform .6s var(--ease-spring);z-index:60}
.floating-cta.visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.theme-toggle{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:var(--text);display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .9rem;font-size:.7rem;font-weight:600;letter-spacing:.5px;border-radius:12px;cursor:pointer;transition:background .25s,transform .25s}
.theme-toggle:hover{transform:translateY(-2px)}
body.theme-light .theme-toggle{background:#ffffff;border-color:#d0d9e3;color:#35414d}
body.theme-light .theme-toggle:hover{background:#f5f8fb}
.toast-container{position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);display:grid;gap:.6rem;z-index:70;width:min(420px,92%)}
.toast{padding:.85rem 1rem;background:var(--surface-alt);border:1px solid var(--accent);color:var(--text);border-radius:14px;font-size:.8rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem;box-shadow:var(--shadow);animation:toastIn .6s var(--ease-spring)}
@keyframes toastIn{0%{opacity:0;transform:translateY(14px) scale(.95)}60%{opacity:1;transform:translateY(-4px) scale(1.02)}100%{transform:translateY(0) scale(1)}}
.toast button{background:transparent;border:none;color:inherit;font:inherit;cursor:pointer;padding:.25rem .4rem;border-radius:8px}
.toast button:hover{background:rgba(255,255,255,.08)}
/* Animations on view */
[data-animate]{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s var(--ease-spring)}
[data-animate].in{opacity:1;transform:translateY(0)}
body.theme-transition *{transition:background-color .5s,color .5s,border-color .5s!important}
/* Light theme background & overlay adjustments */
body.theme-light{background:var(--bg);}
body.theme-light::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:
	radial-gradient(circle at 25% 25%,rgba(255,106,0,.20),transparent 60%),
	radial-gradient(circle at 75% 35%,rgba(13,158,157,.22),transparent 65%),
	linear-gradient(180deg,#ffffff 0%,#f2f6fa 100%);
	mix-blend-mode:normal;opacity:.9}
body.theme-light .map-wrapper{background:
	radial-gradient(circle at 30% 25%,rgba(255,106,0,.18),transparent 60%),
	radial-gradient(circle at 70% 65%,rgba(13,158,157,.25),transparent 65%),
	#ffffff;border:1px solid #d6dde7}
body.theme-light .stat{background:#ffffff}
body.theme-light .chip{background:#f0f4f9;border-color:#d3dae3;color:#546273}
/* Responsive */
@media (max-width:980px){.panel-grid{grid-template-columns:1fr}.hero-map .map-wrapper{height:320px}.stats{gap:.7rem}}
@media (max-width:680px){.brand span{font-size:.95rem}.primary-nav{display:none}.hero-title{font-size:clamp(2rem,9vw,2.8rem)}.floating-cta{bottom:.9rem;right:.9rem}}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important}[data-tilt]:hover{transform:none!important}}