/** Shopify CDN: Minification failed

Line 17:0 Unexpected "<"
Line 20:14 Expected identifier but found "{"
Line 20:15 Unexpected "{"
Line 20:24 Expected ":"
Line 21:11 Expected identifier but found "{"
Line 21:12 Unexpected "{"
Line 21:21 Expected ":"
Line 4374:0 Unexpected "<"
Line 4423:0 Unexpected "<"
Line 4509:0 Unexpected "<"
... and 18 more hidden warnings

**/
/* Tony & Teena — shared styles for the split product-page sections. */
<style>

.tt-product{
  --tt-accent:{{ section.settings.accent_color }};
  --tt-ink:{{ section.settings.text_color }};
  --tt-soft:#f7f6f4;
  --tt-line:#e9e7e3;
  --tt-muted:#777;
  --tt-radius:18px;
  color:var(--tt-ink);
  font-family:inherit;
  background:#fff;
}

.tt-product *{
  box-sizing:border-box;
}

.tt-product button,
.tt-product input{
  font:inherit;
}

.tt-product a{
  color:inherit;
  text-decoration:none;
}

.tt-shell{
  max-width:1320px;
  margin:auto;
  padding:24px 28px 100px;
}

.tt-breadcrumbs{
  display:flex;
  gap:9px;
  align-items:center;
  font-size:12px;
  color:#8b8b8b;
  margin:4px 0 26px;
}

.tt-breadcrumbs a:hover{
  color:var(--tt-accent);
}

.tt-product-grid{
  display:grid;
  grid-template-columns:minmax(0,60fr) minmax(0,40fr);
  gap:40px;
  align-items:start;
}

/* Keep the product gallery and product information in their own columns.
   The information column is independently scrollable/sticky on desktop,
   matching the intended PDP layout instead of flowing underneath the gallery. */
.tt-product-gallery-column{
  min-width:0;
}

.tt-product-info-column{
  min-width:0;
  position:sticky;
  top:24px;
  max-height:calc(100vh - 48px);
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:8px;
  scrollbar-width:none;
}

.tt-product-info-column::-webkit-scrollbar{
  width:0;
  height:0;
  display:none;
}

.tt-product-info-column::-webkit-scrollbar-track{
  background:transparent;
}

.tt-product-info-column::-webkit-scrollbar-thumb{
  background:#d9d5d2;
  border-radius:999px;
}

.tt-product-info-column > .tt-info:first-child{
  padding-top:0;
}

.tt-gallery{
  position:sticky;
  top:24px;
}

.tt-gallery-main{
  position:relative;
  border-radius:24px;
  overflow:hidden;
  background:#f6f5f3;
  aspect-ratio:1/1.05;
}

.tt-media-slide{
  display:none;
  position:absolute;
  inset:0;
  border:0;
  padding:0;
  background:transparent;
  width:100%;
  height:100%;
  cursor:zoom-in;
}

.tt-media-slide.is-active{
  display:block;
}

.tt-main-img,
.tt-main-video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.tt-main-video{
  object-fit:contain;
  background:#f6f5f3;
}

.tt-zoom-hint{
  position:absolute;
  right:18px;
  bottom:18px;
  background:#fffdf9e8;
  border:1px solid #ffffffaa;
  padding:9px 12px;
  border-radius:999px;
  font-size:11px;
  opacity:0;
  transform:translateY(6px);
  transition:.25s;
}

.tt-media-slide:hover .tt-zoom-hint{
  opacity:1;
  transform:none;
}

.tt-thumbs-wrap{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 34px;
  gap:8px;
  align-items:center;
  margin-top:14px;
}

.tt-thumbs{
  display:flex;
  gap:10px;
  overflow:auto;
  scrollbar-width:none;
}

.tt-thumbs::-webkit-scrollbar{
  display:none;
}

.tt-thumb{
  flex:0 0 82px;
  aspect-ratio:1;
  border:1px solid var(--tt-line);
  border-radius:12px;
  overflow:hidden;
  background:#f7f6f4;
  padding:0;
  cursor:pointer;
  transition:.2s;
}

.tt-thumb.is-active{
  border:2px solid var(--tt-ink);
  transform:translateY(-2px);
}

.tt-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.tt-thumb-arrow{
  border:1px solid var(--tt-line);
  background:#fff;
  border-radius:50%;
  width:32px;
  height:32px;
  cursor:pointer;
  font-size:20px;
  line-height:1;
}

.tt-info{
  padding:10px 0;
}

.tt-eyebrow{
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:10px;
  font-weight:700;
  color:var(--tt-accent);
}

.tt-title-row{
  display:flex;
  gap:18px;
  align-items:flex-start;
}

.tt-title-row h1{
  font-size:clamp(32px,4vw,52px);
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:500;
  margin:10px 0 13px;
  max-width:620px;
}

.tt-wishlist{
  margin-left:auto;
  margin-top:12px;
  width:44px;
  height:44px;
  border:1px solid var(--tt-line);
  background:#fff;
  border-radius:50%;
  font-size:25px;
  cursor:pointer;
  transition:.2s;
}

.tt-wishlist:hover,
.tt-wishlist.is-active{
  background:var(--tt-accent);
  color:#fff;
  border-color:var(--tt-accent);
}

.tt-rating-row{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:#777;
  flex-wrap:wrap;
}

.tt-stars{
  color:#f2ad00;
  letter-spacing:2px;
  font-size:15px;
}

.tt-dot{
  color:#bbb;
}

.tt-price-row{
  display:flex;
  align-items:center;
  gap:12px;
  margin:20px 0 14px;
}

.tt-price{
  font-size:27px;
  font-weight:700;
  letter-spacing:-.02em;
}

.tt-compare{
  text-decoration:line-through;
  color:#999;
  font-size:16px;
}

.tt-save{
  font-size:11px;
  background:#fce9ed;
  color:#b31d35;
  padding:5px 8px;
  border-radius:999px;
  font-weight:700;
}

.tt-save.is-hidden,
.tt-compare.is-hidden{
  display:none;
}

.tt-urgency{
  font-size:12px;
  background:#fff7f5;
  border:1px solid #f4ded8;
  border-radius:10px;
  padding:10px 12px;
  margin-bottom:18px;
}

.tt-pulse{
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--tt-accent);
  margin-right:7px;
  box-shadow:0 0 0 5px #f8dfe4;
  vertical-align:1px;
}

.tt-stock-line{
  font-size:12px;
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 0 11px;
}

.tt-stock-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#32a85a;
}

.tt-stock-dot.tt-out{
  background:#b4b4b4;
}

.tt-form{
  border:1px solid var(--tt-line);
  border-radius:18px;
  padding:14px;
  background:#fff;
  box-shadow:0 14px 40px rgba(30,24,20,.05);
}

.tt-quantity-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:12px;
  font-size:12px;
}

.tt-qty{
  display:flex;
  align-items:center;
  border:1px solid var(--tt-line);
  border-radius:10px;
  overflow:hidden;
}

.tt-qty button{
  border:0;
  background:#fff;
  width:35px;
  height:34px;
  cursor:pointer;
}

.tt-qty input{
  border:0;
  width:38px;
  text-align:center;
  height:34px;
  outline:0;
  -moz-appearance:textfield;
}

.tt-qty input::-webkit-outer-spin-button,
.tt-qty input::-webkit-inner-spin-button{
  -webkit-appearance:none;
}

.tt-add{
  width:100%;
  min-height:54px;
  border:0;
  border-radius:12px;
  background:var(--tt-accent);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:pointer;
  transition:.25s;
  position:relative;
  overflow:hidden;
}

.tt-add:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    110deg,
    transparent 30%,
    #fff5 48%,
    transparent 66%
  );
  transform:translateX(-110%);
  animation:tt-shine 3.5s infinite;
}

.tt-add:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(0,0,0,.12);
}

.tt-add:disabled{
  opacity:.55;
  cursor:not-allowed;
  transform:none;
}

.tt-add-price{
  opacity:.85;
}

.tt-buy-now{
  margin-top:9px;
}

.tt-buy-now .shopify-payment-button__button{
  min-height:50px!important;
  border-radius:12px!important;
}

.tt-buy-now .shopify-payment-button__more-options{
  font-size:10px;
}

.tt-trust-mini{
  display:flex;
  justify-content:space-between;
  gap:7px;
  margin-top:13px;
  color:#686868;
  font-size:10px;
}

.tt-delivery-card{
  display:flex;
  gap:12px;
  padding:15px 0;
  border-bottom:1px solid var(--tt-line);
  margin-top:3px;
}

.tt-delivery-icon{
  width:34px;
  height:34px;
  border-radius:50%;
  background:#f7f3f1;
  display:grid;
  place-items:center;
}

.tt-delivery-card div:last-child{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:12px;
}

.tt-delivery-card span{
  color:#777;
}





/* Premium order progress — reference-matched */
.tt-order-progress{
  width:100%;
  box-sizing:border-box;
  margin:16px 0 0;
  padding:20px 0 18px;
  border-bottom:1px solid var(--tt-line);
}

.tt-order-progress__heading{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin:0 0 22px;
  color:var(--tt-ink);
  text-align:center;
}

.tt-order-progress__heading strong{
  margin:0;
  font-size:18px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:-.02em;
}

.tt-order-progress__fire{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  line-height:1;
}

.tt-order-progress__track{
  position:relative;
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
  gap:0;
}

.tt-order-progress__line{
  position:absolute;
  z-index:0;
  left:16.6667%;
  right:16.6667%;
  top:28px;
  height:3px;
  margin:0;
  padding:0;
  border:0;
  border-radius:999px;
  background:var(--tt-accent) !important;
  opacity:1 !important;
  visibility:visible !important;
}

