/* ===== A. "Let Passport Days do this for you" ===== */
.lg-sec.voice-app.pd2{position:relative;isolation:isolate;overflow:hidden;margin:clamp(40px,5vw,72px) 0;padding:clamp(24px,4.4vw,64px);border:0;border-radius:clamp(24px,3vw,36px);color:var(--panel-text);
  background:radial-gradient(70% 80% at 82% 30%,rgba(122,162,255,.38),transparent 62%),radial-gradient(60% 60% at 0% 100%,rgba(9,22,60,.55),transparent 70%),linear-gradient(150deg,var(--brand-deep) 0%,var(--brand-mid) 55%,var(--brand-hi) 100%);
  box-shadow:0 44px 80px -44px rgba(11,31,82,.8),inset 0 1px 0 rgba(255,255,255,.12)}
[data-theme=night] .lg-sec.voice-app.pd2{box-shadow:inset 0 0 0 1px rgba(175,198,255,.16),0 44px 80px -44px rgba(0,0,0,.85)}
.pd2>*{max-width:none}
.pd2-map{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none;-webkit-mask-image:linear-gradient(100deg,rgba(0,0,0,.28) 15%,#000 62%);mask-image:linear-gradient(100deg,rgba(0,0,0,.28) 15%,#000 62%)}
.pd2-dots{fill:#fff;opacity:.14}
.pd2-route{fill:none;stroke:var(--panel-accent);stroke-width:2;stroke-dasharray:2 11;stroke-linecap:round;opacity:.55;animation:pd2-dash 16s linear infinite}
.pd2-route--b{opacity:.3;animation-duration:22s;animation-direction:reverse}
.pd2-pin{fill:var(--panel-accent);opacity:.75}
.pd2-plane{filter:drop-shadow(0 10px 10px rgba(3,8,20,.35))}
@keyframes pd2-dash{to{stroke-dashoffset:-260}}
.pd2__grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);grid-template-areas:"head phone" "feats phone" "cta phone";column-gap:clamp(32px,5vw,80px);align-items:start}
.pd2__head{grid-area:head}.pd2__feats{grid-area:feats}.pd2__cta{grid-area:cta}.pd2-phone{grid-area:phone}
.pd2__eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 16px!important;font-size:12.5px!important;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--panel-accent)}
.pd2__eyebrow img{width:28px;height:28px;border-radius:8px;box-shadow:0 6px 14px -6px rgba(3,8,20,.6)}
.lg-sec .pd2__title{font-family:var(--display);font-weight:500;font-size:clamp(30px,3.5vw,48px);line-height:1.04;letter-spacing:-.035em;color:#fff;margin:0;text-wrap:balance}
.pd2__title span{color:var(--panel-accent)}
.lg-sec .pd2__intro{margin:16px 0 0;max-width:34em;font-size:clamp(16px,1.25vw,18px);line-height:1.55;color:var(--panel-muted)}
.voice-app__features.pd2__feats{display:grid;gap:12px;margin-top:clamp(24px,3vw,36px)}
.pd2-card{display:flex;align-items:flex-start;gap:16px;padding:16px 18px;border-radius:20px;background:rgba(255,255,255,.075);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 16px 30px -24px rgba(3,8,20,.8)}
.pd2-card .pd2-emoji{width:52px;height:52px;flex:none;filter:drop-shadow(0 10px 12px rgba(3,8,20,.4));transition:transform .5s var(--ease-out)}
.lg-sec .pd2-card h3{margin:2px 0 4px;font-family:var(--display);font-weight:600;font-size:18px;line-height:1.3;letter-spacing:-.01em;color:#fff}
.lg-sec .pd2-card p{margin:0;font-size:15px;line-height:1.5;color:var(--panel-muted);max-width:none}
.pd2__cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:clamp(22px,2.6vw,32px)}
.lg-sec .pd2-btn,[data-theme=night] .lg-sec .pd2-btn{position:relative;overflow:hidden;height:56px;min-height:56px;padding:0 22px 0 24px;gap:12px;border-radius:18px;background:#fff;color:var(--brand-deep);font-weight:600;font-size:16.5px;box-shadow:0 18px 32px -16px rgba(3,8,20,.75),inset 0 -2px 0 rgba(11,31,82,.08)}
.pd2-btn svg{width:20px;height:20px;transition:transform .35s var(--ease-out)}
.pd2-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(26,79,214,.16) 50%,transparent 65%);transform:translateX(-120%);animation:pd2-shine 5.5s var(--ease-out) 1.6s infinite}
@keyframes pd2-shine{0%,62%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.lg-sec .pd2-btn:focus-visible{outline:2px solid #fff;outline-offset:3px}
.lg-sec ul.pd2__trust{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none;font-size:14px;color:var(--panel-muted)}
.lg-sec ul.pd2__trust>li{display:inline-flex;align-items:center;gap:6px;padding:0;font-size:14px;line-height:1.4}
.lg-sec ul.pd2__trust>li::before{content:none}
.pd2__trust svg{width:16px;height:16px;color:#9FE8C4}
.pd2-phone{position:relative;align-self:center;margin:0;display:grid;justify-items:center;padding:28px 0 4px}
.pd2-phone::before{content:"";position:absolute;inset:6% -4% 12%;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,rgba(140,172,247,.6),transparent);filter:blur(28px)}
.pd2-device{--rx:4deg;--ry:-12deg;position:relative;perspective:1300px}
.pd2-float{animation:pd2-float 7s ease-in-out infinite}
@keyframes pd2-float{50%{transform:translateY(-12px)}}
.pd2-tilt{--phone-w:clamp(236px,21vw,286px);transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .7s var(--ease-out);box-shadow:0 50px 70px -36px rgba(3,8,20,.85),0 0 0 1px rgba(255,255,255,.08)}
.voice-app__screen.pd2-phone .phone__screen img{width:100%;height:100%;object-fit:cover;object-position:top;border:0;border-radius:0}
.pd2-phone figcaption{margin-top:18px;font-size:12px;color:var(--panel-muted);text-align:center}
.lg-sec .pd2-chip{position:absolute;z-index:2;margin:0;display:grid;gap:3px;padding:12px 16px;border-radius:18px;color:#0F2237;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 22px 36px -18px rgba(3,8,20,.7),inset 0 0 0 1px rgba(255,255,255,.7);animation:pd2-float 6s ease-in-out -2s infinite;white-space:nowrap}
.pd2-chip b{font-family:var(--display);font-weight:600;font-size:28px;line-height:1;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.pd2-chip b span{font-weight:400;font-size:18px;color:#4E6274}
.lg-sec .pd2-chip small{font-size:12.5px;line-height:1.3;color:#4E6274}
.pd2-chip--a{left:-30%;top:60%}
.pd2-chip--b{right:-22%;top:9%;display:flex!important;align-items:center;gap:10px;animation-delay:-4s!important}
.pd2-chip--b b{color:#1A4FD6}
.pd2-chip--b .pd2-emoji{width:34px;height:34px;filter:drop-shadow(0 6px 8px rgba(15,34,55,.25))}
.pd2-chip--b>span{display:grid;gap:2px}
[data-theme=night] .lg-sec .pd2-chip{color:#EAF0F5;background:rgba(14,28,48,.86);box-shadow:0 22px 36px -18px rgba(0,0,0,.8),inset 0 0 0 1px rgba(175,198,255,.2)}
[data-theme=night] .pd2-chip b span,[data-theme=night] .lg-sec .pd2-chip small{color:#A6B7C6}
[data-theme=night] .pd2-chip--b b{color:#8CACF7}
/* staggered reveal (armed by script, so no-JS shows everything) */
.pd2.pd2-armed .pd2-rv{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease-out) var(--d,0ms),transform .8s var(--ease-out) var(--d,0ms)}
.pd2.pd2-armed .pd2-phone.pd2-rv{transform:translateY(40px) scale(.96)}
.pd2.pd2-armed .pd2-chip{opacity:0;scale:.85;transition:opacity .5s var(--ease-out),scale .6s var(--ease-out)}
.pd2.pd2-armed.is-in .pd2-rv{opacity:1;transform:none}
.pd2.pd2-armed.is-in .pd2-chip{opacity:1;scale:1}
.pd2.is-in .pd2-chip--a{transition-delay:.7s}.pd2.is-in .pd2-chip--b{transition-delay:.9s}
@media(hover:hover) and (pointer:fine){
  .pd2-card{transition:transform .35s var(--ease-out),background-color .35s var(--ease-out),opacity .7s var(--ease-out) var(--d,0ms)}
  .pd2.is-in .pd2-card:hover{transform:translateY(-3px);background:rgba(255,255,255,.12)}
  .pd2-card:hover .pd2-emoji{transform:translateY(-4px) rotate(-7deg) scale(1.05)}
  .pd2-btn:hover svg{transform:translateX(4px)}
  .lg-sec .pd2-btn:hover{box-shadow:0 26px 40px -18px rgba(3,8,20,.85)}
}
@media(max-width:900px){
  .pd2__grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "phone" "feats" "cta"}
  .pd2-phone{padding:30px 0 0;margin-top:8px}
  .pd2-tilt{--phone-w:224px}
  .pd2-device{--ry:-8deg}
}
@media(max-width:560px){
  .lg-sec.voice-app.pd2{padding:28px 20px 30px;margin:36px 0}
  .pd2-tilt{--phone-w:200px}
  .pd2-chip--a{left:-20%;top:60%}.pd2-chip--b{right:-17%;top:6%}
  .lg-sec .pd2-chip{padding:10px 12px;border-radius:15px}
  .pd2-chip b{font-size:23px}.pd2-chip b span{font-size:15px}.lg-sec .pd2-chip small{font-size:11.5px}
  .pd2-chip--b .pd2-emoji{width:28px;height:28px}
  .pd2-card{padding:14px;gap:12px}.pd2-card .pd2-emoji{width:44px;height:44px}
  .lg-sec .pd2-card h3{font-size:17px}
  .lg-sec .pd2-btn{width:100%;justify-content:center}
  .pd2-plane{display:none}
}
@media(prefers-reduced-motion:reduce){
  .pd2-route,.pd2-float,.lg-sec .pd2-chip,.pd2-btn::after{animation:none!important}
  .pd2-plane{display:none}
  .pd2.pd2-armed .pd2-rv,.pd2.pd2-armed .pd2-chip{opacity:1!important;transform:none!important;scale:1!important}
}

/* Pages whose feature block has one-sentence items (SPT, Snowbird): bold lead-in instead of an h3 */
.pd2-card--plain{align-items:center}
.lg-sec .pd2-card--plain p{font-size:15.5px;color:var(--panel-muted)}
.pd2-card--plain p strong{color:#fff;font-weight:600}
/* Chips whose value is a date or a phrase rather than a short number */
.pd2-chip--long b{font-size:23px}
.pd2-chip--long b span{font-size:16px}
.lg-sec .pd2-chip--long small{white-space:normal;max-width:12.5em}
/* SPT / Snowbird: the section sits in the narrow column next to the "On this page" list (~660 px at 1440),
   so it switches to the one-column layout by its own width, not the viewport's */
.pd2--cq{container-type:inline-size}
@container (min-width:520px) and (max-width:880px){
  .pd2__grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "phone" "feats" "cta"}
  .pd2-phone{padding:30px 0 0;margin-top:8px}
  .pd2-tilt{--phone-w:224px}
  .pd2-device{--ry:-8deg}
}
@media(max-width:560px){.pd2-chip--long b{font-size:18px}.pd2-chip--long b span{font-size:13px}}
.tl-hero.lg-hero{padding:clamp(28px,3.4vw,48px) clamp(22px,4.4vw,60px) clamp(24px,3vw,40px)}
.tl-hero.lg-hero h1{font-size:clamp(32px,3.5vw,52px);line-height:1.06;max-width:22ch}
.tl-hero .tl-flag{width:clamp(64px,7vw,104px)!important;height:auto!important}
.tl-hero .lg-hero__body{margin-top:clamp(12px,1.4vw,18px);gap:10px}
.tl-hero .lg-hero__body p{font-size:clamp(15.5px,1.15vw,17.5px)}
.tl-hero .eyebrow{margin-bottom:10px}
.hero-go-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:6px}
.hero-go-row .lg-meta{margin:0}
.lg-hero .lg-hero__body a.hero-go,.hero-go{color:#0B1F52;text-decoration:none;display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 20px 0 22px;border-radius:14px;background:#fff;color:#0B1F52;font-weight:600;font-size:16px;text-decoration:none;box-shadow:0 14px 28px -14px rgba(3,8,20,.65);transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s cubic-bezier(.22,1,.36,1)}
.hero-go svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){.hero-go:hover{transform:translateY(-2px);box-shadow:0 20px 34px -16px rgba(3,8,20,.7)}.hero-go:hover svg{transform:translateY(3px)}}
.hero-go:focus-visible{outline:2px solid #fff;outline-offset:3px}
#count{scroll-margin-top:96px}
#count.is-arrived{animation:hero-arrive 1.1s cubic-bezier(.22,1,.36,1)}
@keyframes hero-arrive{0%{filter:drop-shadow(0 0 0 rgba(42,99,214,0))}35%{filter:drop-shadow(0 0 28px rgba(42,99,214,.35))}100%{filter:drop-shadow(0 0 0 rgba(42,99,214,0))}}
@media(max-width:640px){.hero-go{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.hero-go,.hero-go svg{transition:none}#count.is-arrived{animation:none}}
.counter-top .ct-lead{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}
.counter-top .ct-lead .eyebrow{margin:0}
#result .counter-top .tl-example-tag{position:static;display:inline-flex;align-items:center;height:22px;padding:0 9px;margin:0;border:0;border-radius:999px;background:rgba(255,255,255,.12);color:var(--panel-accent,#AFC6FF);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;box-shadow:none}
#result .counter-top .tl-example-tag[hidden]{display:none}
