/* Local behavior layer. Captured layout tokens live in public/assets/*.css. */
:root{--stnld:none;--stndd:contents;--stnbgo:0}
/* The pale home video needs a readable navigation surface before scrolling. */
html{scroll-behavior:smooth}body{margin:0}button,input,select{font:inherit}button,[role=button]{cursor:pointer}img{max-width:100%}video{object-fit:cover}
[hidden]{display:none!important}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:-80px;left:24px;z-index:1000;background:#fff;padding:12px 24px}.skip-link:focus{top:12px}
#site-header{position:fixed;left:0;right:0;top:0;z-index:100;color:#fff;transition:background .25s,color .25s,box-shadow .25s}
#site-header nav{color:inherit}#site-header nav a,#site-header nav [role=button]{color:inherit}#site-header.scrolled,#site-header.open{background:rgba(255,255,255,.96);color:#1c2b33;--stnld:contents;--stndd:none;--stnbgo:1;backdrop-filter:blur(18px)}
#site-header.scrolled{box-shadow:0 1px 0 #1c2b3314}#desktop-menu{pointer-events:none}#site-header.open #desktop-menu{pointer-events:auto}#desktop-menu>div{animation:menu-in .25s ease both}#menu-shade{position:fixed;inset:64px 0 0;z-index:90;background:#0002;backdrop-filter:blur(8px)}
#site-header.scrolled nav span,#site-header.scrolled nav svg,#site-header.open nav span,#site-header.open nav svg{color:#1c2b33!important}
#desktop-menu{background:transparent}#site-header.open #desktop-menu,#desktop-menu>div{background:#fff}#desktop-menu>div{opacity:1!important}#desktop-menu img{opacity:1!important}#desktop-menu a{color:#1c2b33!important}
#site-header.scrolled a[aria-label="Metaホーム"] img,#site-header.open a[aria-label="Metaホーム"] img{content:url('/assets/b82328bd5e352413.svg');width:61px;height:auto}
@keyframes menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.home-hero-title span[aria-hidden=true]{animation:hero-letter .7s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--x-transitionDelay,0ms)}@keyframes hero-letter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
#site-dialog{border:0;border-radius:40px;padding:48px;box-sizing:border-box;width:min(800px,calc(100% - 32px));max-height:calc(100dvh - 40px);color:#1c2b33;background:#fff;box-shadow:0 20px 80px #0002}#site-dialog::backdrop{background:#10181db3;backdrop-filter:blur(4px)}#site-dialog h2{font-size:28px;font-weight:500;line-height:1.3;margin:0 42px 40px 0}#site-dialog p{font-size:16px;line-height:1.7}#site-dialog .close-dialog{position:absolute;right:34px;top:34px;width:40px;height:40px;border:0;border-radius:50%;background:transparent;font-size:30px;color:#1c2b33}#site-dialog label{display:block;margin:16px 0;font-size:13px;color:#465a69}#site-dialog select,#site-dialog input{display:block;width:100%;box-sizing:border-box;padding:16px;border:1px solid #a8b0b5;border-radius:12px;background:white;color:#1c2b33;font-size:16px;margin-top:6px}#site-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.local-button{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:999px;background:#005dce;color:white;border:1px solid transparent;font-weight:600;font-size:14px;text-decoration:none}.local-button.secondary{background:#fff;color:#0064cc;border-color:#d5dade}.search-results{display:grid;gap:8px;margin-top:24px}.search-results a{padding:16px;border-radius:12px;background:#f1f4f7;color:#1c2b33;text-decoration:none}.search-results a:hover{background:#e3e9ef}
#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);max-width:calc(100% - 40px);box-sizing:border-box;padding:16px 26px;border-radius:16px;background:#1c2b33;color:#fff;z-index:500;font-size:14px;box-shadow:0 8px 30px #0002}
[data-faq-panel]{height:auto!important;max-height:none!important;opacity:1!important;visibility:visible!important;overflow:visible!important;padding:0 0 26px;animation:menu-in .2s ease}[data-faq][aria-expanded=true] svg{transform:rotate(45deg);transition:transform .2s}
.scroll-story{height:calc((var(--slides) + 1)*100svh);position:relative;background:#f5f7f8}.story-stage{position:sticky;top:0;height:100svh;min-height:560px;overflow:hidden;clip-path:inset(var(--story-inset,5%) round var(--story-radius,32px));transition:clip-path .1s linear}.story-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .55s ease}.story-slide.active{opacity:1;pointer-events:auto}.story-slide video,.story-gradient{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.story-gradient{background:linear-gradient(90deg,#0008 0%,#0000 70%),linear-gradient(0deg,#0004,transparent 60%)}.story-copy{position:absolute;left:max(32px,calc((100% - 1440px)/2));bottom:15%;max-width:673px;color:#fff;transform:translateY(30px);transition:transform .6s ease}.active .story-copy{transform:translateY(0)}.story-copy h2{font-family:'Optimistic Display',sans-serif;font-size:48px;line-height:56px;font-weight:500;letter-spacing:-.02em;margin:0 0 24px}.story-copy p{max-width:355px;font-size:18px;line-height:26px;margin:0 0 28px}.story-controls{position:absolute;right:48px;top:50%;display:flex;flex-direction:column;align-items:center;gap:14px;z-index:4}.story-dot{width:10px;height:10px;padding:0;border:1px solid #fff;border-radius:50%;background:transparent}.story-dot[aria-pressed=true]{background:white}.story-pause{margin-top:12px;border:0;border-radius:50%;width:34px;height:34px;color:#fff;background:#334b5a90}.story-intro{text-align:center;padding:112px 24px 64px}.story-intro h2{font:500 48px/56px 'Optimistic Display',sans-serif;margin:0 0 28px;color:#1c2b33}
.story-copy h2,.story-copy h2 *{color:#fff!important;font-size:inherit!important;line-height:inherit!important;font-weight:inherit!important}.story-copy h2{font-size:48px!important;line-height:56px!important;font-weight:500!important}.story-dot{position:relative}.story-dot:before{content:'';position:absolute;inset:-8px}
@media(max-width:767px){.story-stage{min-height:600px}.story-copy{left:24px;right:24px;bottom:90px;max-width:330px}.story-copy h2{font-size:32px;line-height:40px}.story-copy p{font-size:16px;line-height:24px;max-width:300px}.story-controls{right:20px;top:auto;bottom:32px;flex-direction:row}.story-pause{margin:0 0 0 12px}.story-intro{padding:72px 24px 40px}.story-intro h2{font-size:32px;line-height:40px}}
@media(max-width:767px){.story-copy h2{font-size:32px!important;line-height:40px!important}}
#mobile-menu{position:fixed;inset:64px 0 0;background:#fff;z-index:99;overflow:auto;padding:20px 24px 70px;color:#1c2b33}#mobile-menu details{border-bottom:1px solid #dfe4e7;padding:18px 0}#mobile-menu summary{font-size:21px;cursor:pointer;list-style:none;display:flex;justify-content:space-between}#mobile-menu summary:after{content:'+'}#mobile-menu details[open] summary:after{content:'−'}#mobile-menu a{display:block;color:inherit;padding:12px 0;text-decoration:none;font-size:15px}#mobile-menu .mobile-home{font-weight:600;font-size:18px}
.footer-accordion-panel:not([hidden]){display:block!important;opacity:1!important;height:auto!important;max-height:none!important;visibility:visible!important}.footer-accordion-panel a{display:block;text-decoration:none;color:inherit}.footer-accordion-panel a:hover{text-decoration:underline}
#mobile-menu{inset:0 auto 0 0;width:calc(100% - 30px);box-sizing:border-box;padding:0;z-index:120;background:rgba(255,255,255,.84);backdrop-filter:blur(40px);box-shadow:15px 0 45px #0002;animation:drawer-in .25s ease both}.mobile-open #menu-shade{inset:0;z-index:110;background:#0002;backdrop-filter:none}.drawer-header{height:64px;border-bottom:1px solid #ffffff70;position:sticky;top:0;display:flex;justify-content:center;align-items:center}.drawer-header a{padding:0!important}.drawer-header img{width:67px;height:auto}.drawer-close{position:absolute;right:16px;top:15px;border:0;background:none;font-size:30px;color:#1c2b33;line-height:32px}.drawer-content{display:flex;flex-direction:column;min-height:calc(100dvh - 65px);padding:0 16px;box-sizing:border-box}.drawer-row{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:none;padding:17px 0;color:#1c2b33;font-size:20px;text-align:left}.drawer-row:after{content:'›';font-size:30px;line-height:20px}.drawer-back{font-size:15px}.drawer-back:after{content:none}.drawer-content h2{font-size:24px;margin:24px 0 20px}.drawer-bottom{margin-top:auto;padding:12px 0 35px;border-top:1px solid #cbd2d6}.drawer-bottom .drawer-row{font-size:18px;padding:14px 0}.drawer-bottom .drawer-row:first-child:after{content:none}@keyframes drawer-in{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@media(max-width:767px){#site-dialog{padding:32px 24px;border-radius:28px}#site-dialog h2{font-size:24px;margin-bottom:24px}#site-dialog .close-dialog{top:20px;right:18px}#site-header{backdrop-filter:none}#toast{width:calc(100% - 32px)}}
@media(max-width:767px){.home-hero-title>span,.home-hero-title>div>span{display:inline!important}.home-hero-title>div{display:contents!important}.home-hero-title>div:before{content:' '}
/* Enlarge the central artwork, cropping the landscape video's empty margins. */
body[data-page=home] div:has(>video.home-replacement-video){overflow:hidden;background:#e3ebf5}
video.home-replacement-video{object-fit:contain!important;object-position:center;background:#e3ebf5;transform:scale(2.4);transform-origin:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Header brand follows the navigation light/dark state. */
.legaliss-brand{display:inline-flex!important;align-items:center;width:auto!important;min-width:0;flex-shrink:0;text-decoration:none!important}.legaliss-wordmark{font-family:Arial,Helvetica,sans-serif;font-size:18px;font-weight:600;letter-spacing:1px;line-height:1;white-space:nowrap;color:inherit}.drawer-header .legaliss-brand{color:#1c2b33}@media(max-width:767px){.legaliss-wordmark{font-size:15px;letter-spacing:.6px}}
/* Category pages use the original white navigation above their secondary tabs. */
.category-page #site-header{color:#1c2b33;background:#fff;--stnld:contents;--stndd:none;--stnbgo:1}
.category-carousel{display:flex!important;flex-direction:row!important;gap:24px;overflow-x:auto!important;scroll-snap-type:x mandatory;scrollbar-width:none;width:100%;height:auto!important;transform:none!important}
.category-card{flex:0 0 555px;scroll-snap-align:center;min-width:0}.category-card a{display:block;color:#1c2b33;text-decoration:none}.category-card img{display:block;width:100%;height:auto;aspect-ratio:555/312;object-fit:cover;border-radius:12px}.category-card h3{font-size:24px;line-height:1.3;font-weight:500;margin:20px 0}
.native-carousel{overflow-x:auto!important;scroll-snap-type:x mandatory;scrollbar-width:none}.native-carousel [role=group]{visibility:visible!important;scroll-snap-align:start}
.category-page main [data-faq-panel]{padding:20px 0;line-height:1.6}.category-page main [data-faq]{cursor:pointer}
@media(max-width:767px){.category-card{flex-basis:315px}.category-card h3{font-size:20px}.category-carousel{gap:16px}}
.category-page #site-header nav span,.category-page #site-header nav svg{color:#1c2b33!important}
.catalog-search-results{position:absolute;z-index:80;top:145px;right:7.5%;width:min(600px,85vw);max-height:65vh;overflow:auto;background:#fff;box-shadow:0 10px 40px #0003;border-radius:16px;padding:20px}.catalog-search-card{display:block;padding:12px;color:#1c2b33;text-decoration:none;border-bottom:1px solid #eee}.catalog-search-card img{max-width:140px;max-height:80px;object-fit:cover}.catalog-filters details{border-bottom:1px solid #ddd;padding:18px 0}.catalog-filters summary{cursor:pointer;font-size:18px;font-weight:500}.catalog-filters select{margin:16px 0 0}.feature-desktop-copy{padding:24px 0;line-height:1.6}.feature-desktop-copy img{width:32px}.category-page [data-feature-panel]{height:auto!important;overflow:visible!important;padding:18px 0}.category-page [data-feature-panel][hidden]{display:none!important}@media(max-width:767px){.feature-desktop-copy{display:none}.catalog-search-results{top:170px}}
.category-page .store-main{padding-top:64px}
.horizon-subnav{height:64px;display:flex;align-items:center;justify-content:flex-end;padding:0 7.5%;background:#fff}.horizon-subnav .local-button{padding:13px 24px;font-size:14px}body[data-page="horizon-plus"] main{padding-top:128px}@media(max-width:767px){.horizon-subnav{display:none}body[data-page="horizon-plus"] main{padding-top:64px}}
@media(max-width:767px){.category-page .feature-accordion{display:flex!important;flex-direction:column!important;max-width:none!important;width:100%!important;position:relative!important}.category-page .feature-tablist{display:none!important}.category-page .feature-accordion [data-feature-button]{display:block;cursor:pointer}.category-page .feature-accordion [data-feature-panel]{line-height:1.6}}
.product-carousel{overflow-x:auto!important;scroll-snap-type:x mandatory;scrollbar-width:none}.product-carousel .product-slide{scroll-snap-align:start}.product-carousel>[aria-hidden="true"]{display:none!important}
.product-sequence-stage{position:sticky!important;top:0;height:100svh!important;overflow:hidden}.product-sequence{position:relative;min-height:240svh}.product-sequence .sequence-layer{transition:opacity .25s ease}.product-page main [data-faq-panel]{padding:20px 0;line-height:1.6}
.product-page [data-product-variant][aria-current=true]{outline:2px solid #0866ff;outline-offset:3px;border-radius:50%}
body[data-page="glasses-shop"] #site-header,body[data-page="glasses-accessories"] #site-header,body[data-page="glasses-compare"] #site-header,body[data-page="prescription"] #site-header,body[data-page="adventurer"] #site-header,body[data-page="starfire"] #site-header,body[data-page="wayfarer"] #site-header,body[data-page="quest-compare"] #site-header,body[data-page="quest-accessories"] #site-header,body[data-page="warranty"] #site-header,body[data-page="gift-cards"] #site-header{color:#1c2b33;background:#fff;--stnld:contents;--stndd:none;--stnbgo:1}
body[data-page="glasses-shop"] main,body[data-page="glasses-accessories"] main,body[data-page="glasses-compare"] main,body[data-page="prescription"] main,body[data-page="adventurer"] main,body[data-page="starfire"] main,body[data-page="wayfarer"] main,body[data-page="quest-compare"] main,body[data-page="quest-accessories"] main,body[data-page="warranty"] main,body[data-page="gift-cards"] main{padding-top:64px}
@media(max-width:767px){body[data-page="glasses-shop"] main,body[data-page="glasses-accessories"] main,body[data-page="glasses-compare"] main,body[data-page="prescription"] main,body[data-page="adventurer"] main,body[data-page="starfire"] main,body[data-page="wayfarer"] main,body[data-page="quest-compare"] main,body[data-page="quest-accessories"] main,body[data-page="warranty"] main,body[data-page="gift-cards"] main{padding-top:56px}}
.product-light #site-header nav span,.product-light #site-header nav svg{color:#1c2b33!important}
#product-filter{padding:0;border:0;margin:0 0 0 auto;max-height:100dvh;height:100dvh;width:min(540px,100vw);max-width:100vw;color:#1c2b33;background:white}#product-filter::backdrop{background:#0005}#product-filter>[role=dialog]{height:100%;max-height:100dvh}#product-filter [aria-pressed=true]{outline:2px solid #0866ff;border-radius:8px}#product-filter [role=button]{cursor:pointer}
.product-gallery-dot{opacity:.5}.product-gallery-dot[aria-pressed=true]{opacity:1}
#mobile-menu.native-mobile{background:#fff;backdrop-filter:none;overflow:auto}#mobile-menu.native-mobile a{padding:0;font-size:inherit}.captured-mobile-root{width:100%!important;min-height:100dvh;height:auto!important;max-height:none!important;position:relative!important;border-radius:0!important}.mobile-section-panel:not([hidden]){height:auto!important;max-height:none!important;overflow:visible!important;visibility:visible!important;opacity:1!important}#mobile-menu.native-mobile .legaliss-brand{color:#1c2b33}
#mobile-menu.native-mobile{width:calc(100% - 16px)}

/* Keep mobile carousel overflow inside its own scroller. */
@media(max-width:767px){body.category-page{overflow-x:clip}}