.tt-order-step{
  position:relative;
  z-index:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

.tt-order-step__icon{
  position:relative;
  z-index:2;
  width:56px;
  height:56px;
  flex:0 0 56px;
  display:grid;
  place-items:center;
  margin:0 0 10px;
  border:0;
  border-radius:50%;
  background:var(--tt-accent) !important;
  color:#fff;
  box-shadow:0 8px 20px rgba(239,70,88,.18);
}

.tt-order-step__icon svg{
  display:block;
  width:27px;
  height:27px;
  margin:0;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.tt-order-step__date{
  display:block;
  margin:0 0 4px;
  color:var(--tt-ink);
  font-size:13px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:-.01em;
  white-space:nowrap;
}

.tt-order-step b{
  display:block;
  margin:0;
  color:var(--tt-ink);
  font-size:13px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:-.01em;
}

.tt-order-step > span{
  display:block;
  margin-top:5px;
  color:#77716e;
  font-size:11px;
  line-height:1.35;
}

@media(min-width:1100px){
  .tt-order-progress{
    padding:20px 4px 19px;
  }

  .tt-order-progress__heading strong{
    font-size:19px;
  }

  .tt-order-progress__line{
    top:29px;
  }

  .tt-order-step__icon{
    width:58px;
    height:58px;
    flex-basis:58px;
  }

  .tt-order-step__date,
  .tt-order-step b{
    font-size:13px;
  }

  .tt-order-step > span{
    font-size:10px;
  }
}

@media(max-width:640px){
  .tt-order-progress{
    margin-top:14px;
    padding:18px 0 16px;
  }

  .tt-order-progress__heading{
    gap:7px;
    margin-bottom:19px;
  }

  .tt-order-progress__heading strong{
    font-size:16px;
  }

  .tt-order-progress__fire{
    font-size:19px;
  }

  .tt-order-progress__line{
    left:16.6667%;
    right:16.6667%;
    top:25px;
    height:2px;
  }

  .tt-order-step__icon{
    width:50px;
    height:50px;
    flex-basis:50px;
    margin-bottom:9px;
  }

  .tt-order-step__icon svg{
    width:23px;
    height:23px;
  }

  .tt-order-step__date,
  .tt-order-step b{
    font-size:11px;
  }

  .tt-order-step > span{
    margin-top:4px;
    font-size:8px;
  }
}

@media(max-width:390px){
  .tt-order-progress__heading strong{
    font-size:14px;
  }

  .tt-order-progress__fire{
    font-size:17px;
  }

  .tt-order-step__icon{
    width:46px;
    height:46px;
    flex-basis:46px;
  }

  .tt-order-step__icon svg{
    width:21px;
    height:21px;
  }

  .tt-order-step__date,
  .tt-order-step b{
    font-size:10px;
  }

  .tt-order-step > span{
    font-size:7.5px;
  }
}

.tt-accordions details{
  border-bottom:1px solid var(--tt-line);
}

.tt-accordions summary{
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:18px 0;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}

.tt-accordions summary::-webkit-details-marker{
  display:none;
}

.tt-accordions summary span{
  font-size:19px;
  font-weight:400;
  transition:.2s;
}

.tt-accordions details[open] summary span{
  transform:rotate(45deg);
}

.tt-richtext{
  font-size:12px;
  line-height:1.75;
  color:#676767;
  padding:0 0 18px;
}

.tt-richtext img{
  max-width:100%;
  height:auto;
}

.tt-social-proof{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin:100px 0 120px;
  border:1px solid var(--tt-line);
  border-radius:20px;
  overflow:hidden;
}

.tt-social-proof>div{
  text-align:center;
  padding:25px;
  border-right:1px solid var(--tt-line);
}

.tt-social-proof>div:last-child{
  border-right:0;
}

.tt-social-proof strong{
  display:block;
  font-size:23px;
}

.tt-social-proof span{
  display:block;
  color:#777;
  font-size:10px;
  margin-top:4px;
}

.tt-annotated-story{
  margin:100px 0 120px;
}

.tt-annotated-intro{
  max-width:760px;
  margin:0 auto 42px;
  text-align:center;
}

.tt-annotated-eyebrow{
  display:block;
  margin-bottom:14px;
  color:var(--tt-accent);
  font-size:10px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.tt-annotated-intro h2{
  margin:0;
  color:#171515;
  font-size:clamp(34px,4vw,56px);
  line-height:.98;
  font-weight:500;
  letter-spacing:-.045em;
}

.tt-annotated-intro-text{
  max-width:620px;
  margin:18px auto 0;
  color:#77716c;
  font-size:13px;
  line-height:1.75;
  letter-spacing:.03em;
}

.tt-annotated-intro-text p{
  margin:0;
}

.tt-annotated-stage{
  position:relative;
  min-height:720px;
  overflow:hidden;
  border-radius:26px;
  background:
    radial-gradient(circle at 50% 40%, rgba(218,116,82,.22), transparent 32%),
    linear-gradient(135deg,#a94e32 0%,#8f3b26 48%,#74301f 100%);
  box-shadow:0 28px 70px rgba(73,35,23,.18);
}

.tt-annotated-stage:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.08;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}

.tt-stage-meta{
  position:absolute;
  top:28px;
  right:30px;
  z-index:10;
  display:flex;
  align-items:center;
  gap:9px;
  color:#fff;
}

.tt-stage-meta span{
  font-size:10px;
  letter-spacing:.08em;
  opacity:.9;
}

.tt-stage-meta i{
  display:block;
  width:23px;
  height:9px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
}

.tt-stage-brand{
  position:absolute;
  top:30px;
  left:30px;
  z-index:10;
  color:rgba(255,255,255,.72);
  font-size:9px;
  font-weight:800;
  letter-spacing:.18em;
}

.tt-stage-product{
  position:absolute;
  z-index:4;
  left:50%;
  top:50%;
  width:min(520px,48%);
  height:650px;
  transform:translate(-50%,-50%);
  display:flex;
  align-items:center;
  justify-content:center;
}

.tt-stage-product:after{
  content:"";
  position:absolute;
  left:15%;
  right:15%;
  bottom:7%;
  height:12%;
  border-radius:50%;
  background:rgba(25,10,6,.4);
  filter:blur(25px);
  z-index:-1;
}

.tt-stage-product img,
.tt-stage-product svg{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(18px 22px 16px rgba(32,11,6,.25));
  transition:transform .65s cubic-bezier(.2,.7,.2,1);
}

.tt-annotated-stage:hover .tt-stage-product img{
  transform:scale(1.025);
}

.tt-annotation{
  position:absolute;
  z-index:8;
  top:0;
  width:31%;
  display:flex;
  align-items:center;
  gap:13px;
  color:#fff;
}

.tt-annotation-left{left:5%;}
.tt-annotation-right{right:5%;}

.tt-annotation-copy{
  min-width:145px;
  display:flex;
  flex-direction:column;
  gap:5px;
}

.tt-annotation-copy strong{
  font-size:11px;
  line-height:1.25;
  font-weight:700;
}

.tt-annotation-copy span{
  color:rgba(255,255,255,.68);
  font-size:9px;
  line-height:1.45;
  letter-spacing:.025em;
}

.tt-annotation-line{
  position:relative;
  flex:1;
  height:1px;
  background:rgba(255,255,255,.72);
}

.tt-annotation-line b{
  position:absolute;
  top:50%;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#fff;
  transform:translateY(-50%);
}

.tt-annotation-left .tt-annotation-line b{right:-3px;}
.tt-annotation-right .tt-annotation-line b{left:-3px;}

.tt-annotation-1{top:25%;}
.tt-annotation-2{top:45%;}
.tt-annotation-3{top:67%;}
.tt-annotation-4{top:31%;}
.tt-annotation-5{top:59%;}

.tt-stage-caption{
  position:absolute;
  left:30px;
  bottom:27px;
  z-index:10;
  display:flex;
  flex-direction:column;
  gap:5px;
  color:#fff;
}

.tt-stage-caption span{
  font-size:8px;
  font-weight:700;
  letter-spacing:.18em;
  opacity:.6;
}

.tt-stage-caption b{
  font-size:12px;
  font-weight:500;
}

.tt-brand-story{
  margin:110px 0 125px;
  width:100%;
}

.tt-brand-story-inner{
  width:100%;
}

.tt-story-header{
  max-width:760px;
  margin:0 auto 78px;
  text-align:center;
}

.tt-story-header > span{
  display:block;
  margin-bottom:16px;
  color:var(--tt-accent);
  font-size:9px;
  line-height:1;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.tt-story-header h2{
  margin:0;
  color:#171515;
  font-size:clamp(40px,5vw,68px);
  line-height:.94;
  font-weight:500;
  letter-spacing:-.055em;
}

.tt-story-header > div{
  max-width:590px;
  margin:22px auto 0;
  color:#77716c;
  font-size:12px;
  line-height:1.8;
  letter-spacing:.035em;
}

.tt-story-header > div p{
  margin:0;
}

.tt-story-grid{
  display:flex;
  flex-direction:column;
  gap:84px;
}

.tt-story-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:center;
  min-height:530px;
  gap:76px;
}

.tt-story-row-two{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}

.tt-story-copy{
  max-width:440px;
  padding:20px 0;
}

.tt-story-row-one .tt-story-copy,
.tt-story-row-three .tt-story-copy{
  margin-left:24px;
}

.tt-story-row-two .tt-story-copy{
  margin-right:28px;
  justify-self:end;
}

.tt-story-script{
  display:block;
  margin-bottom:4px;
  color:#c99372;
  font-family:Georgia,"Times New Roman",serif;
  font-size:27px;
  line-height:.9;
  font-style:italic;
}

.tt-story-copy h3{
  max-width:440px;
  margin:0;
  color:#171515;
  font-size:clamp(42px,4.4vw,66px);
  line-height:.9;
  font-weight:500;
  letter-spacing:-.06em;
}

.tt-story-copy p{
  max-width:395px;
  margin:26px 0 0;
  color:#706b67;
  font-size:11px;
  line-height:1.85;
  letter-spacing:.025em;
}

.tt-story-cta{
  display:inline-flex;
  align-items:center;
  gap:13px;
  margin-top:30px;
  color:#181818;
  font-size:8px;
  line-height:1;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
}

.tt-story-cta i{
  display:block;
  position:relative;
  width:42px;
  height:1px;
  background:currentColor;
  transition:width .25s ease;
}

.tt-story-cta i:after{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  width:5px;
  height:5px;
  border-top:1px solid currentColor;
  border-right:1px solid currentColor;
  transform:translateY(-50%) rotate(45deg);
}

.tt-story-cta:hover i{
  width:62px;
}

.tt-story-image{
  position:relative;
  min-width:0;
  height:530px;
  overflow:hidden;
  isolation:isolate;
}

.tt-story-image:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 25% 25%,rgba(255,255,255,.28),transparent 30%),
    radial-gradient(circle at 80% 80%,rgba(255,255,255,.12),transparent 30%);
}

.tt-story-image img{
  position:absolute;
  z-index:2;
  inset:0;
  width:100%;
  height:100%;
  padding:42px;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(10px 18px 13px rgba(45,25,20,.15));
  transition:transform .65s cubic-bezier(.2,.7,.2,1);
}

.tt-story-image:hover img{
  transform:scale(1.035);
}

.tt-story-image-peach{
  background:#f7d3b3;
  border-radius:0 105px 0 105px;
}

.tt-story-image-coral{
  background:#f5bbb5;
  border-radius:105px 0 105px 0;
}

.tt-story-image-lilac{
  background:#c3bde3;
  border-radius:0 105px 0 105px;
}

.tt-story-image-peach:after,
.tt-story-image-coral:after,
.tt-story-image-lilac:after{
  content:"";
  position:absolute;
  z-index:1;
  width:210px;
  height:210px;
  border-radius:50%;
  background:rgba(255,255,255,.13);
  filter:blur(1px);
}

.tt-story-image-peach:after{
  left:-70px;
  bottom:-65px;
}

.tt-story-image-coral:after{
  right:-70px;
  top:-65px;
}

.tt-story-image-lilac:after{
  left:-70px;
  bottom:-65px;
}

.tt-story-index{
  position:absolute;
  z-index:5;
  top:25px;
  right:28px;
  color:rgba(20,20,20,.48);
  font-size:8px;
  line-height:1;
  font-weight:800;
  letter-spacing:.13em;
}

.tt-story-mini-label{
  position:absolute;
  z-index:5;
  left:28px;
  top:26px;
  color:rgba(20,20,20,.48);
  font-size:7px;
  line-height:1;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.tt-story-footer{
  margin-top:58px;
  text-align:center;
}

.tt-story-footer span{
  color:#a6a19d;
  font-size:7px;
  line-height:1;
  font-weight:800;
  letter-spacing:.27em;
  text-transform:uppercase;
}

@media(min-width:1100px){
  .tt-story-row-one .tt-story-image,
  .tt-story-row-three .tt-story-image{
    margin-right:10px;
  }

  .tt-story-row-two .tt-story-image{
    margin-left:10px;
  }
}

@media(max-width:900px){
  .tt-brand-story{
    margin:80px 0 95px;
  }

  .tt-story-header{
    margin-bottom:55px;
  }

  .tt-story-grid{
    gap:60px;
  }

  .tt-story-row{
    min-height:430px;
    gap:42px;
  }

  .tt-story-image{
    height:430px;
  }

  .tt-story-copy{
    max-width:370px;
  }

  .tt-story-row-one .tt-story-copy,
  .tt-story-row-three .tt-story-copy{
    margin-left:0;
  }

  .tt-story-row-two .tt-story-copy{
    margin-right:0;
  }

  .tt-story-copy h3{
    font-size:43px;
  }

  .tt-story-script{
    font-size:22px;
  }
}

@media(max-width:640px){
  .tt-brand-story{
    margin:65px 0 75px;
  }

  .tt-story-header{
    padding:0 12px;
    margin-bottom:42px;
  }

  .tt-story-header > span{
    font-size:8px;
  }

  .tt-story-header h2{
    font-size:39px;
  }

  .tt-story-header > div{
    font-size:11px;
    line-height:1.7;
  }

  .tt-story-grid{
    gap:52px;
  }

  .tt-story-row,
  .tt-story-row-two{
    display:flex;
    flex-direction:column;
    gap:0;
    min-height:0;
    align-items:stretch;
  }

  .tt-story-image{
    order:1;
    width:100%;
    height:370px;
  }

  .tt-story-copy{
    order:2;
    max-width:none;
    padding:27px 9px 0;
  }

  .tt-story-row-one .tt-story-copy,
  .tt-story-row-three .tt-story-copy,
  .tt-story-row-two .tt-story-copy{
    margin:0;
  }

  .tt-story-copy h3{
    max-width:330px;
    font-size:43px;
  }

  .tt-story-script{
    font-size:23px;
  }

  .tt-story-copy p{
    max-width:340px;
    margin-top:20px;
    font-size:10px;
  }

  .tt-story-image-peach,
  .tt-story-image-lilac{
    border-radius:0 85px 0 85px;
  }

  .tt-story-image-coral{
    border-radius:85px 0 85px 0;
  }

  .tt-story-image img{
    padding:28px;
  }

  .tt-story-index{
    top:20px;
    right:20px;
    font-size:7px;
  }

  .tt-story-mini-label{
    left:20px;
    top:21px;
    font-size:6px;
  }

  .tt-story-footer{
    margin-top:42px;
  }
}

@media(prefers-reduced-motion:reduce){
  .tt-story-image img,
  .tt-story-cta i{
    transition:none;
  }
}

.tt-section-head{
  margin-bottom:30px;
}

.tt-section-head.center{
  text-align:center;
}

.tt-section-head p{
  font-size:13px;
  color:#777;
}

.tt-media-strip{
  margin-bottom:120px;
}

.tt-media-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.tt-media-card{
  aspect-ratio:1;
  border-radius:18px;
  overflow:hidden;
  background:#f5f4f2;
}

.tt-media-card img,
.tt-media-card video,
.tt-media-card iframe{
  width:100%;
  height:100%;
  object-fit:cover;
}

.tt-reviews{
  margin-bottom:120px;
}

.tt-review-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.tt-review-card{
  background:#f8f7f5;
  border-radius:18px;
  padding:25px;
  min-height:245px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.tt-review-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size:10px;
}

.tt-review-top span{
  color:#f1ad00;
  letter-spacing:2px;
  font-size:15px;
}

.tt-review-top b{
  color:#777;
  font-weight:500;
}

.tt-review-card p{
  font-size:14px;
  line-height:1.7;
  margin:20px 0;
}

.tt-review-card footer{
  display:flex;
  gap:10px;
  align-items:center;
}

.tt-avatar{
  width:34px;
  height:34px;
  border-radius:50%;
  background:var(--tt-accent);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:11px;
}

.tt-review-card footer div{
  display:flex;
  flex-direction:column;
}

.tt-review-card footer strong{
  font-size:11px;
}

.tt-review-card footer small{
  font-size:9px;
  color:#888;
}

.tt-recommendations{
  margin-bottom:40px;
}

.tt-rec-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

.tt-rec-card{
  display:block;
}

.tt-rec-img{
  background:#f6f5f3;
  border-radius:18px;
  aspect-ratio:.85;
  overflow:hidden;
}

.tt-rec-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.5s;
}

.tt-rec-card:hover .tt-rec-img img{
  transform:scale(1.045);
}

.tt-rec-info{
  padding:12px 3px;
}

.tt-rec-info span{
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#888;
}

.tt-rec-info h3{
  font-size:13px;
  font-weight:600;
  margin:5px 0;
}

.tt-rec-info strong{
  font-size:12px;
}

.tt-mobile-buy{
  display:none;
}

.tt-lightbox{
  position:fixed;
  inset:0;
  background:#000d;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:30px;
}

.tt-lightbox.is-open{
  display:flex;
}

.tt-lightbox-inner{
  max-width:1100px;
  max-height:90vh;
}

.tt-lightbox-inner img{
  max-width:100%;
  max-height:88vh;
  object-fit:contain;
  display:block;
}

.tt-lightbox-close{
  position:absolute;
  right:22px;
  top:15px;
  background:#fff;
  border:0;
  border-radius:50%;
  width:42px;
  height:42px;
  font-size:28px;
  cursor:pointer;
}

.tt-reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .7s ease,transform .7s ease;
}

