/* Apple Design refinements: instant feedback, measured hierarchy, and accessible materials. */
:root{
  --apple-settle:cubic-bezier(.22,.75,.24,1);
  --apple-press:cubic-bezier(.2,.85,.25,1);
}
body{
  font-optical-sizing:auto;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-optical-sizing:auto;
  text-wrap:balance;
}
#home h1,.section-head h2,.physical-page h1,.price-card h2,.faq h2{
  letter-spacing:-.035em;
}
.hero-copy>p,.section-desc,.feature p,.step p,.faq details p{
  line-height:1.72;
}
header{
  background:linear-gradient(180deg,rgba(17,7,14,.9),rgba(17,7,14,.74));
  -webkit-backdrop-filter:blur(22px) saturate(145%);
  backdrop-filter:blur(22px) saturate(145%);
  box-shadow:0 1px 0 rgba(255,221,237,.08),0 14px 34px rgba(0,0,0,.14);
}
.nav nav a,.btn,.filter,.arrow,.bag-button,.segmented button,.format-switch,.tile,.physical-product,.swatches button,.promo-card{
  transition-timing-function:var(--apple-settle);
}
.nav nav a:focus-visible,.btn:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:2px solid #ffd4e5;
  outline-offset:3px;
}
.btn{
  transition:transform .34s var(--apple-settle),box-shadow .34s var(--apple-settle),filter .2s ease,background-color .25s ease;
}
.btn:active,.arrow:active,.filter:active,.bag-button:active,.segmented button:active,.format-switch:active,.text-link:active{
  transform:scale(.975);
  filter:brightness(1.08);
  transition-duration:110ms;
}
.btn.primary:active{box-shadow:inset 0 2px 8px rgba(45,5,25,.25),0 3px 12px rgba(233,75,139,.2)}
.tile,.physical-product{
  transition:transform .38s var(--apple-settle),border-color .3s ease,box-shadow .38s var(--apple-settle),background-color .3s ease;
}
.tile:active,.physical-product:active{transform:scale(.985)}
.swatches button{
  transition:transform .36s var(--apple-settle),box-shadow .36s var(--apple-settle),border-color .25s ease;
  scroll-snap-stop:always;
}
.hero-showcase .device{
  transition:filter .38s ease;
  will-change:transform;
}
.hero-showcase .device-float{animation-duration:8.4s}
.hero-showcase .selected-card{
  transition:transform .42s var(--apple-settle),filter .38s ease,box-shadow .38s ease;
}
.segmented,.tile,.filter:not(.active),.format-switch{
  -webkit-backdrop-filter:blur(14px) saturate(135%);
  backdrop-filter:blur(14px) saturate(135%);
}
.segmented{box-shadow:0 12px 34px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.08)}
.tile:hover,.physical-product:hover{box-shadow:0 18px 38px rgba(0,0,0,.26),0 0 0 1px rgba(244,117,168,.18)}
.promo-card{transition:transform .5s var(--apple-settle),box-shadow .45s var(--apple-settle)}
@media(prefers-reduced-motion:reduce){
  .btn,.tile,.physical-product,.swatches button,.promo-card,.hero-showcase .device,.hero-showcase .selected-card{
    transition-duration:.01ms!important;
    animation:none!important;
    will-change:auto;
  }
  .btn:active,.arrow:active,.filter:active,.bag-button:active,.segmented button:active,.format-switch:active,.text-link:active,
  .tile:active,.physical-product:active{transform:none}
}
@media(prefers-reduced-transparency:reduce){
  header{background:#170a13;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 1px 0 #ffffff35}
  .segmented{background:#1c0b15;backdrop-filter:none;-webkit-backdrop-filter:none}
  .tile,.filter:not(.active),.format-switch{background:#24101d;backdrop-filter:none;-webkit-backdrop-filter:none}
}
@media(prefers-contrast:more){
  .nav nav a,.tile,.physical-product,.segmented,.filter,.format-switch{border-color:#f7c5dc88}
  .hero-copy>p,.section-desc,.feature p,.step p,.faq details p,.small-copy{color:#f2dce7}
  .btn:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:#fff;outline-width:3px}
}
.nav nav a:active,.tile button:active,.swatches button:active{transform:scale(.975);opacity:.86;transition-duration:110ms}
@media(prefers-reduced-motion:reduce){.nav nav a:active,.tile button:active,.swatches button:active{transform:none}}
