
/* =========================================================
   TimesPack Homepage v3 - Reference Match
   Fresh isolated homepage matching the approved reference.
   ========================================================= */

.tp-home-v3{

  --p:#6d3df2;

  --p2:#5130c9;

  --c:#34c7d8;

  --ink:#14162a;

  --muted:#687087;

  --line:#e8e5f4;

  width:100%;

  min-height:100vh;

  overflow:hidden;

  color:var(--ink);

  background:
    radial-gradient(circle at 15% 20%,rgba(109,61,242,.07),transparent 30%),
    radial-gradient(circle at 87% 24%,rgba(52,199,216,.08),transparent 28%),
    linear-gradient(180deg,#fbfbff 0%,#f7f8ff 55%,#fff 100%);

}

.tp-home-v3 *{
box-sizing:border-box}


.tp3-hero{

  width:100%;

  max-width:1440px;

  margin:0 auto;

  min-height:700px;

  padding:76px 72px 42px;

  display:grid;

  grid-template-columns:minmax(0,1fr) minmax(500px,.95fr);

  gap:70px;

  align-items:center;

}


.tp3-eyebrow{

  display:inline-block;

  color:var(--p);

  font-size:13px;

  font-weight:900;

  letter-spacing:2.3px;

  margin-bottom:24px;

}

.tp3-copy h1{

  margin:0;

  font-size:clamp(58px,6.2vw,92px);

  line-height:.98;

  letter-spacing:-4.5px;

  color:var(--ink);

}

.tp3-copy h1 span{

  background:linear-gradient(95deg,#6a35f3 0%,#3f8be6 55%,#27c7d5 100%);

  -webkit-background-clip:text;

  background-clip:text;

  color:transparent;

}

.tp3-copy h2{

  margin:22px 0 0;

  font-size:clamp(25px,2.4vw,34px);

  line-height:1.15;

  letter-spacing:-.8px;

  color:#3a3d55;

}

.tp3-desc{

  max-width:610px;

  margin:28px 0 34px;

  color:var(--muted);

  font-size:18px;

  line-height:1.75;

}

.tp3-actions{
display:flex;
gap:16px;
flex-wrap:wrap}

.tp3-btn{

  min-height:58px;

  padding:0 30px;

  border-radius:17px;

  display:inline-flex;

  align-items:center;

  justify-content:center;

  gap:10px;

  font-size:17px;

  font-weight:900;

  text-decoration:none;

  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;

}

.tp3-btn b{
font-size:23px;
line-height:1}

.tp3-primary{

  color:#fff;

  background:linear-gradient(135deg,#6f3ef2,#4c25c8);

  box-shadow:0 17px 34px rgba(105,59,235,.25);

}

.tp3-secondary{

  color:#5e35d0;

  background:#fff;

  border:1px solid #ded6f4;

  box-shadow:0 13px 28px rgba(65,43,112,.07);

}

.tp3-trust{

  margin-top:34px;

  display:flex;

  flex-wrap:wrap;

  gap:16px 27px;

  color:#555a70;

  font-size:14px;

  font-weight:800;

}

.tp3-trust span::first-letter{
color:var(--p)}


.tp3-visual{

  position:relative;

  min-height:575px;

}

.tp3-glow{

  position:absolute;

  border-radius:50%;

  filter:blur(8px);

  opacity:.6;

}

.tp3-glow-a{

  width:430px;
height:430px;

  right:35px;
top:80px;

  background:linear-gradient(145deg,rgba(105,61,242,.15),rgba(53,199,216,.12));

}

.tp3-glow-b{

  width:70px;
height:70px;

  right:-15px;
bottom:90px;

  background:rgba(240,61,230,.18);

  filter:blur(18px);

}


.tp3-phone{

  position:absolute;

  top:24px;

  left:50%;

  width:275px;

  height:525px;

  transform:translateX(-45%) rotate(5deg);

  border:10px solid #191b2d;

  border-radius:44px;

  background:#fff;

  box-shadow:0 34px 70px rgba(27,25,59,.22);

  overflow:hidden;

  animation:tp3-phone 7s ease-in-out infinite;

}

.tp3-notch{

  width:110px;
height:25px;

  margin:0 auto;

  border-radius:0 0 15px 15px;

  background:#191b2d;

}

.tp3-map{

  position:absolute;

  inset:42px 10px 112px;

  overflow:hidden;

  border-radius:28px;

  background:
    linear-gradient(28deg,transparent 46%,rgba(102,98,220,.08) 47%,rgba(102,98,220,.08) 52%,transparent 53%),
    linear-gradient(-30deg,transparent 46%,rgba(52,199,216,.10) 47%,rgba(52,199,216,.10) 51%,transparent 52%),
    #f0f4f6;

}

.tp3-road{
position:absolute;
background:rgba(255,255,255,.72);
border-radius:999px}

.road-a{
width:260px;
height:22px;
left:-40px;
top:190px;
transform:rotate(-27deg)}

.road-b{
width:230px;
height:18px;
left:45px;
top:110px;
transform:rotate(32deg)}

.tp3-route{

  position:absolute;

  width:130px;
height:170px;

  left:72px;
top:70px;

  border:5px dashed #7041ef;

  border-left-color:transparent;

  border-bottom-color:transparent;

  border-radius:55%;

  transform:rotate(18deg);

}

.tp3-dot{

  position:absolute;

  width:15px;
height:15px;

  border-radius:50%;

  left:73px;
top:76px;

  background:#7041ef;

  box-shadow:0 0 0 6px #fff;

}

.tp3-pin{

  position:absolute;

  right:52px;
bottom:72px;

  font-size:26px;

  color:#3e90ec;

}

.tp3-fare{

  position:absolute;

  left:17px;
right:17px;
bottom:18px;

  padding:18px 20px;

  border-radius:20px;

  display:flex;

  justify-content:space-between;

  align-items:center;

  background:linear-gradient(135deg,#f4f1ff,#eefcfd);

}

.tp3-fare strong{
font-size:18px}

.tp3-fare b{
color:#6d3df2;
font-size:18px}


.tp3-feature{

  position:absolute;

  display:flex;

  align-items:center;

  gap:15px;

  padding:20px 22px;

  min-width:260px;

  max-width:310px;

  border-radius:22px;

  background:rgba(255,255,255,.95);

  border:1px solid rgba(109,61,242,.08);

  box-shadow:0 20px 45px rgba(37,30,75,.12);

  backdrop-filter:blur(12px);

  animation:tp3-tp-card 6s ease-in-out infinite;

}

.tp3-feature-icon{
font-size:30px;
flex:0 0 auto}

.tp3-feature strong,.tp3-feature small{
display:block}

.tp3-feature strong{
font-size:18px}

.tp3-feature small{
margin-top:5px;
color:var(--muted);
font-size:14px;
line-height:1.45}

.tp3-safe{
right:-10px;
top:95px}

.tp3-fast{
left:-30px;
top:315px;
animation-delay:-2s}

.tp3-price{
right:-25px;
bottom:20px;
animation-delay:-4s}


.tp3-strip{

  width:min(1340px,calc(100% - 64px));

  margin:0 auto 48px;

  padding:24px 34px;

  display:grid;

  grid-template-columns:repeat(4,1fr);

  border-radius:22px;

  background:linear-gradient(105deg,#7450f2,#8e5af4);

  box-shadow:0 20px 42px rgba(95,61,214,.2);

  color:#fff;

}

.tp3-strip-item{

  display:flex;

  gap:15px;

  align-items:center;

  padding:2px 25px;

  border-right:1px solid rgba(255,255,255,.28);

  border-radius:14px;

  cursor:pointer;

  transition:
    background .2s ease,
    transform .2s ease,
    box-shadow .2s ease;

}

.tp3-strip-item:hover{

  background:rgba(255,255,255,.14);

  transform:translateY(-2px);

  box-shadow:0 8px 22px rgba(47,25,126,.16);

}

.tp3-strip-item:active{

  background:rgba(255,255,255,.22);

  transform:translateY(0) scale(.985);

}

.tp3-strip-item:last-child{
border-right:0}

.tp3-strip-item>span{
font-size:31px}

.tp3-strip-item b,.tp3-strip-item small{
display:block}

.tp3-strip-item b{
font-size:16px}

.tp3-strip-item small{
margin-top:5px;
opacity:.88;
font-size:13px}


.tp3-download{

  width:min(1340px,calc(100% - 64px));

  margin:0 auto 34px;

  padding:22px 28px;

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:26px;

  color:#fff;

  border:1px solid rgba(255,255,255,.06);

  border-radius:22px;

  background:linear-gradient(110deg,#242735 0%,#343847 100%);

  box-shadow:0 16px 34px rgba(30,31,48,.16);

}

.tp3-download-copy{
max-width:460px}

.tp3-download-kicker{

  display:block;

  margin-bottom:5px;

  color:#bdaeff;

  font-size:11px;

  font-weight:900;

  letter-spacing:1.8px;

}

.tp3-download h2{

  margin:0;

  color:#fff;

  font-size:clamp(21px,2vw,28px);

  line-height:1.15;

}

.tp3-download p{

  margin:7px 0 0;

  color:#cfd2dd;

  font-size:14px;

  line-height:1.55;

}

.tp3-store-list{

  display:flex;

  align-items:center;

  justify-content:flex-end;

  gap:14px;

  flex-wrap:wrap;

}

.tp3-store-badge{

  position:relative;

  min-width:184px;

  height:54px;

  padding:6px 13px;

  display:flex;

  align-items:center;

  gap:10px;

  color:#fff;

  text-decoration:none;

  border:1px solid #8e929d;

  border-radius:9px;

  background:#050505;

  box-shadow:0 8px 18px rgba(0,0,0,.18);

  transition:transform .2s ease,border-color .2s ease;

}

.tp3-store-badge small,.tp3-store-badge strong{
display:block}

.tp3-store-badge small{

  font-size:9px;

  line-height:1.1;

  letter-spacing:.15px;

}

.tp3-store-badge strong{

  margin-top:1px;

  font-size:19px;

  line-height:1.05;

  letter-spacing:-.35px;

}

.tp3-store-icon{

  width:33px;

  height:33px;

  flex:0 0 33px;

  display:grid;

  place-items:center;

}

.tp3-apple{

  position:relative;

  color:#fff;

  font-size:32px;

  line-height:1;

  transform:scaleX(.86);

}

.tp3-apple::after{

  content:"";

  position:absolute;

  width:9px;

  height:5px;

  left:17px;

  top:0;

  border-radius:100% 0;

  background:#fff;

  transform:rotate(-35deg);

}

.tp3-play{

  width:0;

  height:0;

  margin:0 5px;

  border-top:16px solid transparent;

  border-bottom:16px solid transparent;

  border-left:27px solid #54d26f;

  filter:drop-shadow(5px 0 0 #ffd84a);

}

.tp3-huawei{

  border-radius:8px;

  background:#d81d35;

  color:#fff;

  font-size:19px;

  font-weight:900;

}

.tp3-store-badge em{

  position:absolute;

  top:-9px;

  right:8px;

  padding:3px 7px;

  border-radius:999px;

  color:#fff;

  background:#6d3df2;

  font-size:8px;

  font-style:normal;

  font-weight:900;

  letter-spacing:.3px;

  text-transform:uppercase;

}

.tp3-store-badge[aria-disabled="true"]{

  cursor:default;

  pointer-events:none;

}


.tp3-reveal{
opacity:0;
transform:translateY(18px);
transition:opacity .65s ease,transform .65s ease}

.tp3-reveal.show{
opacity:1;
transform:none}


@keyframes tp3-phone{

  0%,100%{
transform:translateX(-45%) translateY(0) rotate(5deg)}

  50%{
transform:translateX(-45%) translateY(-10px) rotate(3deg)}

}

@keyframes tp3-tp-card{

  0%,100%{
transform:translateY(0)}

  50%{
transform:translateY(-7px)}

}

@media(hover:hover){

  .tp3-btn:hover{
transform:translateY(-3px);
filter:brightness(1.03)}

  .tp3-store-badge:not([aria-disabled="true"]):hover{

    transform:translateY(-3px);

    border-color:#fff;

  }

}


@media(max-width:1050px){

  .tp3-hero{

    grid-template-columns:1fr;

    gap:35px;

    padding:55px 28px 28px;

  }

  .tp3-copy{
text-align:center}

  .tp3-desc{
margin-left:auto;
margin-right:auto}

  .tp3-actions,.tp3-trust{
justify-content:center}

  .tp3-visual{
min-height:530px}

  .tp3-strip{
grid-template-columns:repeat(2,1fr)}

  .tp3-strip-item:nth-child(2){
border-right:0}

  .tp3-strip-item{
padding:16px 24px}

  .tp3-download{

    padding:24px 28px;

    flex-direction:column;

    text-align:center;

  }

  .tp3-store-list{
justify-content:center}

}

@media(max-width:650px){

  .tp3-hero{
padding:36px 18px 22px}

  .tp3-copy h1{
font-size:48px;
letter-spacing:-2.5px}

  .tp3-copy h2{
font-size:21px}

  .tp3-desc{
font-size:15px;
margin-top:20px}

  .tp3-actions{
display:grid;
grid-template-columns:1fr}

  .tp3-btn{
width:100%}

  .tp3-trust{
gap:10px 14px;
font-size:12px}

  .tp3-visual{
min-height:430px}

  .tp3-phone{
width:210px;
height:400px}

  .tp3-feature{
min-width:180px;
max-width:205px;
padding:13px 14px}

  .tp3-feature strong{
font-size:14px}

  .tp3-feature small{
display:none}

  .tp3-safe{
right:-10px;
top:60px}

  .tp3-fast{
left:-5px;
top:220px}

  .tp3-price{
right:-5px;
bottom:0}

  .tp3-strip{

    width:calc(100% - 28px);

    grid-template-columns:1fr;

    padding:14px 18px;

  }

  .tp3-strip-item{
border-right:0;
border-bottom:1px solid rgba(255,255,255,.22)}

  .tp3-strip-item:last-child{
border-bottom:0}

  .tp3-download{

    width:calc(100% - 28px);

    margin-bottom:24px;

    padding:24px 18px 26px;

  }

  .tp3-store-list{

    width:100%;

    display:grid;

    grid-template-columns:1fr;

  }

  .tp3-store-badge{

    width:min(100%,250px);

    margin:0 auto;

  }

}

@media(prefers-reduced-motion:reduce){

  .tp-home-v3 *, .tp-home-v3 *::before, .tp-home-v3 *::after{

    animation-duration:.001ms!important;

    animation-iteration-count:1!important;

    transition-duration:.001ms!important;

  }

}



/* TimesPack Homepage v3.1 Layout Fix */
.tp-home-v3{

  width:100vw !important;

  max-width:none !important;

  margin-left:calc(50% - 50vw) !important;

  margin-right:calc(50% - 50vw) !important;

}

.tp-home-v3 .tp3-hero{

  width:min(100%,1600px) !important;

  max-width:1600px !important;

  margin:0 auto !important;

  padding:72px 80px 38px !important;

  grid-template-columns:minmax(610px,1.03fr) minmax(560px,.97fr) !important;

  gap:64px !important;

  min-height:690px !important;

}

.tp-home-v3 .tp3-copy{
min-width:0}

.tp-home-v3 .tp3-copy h1{

  font-size:clamp(64px,5.25vw,88px) !important;

  line-height:.98 !important;

  letter-spacing:-4px !important;

}

.tp-home-v3 .tp3-line{
display:block;
white-space:nowrap}

.tp-home-v3 .tp3-line-main{
color:var(--ink)}

.tp-home-v3 .tp3-line-gradient{

  background:linear-gradient(95deg,#6a35f3 0%,#3f8be6 55%,#27c7d5 100%);

  -webkit-background-clip:text;

  background-clip:text;

  color:transparent;

}

.tp-home-v3 .tp3-copy h2{

  max-width:none !important;

  white-space:nowrap;

  font-size:clamp(24px,2vw,33px) !important;

}

.tp-home-v3 .tp3-desc{
max-width:620px !important}

.tp-home-v3 .tp3-visual{
min-width:560px;
min-height:560px !important}

.tp-home-v3 .tp3-phone{
left:51% !important;
width:285px !important;
height:535px !important}

.tp-home-v3 .tp3-safe{
right:0 !important;
top:90px !important}

.tp-home-v3 .tp3-fast{
left:-18px !important;
top:305px !important}

.tp-home-v3 .tp3-price{
right:-8px !important;
bottom:18px !important}

.tp-home-v3 .tp3-strip{

  width:min(1380px,calc(100% - 80px)) !important;

  margin:4px auto 48px !important;

}

@media(max-width:1280px) and (min-width:1051px){

  .tp-home-v3 .tp3-hero{

    padding-left:46px !important;

    padding-right:46px !important;

    grid-template-columns:minmax(530px,1fr) minmax(470px,.9fr) !important;

    gap:38px !important;

  }

  .tp-home-v3 .tp3-copy h1{
font-size:clamp(60px,5.1vw,76px) !important}

  .tp-home-v3 .tp3-visual{
min-width:470px}

}

@media(max-width:1050px){

  .tp-home-v3 .tp3-hero{

    width:100% !important;

    padding:50px 24px 28px !important;

    grid-template-columns:1fr !important;

    gap:32px !important;

  }

  .tp-home-v3 .tp3-copy h1{
font-size:clamp(50px,9vw,72px) !important}

  .tp-home-v3 .tp3-copy h2{
white-space:normal}

  .tp-home-v3 .tp3-visual{
min-width:0}

}

@media(max-width:650px){

  .tp-home-v3 .tp3-hero{
padding-left:18px !important;
padding-right:18px !important}

  .tp-home-v3 .tp3-copy h1{
font-size:clamp(42px,12vw,54px) !important;
letter-spacing:-2.5px !important}

  .tp-home-v3 .tp3-line{
white-space:normal}

}




/* TimesPack Homepage v3.2 - Horizontal Scroll Fix
   Removes bottom left/right scrollbar caused by 100vw + breakout margins.
*/

html, body {

    overflow-x: hidden !important;

}


.tp-home-v3 {

    width: 100% !important;

    max-width: 100% !important;

    margin-left: 0 !important;

    margin-right: 0 !important;

    overflow-x: clip !important;

}


/* Prevent wide decorative/positioned elements from extending page width */
.tp-home-v3 .tp3-hero,
.tp-home-v3 .tp3-visual,
.tp-home-v3 .tp3-strip {

    max-width: 100% !important;

}


.tp-home-v3 .tp3-visual {

    overflow: visible;

}


/* Floating cards may visually hang outside their local column,
   but must not create document-level horizontal scrolling. */
body {

    max-width: 100%;

}


@supports not (overflow: clip) {

    .tp-home-v3 {

        overflow-x: hidden !important;

    }

}




/* =========================================================
   TimesPack Homepage v3.3 - Responsive Auto Width
   Desktop/tablet/mobile use natural width without horizontal clipping.
   ========================================================= */

html, body {

    width: 100%;

    max-width: 100%;

    overflow-x: hidden !important;

}


.tp-home-v3 {

    width: 100% !important;

    max-width: 100% !important;

    margin: 0 !important;

    overflow: hidden !important;

}


/* Desktop */
.tp-home-v3 .tp3-hero {

    width: min(100%, 1480px) !important;

    max-width: 1480px !important;

    margin: 0 auto !important;

    padding: 68px clamp(28px, 4vw, 70px) 38px !important;


    display: grid !important;

    grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr) !important;

    gap: clamp(30px, 4vw, 64px) !important;


    align-items: center !important;

    overflow: visible !important;

}


.tp-home-v3 .tp3-copy {

    min-width: 0 !important;

    width: 100% !important;

}


.tp-home-v3 .tp3-copy h1 {

    font-size: clamp(54px, 5.2vw, 86px) !important;

    line-height: .98 !important;

}


.tp-home-v3 .tp3-line {

    display: block;

    white-space: nowrap;

}


.tp-home-v3 .tp3-copy h2 {

    white-space: normal !important;

    font-size: clamp(23px, 2vw, 33px) !important;

}


.tp-home-v3 .tp3-desc {

    width: 100%;

    max-width: 650px !important;

}


.tp-home-v3 .tp3-visual {

    width: 100% !important;

    min-width: 0 !important;

    max-width: 620px !important;

    min-height: 555px !important;

    margin: 0 auto;

    position: relative;

}


/* Keep all right-side visual elements INSIDE their own column */
.tp-home-v3 .tp3-phone {

    left: 50% !important;

    width: clamp(235px, 20vw, 285px) !important;

    height: clamp(455px, 38vw, 535px) !important;

}


.tp-home-v3 .tp3-safe {

    right: 0 !important;

    top: 92px !important;

}


.tp-home-v3 .tp3-fast {

    left: 0 !important;

    top: 305px !important;

}


.tp-home-v3 .tp3-price {

    right: 0 !important;

    bottom: 15px !important;

}


.tp-home-v3 .tp3-feature {

    min-width: 0 !important;

    width: min(285px, 48%) !important;

    max-width: 285px !important;

}


/* Bottom strip follows viewport width naturally */
.tp-home-v3 .tp3-strip {

    width: calc(100% - clamp(28px, 6vw, 80px)) !important;

    max-width: 1380px !important;

    margin: 8px auto 48px !important;

}


/* Smaller desktop / laptop */
@media (max-width: 1180px) and (min-width: 901px) {

    .tp-home-v3 .tp3-hero {

        grid-template-columns: minmax(0, 1fr) minmax(390px, .82fr) !important;

        padding-left: 34px !important;

        padding-right: 34px !important;

        gap: 28px !important;

    }


    .tp-home-v3 .tp3-copy h1 {

        font-size: clamp(52px, 5.4vw, 70px) !important;

    }


    .tp-home-v3 .tp3-feature {

        width: min(250px, 49%) !important;

        padding: 16px 17px !important;

    }


    .tp-home-v3 .tp3-feature small {

        font-size: 12px !important;

    }

}


/* Tablet: stack cleanly */
@media (max-width: 900px) {

    .tp-home-v3 .tp3-hero {

        width: 100% !important;

        grid-template-columns: 1fr !important;

        padding: 44px 24px 28px !important;

        gap: 34px !important;

    }


    .tp-home-v3 .tp3-copy {

        text-align: center;

    }


    .tp-home-v3 .tp3-copy h1 {

        font-size: clamp(48px, 9vw, 70px) !important;

    }


    .tp-home-v3 .tp3-copy h2 {

        max-width: 700px;

        margin-left: auto;

        margin-right: auto;

    }


    .tp-home-v3 .tp3-desc {

        max-width: 650px !important;

        margin-left: auto;

        margin-right: auto;

    }


    .tp-home-v3 .tp3-actions,
    .tp-home-v3 .tp3-trust {

        justify-content: center;

    }


    .tp-home-v3 .tp3-visual {

        width: min(100%, 620px) !important;

        min-height: 510px !important;

    }


    .tp-home-v3 .tp3-feature {

        width: min(260px, 46%) !important;

    }


    .tp-home-v3 .tp3-strip {

        grid-template-columns: repeat(2, 1fr) !important;

    }

}


/* Phone */
@media (max-width: 600px) {

    .tp-home-v3 .tp3-hero {

        padding: 32px 16px 22px !important;

    }


    .tp-home-v3 .tp3-copy h1 {

        font-size: clamp(40px, 12vw, 52px) !important;

        letter-spacing: -2.3px !important;

    }


    .tp-home-v3 .tp3-line {

        white-space: normal !important;

    }


    .tp-home-v3 .tp3-copy h2 {

        font-size: 20px !important;

    }


    .tp-home-v3 .tp3-desc {

        font-size: 15px !important;

    }


    .tp-home-v3 .tp3-actions {

        display: grid !important;

        grid-template-columns: 1fr !important;

    }


    .tp-home-v3 .tp3-btn {

        width: 100% !important;

    }


    .tp-home-v3 .tp3-visual {

        min-height: 415px !important;

    }


    .tp-home-v3 .tp3-phone {

        width: 205px !important;

        height: 390px !important;

    }


    .tp-home-v3 .tp3-feature {

        width: 185px !important;

        max-width: 185px !important;

        padding: 12px 13px !important;

    }


    .tp-home-v3 .tp3-feature strong {

        font-size: 13px !important;

    }


    .tp-home-v3 .tp3-feature small {

        display: none !important;

    }


    .tp-home-v3 .tp3-safe {

        right: 0 !important;

        top: 55px !important;

    }


    .tp-home-v3 .tp3-fast {

        left: 0 !important;

        top: 215px !important;

    }


    .tp-home-v3 .tp3-price {

        right: 0 !important;

        bottom: 0 !important;

    }


    .tp-home-v3 .tp3-strip {

        width: calc(100% - 24px) !important;

        grid-template-columns: 1fr !important;

        padding: 12px 16px !important;

    }

}

/* ========================================================= */

/* TimesPack landing spacing touch-up v4 */
.tp-home-v3 .tp3-strip {

    margin-bottom: 18px !important;

}


.tp-home-v3 .tp3-download {

    margin-top: 0 !important;

    margin-bottom: 12px !important;

}


@media (max-width: 650px) {

    .tp-home-v3 .tp3-strip {

        margin-bottom: 14px !important;

    }


    .tp-home-v3 .tp3-download {

        margin-bottom: 10px !important;

    }

}


/* TimesPack landing bar alignment and compact height v5 */
.tp-home-v3 .tp3-strip,
.tp-home-v3 .tp3-download {

    width: calc(100% - clamp(28px, 6vw, 80px)) !important;

    max-width: 1380px !important;

}


.tp-home-v3 .tp3-download {

    padding: 14px 28px !important;

    min-height: 0 !important;

}


.tp-home-v3 .tp3-download-kicker {

    margin-bottom: 3px;

}


.tp-home-v3 .tp3-download p {

    margin-top: 4px;

    line-height: 1.4;

}


@media (max-width: 900px) {

    .tp-home-v3 .tp3-download {

        padding: 16px 22px !important;

    }

}


@media (max-width: 650px) {

    .tp-home-v3 .tp3-strip,
    .tp-home-v3 .tp3-download {

        width: calc(100% - 24px) !important;

    }


    .tp-home-v3 .tp3-download {

        padding: 18px 16px 20px !important;

    }

}


/* TimesPack Premium Purple marketplace finish */
.tp-food-public-main{
  background:
    radial-gradient(circle at 8% 0%, rgba(117,68,220,.13), transparent 28%),
    radial-gradient(circle at 92% 8%, rgba(91,43,191,.10), transparent 24%),
    #eee7ff!important;
}
.tp-food-subnav{
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(91,43,191,.12);
  box-shadow:0 3px 18px rgba(50,21,111,.07);
}
.tp-food-hero{
  background:
    radial-gradient(circle at 85% 20%, rgba(154,115,239,.30), transparent 30%),
    linear-gradient(118deg,#32156f 0%,#4b1fa5 48%,#7544dc 100%);
  box-shadow:0 12px 32px rgba(50,21,111,.18);
}
.tp-food-search{
  box-shadow:0 8px 28px rgba(50,21,111,.14);
}
.tp-food-search button{
  background:linear-gradient(135deg,#5b2bbf,#7544dc);
  box-shadow:0 6px 16px rgba(91,43,191,.25);
}
.tp-food-filterbar,
.tp-food-benefits{
  border:1px solid rgba(91,43,191,.10);
  box-shadow:0 8px 24px rgba(50,21,111,.07);
}
.tp-food-dish-card,
.tp-food-restaurant-card,
.tp-food-empty{
  border:1px solid rgba(91,43,191,.08);
  box-shadow:0 8px 24px rgba(50,21,111,.07);
}
.tp-food-dish-card:hover,
.tp-food-restaurant-card:hover{
  border-color:rgba(91,43,191,.20);
  box-shadow:0 12px 30px rgba(50,21,111,.12);
  transform:translateY(-2px);
}
.tp-food-location span,
.tp-food-section-head>div>span,
.tp-food-dish-copy span,
.tp-food-meta span:first-child{
  color:#5b2bbf;
}
.tp-food-logo-placeholder{
  background:linear-gradient(135deg,#e5d9ff,#f7f4ff);
  border:1px solid rgba(91,43,191,.10);
}