.tt-reveal.is-visible{
  opacity:1;
  transform:none;
}

.tt-stagger>*{
  opacity:0;
  transform:translateY(10px);
  animation:tt-in .55s forwards;
}

.tt-stagger>*:nth-child(1){
  animation-delay:.04s;
}

.tt-stagger>*:nth-child(2){
  animation-delay:.08s;
}

.tt-stagger>*:nth-child(3){
  animation-delay:.12s;
}

.tt-stagger>*:nth-child(4){
  animation-delay:.16s;
}

.tt-stagger>*:nth-child(5){
  animation-delay:.20s;
}

.tt-stagger>*:nth-child(6){
  animation-delay:.24s;
}

.tt-stagger>*:nth-child(7){
  animation-delay:.28s;
}

@keyframes tt-in{
  to{
    opacity:1;
    transform:none;
  }
}

@keyframes tt-shine{
  0%,35%{
    transform:translateX(-110%);
  }

  60%,100%{
    transform:translateX(110%);
  }
}

@media(max-width:989px){

  .tt-shell{
    padding:16px 16px 80px;
  }

  .tt-product-grid{
    grid-template-columns:1fr;
    gap:30px;
  }

  .tt-product-info-column{
    position:relative;
    top:auto;
    max-height:none;
    overflow:visible;
    padding-right:0;
  }

  .tt-gallery{
    position:relative;
    top:auto;
  }

  .tt-gallery-main{
    border-radius:18px;
  }

  .tt-info{
    padding:0;
  }

  .tt-title-row h1{
    font-size:36px;
  }

  .tt-social-proof{
    margin:60px 0 80px;
    grid-template-columns:repeat(2,1fr);
  }

  .tt-social-proof>div:nth-child(2){
    border-right:0;
  }

  .tt-social-proof>div:nth-child(-n+2){
    border-bottom:1px solid var(--tt-line);
  }

  .tt-story{
    grid-template-columns:1fr;
    gap:35px;
    margin-bottom:80px;
  }

  .tt-media-strip,
  .tt-reviews{
    margin-bottom:80px;
  }

  .tt-rec-grid{
    grid-template-columns:repeat(2,1fr);
  }

}

