/* 82°N 3.2: one image, one heading, one destination. */
:root{color-scheme:light;--ink:#172c2e;--soft:#647175;--teal:#28b9c6;--line:#e8ebeb;--focus:#d08c28}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:280px;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
button,input,textarea{font:inherit}.site-shell{min-height:100svh;display:flex;flex-direction:column}
.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-180%);z-index:99;background:#fff;padding:10px;border:1px solid var(--line)}.skip-link:focus{transform:translateY(0)}
.site-header{width:min(calc(100% - 44px),960px);margin:0 auto;min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;min-height:44px}.brand__text{font-weight:870;font-size:36px;line-height:1;letter-spacing:-.095em}.brand__degree{font-size:.8em}.brand__image{max-width:175px;max-height:48px;width:auto;height:auto;object-fit:contain}
.site-header__caption{font-size:10px;color:#869396;font-weight:750;letter-spacing:.22em}
.main{flex:1;width:100%}
.hero{width:min(calc(100% - 44px),960px);margin:0 auto;padding:28px 0 55px}
.hero__content{text-align:center}
.hero__eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;margin:0 0 13px;color:#3e6669}
.hero__eyebrow span{padding:0 .4em;color:#98a9aa}
.hero__heading{font-size:clamp(27px,3.8vw,46px);line-height:1.42;font-weight:830;letter-spacing:-.055em;margin:0;overflow-wrap:anywhere}
.hero__description{font-size:clamp(11px,1.3vw,13px);margin:10px 0 0;color:var(--soft);line-height:1.65}
.hero__cta{display:flex;margin:22px auto 0;width:min(100%,390px);min-height:62px;padding:17px 24px;justify-content:space-between;align-items:center;text-align:left;background:var(--ink);border:1px solid var(--ink);border-radius:5px;color:white;font-size:16px;font-weight:760;letter-spacing:.02em;box-shadow:0 8px 22px rgba(12,55,57,.13);transition:transform .16s ease,background .16s ease,box-shadow .16s ease}
.hero__cta svg{flex-shrink:0}.hero__cta:hover{background:#075b62;transform:translateY(-2px);box-shadow:0 12px 26px rgba(12,55,57,.2)}
.hero__figure{margin:29px auto 0;width:min(100%,920px)}
.hero__picture{display:block;width:100%;overflow:hidden;background:white}
.hero__image{display:block;width:100%;height:auto;max-width:100%;margin:0 auto;object-fit:contain}
.hero__note{margin:0 0 7px;font-size:10px;color:#758184;text-align:right;line-height:1.6}
.site-footer{margin-top:auto}.site-footer__inner{width:min(calc(100% - 44px),960px);margin:0 auto;border-top:1px solid var(--line);padding:18px 0 26px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.site-footer__links{display:flex;gap:9px 20px;flex-wrap:wrap;font-size:10px;color:#526568}.site-footer__links a:hover{text-decoration:underline;text-underline-offset:3px}
.site-footer__copy{margin:0;font-size:10px;line-height:1.7;color:#819093}
.n82-consent[hidden]{display:none!important}.n82-consent{position:fixed;z-index:100;bottom:14px;left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));max-width:720px;margin:auto;background:#fff;border:1px solid #d8dfd7;box-shadow:0 12px 45px rgba(0,0,0,.16);border-radius:8px;padding:20px;display:flex;align-items:center;gap:18px}.n82-consent__body{flex:1}.n82-consent__body h2{margin:0 0 6px;font-size:14px}.n82-consent__body p{margin:0;font-size:11px;line-height:1.65;color:#56645d}.n82-consent__body a{text-decoration:underline}.n82-consent__actions{display:flex;gap:6px;flex-wrap:wrap}.n82-consent__actions button{border:1px solid #ced7ce;border-radius:4px;background:white;font-size:11px;font-weight:600;min-height:34px;padding:8px 10px;cursor:pointer}.n82-consent__actions button:last-child{background:var(--ink);color:white;border-color:var(--ink)}
/* Other WordPress content and legal pages remain accessible. */
.standard-page{width:min(calc(100% - 44px),900px);margin:40px auto 90px;flex:1}.standard-page h1{font-size:clamp(28px,4vw,48px);line-height:1.35;letter-spacing:-.04em}.standard-page__body{font-size:15px;line-height:1.95;overflow-wrap:anywhere}.standard-page__body img{max-width:100%;height:auto}.standard-page__body a,.standard-page .text-link{color:#17666b;text-decoration:underline;text-underline-offset:3px}.standard-page__body table{display:block;max-width:100%;overflow:auto;border-collapse:collapse}.standard-page__body td,.standard-page__body th{padding:8px;border:1px solid #dde4dd}.eyebrow{font-size:11px;letter-spacing:.18em;color:#62766a}
@media(max-width:680px){
  .site-header{min-height:62px}.brand__text{font-size:30px}.brand__image{max-width:130px;max-height:39px}.site-header__caption{font-size:9px;letter-spacing:.11em}
  .hero{padding-top:23px;padding-bottom:35px}.hero__eyebrow{font-size:10px;letter-spacing:.06em;margin-bottom:11px}.hero__heading{font-size:clamp(25px,7.2vw,34px);line-height:1.38;letter-spacing:-.065em}
  .hero__description{font-size:11px;line-height:1.6;margin-top:8px}.hero__cta{margin-top:19px;min-height:58px;font-size:15px;padding:14px 21px}
  .hero__figure{margin-top:18px}.hero__note{font-size:9px;text-align:left;margin:0 0 7px}
  .site-footer__inner{flex-direction:column;align-items:flex-start;gap:10px}.site-footer__links{font-size:10px;gap:7px 15px}
  .n82-consent{display:block;padding:15px}.n82-consent__actions{margin-top:12px}.n82-consent__actions button{flex:1}
}
@media(max-width:360px){.site-header,.hero,.site-footer__inner{width:calc(100% - 30px)}.hero__heading{font-size:25px}.hero__eyebrow{font-size:9px}.site-header__caption{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:0.01ms!important;animation-duration:0.01ms!important}}

/* TOP movie: preserve the full frame on desktop and mobile. */
.hero__video{display:block;width:100%;height:auto;max-height:80svh;object-fit:contain;background:#101719;border-radius:5px}
.hero__video[hidden],.hero__picture[hidden],.hero__video-error[hidden]{display:none!important}
.hero__video-error{font-size:12px;line-height:1.6;color:var(--soft)}

/* 3.3: independent shop identity, edge-to-edge cinema. */
.site-header{width:100%;padding:0 clamp(18px,4vw,72px);min-height:82px;gap:24px;border:0;background:#fff}
.brand__text{font-size:40px;letter-spacing:-.075em}.site-header__caption{margin-right:auto;color:#172c2e;letter-spacing:.17em}
.header-store{font-size:11px;font-weight:750;letter-spacing:.12em;padding:14px 0;border-bottom:1px solid #172c2e;white-space:nowrap}
.header-store span{margin-left:15px}
.hero{width:100%;padding:0;margin:0}
.hero__figure{width:100%;margin:0;background:#101719;position:relative}
.hero__video{width:100%;height:calc(100svh - 82px);max-height:none;min-height:340px;object-fit:contain;border-radius:0;background:#101719}
.hero__picture{background:#f3f4f2}
.hero__image{width:100%;height:calc(100svh - 82px);min-height:340px;object-fit:contain}
.hero__note{margin:0;padding:14px 24px;text-align:center;background:#101719;color:#b9c5c4;font-size:9px;letter-spacing:.22em}
.hero__video-error{margin:0;padding:16px;color:#fff}
.hero__content{padding:80px 24px 88px;background:#f6f5f1}
.hero__eyebrow{font-size:10px;letter-spacing:.2em;margin-bottom:24px}
.hero__heading{font-size:clamp(36px,5vw,68px);font-weight:750;line-height:1.4;letter-spacing:-.04em}
.hero__description{margin-top:24px;font-size:14px;line-height:1.9}
.hero__cta{margin-top:32px;border-radius:0;box-shadow:none;max-width:360px;font-size:14px}
.shop-about{max-width:1120px;margin:0 auto;padding:88px 32px;display:grid;grid-template-columns:1fr 2fr;gap:48px}
.section-label{font-size:11px;font-weight:700;letter-spacing:.18em;margin-top:10px}
.shop-about h2{font-size:clamp(25px,3vw,36px);font-weight:650;line-height:1.6;margin:0 0 24px}
.shop-about p{font-size:14px;line-height:2;color:#526568}.shop-about .shop-disclosure{font-size:11px;margin-top:22px;color:#647175}
.site-footer__inner{width:calc(100% - 64px);max-width:1440px;padding:25px 0 32px}
@media(max-width:680px){
.site-header{min-height:68px;padding:0 18px;gap:12px}.brand__text{font-size:32px}.site-header__caption{font-size:8px;letter-spacing:.08em;max-width:70px;line-height:1.6}.header-store{font-size:9px;letter-spacing:.05em}.header-store span{margin-left:7px}
.hero__video,.hero__image{height:calc(100svh - 68px);min-height:280px}
.hero__content{padding:52px 22px 58px}.hero__heading{font-size:clamp(32px,9vw,46px)}.hero__eyebrow{font-size:9px;letter-spacing:.08em}.hero__description{font-size:12px}
.shop-about{padding:48px 24px;grid-template-columns:1fr;gap:14px}.shop-about p{font-size:13px}.site-footer__inner{width:calc(100% - 48px)}
}

/* 3.3.1: supplied logo and mobile-first media sizing. */
.brand{flex:0 1 auto;min-width:0}
.brand__image--82n{display:block;width:184px;max-width:100%;height:auto;max-height:none;object-fit:contain}
.hero__content,.shop-about,.shop-about>div{min-width:0}
.hero__description,.shop-about p{overflow-wrap:anywhere}
@media(max-width:680px){
  .site-header{width:100%;min-height:68px;padding:10px 16px;gap:16px;justify-content:space-between}
  .brand{flex:0 1 144px}.brand__image--82n{width:144px;max-width:100%;max-height:none}
  .site-header__caption{display:none}
  .header-store{flex:0 0 auto;min-height:44px;display:flex;align-items:center;font-size:10px}
  .hero{width:100%;margin:0}
  .hero__video,.hero__image{height:auto;min-height:0;max-height:none;width:100%;object-fit:contain}
  .hero__note{padding:12px 16px;font-size:8px;letter-spacing:.1em;overflow-wrap:anywhere}
  .hero__content{padding:40px 20px 48px}.hero__heading{font-size:clamp(28px,8vw,46px)}
  .hero__cta{width:100%;min-height:56px;padding:16px 20px}
  .site-footer__links a{display:inline-flex;align-items:center;min-height:44px}
  .site-footer__links{gap:0 16px}
}
@media(max-width:360px){
  .site-header{width:100%;padding-left:12px;padding-right:12px;gap:10px}
  .brand{flex-basis:124px}.brand__image--82n{width:124px}
  .header-store{font-size:9px}.hero{width:100%}
  .hero__eyebrow{letter-spacing:0;font-size:8px}
}
