/* The phone layout has one dedicated image composition and one navigation bar. */
.hero-picture{display:block;position:absolute;inset:0;width:100%;height:100%}
.mobile-menu-trigger,.mobile-buy-bar{display:none}

@media(max-width:600px){
  html{scroll-padding-top:calc(82px + env(safe-area-inset-top))}
  body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
  .global-nav{position:sticky;top:0;z-index:20;height:calc(60px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 18px 0 20px;background:#ffffffed;backdrop-filter:blur(18px);border-bottom:1px solid #1d1d1f0d;gap:6px;max-width:none}
  .global-nav>.brand{margin-right:auto;min-height:44px}
  .global-nav>span{display:none}
  .brand-symbol{width:30px;height:30px}
  .brand-word{font-size:21px;gap:6px}
  .brand-one{font-size:10px;letter-spacing:1.3px}
  .cart-trigger{min-width:44px;min-height:44px;gap:4px}
  .cart-trigger svg{width:22px;height:22px}
  .cart-count{font-size:11px}
  .mobile-menu-trigger{display:grid;place-items:center;width:44px;height:44px;background:transparent;padding:0;flex-shrink:0}
  .product-nav{display:none}
  .section-shell{padding-left:24px;padding-right:24px}
  .hero{height:calc(100svh - 60px - env(safe-area-inset-top));min-height:610px;background:#fbfdff}
  .hero-media{height:100%;width:100%;background:#fbfdff}
  .hero-media .hero-picture>#hero-image{display:block;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center;transform:none;margin:0;filter:none}
  .hero-media>#hero-video,.hero-media>[data-toggle-video]{display:none!important}
  .hero-media::before{content:'';position:absolute;inset:0 0 auto;height:25%;background:linear-gradient(#fff 38%,#ffffff00);z-index:1;pointer-events:none}
  .hero-media::after{height:31%;background:linear-gradient(180deg,#ffffff00,#fffffff2 63%,#fff);z-index:1}
  .hero-caption{position:absolute;inset:0;margin:0;padding:0;background:transparent;display:block}
  .hero-caption>div:first-child{display:contents}
  .hero .overline{position:absolute;left:24px;right:24px;top:32px;text-align:center;font-size:10px;letter-spacing:1.8px;color:#515154}
  .hero h1{position:absolute;top:54px;left:14px;right:14px;margin:0;text-align:center;font-size:clamp(51px,14.2vw,64px);line-height:1.04;letter-spacing:-3.4px;white-space:nowrap}
  .hero-subtitle{position:absolute;left:24px;right:24px;bottom:155px;margin:0;font-size:clamp(20px,5.55vw,24px);font-weight:550;line-height:1.25;letter-spacing:-.65px;text-align:center}
  .hero-cta{position:absolute;bottom:27px;left:24px;right:24px;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:none}
  .hero-cta .button{min-height:52px;padding:0 12px;font-size:16px;width:100%}
  .hero-cta>span{grid-column:1/-1;text-align:center;margin:2px 0 0;font-size:12px;line-height:1.5;color:#616166}
  .manifesto{padding-top:86px;padding-bottom:90px}
  .manifesto h2{font-size:clamp(43px,12.4vw,55px);letter-spacing:-2.7px;line-height:1.06}
  .manifesto>p:last-child{font-size:20px;line-height:1.5}
  .reveal-section{min-height:720px;height:115svh}
  .reveal-sticky{height:calc(100svh - 60px - env(safe-area-inset-top));min-height:620px;top:calc(60px + env(safe-area-inset-top));justify-content:center}
  .reveal-copy{margin:0;padding:0 24px}
  .reveal-copy h2{font-size:clamp(34px,9.8vw,43px);letter-spacing:-1.9px;line-height:1.08}
  .reveal-product{width:100%;max-width:none;margin:64px 0 50px;transform:none!important;padding:0 3px}
  .reveal-footnote{font-size:12px;bottom:32px;left:24px;right:24px}
  .play-section{padding-top:85px}
  .play-heading{padding-bottom:48px}
  .play-heading h2{font-size:clamp(76px,21vw,94px);letter-spacing:-5.4px;line-height:.96}
  .play-heading>p:last-child{font-size:22px;line-height:1.4}
  .portal-preview{height:calc(100svh - 60px);min-height:650px;max-height:900px}
  .portal-content{left:24px;right:24px;bottom:46px;max-width:none}
  .portal-content h3{font-size:clamp(43px,12.4vw,56px);letter-spacing:-2.6px}
  .portal-content>p{font-size:20px;line-height:1.4;letter-spacing:-.4px}
  .portal-enter{min-height:54px;padding:0 24px;font-size:16px}
  .portal-disclaimer{font-size:12px;max-width:300px;line-height:1.5}
  .media-pause{right:20px;top:20px;min-width:46px;min-height:46px;width:46px;height:46px}
  .visual-note{font-size:12px;line-height:1.6}
  .systems-section{padding-top:82px;padding-bottom:74px}
  .systems-heading h2{font-size:clamp(42px,12vw,52px);letter-spacing:-2.3px;line-height:1.06}
  .systems-heading>p{font-size:19px;line-height:1.5}
  .system-selector{margin:30px -24px 24px;padding:0 24px 5px;overflow-x:auto;flex-wrap:nowrap;scroll-snap-type:x proximity;scrollbar-width:none;gap:8px}
  .system-selector::-webkit-scrollbar{display:none}
  .system-selector button{flex:0 0 auto;scroll-snap-align:center;min-height:46px;padding:0 20px;font-size:14px}
  .system-panel{margin:0 -24px;border-radius:0}
  .system-art{min-height:330px;height:47svh;max-height:440px}
  .system-art>span{font-size:clamp(60px,17vw,78px);letter-spacing:-3px}
  .pixel-sun{height:150px;width:150px;top:16%}
  .system-copy{padding:32px 24px 35px}
  .system-status{font-size:12px;letter-spacing:0}
  .system-copy h3{font-size:31px;line-height:1.1;letter-spacing:-1.2px}
  .system-copy>p:not(.system-status):not(.system-detail){font-size:17px}
  .system-detail{font-size:13px}
  .catalogue-note{padding-top:27px;margin-top:28px}
  .catalogue-note>p{font-size:16px}
  .catalogue-note>.catalogue-small{font-size:12px;line-height:1.7}
  .gift-section{padding-top:78px;padding-bottom:88px}
  .section-intro h2{font-size:clamp(46px,13vw,59px);letter-spacing:-2.7px;line-height:1.04}
  .section-intro>p:last-child:not(.overline){font-size:20px;line-height:1.5}
  .gift-media{margin:40px -24px 0;height:calc(100svh - 60px);min-height:560px;max-height:860px;aspect-ratio:auto;border-radius:0}
  .gift-media>img,.gift-media>video{object-fit:cover;object-position:51% center}
  .gift-section>.visual-note{margin-top:20px}
  .design-section{padding-top:83px;padding-bottom:83px}
  .design-section .section-intro{padding:0 24px}
  .design-section .section-intro h2{font-size:clamp(43px,12.2vw,55px);letter-spacing:-2.6px}
  .macro-media{height:65svh;min-height:400px;max-height:640px;margin-top:45px}
  .macro-media img{transform:scale(1.15) translateX(14%);object-fit:cover;object-position:28% center}
  .design-copy{padding:0 24px;margin-top:35px}
  .design-copy h3{font-size:32px;line-height:1.14}
  .design-copy p{font-size:20px;line-height:1.5}
  .feature-story{padding-top:84px;padding-bottom:85px;gap:30px}
  .feature-story h2{font-size:clamp(38px,10.6vw,47px);letter-spacing:-2px;line-height:1.08}
  .feature-copy>p:first-child{font-size:19px;line-height:1.6}
  .spec-note{font-size:13px;line-height:1.65}
  .purchase-section{padding-top:74px;padding-bottom:75px}
  .purchase-heading h2{font-size:60px;line-height:1.06;letter-spacing:-3px}
  .purchase-heading>p:last-child{font-size:22px}
  .purchase-grid{margin-top:12px;gap:0}
  .purchase-image{margin:0 -24px;width:calc(100% + 48px);height:52svh;min-height:330px;max-height:470px;position:static;background:radial-gradient(ellipse at 50% 54%,#fff 0,#fff0 66%);padding:0 6px}
  .purchase-image>img{width:100%;height:auto;max-width:none}
  .purchase-info{border-radius:22px;background:#fff;padding:28px 22px 24px;box-shadow:0 5px 30px #1d1d1f04}
  .purchase-info h3{font-size:29px;letter-spacing:-1px}
  .purchase-info>p:first-of-type{font-size:14px;line-height:1.5}
  .finish{font-size:14px;margin-top:23px}
  .price{margin:23px 0}
  .price strong{font-size:39px;letter-spacing:-1.5px}
  .price>span{font-size:13px}
  .buy-button{min-height:56px;font-size:17px}
  .purchase-note{font-size:13px;line-height:1.65;margin-top:17px}
  .purchase-trust{gap:8px;padding-top:25px}
  .purchase-trust button{font-size:12px;min-height:76px;padding:5px 0;gap:10px;line-height:1.45}
  .delivery-info{gap:12px;padding:24px 0}
  .delivery-info p{font-size:14px;line-height:1.65}
  .package-details summary{min-height:64px;font-size:14px}
  .package-details dl>div{font-size:13px;gap:12px}
  .package-details>p{font-size:14px}
  .confidence-section{padding-top:80px;padding-bottom:10px}
  .confidence-section h2{font-size:46px;letter-spacing:-2px}
  .confidence-intro{font-size:20px;line-height:1.5}
  .confidence-list article{padding:29px 0}
  .confidence-list h3{font-size:22px;line-height:1.2}
  .confidence-list p{font-size:16px;line-height:1.7}
  .text-link{min-height:44px;display:inline-flex;align-items:center;font-size:15px;margin-top:10px;padding:6px 0}
  .faq-section{padding-top:74px;padding-bottom:82px}
  .faq-section h2{font-size:44px;letter-spacing:-2px}
  .faq-list summary{font-size:16px;min-height:76px;gap:18px}
  .faq-list details>p{font-size:16px;line-height:1.7}
  .closing-section{padding:78px 24px 88px}
  .closing-section h2{font-size:clamp(43px,12.3vw,54px);letter-spacing:-2.7px}
  .closing-section .button{min-height:54px}
  .site-footer{padding-top:35px;padding-bottom:38px;gap:25px}
  .footer-small{font-size:12px;line-height:1.7}
  .footer-links{gap:20px}
  .footer-links button{font-size:14px;min-height:48px}
  .mobile-buy-bar{display:flex;position:fixed;z-index:15;left:0;right:0;bottom:0;align-items:center;justify-content:space-between;gap:16px;padding:13px 24px calc(13px + env(safe-area-inset-bottom));border-top:1px solid #d2d2d777;background:#ffffffed;backdrop-filter:blur(20px);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(100%);transition:transform 200ms var(--ease-out),opacity 180ms ease,visibility 200ms}
  .mobile-buy-bar.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
  .mobile-buy-bar>div{display:flex;flex-direction:column;gap:5px;white-space:nowrap}
  .mobile-buy-bar strong{font-size:15px;font-weight:650;letter-spacing:-.4px}
  .mobile-buy-bar>div>span{font-size:11px;color:#616166}
  .mobile-buy-bar .button{min-height:48px;font-size:14px;padding:0 20px;background:var(--blue);gap:13px}
  body:has(dialog[open]) .mobile-buy-bar{display:none}
  .cart-dialog{width:100%;padding:calc(22px + env(safe-area-inset-top)) 24px calc(30px + env(safe-area-inset-bottom));scroll-padding-top:20px}
  .cart-dialog .dialog-heading h2{font-size:24px;line-height:1.15}
  .cart-checkout{min-height:54px;font-size:15px}
  .cart-item{grid-template-columns:85px 1fr;gap:18px}
  .cart-item h3{font-size:18px}
  .cart-item p{font-size:13px;line-height:1.5}
  .menu-dialog{margin:auto 10px calc(10px + env(safe-area-inset-bottom));width:calc(100% - 20px);max-width:calc(100% - 20px);padding:28px 24px;border-radius:24px;max-height:calc(100dvh - 30px - env(safe-area-inset-top))}
  .menu-dialog nav a:not(.button){min-height:58px;font-size:25px}
  .menu-dialog nav .button{min-height:54px}
  .product-dialog{margin:0;padding:calc(78px + env(safe-area-inset-top)) 0 calc(35px + env(safe-area-inset-bottom));width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0}
  .product-dialog[open]{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:30px}
  .product-dialog .close-dialog{top:calc(18px + env(safe-area-inset-top));right:20px}
  .product-dialog h2{font-size:27px;line-height:1.2;margin:0 24px;text-align:center}
  .product-dialog img{width:100%;margin:15px 0}
  .dialog-caption{font-size:13px;line-height:1.6;padding:0 24px}
  .info-dialog{padding:26px 24px;max-height:calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
  .orbit-top{top:calc(20px + env(safe-area-inset-top))}
  .orbit-hud{top:calc(100px + env(safe-area-inset-top))}
  .toast{bottom:calc(95px + env(safe-area-inset-bottom))}
  #ficha-producto{scroll-margin-top:85px}
}

@media(max-width:375px){
  .hero{min-height:600px}
  .hero h1{font-size:52px;letter-spacing:-3px}
  .hero-subtitle{font-size:20px;bottom:148px}
  .hero-cta{left:20px;right:20px;bottom:25px}
  .purchase-info{padding-left:18px;padding-right:18px}
  .purchase-trust{gap:5px}
  .purchase-trust button{font-size:11.5px}
  .mobile-buy-bar{padding-left:20px;padding-right:20px;gap:12px}
  .mobile-buy-bar .button{padding:0 17px}
}

@media(max-width:600px) and (prefers-reduced-motion:reduce){
  .reveal-section{height:auto;min-height:0}
  .reveal-sticky{height:auto;min-height:0;padding:90px 0;position:static}
  .reveal-footnote{position:static}
}