@media(max-width:640px){

  .tt-breadcrumbs{
    margin-bottom:14px;
    font-size:10px;
    white-space:nowrap;
    overflow:hidden;
  }

  .tt-breadcrumbs span:last-child{
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .tt-title-row h1{
    font-size:32px;
  }

  .tt-wishlist{
    width:40px;
    height:40px;
    font-size:22px;
  }

  .tt-rating-row{
    font-size:10px;
  }

  .tt-price{
    font-size:24px;
  }

  .tt-form{
    padding:11px;
    border-radius:15px;
  }

  .tt-trust-mini{
    font-size:9px;
  }

  .tt-social-proof{
    margin:50px 0 65px;
  }

  .tt-social-proof>div{
    padding:19px 8px;
  }

  .tt-social-proof strong{
    font-size:19px;
  }

  .tt-story h2,
  .tt-section-head h2{
    font-size:34px;
  }

  .tt-media-grid{
    display:flex;
    overflow:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:5px;
  }

  .tt-media-card{
    min-width:78%;
    scroll-snap-align:start;
  }

  .tt-review-grid{
    display:flex;
    overflow:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:8px;
  }

  .tt-review-card{
    min-width:88%;
    scroll-snap-align:start;
  }

  .tt-rec-grid{
    gap:10px;
  }

  .tt-rec-info h3{
    font-size:11px;
  }

  .tt-mobile-buy{
    position:fixed;
    z-index:5000;
    left:10px;
    right:10px;
    bottom:10px;
    background:#fff;
    border:1px solid var(--tt-line);
    border-radius:16px;
    box-shadow:0 12px 40px #0002;
    padding:9px 10px;
    display:flex;
    align-items:center;
    gap:10px;
    transform:translateY(130%);
    transition:.3s;
  }

  .tt-mobile-buy.is-visible{
    transform:none;
  }

  .tt-mobile-buy>div{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
    flex:1;
  }

  .tt-mobile-buy strong{
    font-size:10px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .tt-mobile-buy span{
    font-size:12px;
    font-weight:800;
  }

  .tt-mobile-buy button{
    border:0;
    border-radius:10px;
    background:var(--tt-accent);
    color:#fff;
    padding:12px 15px;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
  }

  .tt-mobile-buy button:disabled{
    opacity:.5;
  }

}

@media(prefers-reduced-motion:reduce){

  .tt-product *{
    scroll-behavior:auto!important;
    animation:none!important;
    transition:none!important;
  }

  .tt-reveal{
    opacity:1;
    transform:none;
  }

}


@media (max-width: 640px){

  .tt-annotated-story{
    margin:64px 0 76px !important;
  }

  .tt-annotated-intro{
    width:100%;
    padding:0 14px;
    margin:0 auto 30px;
  }

  .tt-annotated-eyebrow{
    margin-bottom:11px;
    font-size:8px;
    letter-spacing:.19em;
  }

  .tt-annotated-intro h2{
    font-size:34px;
    line-height:.98;
    letter-spacing:-.045em;
  }

  .tt-annotated-intro-text{
    max-width:340px;
    margin-top:14px;
    font-size:11px;
    line-height:1.65;
  }

  .tt-annotated-stage{
    width:100%;
    min-height:690px !important;
    height:690px;
    border-radius:20px !important;
    box-shadow:0 18px 45px rgba(73,35,23,.16);
  }

  .tt-stage-brand{
    top:18px;
    left:18px;
    font-size:7px;
    letter-spacing:.16em;
  }

  .tt-stage-meta{
    top:18px;
    right:18px;
    gap:6px;
  }

  .tt-stage-meta span{
    font-size:8px;
  }

  .tt-stage-meta i{
    width:18px;
    height:7px;
  }

  .tt-stage-product{
    left:50%;
    top:50%;
    width:68% !important;
    max-width:none;
    height:455px !important;
    transform:translate(-50%,-50%);
  }

  .tt-stage-product img,
  .tt-stage-product svg{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
    filter:drop-shadow(12px 16px 12px rgba(32,11,6,.22));
  }

  .tt-annotation{
    width:43% !important;
    gap:7px;
  }

  .tt-annotation-left{
    left:3% !important;
  }

  .tt-annotation-right{
    right:3% !important;
  }

  .tt-annotation-copy{
    min-width:0;
    max-width:92px;
    gap:3px;
  }

  .tt-annotation-copy strong{
    font-size:8px;
    line-height:1.18;
    letter-spacing:.005em;
  }

  .tt-annotation-copy span{
    font-size:6.5px;
    line-height:1.35;
    letter-spacing:0;
  }

  .tt-annotation-line{
    min-width:14px;
    height:1px;
    background:rgba(255,255,255,.68);
  }

  .tt-annotation-line b{
    width:5px;
    height:5px;
  }

  .tt-annotation-1{
    top:27% !important;
  }

  .tt-annotation-2{
    top:46% !important;
  }

  .tt-annotation-3{
    top:65% !important;
  }

  .tt-annotation-4{
    top:35% !important;
  }

  .tt-annotation-5{
    top:57% !important;
  }

  .tt-stage-caption{
    left:18px;
    bottom:18px;
    gap:4px;
    max-width:170px;
  }

  .tt-stage-caption span{
    font-size:6.5px;
    letter-spacing:.15em;
  }

  .tt-stage-caption b{
    font-size:9px;
    line-height:1.25;
  }

  .tt-brand-story{
    margin:65px 0 78px !important;
  }

  .tt-story-header{
    padding:0 12px;
    margin-bottom:40px;
  }

  .tt-story-header > span{
    font-size:8px;
    letter-spacing:.19em;
  }

  .tt-story-header h2{
    font-size:37px;
    line-height:.96;
  }

  .tt-story-header > div{
    max-width:340px;
    margin-top:15px;
    font-size:11px;
    line-height:1.65;
  }

  .tt-story-grid{
    gap:50px;
  }

  .tt-story-row,
  .tt-story-row-two{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
    min-height:0 !important;
  }

  .tt-story-image{
    order:1 !important;
    width:100%;
    height:360px !important;
  }

  .tt-story-image-peach,
  .tt-story-image-lilac{
    border-radius:0 82px 0 82px !important;
  }

  .tt-story-image-coral{
    border-radius:82px 0 82px 0 !important;
  }

  .tt-story-image img{
    padding:25px !important;
  }

  .tt-story-mini-label{
    left:19px;
    top:20px;
    font-size:6px;
  }

  .tt-story-index{
    top:19px;
    right:19px;
    font-size:7px;
  }

  .tt-story-copy{
    order:2 !important;
    width:100%;
    max-width:none;
    padding:26px 8px 0 !important;
  }

  .tt-story-row-one .tt-story-copy,
  .tt-story-row-three .tt-story-copy,
  .tt-story-row-two .tt-story-copy{
    margin:0 !important;
  }

  .tt-story-script{
    font-size:22px;
    margin-bottom:5px;
  }

  .tt-story-copy h3{
    max-width:335px;
    font-size:40px;
    line-height:.92;
  }

  .tt-story-copy p{
    max-width:340px;
    margin-top:18px;
    font-size:10px;
    line-height:1.75;
  }

  .tt-story-cta{
    margin-top:24px;
    font-size:7px;
  }

  .tt-story-footer{
    margin-top:40px;
  }

  .tt-story-footer span{
    font-size:6.5px;
    letter-spacing:.22em;
  }
}

@media (max-width: 390px){

  .tt-annotated-stage{
    min-height:650px !important;
    height:650px;
  }

  .tt-stage-product{
    width:66% !important;
    height:420px !important;
  }

  .tt-annotation{
    width:44% !important;
  }

  .tt-annotation-copy strong{
    font-size:7.5px;
  }

  .tt-annotation-copy span{
    font-size:6px;
  }

  .tt-annotation-1{top:27% !important;}
  .tt-annotation-2{top:46% !important;}
  .tt-annotation-3{top:65% !important;}
  .tt-annotation-4{top:35% !important;}
  .tt-annotation-5{top:57% !important;}

  .tt-story-image{
    height:330px !important;
  }

  .tt-story-copy h3{
    font-size:36px;
  }
}

@media (min-width: 641px){

  .tt-mobile-buy{
    position:fixed;
    z-index:9998;

    right:22px;
    bottom:22px;

    width:385px;
    min-height:86px;

    display:flex;
    align-items:center;
    gap:14px;

    padding:10px 11px 10px 16px;

    background:#fff;
    border:1px solid #e8e5e2;
    border-radius:18px;

    box-shadow:
      0 14px 45px rgba(20,18,16,.14),
      0 3px 12px rgba(20,18,16,.05);

    transform:translateY(150%);
    opacity:0;
    visibility:hidden;

    transition:
      transform .35s cubic-bezier(.2,.7,.2,1),
      opacity .25s ease,
      visibility .25s ease;
  }

  .tt-mobile-buy.is-visible{
    transform:translateY(0);
    opacity:1;
    visibility:visible;
  }

  .tt-mobile-buy > div{
    min-width:0;
    flex:1;

    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:6px;
  }

  .tt-mobile-buy strong{
    display:block;

    max-width:190px;

    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;

    color:#34302d;

    font-size:11px;
    line-height:1.15;
    font-weight:800;

    letter-spacing:.09em;
    text-transform:none;
  }

  .tt-mobile-buy span{
    display:block;

    color:#272321;

    font-size:14px;
    line-height:1;
    font-weight:800;

    letter-spacing:.08em;
  }

  .tt-mobile-buy button{
    flex:0 0 auto;

    min-width:142px;
    min-height:59px;

    border:0;
    border-radius:13px;

    background:#ef4658;
    color:#fff;

    padding:0 17px;

    font-size:14px;
    line-height:1;
    font-weight:700;

    letter-spacing:.01em;
    text-transform:uppercase;

    cursor:pointer;

    box-shadow:none;

    transition:
      background .2s ease,
      transform .2s ease;
  }

  .tt-mobile-buy button:hover{
    background:#d93649;
    transform:translateY(-1px);
  }

  .tt-mobile-buy button:active{
    transform:translateY(0);
  }

  .tt-mobile-buy button:disabled{
    opacity:.55;
    cursor:not-allowed;
    transform:none;
  }

}

@media (min-width:641px) and (max-width:900px){

  .tt-mobile-buy{
    right:16px;
    bottom:16px;
    width:360px;
  }

  .tt-mobile-buy button{
    min-width:132px;
  }

}

@media (min-width:641px) and (max-width:1100px){
  .tt-annotated-story{margin:80px 0 95px;}

  .tt-annotated-stage{
    min-height:620px;
    border-radius:22px;
  }

  .tt-stage-product{
    width:50%;
    height:570px;
  }

  .tt-annotation{
    width:34%;
    gap:9px;
  }

  .tt-annotation-left{left:3%;}
  .tt-annotation-right{right:3%;}

  .tt-annotation-copy{min-width:100px;}
  .tt-annotation-copy strong{font-size:9px;}
  .tt-annotation-copy span{font-size:7.5px;}

  .tt-annotation-1{top:25%;}
  .tt-annotation-2{top:46%;}
  .tt-annotation-3{top:67%;}
  .tt-annotation-4{top:32%;}
  .tt-annotation-5{top:60%;}
}

@media (max-width:640px){

  .tt-annotated-story{
    width:100%;
    margin:55px 0 70px !important;
  }

  .tt-annotated-intro{
    width:100%;
    padding:0 18px;
    margin:0 auto 28px !important;
  }

  .tt-annotated-eyebrow{
    font-size:8px !important;
    letter-spacing:.18em !important;
    margin-bottom:11px !important;
  }

  .tt-annotated-intro h2{
    font-size:31px !important;
    line-height:1 !important;
    letter-spacing:-.04em !important;
  }

  .tt-annotated-intro-text{
    max-width:330px !important;
    margin:13px auto 0 !important;
    font-size:10.5px !important;
    line-height:1.65 !important;
  }

  .tt-annotated-stage{
    position:relative !important;
    width:calc(100% - 20px) !important;
    margin:0 10px !important;
    min-height:0 !important;
    height:auto !important;
    padding:0 0 24px !important;
    overflow:hidden !important;
    border-radius:22px !important;
  }

  .tt-stage-brand{
    top:17px !important;
    left:18px !important;
    font-size:7px !important;
    letter-spacing:.15em !important;
  }

  .tt-stage-meta{
    top:17px !important;
    right:18px !important;
    gap:5px !important;
  }

  .tt-stage-meta span{font-size:7px !important;}
  .tt-stage-meta i{width:17px !important;height:7px !important;}

  .tt-stage-product{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;
    width:100% !important;
    height:355px !important;
    margin:0 auto !important;
    padding:40px 35px 5px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .tt-stage-product:after{
    left:23% !important;
    right:23% !important;
    bottom:7% !important;
    height:9% !important;
    filter:blur(18px) !important;
  }

  .tt-stage-product img,
  .tt-stage-product svg{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center !important;
    filter:drop-shadow(10px 15px 12px rgba(32,11,6,.22)) !important;
  }

  .tt-annotation{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    width:auto !important;
    min-height:0 !important;
    display:flex !important;
    align-items:stretch !important;
    gap:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  .tt-annotation-line{
    display:none !important;
  }

  .tt-annotated-stage{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    grid-template-rows:auto auto auto auto !important;
    column-gap:9px !important;
    row-gap:9px !important;
  }

  .tt-stage-brand,
  .tt-stage-meta,
  .tt-stage-product,
  .tt-stage-caption{
    grid-column:1 / -1 !important;
  }

  .tt-stage-brand{grid-row:1 !important;}
  .tt-stage-meta{grid-row:1 !important;}
  .tt-stage-product{grid-row:2 !important;}

  .tt-annotation-1{grid-column:1 !important;grid-row:3 !important;}
  .tt-annotation-2{grid-column:2 !important;grid-row:3 !important;}
  .tt-annotation-3{grid-column:1 !important;grid-row:4 !important;}
  .tt-annotation-4{grid-column:2 !important;grid-row:4 !important;}
  .tt-annotation-5{
    grid-column:1 / -1 !important;
    grid-row:5 !important;
    width:calc(50% - 5px) !important;
    justify-self:center !important;
  }

  .tt-annotation-copy{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:62px !important;
    padding:11px 10px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:4px !important;
    border:1px solid rgba(255,255,255,.20) !important;
    border-radius:10px !important;
    background:rgba(72,27,17,.15) !important;
    backdrop-filter:blur(5px);
  }

  .tt-annotation-copy strong{
    font-size:8px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
  }

  .tt-annotation-copy span{
    font-size:6.5px !important;
    line-height:1.35 !important;
    color:rgba(255,255,255,.68) !important;
  }

  .tt-stage-caption{
    position:relative !important;
    left:auto !important;
    bottom:auto !important;
    grid-row:6 !important;
    margin:15px 18px 0 !important;
    padding-top:14px !important;
    border-top:1px solid rgba(255,255,255,.18) !important;
    gap:4px !important;
  }

  .tt-stage-caption span{font-size:6px !important;}
  .tt-stage-caption b{font-size:9px !important;}
}

@media (max-width:390px){
  .tt-annotated-stage{
    width:calc(100% - 12px) !important;
    margin:0 6px !important;
    column-gap:7px !important;
    row-gap:7px !important;
    border-radius:18px !important;
  }

  .tt-stage-product{
    height:325px !important;
    padding:40px 27px 2px !important;
  }

  .tt-annotation-copy{
    min-height:58px !important;
    padding:9px 8px !important;
  }

  .tt-annotation-copy strong{font-size:7.5px !important;}
  .tt-annotation-copy span{font-size:6px !important;}
}

.tt-story-image{
  position:relative;
  overflow:hidden !important;
  background:transparent !important;
  isolation:isolate;
}

.tt-story-image:before,
.tt-story-image:after{
  display:none !important;
  content:none !important;
}

.tt-story-image img{
  position:absolute;
  inset:0;

  display:block;

  width:100% !important;
  height:100% !important;

  max-width:none !important;

  padding:0 !important;

  object-fit:cover !important;
  object-position:center !important;

  filter:none !important;

  transform:none;
}

.tt-story-image-peach{
  border-radius:0 105px 0 105px !important;
}

.tt-story-image-coral{
  border-radius:105px 0 105px 0 !important;
}

.tt-story-image-lilac{
  border-radius:0 105px 0 105px !important;
}

.tt-story-image:hover img{
  transform:none !important;
}

@media(max-width:640px){

  .tt-story-image{
    background:transparent !important;
    overflow:hidden !important;
  }

  .tt-story-image img{
    width:100% !important;
    height:100% !important;
    padding:0 !important;
    object-fit:cover !important;
    object-position:center !important;
  }

  .tt-story-image-peach,
  .tt-story-image-lilac{
    border-radius:0 82px 0 82px !important;
  }

  .tt-story-image-coral{
    border-radius:82px 0 82px 0 !important;
  }

}

@media(max-width:390px){

  .tt-story-image-peach,
  .tt-story-image-lilac{
    border-radius:0 72px 0 72px !important;
  }

  .tt-story-image-coral{
    border-radius:72px 0 72px 0 !important;
  }

}

@media (max-width:640px){

  .tt-product .tt-annotated-story{
    margin:52px 0 68px !important;
    width:100% !important;
  }

  .tt-product .tt-annotated-intro{
    width:100% !important;
    padding:0 16px !important;
    margin:0 auto 24px !important;
    text-align:center;
  }

  .tt-product .tt-annotated-eyebrow{
    font-size:7px !important;
    letter-spacing:.2em !important;
    margin-bottom:9px !important;
  }

  .tt-product .tt-annotated-intro h2{
    max-width:350px;
    margin:0 auto !important;
    font-size:30px !important;
    line-height:1.02 !important;
    letter-spacing:-.045em !important;
  }

  .tt-product .tt-annotated-intro-text{
    max-width:330px !important;
    margin:12px auto 0 !important;
    font-size:10px !important;
    line-height:1.65 !important;
  }

  .tt-product .tt-annotated-stage{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    grid-template-rows:38px 275px auto auto auto 45px !important;

    width:calc(100% - 24px) !important;
    min-height:0 !important;
    height:auto !important;

    margin:0 12px !important;
    padding:0 10px 12px !important;

    overflow:hidden !important;
    border-radius:20px !important;
    box-shadow:0 14px 35px rgba(73,35,23,.18) !important;
  }

  .tt-product .tt-stage-brand{
    position:relative !important;
    top:auto !important;
    left:auto !important;

    grid-column:1 !important;
    grid-row:1 !important;

    align-self:center !important;
    margin-left:7px !important;

    font-size:6.5px !important;
    letter-spacing:.15em !important;
  }

  .tt-product .tt-stage-meta{
    position:relative !important;
    top:auto !important;
    right:auto !important;

    grid-column:2 !important;
    grid-row:1 !important;

    justify-self:end !important;
    align-self:center !important;

    margin-right:7px !important;

    gap:5px !important;
  }

  .tt-product .tt-stage-meta span{
    font-size:6.5px !important;
  }

  .tt-product .tt-stage-meta i{
    width:17px !important;
    height:6px !important;
  }

  .tt-product .tt-stage-product{
    position:relative !important;
    inset:auto !important;
    grid-column:1 / -1 !important;
    grid-row:2 !important;

    width:100% !important;
    height:275px !important;

    margin:0 !important;
    padding:15px 20px 5px !important;

    transform:none !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .tt-product .tt-stage-product:after{
    left:25% !important;
    right:25% !important;
    bottom:7% !important;
    height:7% !important;
    filter:blur(14px) !important;
  }

  .tt-product .tt-stage-product img,
  .tt-product .tt-stage-product svg{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center !important;

    filter:drop-shadow(8px 12px 10px rgba(32,11,6,.22)) !important;
  }

  .tt-product .tt-annotation{
    position:relative !important;
    inset:auto !important;

    width:100% !important;
    height:auto !important;
    min-height:0 !important;

    margin:0 !important;
    padding:0 !important;

    display:block !important;
  }

  .tt-product .tt-annotation-line{
    display:none !important;
  }

  .tt-product .tt-annotation-copy{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    min-height:58px !important;

    padding:9px 9px !important;

    display:flex !important;
    justify-content:center !important;
    gap:3px !important;

    border:1px solid rgba(255,255,255,.20) !important;
    border-radius:9px !important;

    background:rgba(70,25,17,.13) !important;
    backdrop-filter:blur(4px) !important;
  }

  .tt-product .tt-annotation-copy strong{
    font-size:7.5px !important;
    line-height:1.18 !important;
    font-weight:700 !important;
    letter-spacing:0 !important;
  }

  .tt-product .tt-annotation-copy span{
    font-size:6px !important;
    line-height:1.3 !important;
    color:rgba(255,255,255,.67) !important;
    letter-spacing:0 !important;
  }

  .tt-product .tt-annotation-1{
    grid-column:1 !important;
    grid-row:3 !important;
  }

  .tt-product .tt-annotation-2{
    grid-column:2 !important;
    grid-row:3 !important;
  }

  .tt-product .tt-annotation-3{
    grid-column:1 !important;
    grid-row:4 !important;
  }

  .tt-product .tt-annotation-4{
    grid-column:2 !important;
    grid-row:4 !important;
  }

  .tt-product .tt-annotation-5{
    grid-column:1 / -1 !important;
    grid-row:5 !important;

    width:calc(50% - 4px) !important;
    justify-self:center !important;
  }

  .tt-product .tt-stage-caption{
    position:relative !important;
    inset:auto !important;

    grid-column:1 / -1 !important;
    grid-row:6 !important;

    width:auto !important;
    max-width:none !important;

    margin:6px 7px 0 !important;
    padding:11px 0 0 !important;

    display:flex !important;
    flex-direction:column !important;
    gap:3px !important;

    border-top:1px solid rgba(255,255,255,.18) !important;
  }

  .tt-product .tt-stage-caption span{
    font-size:5.5px !important;
    letter-spacing:.16em !important;
  }

  .tt-product .tt-stage-caption b{
    font-size:8px !important;
    line-height:1.2 !important;
    font-weight:600 !important;
  }

}

@media(max-width:390px){

  .tt-product .tt-annotated-stage{
    width:calc(100% - 16px) !important;
    margin:0 8px !important;

    grid-template-rows:36px 245px auto auto auto 42px !important;

    padding-left:8px !important;
    padding-right:8px !important;
    border-radius:18px !important;
  }

  .tt-product .tt-stage-product{
    height:245px !important;
    padding:12px 15px 3px !important;
  }

  .tt-product .tt-annotation-copy{
    min-height:55px !important;
    padding:8px 7px !important;
  }

  .tt-product .tt-annotation-copy strong{
    font-size:7px !important;
  }

  .tt-product .tt-annotation-copy span{
    font-size:5.6px !important;
  }

  .tt-product .tt-stage-caption{
    margin-left:6px !important;
    margin-right:6px !important;
  }

}

@media(max-width:640px) and (orientation:landscape){

  .tt-product .tt-annotated-stage{
    grid-template-columns:repeat(4,1fr) !important;
    grid-template-rows:36px 250px auto !important;
  }

  .tt-product .tt-stage-product{
    grid-column:2 / 4 !important;
    grid-row:2 !important;
  }

  .tt-product .tt-annotation-1{
    grid-column:1 !important;
    grid-row:2 !important;
    align-self:center !important;
  }

  .tt-product .tt-annotation-2{
    grid-column:4 !important;
    grid-row:2 !important;
    align-self:center !important;
  }

  .tt-product .tt-annotation-3,
  .tt-product .tt-annotation-4,
  .tt-product .tt-annotation-5{
    display:none !important;
  }

  .tt-product .tt-stage-caption{
    grid-column:1 / -1 !important;
    grid-row:3 !important;
  }

}

@media(max-width:640px){

  .tt-product .tt-annotated-intro h2{
    font-size:34px !important;
    line-height:1.04 !important;
  }

  .tt-product .tt-annotated-intro-text{
    font-size:11px !important;
    line-height:1.7 !important;
  }

  .tt-product .tt-annotation-copy{
    min-height:64px !important;
    padding:10px 10px !important;
    justify-content:center !important;
  }

  .tt-product .tt-annotation-copy strong{
    font-size:9px !important;
    line-height:1.22 !important;
  }

  .tt-product .tt-annotation-copy span{
    font-size:7px !important;
    line-height:1.4 !important;
  }

  .tt-product .tt-story-header h2{
    font-size:39px !important;
    line-height:1 !important;
  }

  .tt-product .tt-story-header > div{
    font-size:11.5px !important;
    line-height:1.7 !important;
  }

  .tt-product .tt-story-copy{
    padding:30px 8px 0 !important;
  }

  .tt-product .tt-story-script{
    font-size:25px !important;
    line-height:.95 !important;
  }

  .tt-product .tt-story-copy h3{
    font-size:43px !important;
    line-height:.94 !important;
    max-width:340px !important;
  }

  .tt-product .tt-story-copy p{
    font-size:11.5px !important;
    line-height:1.8 !important;
    max-width:350px !important;
  }

  .tt-product .tt-story-cta{
    font-size:8px !important;
    margin-top:26px !important;
  }
}

@media(max-width:390px){

  .tt-product .tt-annotation-copy strong{
    font-size:8.5px !important;
  }

  .tt-product .tt-annotation-copy span{
    font-size:6.7px !important;
  }

  .tt-product .tt-story-copy h3{
    font-size:39px !important;
  }

  .tt-product .tt-story-copy p{
    font-size:11px !important;
  }
}

.tt-social-proof-premium{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin:100px 0 120px;
  padding:0;
  overflow:hidden;

  border:1px solid rgba(239,70,88,.24);
  border-radius:24px;

  background:
    linear-gradient(
      120deg,
      rgba(255,255,255,.96),
      rgba(255,244,247,.98) 48%,
      rgba(255,255,255,.96)
    );

  box-shadow:
    0 20px 55px rgba(239,70,88,.09),
    inset 0 1px 0 rgba(255,255,255,.95);
}

.tt-social-proof-premium:before{
  content:"";
  position:absolute;
  z-index:0;
  top:-120%;
  left:-25%;
  width:35%;
  height:340%;
  pointer-events:none;

  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.75),
    transparent
  );

  transform:rotate(20deg);
  animation:ttProofShine 5.5s ease-in-out infinite;
}

.tt-social-proof-premium:after{
  content:"";
  position:absolute;
  z-index:0;
  left:10%;
  right:10%;
  bottom:-45px;
  height:90px;
  pointer-events:none;

  background:radial-gradient(
    ellipse,
    rgba(239,70,88,.14),
    transparent 68%
  );

  filter:blur(18px);
}

.tt-social-proof-premium .tt-proof-item{
  position:relative;
  z-index:1;

  min-height:145px;
  padding:27px 18px 25px;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  text-align:center;

  border-right:1px solid rgba(239,70,88,.15);

  transition:
    background .3s ease,
    transform .3s ease,
    box-shadow .3s ease;
}

.tt-social-proof-premium .tt-proof-item:last-child{
  border-right:0;
}

.tt-social-proof-premium .tt-proof-item:before{
  content:"";
  position:absolute;
  left:50%;
  top:16px;

  width:42px;
  height:3px;

  border-radius:999px;

  background:linear-gradient(
    90deg,
    transparent,
    rgba(239,70,88,.42),
    transparent
  );

  transform:translateX(-50%);
  opacity:.7;
}

.tt-social-proof-premium .tt-proof-item:hover{
  background:rgba(255,255,255,.55);
  transform:translateY(-2px);
  box-shadow:inset 0 -3px 0 rgba(239,70,88,.14);
}

.tt-proof-value{
  display:block;

  color:#171515;

  font-size:28px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.025em;

  text-shadow:
    0 1px 0 #fff,
    0 7px 22px rgba(239,70,88,.08);
}

.tt-proof-secure{
  letter-spacing:.08em;
}

.tt-social-proof-premium .tt-proof-item span{
  display:block;
  margin-top:13px;

  color:#8a7778;

  font-size:9px;
  line-height:1.3;
  letter-spacing:.12em;
  text-transform:none;
}

.tt-proof-value.is-counting{
  animation:ttProofPop .42s ease both;
}

@keyframes ttProofShine{
  0%,45%{
    transform:translateX(-180%) rotate(20deg);
    opacity:0;
  }
  55%{
    opacity:1;
  }
  78%,100%{
    transform:translateX(520%) rotate(20deg);
    opacity:0;
  }
}

@keyframes ttProofPop{
  0%{
    opacity:.35;
    transform:translateY(7px) scale(.94);
  }
  65%{
    transform:translateY(-2px) scale(1.035);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@media(max-width:900px){
  .tt-social-proof-premium{
    margin:75px 0 90px;
  }

  .tt-proof-value{
    font-size:24px;
  }

  .tt-social-proof-premium .tt-proof-item span{
    font-size:8px;
  }
}

@media(max-width:640px){
  .tt-social-proof-premium{
    grid-template-columns:repeat(2,1fr);
    margin:60px 0 75px;
    border-radius:18px;
  }

  .tt-social-proof-premium .tt-proof-item{
    min-height:120px;
    padding:25px 12px 20px;
    border-right:1px solid rgba(239,70,88,.15);
    border-bottom:1px solid rgba(239,70,88,.15);
  }

  .tt-social-proof-premium .tt-proof-item:nth-child(2n){
    border-right:0;
  }

  .tt-social-proof-premium .tt-proof-item:nth-child(3),
  .tt-social-proof-premium .tt-proof-item:nth-child(4){
    border-bottom:0;
  }

  .tt-proof-value{
    font-size:23px;
  }

  .tt-social-proof-premium .tt-proof-item span{
    max-width:130px;
    margin-top:10px;
    font-size:7.5px;
    line-height:1.45;
  }

  .tt-social-proof-premium:before{
    animation-duration:6.5s;
  }
}

@media(max-width:390px){
  .tt-proof-value{
    font-size:21px;
  }

  .tt-social-proof-premium .tt-proof-item{
    min-height:112px;
  }

  .tt-social-proof-premium .tt-proof-item span{
    font-size:7px;
  }
}

@media(prefers-reduced-motion:reduce){
  .tt-social-proof-premium:before{
    animation:none;
  }

  .tt-proof-value.is-counting{
    animation:none;
  }
}

@media (min-width:641px){

  .tt-mobile-buy{
    position:fixed !important;
    z-index:99999 !important;

    left:50% !important;
    right:auto !important;
    bottom:24px !important;

    width:min(570px, calc(100vw - 48px)) !important;
    min-height:92px !important;

    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:20px !important;

    padding:10px 10px 10px 22px !important;

    overflow:hidden !important;

    border:1px solid rgba(255,255,255,.95) !important;
    border-radius:22px !important;

    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,.98),
        rgba(255,247,249,.98) 55%,
        rgba(255,255,255,.98)
      ) !important;

    box-shadow:
      0 28px 70px rgba(32,20,23,.18),
      0 8px 24px rgba(239,70,88,.10),
      inset 0 1px 0 rgba(255,255,255,1) !important;

    transform:
      translate(-50%, 150px)
      scale(.94) !important;

    opacity:0 !important;
    visibility:hidden !important;
    filter:blur(5px) !important;

    transition:
      transform .62s cubic-bezier(.16,1.35,.28,1),
      opacity .35s ease,
      filter .45s ease,
      visibility 0s linear .62s !important;
  }

  .tt-mobile-buy:before{
    content:"";
    position:absolute;
    z-index:-1;

    left:18%;
    right:18%;
    bottom:-55px;

    height:100px;

    border-radius:50%;

    background:rgba(239,70,88,.18);
    filter:blur(28px);
  }

  .tt-mobile-buy:after{
    content:"";
    position:absolute;
    z-index:3;

    top:-80%;
    left:-35%;

    width:24%;
    height:260%;

    pointer-events:none;

    background:
      linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.82),
        transparent
      );

    transform:rotate(20deg);
    opacity:0;
  }

  .tt-mobile-buy.is-visible{
    transform:
      translate(-50%, 0)
      scale(1) !important;

    opacity:1 !important;
    visibility:visible !important;
    filter:blur(0) !important;

    transition:
      transform .62s cubic-bezier(.16,1.35,.28,1),
      opacity .35s ease,
      filter .45s ease,
      visibility 0s linear 0s !important;
  }

  .tt-mobile-buy.is-visible:after{
    animation:ttStickyGloss 1.15s .28s ease-out forwards;
  }

  @keyframes ttStickyGloss{
    0%{
      left:-35%;
      opacity:0;
    }
    15%{
      opacity:.75;
    }
    100%{
      left:135%;
      opacity:0;
    }
  }

  .tt-mobile-buy > div{
    position:relative;
    z-index:4;

    min-width:0 !important;
    padding:5px 0 !important;

    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
    gap:7px !important;
  }

  .tt-mobile-buy strong{
    max-width:100% !important;

    overflow:hidden !important;
    white-space:nowrap !important;
    text-overflow:ellipsis !important;

    color:#2b2727 !important;

    font-size:12px !important;
    line-height:1.15 !important;
    font-weight:800 !important;

    letter-spacing:.055em !important;
  }

  .tt-mobile-buy span{
    color:#191717 !important;

    font-size:17px !important;
    line-height:1 !important;
    font-weight:850 !important;

    letter-spacing:.045em !important;
  }

  .tt-mobile-buy button{
    position:relative;
    z-index:4;

    min-width:160px !important;
    min-height:66px !important;

    padding:0 25px !important;

    overflow:hidden !important;

    border:0 !important;
    border-radius:15px !important;

    background:
      linear-gradient(
        135deg,
        #ff5267 0%,
        #ef4055 48%,
        #e9364e 100%
      ) !important;

    color:#fff !important;

    font-size:13px !important;
    line-height:1 !important;
    font-weight:800 !important;

    letter-spacing:.035em !important;
    text-transform:uppercase !important;

    cursor:pointer !important;

    box-shadow:
      0 10px 25px rgba(239,70,88,.25),
      inset 0 1px 0 rgba(255,255,255,.28) !important;

    transition:
      transform .22s ease,
      box-shadow .22s ease,
      filter .22s ease !important;
  }

  .tt-mobile-buy button:before{
    content:"";
    position:absolute;

    top:0;
    left:-100%;

    width:55%;
    height:100%;

    background:
      linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.35),
        transparent
      );

    transform:skewX(-20deg);

    transition:left .55s ease;
  }

  .tt-mobile-buy button:hover{
    transform:translateY(-2px) !important;

    filter:saturate(1.06) brightness(1.02);

    box-shadow:
      0 14px 32px rgba(239,70,88,.32),
      inset 0 1px 0 rgba(255,255,255,.32) !important;
  }

  .tt-mobile-buy button:hover:before{
    left:145%;
  }

  .tt-mobile-buy button:active{
    transform:translateY(0) scale(.985) !important;
  }

  .tt-mobile-buy button:disabled{
    opacity:.55 !important;
    filter:grayscale(.15);
    box-shadow:none !important;
  }

  .tt-mobile-buy > div:before{
    content:"QUICK CHECKOUT";

    display:block;

    margin-bottom:0;

    color:#ef4658;

    font-size:6px;
    line-height:1;
    font-weight:900;

    letter-spacing:.2em;
  }

}

