/* Packminder public landing page. Intentionally kept separate from the planner UI. */

.hero-view{padding:30px 0 10px}
.home-hero{
  position:relative;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:32px;
  padding:clamp(28px,5vw,62px);
  background:
    radial-gradient(circle at 88% 10%,color-mix(in srgb,var(--sky) 35%,transparent),transparent 34%),
    radial-gradient(circle at 8% 86%,color-mix(in srgb,var(--coral) 13%,transparent),transparent 34%),
    linear-gradient(145deg,color-mix(in srgb,var(--surface) 94%,var(--blue)),var(--surface));
  box-shadow:var(--shadow)
}
html[data-theme="dark"] .home-hero{
  background:
    radial-gradient(circle at 86% 10%,rgba(43,125,233,.28),transparent 34%),
    radial-gradient(circle at 10% 86%,rgba(255,107,91,.12),transparent 34%),
    linear-gradient(145deg,#0a1930,#0d1d31 58%,#102641)
}
.home-hero::after{
  content:"";position:absolute;width:270px;height:270px;border-radius:50%;right:-145px;bottom:-165px;
  border:42px solid color-mix(in srgb,var(--blue) 9%,transparent);pointer-events:none
}
.home-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(380px,1.08fr);gap:48px;align-items:center;position:relative;z-index:1}
.home-hero h1{font-size:clamp(3.2rem,7vw,6.5rem);margin:20px 0 24px}
.home-hero .hero-copy{font-size:clamp(1rem,1.6vw,1.18rem)}
.home-hero .prompt-card{box-shadow:0 26px 65px rgba(11,45,107,.16)}
html[data-theme="dark"] .home-hero .prompt-card{box-shadow:0 26px 65px rgba(0,0,0,.30)}
.hero-proof-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.hero-proof-row span{font-size:.82rem;font-weight:750;color:var(--muted);border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 82%,transparent);padding:9px 11px;border-radius:999px}

.home-section{padding:clamp(58px,8vw,100px) 0}
.demo-section{padding-top:clamp(48px,7vw,84px);padding-bottom:clamp(52px,7vw,86px)}
.home-section-heading{max-width:780px;margin-bottom:30px}
.home-section-heading.center{text-align:center;margin-left:auto;margin-right:auto}
.home-section-heading .eyebrow{display:block;margin-bottom:12px}
.home-section-heading h2{font-size:clamp(2.25rem,5vw,4.7rem);line-height:.96;letter-spacing:-.055em;margin:0 0 17px}
.home-section-heading p{font-size:1.04rem;line-height:1.7;color:var(--muted);margin:0}