@media (min-width:641px) and (max-width:900px){

  .tt-mobile-buy{
    width:min(520px, calc(100vw - 32px)) !important;
    bottom:16px !important;
    min-height:84px !important;
    border-radius:19px !important;
  }

  .tt-mobile-buy button{
    min-width:145px !important;
    min-height:59px !important;
    font-size:12px !important;
  }

  .tt-mobile-buy span{
    font-size:15px !important;
  }

}

@media (min-width:1200px){

  .tt-mobile-buy{
    width:590px !important;
    min-height:96px !important;
    padding-left:24px !important;
    border-radius:24px !important;
  }

  .tt-mobile-buy strong{
    font-size:12.5px !important;
  }

  .tt-mobile-buy span{
    font-size:18px !important;
  }

  .tt-mobile-buy button{
    min-width:168px !important;
    min-height:70px !important;
    border-radius:16px !important;
  }

}

@media (prefers-reduced-motion:reduce){

  .tt-mobile-buy,
  .tt-mobile-buy button,
  .tt-mobile-buy button:before{
    transition:none !important;
  }

  .tt-mobile-buy.is-visible:after{
    animation:none !important;
  }

}

.tt-price-row{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  margin:20px 0 18px;
  padding:18px 18px;

  border:1px solid rgba(239,70,88,.16);
  border-radius:16px;

  background:
    linear-gradient(
      135deg,
      #fff,
      #fff6f8 58%,
      #fff
    );

  box-shadow:
    0 10px 28px rgba(239,70,88,.07),
    inset 0 1px 0 rgba(255,255,255,.95);

  overflow:hidden;
}

.tt-price-row:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:4px;
  height:100%;
  background:linear-gradient(
    180deg,
    #ff6b7c,
    #ef4055
  );
}

.tt-price-row:after{
  content:"";
  position:absolute;
  width:110px;
  height:110px;
  right:-65px;
  top:-65px;
  border-radius:50%;
  background:rgba(239,70,88,.07);
}

.tt-price{
  position:relative;
  z-index:1;
  font-size:30px;
  font-weight:850;
  letter-spacing:-.035em;
  color:#171515;
}

.tt-compare{
  position:relative;
  z-index:1;
  font-size:14px;
  color:#a19b9a;
}

.tt-save{
  position:relative;
  z-index:1;
  margin-left:auto;
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
  background:#fff0f3;
  color:#df3048;
  border:1px solid rgba(239,70,88,.14);
  padding:7px 9px;
  border-radius:999px;
  font-weight:800;
}

.tt-trust-mini{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
  margin-top:12px;
}

.tt-trust-mini span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 7px;

  border:1px solid #eee8e6;
  border-radius:10px;

  background:#fff;

  color:#746e6b;
  font-size:8px;
  line-height:1.2;
  text-align:center;
  letter-spacing:.025em;

  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.tt-trust-mini span:hover{
  transform:translateY(-2px);
  border-color:rgba(239,70,88,.22);
  box-shadow:0 8px 18px rgba(239,70,88,.07);
}