.product-showcase{
  position:relative;overflow:hidden;border-radius:32px;padding:clamp(25px,5vw,54px);
  display:grid;grid-template-columns:minmax(0,.82fr) minmax(360px,1.18fr);gap:clamp(28px,5vw,60px);align-items:center;
  background:
    radial-gradient(circle at 82% 12%,rgba(43,125,233,.25),transparent 29%),
    radial-gradient(circle at 10% 88%,rgba(91,168,245,.14),transparent 26%),
    linear-gradient(145deg,#071425,#0b1d36 58%,#102a4d);
  color:#f8fbff;border:1px solid rgba(151,190,234,.16);box-shadow:0 28px 70px rgba(7,20,37,.22)
}
.product-showcase::after{content:"";position:absolute;inset:auto -95px -155px auto;width:310px;height:310px;border:38px solid rgba(91,168,245,.07);border-radius:50%;pointer-events:none}
.showcase-copy,.interactive-demo-wrap{position:relative;z-index:1}
.product-showcase .home-section-heading{margin-bottom:22px}
.product-showcase .eyebrow{color:#82baff}
.product-showcase .home-section-heading p{color:#adc0d7}
.showcase-meta{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 28px}
.showcase-meta span{font-size:.76rem;font-weight:800;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);padding:8px 10px;border-radius:999px;color:#d9e8f8}

.travel-motion{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);border-radius:19px;padding:16px 16px 13px;overflow:hidden}
.travel-motion-labels{display:flex;justify-content:space-between;color:#9fb5cf;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.travel-route{position:relative;height:54px;margin:3px 6px 0}
.route-line{position:absolute;left:9px;right:9px;top:27px;border-top:2px dashed rgba(130,186,255,.34)}
.route-dot{position:absolute;top:22px;width:11px;height:11px;border-radius:50%;background:#82baff;box-shadow:0 0 0 5px rgba(130,186,255,.10)}
.route-dot.start{left:4px}.route-dot.end{right:4px;background:#75e1b9;box-shadow:0 0 0 5px rgba(117,225,185,.11)}
.route-plane{position:absolute;top:9px;left:4px;font-size:1.55rem;filter:drop-shadow(0 5px 7px rgba(0,0,0,.28));animation:packminder-flight 5.4s cubic-bezier(.45,.05,.18,.98) infinite;transform-origin:center}
.travel-motion-caption{font-size:.75rem;line-height:1.45;color:#9fb5cf;margin-top:2px}
@keyframes packminder-flight{
  0%{left:4px;transform:translateY(5px) rotate(-7deg);opacity:.78}
  42%{transform:translateY(-8px) rotate(4deg);opacity:1}
  82%{left:calc(100% - 39px);transform:translateY(2px) rotate(-2deg);opacity:1}
  100%{left:calc(100% - 39px);transform:translateY(2px) rotate(-2deg);opacity:0}
}

.interactive-demo-wrap{max-width:510px;width:100%;justify-self:end}
.demo-instruction{display:inline-flex;align-items:center;gap:7px;margin:0 0 10px 8px;color:#bad0e8;font-size:.73rem;font-weight:800}
.demo-instruction::before{content:"";width:7px;height:7px;background:#5ba8f5;border-radius:50%;box-shadow:0 0 0 6px rgba(91,168,245,.10);animation:demo-pulse 1.8s ease-in-out infinite}
@keyframes demo-pulse{50%{box-shadow:0 0 0 10px rgba(91,168,245,0)}}
.demo-phone{position:relative;background:#f7faff;color:#10213b;border-radius:29px;border:1px solid rgba(255,255,255,.26);padding:18px;box-shadow:0 24px 60px rgba(0,0,0,.30);overflow:hidden}
.demo-trip-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:13px;border-bottom:1px solid #dbe6f3}
.demo-trip-title{display:flex;gap:10px;align-items:center}.demo-flag{font-size:1.8rem}.demo-trip-title strong,.demo-trip-title small{display:block}.demo-trip-title strong{font-size:1rem}.demo-trip-title small{font-size:.72rem;color:#6c7d94;margin-top:2px}
.demo-countdown{min-width:67px;text-align:center;background:#eaf3ff;border-radius:13px;padding:8px 9px}.demo-countdown strong{display:block;color:#2b7de9;font-size:1.35rem;line-height:1}.demo-countdown span{font-size:.65rem;color:#60738c}
.demo-weather{display:flex;gap:9px;align-items:center;margin:12px 0 8px;background:#edf5ff;border-radius:13px;padding:10px 11px;font-size:.76rem}.demo-weather strong{display:block;font-size:.76rem}.demo-weather small{display:block;color:#657991;margin-top:2px}
.demo-quick-actions{display:flex;gap:7px;margin:8px 0 12px}.demo-quick-actions button{min-height:32px;border:1px solid #d8e4f1;border-radius:10px;background:#fff;color:#40536d;font-size:.69rem;font-weight:800;padding:0 10px}
.demo-quick-actions button:active{transform:translateY(1px)}
.demo-progress{margin:12px 0}.demo-progress-top{display:flex;justify-content:space-between;font-size:.72rem;font-weight:800;color:#40536d}.demo-bar{height:7px;background:#e0e9f3;border-radius:99px;overflow:hidden;margin-top:7px}.demo-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,#2b7de9,#5ba8f5);border-radius:inherit;transition:width .38s cubic-bezier(.2,.8,.2,1)}
.demo-filter{display:inline-grid;grid-template-columns:1fr 1fr;background:#eaf0f7;border-radius:10px;padding:3px;margin:1px 0 8px}.demo-filter button{border:0;background:transparent;color:#61758d;font-size:.68rem;font-weight:800;min-height:30px;padding:0 10px;border-radius:8px}.demo-filter button.active{background:#fff;color:#17304f;box-shadow:0 2px 8px rgba(20,48,80,.08)}
.demo-category{border:1px solid #dce6f1;border-radius:16px;background:#fff;margin-top:9px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.demo-category.complete{border-color:#a8dfca;box-shadow:0 0 0 3px rgba(62,180,132,.07)}
.demo-category-head{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px;border:0;background:transparent;color:#10213b;font-size:.78rem;font-weight:850;text-align:left}.demo-category-head small{font-size:.66rem;color:#718199;font-weight:700}.demo-chevron{display:inline-block;transition:transform .22s ease}.demo-category.collapsed .demo-chevron{transform:rotate(-90deg)}
.demo-category.collapsed .demo-items{display:none}
.demo-items{padding:0 12px 10px}.demo-item{position:relative;display:flex;align-items:center;gap:9px;padding:8px 0;border-top:1px solid #eff3f8;font-size:.75rem;cursor:pointer;min-height:36px}.demo-item input{position:absolute;opacity:0;pointer-events:none}.demo-check{width:19px;height:19px;border:1.5px solid #aec1d6;border-radius:6px;display:grid;place-items:center;flex:0 0 19px;color:#fff;font-size:.67rem;font-weight:900;transition:transform .16s ease,background .16s,border-color .16s}.demo-item.done{color:#718199;text-decoration:line-through}.demo-item.done .demo-check{background:#2b7de9;border-color:#2b7de9;transform:scale(1.06)}.demo-item.done .demo-check::after{content:"✓"}.demo-item[hidden]{display:none}.demo-last{background:#fff7f6;border-color:#ffd9d2}.demo-weather-note{display:flex;gap:8px;align-items:flex-start;background:#fff4e7;color:#6b4a1b;border:1px solid #f7d7ab;border-radius:13px;padding:10px 11px;margin-top:10px;font-size:.7rem;line-height:1.4}.demo-success{margin-top:10px;border-radius:12px;padding:10px 11px;background:#e9f8f1;color:#176b50;font-size:.74rem;font-weight:800;text-align:center}.demo-success[hidden]{display:none}
.confetti-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:5}.confetti-piece{position:absolute;left:50%;top:43%;width:8px;height:13px;border-radius:2px;background:var(--confetti,#5ba8f5);animation:confetti-pop .9s cubic-bezier(.17,.67,.22,1) forwards;transform:translate(-50%,-50%) rotate(var(--rotate,0deg))}
@keyframes confetti-pop{to{transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) rotate(calc(var(--rotate) + 260deg));opacity:0}}

.pricing-section{position:relative}.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:900px;margin:0 auto}.price-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:26px;padding:28px;box-shadow:var(--shadow-sm)}.price-card.pro{border-color:color-mix(in srgb,var(--blue) 58%,var(--border));background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 8%,var(--surface)),var(--surface));box-shadow:0 22px 60px rgba(43,125,233,.14)}.popular-badge{position:absolute;top:18px;right:18px;color:#fff;background:var(--blue);font-size:.69rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900;border-radius:999px;padding:7px 9px}.plan-name{font-weight:900;font-size:1.1rem}.price{font-size:clamp(2.5rem,5vw,4rem);line-height:1;letter-spacing:-.055em;font-weight:900;margin:17px 0 6px}.price small{font-size:.9rem;letter-spacing:0;color:var(--muted);font-weight:650}.plan-copy{color:var(--muted);font-size:.9rem;line-height:1.55;margin:0 0 21px}.plan-list{display:grid;gap:11px;margin:0 0 24px;padding:0;list-style:none}.plan-list li{display:flex;gap:9px;font-size:.9rem;align-items:flex-start}.plan-list li::before{content:"✓";color:var(--blue);font-weight:900}.plan-cta{width:100%;min-height:48px;border-radius:14px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-weight:850}.price-card.pro .plan-cta{background:var(--blue);color:#fff;border-color:var(--blue)}.pricing-note{text-align:center;color:var(--muted);font-size:.78rem;margin-top:17px}

.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:36px;align-items:start}.faq-list{display:grid;gap:10px}.faq-list details{background:var(--surface);border:1px solid var(--border);border-radius:18px;overflow:hidden}.faq-list details[open]{border-color:color-mix(in srgb,var(--blue) 40%,var(--border));box-shadow:var(--shadow-sm)}.faq-list summary{list-style:none;cursor:pointer;font-weight:850;padding:18px 52px 18px 19px;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--blue);font-weight:700}.faq-list details[open] summary::after{content:"×"}.faq-answer{padding:0 19px 19px;color:var(--muted);font-size:.9rem;line-height:1.65}.faq-answer a{color:var(--blue);font-weight:800}
.guide-mini-link{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:start;gap:2px 9px;margin-top:22px;border:1px solid color-mix(in srgb,var(--blue) 38%,var(--border));background:color-mix(in srgb,var(--blue) 8%,var(--surface));color:var(--text);min-height:48px;padding:9px 13px;border-radius:14px;text-align:left;font-weight:850}.guide-mini-link span{color:var(--blue);font-size:1.15rem}.guide-mini-link small{grid-column:1 / -1;color:var(--muted);font-size:.67rem;font-weight:700}

.auth-btn{border:1px solid color-mix(in srgb,var(--blue) 42%,var(--border));background:color-mix(in srgb,var(--blue) 9%,var(--surface));color:var(--text);border-radius:13px;min-height:40px;padding:0 14px;font-weight:850;white-space:nowrap}.auth-btn:hover{border-color:var(--blue)}
.auth-modal[hidden]{display:none}.auth-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px}.auth-backdrop{position:absolute;inset:0;background:rgba(2,12,26,.62);backdrop-filter:blur(7px)}.auth-dialog{position:relative;width:min(440px,100%);background:var(--surface);border:1px solid var(--border);border-radius:25px;box-shadow:0 30px 100px rgba(0,0,0,.35);padding:25px}.auth-close{position:absolute;right:15px;top:15px;width:40px;height:40px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:1.2rem}.auth-dialog h2{font-size:2rem;letter-spacing:-.04em;margin:5px 45px 8px 0}.auth-dialog>p{color:var(--muted);font-size:.88rem;line-height:1.5;margin-bottom:19px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--surface-2);padding:4px;border-radius:13px;margin-bottom:16px}.auth-tabs button{border:0;background:transparent;color:var(--muted);min-height:39px;border-radius:10px;font-weight:800}.auth-tabs button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.auth-form{display:grid;gap:11px}.auth-form label{font-size:.8rem;font-weight:800}.auth-form input{width:100%;min-height:48px;border-radius:13px;padding:0 13px;font-size:16px}.auth-submit,.google-auth{min-height:49px;border-radius:13px;font-weight:850}.auth-submit{border:0;background:var(--blue);color:#fff}.google-auth{border:1px solid var(--border);background:var(--surface);color:var(--text)}.auth-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.72rem;margin:14px 0}.auth-divider::before,.auth-divider::after{content:"";height:1px;background:var(--border);flex:1}.auth-help{display:flex;justify-content:space-between;gap:10px;margin-top:12px}.auth-help button{border:0;background:none;color:var(--blue);padding:0;font-size:.78rem;font-weight:800}.auth-message{font-size:.78rem;line-height:1.45;border-radius:11px;padding:10px 11px;margin-top:12px;background:var(--surface-2);color:var(--muted)}.auth-message.error{background:#fff0ee;color:#8e3b32}.auth-message.success{background:#e9f8f1;color:#176b50}html[data-theme="dark"] .auth-message.error{background:#43211d;color:#ffd8d3}html[data-theme="dark"] .auth-message.success{background:#153b31;color:#82e3bd}

@media (max-width:960px){
  .home-hero-grid,.product-showcase{grid-template-columns:1fr;gap:30px}.home-hero h1{font-size:clamp(3.2rem,14vw,5.8rem)}.interactive-demo-wrap{justify-self:stretch;max-width:620px;margin:0 auto}.showcase-copy{max-width:680px}
}
@media (max-width:880px){.faq-layout{grid-template-columns:1fr;gap:20px}}
@media (max-width:640px){
  .hero-view{padding-top:15px}.home-hero{border-radius:24px;padding:23px 18px}.home-hero h1{font-size:clamp(3rem,15vw,4.5rem);margin-top:16px}.home-hero .prompt-card{padding:17px}
  .home-hero .prompt-footer{align-items:stretch}.home-hero .primary-btn{width:100%}.hero-proof-row{gap:7px}.hero-proof-row span{font-size:.74rem;padding:7px 9px}
  .home-section{padding:54px 0}.demo-section{padding-top:46px}.product-showcase{margin-inline:-2px;border-radius:24px;padding:24px 15px;gap:24px}.home-section-heading h2{font-size:2.55rem}
  .showcase-meta{gap:7px;margin-bottom:21px}.showcase-meta span{font-size:.7rem;padding:7px 9px}.travel-motion{padding:14px}.interactive-demo-wrap{max-width:none}.demo-phone{border-radius:23px;padding:15px}.demo-instruction{margin-left:5px}.demo-trip-title small{font-size:.67rem}.demo-countdown{min-width:60px}.demo-category-head{min-height:46px}.demo-item{min-height:40px;font-size:.74rem}
  .pricing-grid{grid-template-columns:1fr}.price-card{padding:23px}.popular-badge{top:16px;right:16px}.faq-layout{gap:14px}
  .header-actions{gap:7px}.ghost-btn.compact{display:none}.auth-btn{min-height:40px;padding:0 11px}.theme-toggle{width:40px;min-height:40px}.network-badge{display:none!important}
}
@media (prefers-reduced-motion:reduce){
  .route-plane,.demo-instruction::before{animation:none}.route-plane{left:calc(100% - 39px)}.demo-bar span,.demo-check,.demo-chevron{transition:none}.confetti-piece{display:none}
}