.tt-trust-mini span::first-letter{
  color:#ef4658;
}

.tt-delivery-card{
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;

  margin-top:14px;
  padding:16px 17px;

  border:1px solid rgba(239,70,88,.14);
  border-radius:16px;

  background:
    linear-gradient(
      135deg,
      #fff,
      #fff8f9
    );

  box-shadow:
    0 10px 24px rgba(40,25,25,.055),
    inset 0 1px 0 rgba(255,255,255,.95);

  overflow:hidden;
}

.tt-delivery-card:after{
  content:"";
  position:absolute;
  top:-35px;
  right:-35px;
  width:95px;
  height:95px;
  border-radius:50%;
  background:rgba(239,70,88,.055);
}

.tt-delivery-icon{
  position:relative;
  z-index:1;
  flex:0 0 42px;

  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  border-radius:13px;

  background:
    linear-gradient(
      135deg,
      #fff1f3,
      #ffe4e8
    );

  border:1px solid rgba(239,70,88,.13);

  color:#ef4658;

  font-size:18px;

  box-shadow:
    0 7px 18px rgba(239,70,88,.10);
}

.tt-delivery-card div:last-child{
  position:relative;
  z-index:1;

  display:flex;
  flex-direction:column;
  gap:5px;

  min-width:0;

  font-size:12px;
}

.tt-delivery-card strong{
  color:#282323;
  font-size:12px;
  font-weight:800;
  letter-spacing:.025em;
}

.tt-delivery-card span{
  color:#77706e;
  font-size:10px;
  line-height:1.5;
}








@media(min-width:1100px){
  .tt-price-row{
    padding:20px 20px;
  }

  .tt-price{
    font-size:31px;
  }

  .tt-delivery-card{
    padding:17px 18px;
  }

}

@media(max-width:640px){

  .tt-price-row{
    margin:16px 0 14px;
    padding:15px 14px;
    border-radius:14px;
  }

  .tt-price{
    font-size:25px;
  }

  .tt-compare{
    font-size:12px;
  }

  .tt-save{
    font-size:7px;
    padding:6px 7px;
  }

  .tt-trust-mini{
    gap:5px;
  }

  .tt-trust-mini span{
    min-height:32px;
    padding:7px 4px;
    font-size:7px;
  }

  .tt-delivery-card{
    gap:11px;
    margin-top:12px;
    padding:14px 13px;
    border-radius:14px;
  }

  .tt-delivery-icon{
    flex-basis:38px;
    width:38px;
    height:38px;
    border-radius:11px;
    font-size:16px;
  }

  .tt-delivery-card strong{
    font-size:10px;
  }

  .tt-delivery-card span{
    font-size:8.5px;
  }


}

@media(max-width:390px){

  .tt-price{
    font-size:23px;
  }

  .tt-save{
    font-size:6.5px;
  }

  .tt-trust-mini span{
    font-size:6.5px;
  }

}

.tt-price-row{
  position:relative !important;

  display:flex !important;
  align-items:baseline !important;
  gap:12px !important;

  margin:22px 0 16px !important;
  padding:0 !important;

  border:0 !important;
  border-radius:0 !important;

  background:transparent !important;
  box-shadow:none !important;

  overflow:visible !important;
}

.tt-price-row:before,
.tt-price-row:after{
  display:none !important;
  content:none !important;
}

.tt-price{
  position:relative !important;
  z-index:1 !important;

  margin:0 !important;

  color:#171515 !important;

  font-size:30px !important;
  line-height:1 !important;
  font-weight:750 !important;
  letter-spacing:-.035em !important;
}

.tt-compare{
  position:relative !important;
  z-index:1 !important;

  margin:0 !important;

  color:#a09a98 !important;

  font-size:14px !important;
  line-height:1 !important;
  font-weight:500 !important;
  text-decoration:line-through !important;
}

.tt-save{
  position:relative !important;
  z-index:1 !important;

  margin:0 0 0 2px !important;

  padding:0 !important;

  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;

  color:#ef4658 !important;

  font-size:9px !important;
  line-height:1 !important;
  font-weight:800 !important;

  letter-spacing:.09em !important;
  text-transform:uppercase !important;
}

.tt-price-row{
  padding-bottom:13px !important;
}

.tt-price-row .tt-price:after{
  content:"";
  position:absolute;

  left:0;
  bottom:-13px;

  width:32px;
  height:2px;

  border-radius:99px;

  background:#ef4658;
}

@media(max-width:640px){

  .tt-price-row{
    align-items:baseline !important;
    gap:9px !important;
    margin:17px 0 14px !important;
    padding-bottom:11px !important;
  }

  .tt-price{
    font-size:26px !important;
  }

  .tt-compare{
    font-size:12px !important;
  }

  .tt-save{
    font-size:7px !important;
  }

  .tt-price-row .tt-price:after{
    bottom:-11px;
    width:27px;
    height:2px;
  }
}

@media(max-width:390px){

  .tt-price{
    font-size:24px !important;
  }

  .tt-compare{
    font-size:11px !important;
  }

  .tt-save{
    font-size:6.5px !important;
  }
}

.tt-annotated-stage{
  position:relative !important;
  background:#fff !important;
  color:#171515 !important;

  min-height:620px !important;
  height:620px !important;

  border-radius:22px !important;
  border:1px solid #eee9e7 !important;

  box-shadow:0 18px 45px rgba(25,20,18,.06) !important;
}

.tt-stage-brand{
  color:#171515 !important;
}

.tt-stage-meta,
.tt-stage-meta span{
  color:#171515 !important;
}

.tt-stage-meta i{
  background:#171515 !important;
}

.tt-stage-product img,
.tt-stage-product svg{
  filter:drop-shadow(8px 14px 12px rgba(30,20,16,.12)) !important;
}

.tt-annotation-copy strong{
  color:#171515 !important;
}

.tt-annotation-copy span{
  color:#716b68 !important;
}

.tt-annotation-line{
  background:#171515 !important;
}

.tt-annotation-line b{
  background:#171515 !important;
  border-color:#171515 !important;
}

.tt-stage-caption{
  color:#171515 !important;
}

.tt-stage-caption span{
  color:#77716e !important;
}

.tt-stage-caption b{
  color:#171515 !important;
}

@media(min-width:901px){

  .tt-annotated-stage{
    min-height:590px !important;
    height:590px !important;
  }

  .tt-stage-product{
    width:48% !important;
    max-width:650px !important;
    height:480px !important;
  }

  .tt-stage-brand{
    top:27px !important;
    left:36px !important;
  }

  .tt-stage-meta{
    top:27px !important;
    right:36px !important;
  }

  .tt-stage-caption{
    left:36px !important;
    bottom:28px !important;
  }

  .tt-annotation-copy strong{
    font-size:11px !important;
  }

  .tt-annotation-copy span{
    font-size:8px !important;
  }

  .tt-annotation-line{
    height:1px !important;
  }
}

@media(max-width:900px) and (min-width:641px){

  .tt-annotated-stage{
    min-height:540px !important;
    height:540px !important;
  }

  .tt-stage-product{
    width:48% !important;
    height:430px !important;
  }
}

@media(max-width:640px){

  .tt-annotated-stage{
    min-height:0 !important;
    height:auto !important;

    background:#fff !important;
    border:1px solid #eee9e7 !important;
    border-radius:18px !important;

    box-shadow:0 12px 30px rgba(25,20,18,.055) !important;
  }

  .tt-stage-brand{
    color:#171515 !important;
  }

  .tt-stage-meta span{
    color:#171515 !important;
  }

  .tt-stage-meta i{
    background:#171515 !important;
  }

  .tt-annotation-copy{
    background:#fff !important;
    border:1px solid #e6e1df !important;
    box-shadow:0 5px 14px rgba(30,20,16,.035) !important;
  }

  .tt-annotation-copy strong{
    color:#171515 !important;
    font-size:9px !important;
  }

  .tt-annotation-copy span{
    color:#77716e !important;
    font-size:7px !important;
  }

  .tt-stage-caption{
    border-top:1px solid #e4dfdc !important;
  }

  .tt-stage-caption span{
    color:#77716e !important;
  }

  .tt-stage-caption b{
    color:#171515 !important;
  }
}

@media(max-width:390px){

  .tt-annotation-copy strong{
    font-size:8.5px !important;
  }

  .tt-annotation-copy span{
    font-size:6.7px !important;
  }
}

</style>




<style>
/* =========================================================
   APP / YAKI PRODUCT-FORM COMPATIBILITY
   These hooks do not create a fake bundle widget. They expose the
   standard Shopify product-form structure that app embeds can detect.
   ========================================================= */
.tt-app-product-target{
  width:100%;
  min-height:0;
  margin:0;
  padding:0;
}

.tt-form.product-form{
  width:100%;
}

.tt-form.product-form .tt-add{
  -webkit-appearance:none;
  appearance:none;
}

.tt-app-blocks.tt-yaki-app-area{
  width:100%;
  margin:14px 0 8px;
  box-sizing:border-box;
}

.tt-app-blocks.tt-yaki-app-area > *,
.tt-pumper-app-area > *{
  width:100%;
  box-sizing:border-box;
}

.tt-app-blocks.tt-yaki-app-area .shopify-block{
  width:100%;
  margin:0 0 10px;
}

@media(max-width:640px){
  .tt-app-blocks.tt-yaki-app-area{
    margin:12px 0 7px;
  }
}
</style>

<style>
/* =========================================================
   ORDER TIMELINE — VISIBLE CONNECTING LINES
   Design-only. No cart/date functionality changed.
   ========================================================= */

.tt-order-progress__track{
  position:relative !important;
  overflow:visible !important;
}

/* One continuous line running between the 3 icon centers */
.tt-order-progress__line{
  display:block !important;
  position:absolute !important;
  z-index:0 !important;

  top:28px !important;
  left:16.6667% !important;
  right:16.6667% !important;

  width:auto !important;
  height:3px !important;
  min-height:3px !important;

  margin:0 !important;
  padding:0 !important;

  background:#ef4358 !important;
  border:0 !important;
  border-radius:999px !important;

  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}

/* Keep every circle above the line */
.tt-order-step,
.tt-order-step__icon{
  position:relative !important;
}

.tt-order-step{
  z-index:2 !important;
}

.tt-order-step__icon{
  z-index:3 !important;
}

/* Small white separation around circles makes the connection clean */
.tt-order-step__icon:after{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:-1;
  border-radius:50%;
  background:#fff;
}

@media(min-width:1100px){
  .tt-order-progress__line{
    top:29px !important;
    height:3px !important;
    min-height:3px !important;
  }
}

@media(max-width:640px){
  .tt-order-progress__line{
    top:25px !important;
    left:16.6667% !important;
    right:16.6667% !important;
    height:2px !important;
    min-height:2px !important;
  }
}

@media(max-width:390px){
  .tt-order-progress__line{
    top:23px !important;
  }
}
</style>


<style>
/* FINAL ICON VISIBILITY FIX — connecting line stays behind icons */
.tt-order-step__icon{
  position:relative !important;
  z-index:5 !important;
  background:#ef4358 !important;
  color:#fff !important;
}

.tt-order-step__icon:after{
  display:none !important;
  content:none !important;
}

.tt-order-step__icon svg{
  position:relative !important;
  z-index:6 !important;
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:27px !important;
  height:27px !important;
  fill:none !important;
  stroke:#fff !important;
  color:#fff !important;
}

.tt-order-progress__line{
  z-index:1 !important;
  background:#ef4358 !important;
  opacity:1 !important;
  visibility:visible !important;
}

@media(max-width:640px){
  .tt-order-step__icon svg{
    width:23px !important;
    height:23px !important;
  }
}

@media(max-width:390px){
  .tt-order-step__icon svg{
    width:21px !important;
    height:21px !important;
  }
}
</style>


<style>
/* FINAL TYPOGRAPHY POLISH — trust strip + product description only */

/* Trust strip: make it prominent */
.tt-trust-mini{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
  width:100% !important;
  margin:16px 0 14px !important;
  padding:0 !important;
  color:#292525 !important;
  font-size:11px !important;
}

.tt-trust-mini span{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  padding:9px 10px !important;
  box-sizing:border-box !important;

  border:1px solid #e9e2e0 !important;
  border-radius:12px !important;
  background:linear-gradient(180deg,#fff,#fffafa) !important;

  color:#4f4947 !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:600 !important;
  letter-spacing:.015em !important;
  text-align:center !important;

  box-shadow:0 5px 14px rgba(35,24,21,.045) !important;
}

.tt-trust-mini span::first-letter{
  color:var(--tt-accent) !important;
}

/* Product description: readable premium size */
.tt-richtext{
  font-size:15px !important;
  line-height:1.75 !important;
  color:#4f4947 !important;
  padding:0 0 20px !important;
  font-weight:400 !important;
  letter-spacing:.005em !important;
}

.tt-richtext p{
  margin:0 0 14px !important;
}

.tt-richtext p:last-child{
  margin-bottom:0 !important;
}

.tt-richtext h1,
.tt-richtext h2,
.tt-richtext h3,
.tt-richtext h4{
  color:#171515 !important;
  line-height:1.3 !important;
  margin:0 0 10px !important;
  font-weight:700 !important;
}

.tt-richtext h2{font-size:21px !important;}
.tt-richtext h3{font-size:18px !important;}
.tt-richtext h4{font-size:16px !important;}

.tt-richtext ul,
.tt-richtext ol{
  margin:0 0 14px 20px !important;
  padding:0 !important;
}

.tt-richtext li{
  margin:0 0 7px !important;
}

.tt-richtext a{
  color:var(--tt-accent) !important;
  text-decoration:underline !important;
  text-underline-offset:2px !important;
}

/* Mobile */
@media(max-width:640px){
  .tt-trust-mini{
    gap:6px !important;
    margin:14px 0 12px !important;
  }

  .tt-trust-mini span{
    min-height:40px !important;
    padding:8px 6px !important;
    border-radius:11px !important;
    font-size:10px !important;
  }

  .tt-richtext{
    font-size:14px !important;
    line-height:1.7 !important;
    padding-bottom:18px !important;
  }

  .tt-richtext h2{font-size:19px !important;}
  .tt-richtext h3{font-size:17px !important;}
  .tt-richtext h4{font-size:15px !important;}
}

/* Very small screens */
@media(max-width:390px){
  .tt-trust-mini span{
    font-size:9px !important;
    padding-left:4px !important;
    padding-right:4px !important;
  }

  .tt-richtext{
    font-size:13.5px !important;
  }
}
</style>


<style>
/* Premium visible product color disclaimer */
.tt-color-note{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  box-sizing:border-box;
  margin:14px 0 10px;
  padding:12px 14px;
  border:1px solid #f0d9dc;
  border-radius:12px;
  background:linear-gradient(135deg,#fff8f9 0%,#fff 100%);
  color:#4d4745;
  box-shadow:0 5px 16px rgba(239,67,88,.06);
}

.tt-color-note__icon{
  flex:0 0 28px;
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  border-radius:50%;
  border:1.5px solid var(--tt-accent);
  color:var(--tt-accent);
  font-family:Georgia,serif;
  font-size:16px;
  font-weight:700;
  line-height:1;
}

.tt-color-note__copy{
  min-width:0;
}

.tt-color-note__copy strong{
  display:block;
  margin:0 0 3px;
  color:#252120;
  font-size:10px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.12em;
}

.tt-color-note__copy p{
  margin:0 !important;
  color:#5f5957 !important;
  font-size:12px !important;
  line-height:1.45 !important;
  font-weight:500 !important;
  letter-spacing:.005em !important;
}

@media(max-width:640px){
  .tt-color-note{
    gap:10px;
    margin:12px 0 9px;
    padding:11px 12px;
    border-radius:11px;
  }

  .tt-color-note__icon{
    flex-basis:27px;
    width:27px;
    height:27px;
    font-size:15px;
  }

  .tt-color-note__copy strong{
    font-size:9px;
  }

  .tt-color-note__copy p{
    font-size:11px !important;
    line-height:1.45 !important;
  }
}

@media(max-width:390px){
  .tt-color-note{
    padding:10px 11px;
  }

  .tt-color-note__copy p{
    font-size:10.5px !important;
  }
}
</style>


<style>
/* =========================================================
   PROFIT PUMPER / PUMPER BUNDLES APP BLOCK
   Keep the app block in the buying flow, above Add to Cart.
   ========================================================= */
.tt-pumper-app-area{
  display:block;
  width:100%;
  margin:0 0 16px;
  position:relative;
  z-index:10;
  clear:both;
}
.tt-pumper-app-area > *,
.tt-pumper-app-area .shopify-block{
  width:100%;
  max-width:100%;
  margin-left:0;
  margin-right:0;
}
</style>
<style>
/* FINAL SECTION SPACING FIX — remove excessive vertical gaps between standalone PDP sections */
.tt-product.tt-standalone-section{
  margin:0 !important;
  padding:0 !important;
}

.tt-product.tt-standalone-section > .tt-shell{
  padding-top:0 !important;
  padding-bottom:40px !important;
}

/* Reset the large top/bottom margins that were creating the oversized whitespace. */
.tt-product.tt-standalone-section .tt-social-proof-premium{
  margin:30px 0 40px !important;
}

.tt-product.tt-standalone-section .tt-annotated-story{
  margin:30px 0 40px !important;
}

.tt-product.tt-standalone-section .tt-brand-story{
  margin:30px 0 40px !important;
}

.tt-product.tt-standalone-section .tt-media-strip{
  margin:30px 0 40px !important;
}

.tt-product.tt-standalone-section .tt-reviews{
  margin:30px 0 40px !important;
}

.tt-product.tt-standalone-section .tt-recommendations{
  margin:30px 0 10px !important;
}

/* Keep the first visible content of every standalone section close to the previous section. */
.tt-product.tt-standalone-section .tt-section-head,
.tt-product.tt-standalone-section .tt-story-header,
.tt-product.tt-standalone-section .tt-annotated-intro{
  margin-top:0 !important;
}

@media(max-width:640px){
  .tt-product.tt-standalone-section > .tt-shell{
    padding-top:0 !important;
    padding-bottom:28px !important;
  }

  .tt-product.tt-standalone-section .tt-social-proof-premium,
  .tt-product.tt-standalone-section .tt-annotated-story,
  .tt-product.tt-standalone-section .tt-brand-story,
  .tt-product.tt-standalone-section .tt-media-strip,
  .tt-product.tt-standalone-section .tt-reviews{
    margin-top:20px !important;
    margin-bottom:28px !important;
  }

  .tt-product.tt-standalone-section .tt-recommendations{
    margin-top:20px !important;
    margin-bottom:0 !important;
  }
}
</style>


<style>
/* FINAL PRODUCT PANEL SCROLL + COLOR NOTE SPACING FIX */
@media (min-width: 990px){
  #TTProduct-{{ section.id }} .tt-product-info-column{
    overscroll-behavior: contain;
    scroll-behavior: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Prevent the note from being pulled into the payment button by app/theme styles. */
  #TTProduct-{{ section.id }} .tt-block-color-note{
    display:block !important;
    position:relative;
    clear:both;
    margin-top:14px !important;
    padding-top:1px;
    z-index:2;
  }

  #TTProduct-{{ section.id }} .tt-block-color-note .tt-color-note{
    position:relative;
    z-index:3;
    margin-top:0 !important;
  }

  #TTProduct-{{ section.id }} .tt-buy-now{
    position:relative;
    z-index:1;
    margin-bottom:2px;
  }
}

#TTProduct-{{ section.id }} .tt-color-note{
  position:relative;
  isolation:isolate;
}

@media (max-width: 989px){
  #TTProduct-{{ section.id }} .tt-block-color-note{
    display:block !important;
    position:relative;
    clear:both;
    margin-top:14px !important;
  }
}
</style>
