.sound-toggle { position:fixed; right:max(20px,env(safe-area-inset-right)); bottom:max(20px,env(safe-area-inset-bottom)); z-index:45; min-width:110px; min-height:48px; padding:0 16px; color:#d6eeee; background:rgba(3,20,28,.88); border:1px solid #56737b; border-radius:28px; font:500 11px/1.2 system-ui,sans-serif; letter-spacing:.04em; cursor:pointer; }
.sound-toggle[aria-pressed="true"] { color:#a5e8df; border-color:#82c8c0; }
.sound-toggle:focus-visible { outline:2px solid #91e2dd; outline-offset:4px; }
@media(max-width:750px) {
 .brand-story .nav .sound-toggle { position:static; flex:0 0 44px; width:44px; height:48px; min-width:44px; padding:0; border-radius:50%; font-size:0; letter-spacing:0; }
 .sound-toggle::after { content:'♪'; font:22px/1 system-ui,sans-serif; opacity:.65; }
 .sound-toggle[aria-pressed="true"]::after { content:'♫'; opacity:1; }
 .brand-story .nav .nav-services { display:none; }
}
html .brand-story a.brand[lang="en"],html .subpage a.sp-brand[lang="en"] { font:750 22px/1.2 system-ui,sans-serif; letter-spacing:.025em; white-space:nowrap; flex-shrink:0; gap:0; }
@media(max-width:750px) { html .brand-story a.brand[lang="en"],html .subpage a.sp-brand[lang="en"] { font-size:17px; } }
@media(max-width:390px) { html .brand-story a.brand[lang="en"],html .subpage a.sp-brand[lang="en"] { font-size:16px; letter-spacing:0; } }
.campaign-portfolio { padding-bottom:60px; }
.campaign-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:36px; }
.campaign-card { min-width:0; border:1px solid #28434b; background:#08212a; }
.campaign-card > a { display:flex; flex-direction:column; height:100%; text-decoration:none; }
.campaign-card img { display:block; width:100%; aspect-ratio:16/9; height:auto; object-fit:cover; }
.campaign-placeholder { aspect-ratio:16/9; background:linear-gradient(135deg,#123c47,#04151d); display:flex; flex-direction:column; align-items:center; justify-content:center; color:#91e2dd; }
.campaign-placeholder span { font-size:70px; font-weight:300; line-height:1; }
.campaign-placeholder small { letter-spacing:.2em; font-size:10px; margin-top:16px; }
.campaign-copy { padding:24px; display:flex; flex-direction:column; flex:1; }
.campaign-copy p { color:#91e2dd; font-size:11px; margin-bottom:12px; }
.subpage .campaign-copy h3 { font-size:23px; overflow-wrap:anywhere; }
.campaign-link { display:inline-flex; min-height:44px; align-items:center; margin-top:auto; padding-top:16px; font-size:12px; color:#a9c1c7; }
.campaign-card:hover { border-color:#91e2dd; }
@media(max-width:1050px) { .campaign-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:750px) { .campaign-grid { grid-template-columns:minmax(0,1fr); gap:24px; } }
.video-portfolio { padding-bottom:60px; }
.subpage .film-notice { border-left:2px solid #b9a27b; padding:14px 18px; margin-top:24px; color:#d4c8b4; font-size:13px; }
.subpage .film-error { color:#d4c8b4; margin-top:10px; font-size:12px; }
.film-filters { display:flex; flex-wrap:wrap; gap:10px; margin:28px 0 16px; }
.film-filters[hidden],.film-card[hidden] { display:none; }
.film-filters button { min-height:48px; padding:10px 20px; background:transparent; border:1px solid #426069; color:#edf6f6; font:inherit; font-size:13px; cursor:pointer; }
.film-filters button[aria-pressed="true"] { background:#91e2dd; color:#03141c; border-color:#91e2dd; }
.film-count { color:#a9c1c7; font-size:12px; padding-bottom:20px; }
.film-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 28px; }
.film-card { min-width:0; display:flex; flex-direction:column; padding-bottom:22px; border-bottom:1px solid #28434b; }
.film-player { aspect-ratio:16/9; background:#000; overflow:hidden; }
.film-player video { display:block; width:100%; height:100%; object-fit:contain; }
.subpage .film-category { color:#91e2dd; font-size:11px; margin:18px 0 8px; }
.subpage .film-card h3 { font-size:21px; overflow-wrap:anywhere; }
.film-card > a { display:inline-flex; min-height:44px; align-items:center; margin-top:auto; padding-top:8px; color:#a9c1c7; font-size:12px; }
.film-retry { min-height:44px; align-self:flex-start; padding:8px 14px; margin-top:10px; background:transparent; border:1px solid #426069; color:#edf6f6; font:inherit; font-size:12px; cursor:pointer; }
.film-retry:disabled { opacity:.55; cursor:wait; }
.campaign-card img[hidden] { display:none; }
.campaign-card:focus-within { border-color:#91e2dd; }
.campaign-card > a:focus-visible { outline-offset:5px; }
.film-player { flex-shrink:0; }
@media(max-width:750px) { .film-grid { grid-template-columns:minmax(0,1fr); gap:28px; } .film-filters button { padding:10px 14px; } }
/* V50 shared finishing details: accessible targets and clear brand rendering. */
html .subpage .site-pages-menu > summary,html .brand-story .menu { width:48px; height:48px; min-width:48px; min-height:48px; }
html .subpage .site-pages-menu > summary::before { top:20px; }
html .subpage .site-pages-menu > summary::after { top:26px; }
.brand-story a.brand[lang="zh-CN"],html .subpage a.sp-brand[lang="zh-CN"] { font-size:22px; letter-spacing:.02em; gap:10px; white-space:nowrap; flex-shrink:0; }
html .brand-story a.brand .brand__orb,html .subpage a.sp-brand i { display:block; width:38px; height:38px; flex-shrink:0; border:0; border-radius:0; box-shadow:none; background:url('./assets/shark-logo.svg') center / contain no-repeat; }
@media(max-width:600px) {
  html .brand-story a.brand[lang="zh-CN"],html .subpage a.sp-brand[lang="zh-CN"] { font-size:18px; gap:8px; }
  html .brand-story a.brand .brand__orb,html .subpage a.sp-brand i { width:30px; height:30px; box-shadow:none; }
}
.language-switch { min-height:48px!important; }
.subpage .sp-qr img { display:block; max-width:100%; height:auto; }
.subpage .sp-article-info a,.subpage .sp-related a { text-underline-offset:5px; }
.subpage .sp-toc a { min-height:44px; display:flex; align-items:center; }
.subpage :focus-visible,.brand-story :focus-visible { outline:2px solid #91e2dd; outline-offset:4px; }
/* All pages share the original single-column numbered navigation. */
.subpage .site-pages-menu nav.unified-site-links { position:fixed; inset:82px 0 0; width:100%; max-height:none; padding:20px max(calc((100vw - 900px)/2),7vw,24px) 40px; background:#000a10; border:0; box-shadow:none; overscroll-behavior:contain; }
.subpage .unified-site-links a { gap:28px; align-items:baseline; min-height:55px; padding:12px 0; font-size:clamp(22px,3vw,40px); font-weight:800; letter-spacing:-.05em; line-height:1.28; border-bottom:1px solid #ffffff26; }
.subpage .unified-site-links small { width:30px; flex-shrink:0; font-size:9px; letter-spacing:.15em; color:#91e2dd; }
.subpage .unified-site-links a:last-child { border-bottom:1px solid #ffffff26; }
.subpage .unified-site-links a span { min-width:0; overflow-wrap:anywhere; }
.subpage .sp-contact a { overflow-wrap:anywhere; }
.subpage .sp-faq summary { min-height:48px; }
@media(max-width:750px) {
 .subpage .site-pages-menu nav.unified-site-links { top:calc(68px + env(safe-area-inset-top,0px)); padding-left:max(7vw,24px); padding-right:max(7vw,24px); }
 .subpage .unified-site-links a,.brand-story .drawer-site-links a { font-size:25px; padding:12px 0; }
}
/* V46: the circular control is the single site-navigation entry. */
.brand-story .nav > .site-links,.brand-story .nav > .site-pages-menu,.subpage .sp-nav > .site-links { display:none; }
.brand-story .nav > .language-switch { margin-left:auto; }
.subpage .sp-nav > .site-pages-menu { display:block; margin-left:0; flex-shrink:0; }
.subpage .sp-nav > .language-switch { margin-left:auto; }
.subpage .site-pages-menu > summary { width:44px; height:44px; border:1px solid #89979d; border-radius:50%; font-size:0; display:flex; justify-content:center; position:relative; }
.subpage .site-pages-menu > summary span { display:none; }
.subpage .site-pages-menu > summary::before,.subpage .site-pages-menu > summary::after { content:''; position:absolute; width:15px; height:1px; background:#edf6f6; top:18px; transition:transform .2s; }
.subpage .site-pages-menu > summary::after { top:24px; }
.subpage .site-pages-menu[open] > summary::before { transform:translateY(3px) rotate(45deg); }
.subpage .site-pages-menu[open] > summary::after { transform:translateY(-3px) rotate(-45deg); }
.drawer-site-links { width:min(900px,100%); margin:0 auto; display:flex; flex-direction:column; }
.drawer-site-links a { display:flex; gap:28px; align-items:baseline; color:#edf6f6; font-size:clamp(22px,3vw,40px); font-weight:800; letter-spacing:-.05em; text-decoration:none; padding:12px 0; min-height:55px; border-bottom:1px solid #ffffff26; line-height:1.28; }
.drawer-site-links a small { width:30px; flex-shrink:0; font-size:9px; letter-spacing:.15em; color:#91e2dd; }
.drawer-site-links a:hover { color:#91e2dd; }
.drawer-site-links a:focus-visible { outline:2px solid #91e2dd; outline-offset:4px; }
.drawer-chapter-label { width:min(900px,100%); margin:40px auto 14px; color:#91e2dd; font-size:11px; letter-spacing:.15em; }
.chapter-drawer > * { flex-shrink:0; }
.brand-story .menu:focus-visible { outline:2px solid #91e2dd; outline-offset:5px; }
.drawer-site-links a { overflow-wrap:anywhere; }
@media(prefers-reduced-motion:reduce) {
 .chapter-drawer,.menu i,.subpage .site-pages-menu > summary::before,.subpage .site-pages-menu > summary::after { transition:none; }
}
@media(max-width:600px) { .drawer-site-links { grid-template-columns:1fr; } .drawer-site-links a { padding:13px 0; } }
/* Shared navigation; homepage animation styles remain independent. */
.language-switch { flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:0 7px; color:#91e2dd!important; border:1px solid #426069; font-size:12px; text-decoration:none; white-space:nowrap; }
.language-switch:hover { background:#16333d; }
.language-switch:focus-visible { outline:2px solid #91e2dd; outline-offset:4px; }
.sp-section-nav { max-width:1180px; margin:0 auto; display:flex; flex-wrap:wrap; gap:12px 30px; padding:20px 0 0; }
.sp-section-nav a { display:inline-flex; align-items:center; min-height:44px; font-size:12px; color:#91e2dd; text-decoration:none; }
.sp-toc a[aria-current="location"] { color:#91e2dd; border-left:2px solid #91e2dd; padding-left:12px; }
.subpage :target { scroll-margin-top:115px; }
.subpage .sp-prose { min-width:0; }
.subpage p { text-wrap:pretty; }
.subpage .sp-card,.subpage .sp-article-info { min-width:0; }
.subpage .sp-nav { gap:20px; }
html[lang="en"] .subpage h1 { font-size:clamp(40px,4.8vw,68px); line-height:1.1; letter-spacing:-.045em; }
html[lang="en"] .subpage .sp-hero { grid-template-columns:minmax(0,1.7fr) minmax(250px,1fr); }
html[lang="en"] .subpage .sp-section-heading h2 { font-size:clamp(28px,3vw,40px); }
html[lang="en"] .subpage .sp-prose p { line-height:1.85; }
html[lang="en"] .brand-story .story-chapter h1 { font-size:clamp(50px,6.8vw,92px); max-width:850px; line-height:1.08; }
html[lang="en"] .brand-story .story-chapter h2 { font-size:clamp(36px,4.2vw,60px); line-height:1.15; }
html[lang="en"] .brand-story .contact-section > h3 { font-size:clamp(36px,4.3vw,58px); }
html[lang="en"] .brand-story .story-chapter p { line-height:1.8; }
html[lang="en"] .brand small,html[lang="en"] .sp-brand small { display:none; }
@media(max-width:750px) {
  html[lang="en"] .subpage .sp-hero { grid-template-columns:minmax(0,1fr); }
  html[lang="en"] .subpage h1 { font-size:clamp(36px,9vw,54px); }
  html[lang="en"] .brand-story .story-chapter h1 { font-size:clamp(38px,10vw,68px); }
  html[lang="en"] .brand-story .story-chapter h2 { font-size:clamp(30px,8vw,46px); }
  html[lang="en"] .brand-story .chapter-heading .chapter-kicker { letter-spacing:.035em; }
  .sp-section-nav { gap:5px 22px; }
  .sp-nav .site-pages-menu { margin-left:auto; }
  .sp-nav .language-switch { margin-left:0; }
}
@media(max-width:390px) {
  .brand-story .nav,.subpage .sp-nav { gap:8px; padding-left:14px; padding-right:14px; }
  .site-pages-menu > summary { gap:5px; font-size:11px; }
  .language-switch { min-width:44px; padding:0 4px; }
  html[lang="en"] .brand-story .brand { font-size:11px; gap:5px; letter-spacing:0; }
  html[lang="en"] .brand-story .brand__orb { width:13px; }
}
.site-links { display:flex; align-items:center; gap:22px; margin-left:auto; }
.site-links a { display:inline-flex; min-height:44px; align-items:center; color:#d5e7e8; text-decoration:none; font-size:12px; white-space:nowrap; }
.site-links a:hover,.site-links a[aria-current="page"] { color:#91e2dd; }
.site-links a[aria-current="page"] { box-shadow:inset 0 -1px #91e2dd; }
.site-pages-menu { display:none; margin-left:auto; }
.site-pages-menu > summary { list-style:none; cursor:pointer; min-height:44px; display:flex; align-items:center; gap:12px; color:#edf6f6; font-size:12px; white-space:nowrap; }
.site-pages-menu > summary::-webkit-details-marker { display:none; }
.site-pages-menu > summary span { color:#91e2dd; }
.site-pages-menu[open] > summary span { transform:rotate(45deg); }
.site-pages-menu nav { position:absolute; right:max(20px,env(safe-area-inset-right,0px)); top:calc(100% + 8px); width:min(300px,calc(100vw - 40px)); max-height:calc(100svh - 100px); overflow:auto; padding:12px 20px; background:#08222c; border:1px solid #2b4751; box-shadow:0 18px 55px #0008; }
.site-pages-menu nav a { display:flex; align-items:center; min-height:48px; padding:8px 0; font-size:14px; line-height:1.5; color:#edf6f6; text-decoration:none; border-bottom:1px solid #24414b; }
.site-pages-menu nav a:last-child { border:0; }
.site-pages-menu nav a[aria-current="page"] { color:#91e2dd; }
.brand-story .nav__chapter { display:none; }
.brand-story .nav { gap:20px; }
.brand-story .nav-services { margin-left:0; }
.brand-story .site-links a { font-weight:500; }
.brand-story .home-page-links { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:28px; padding-top:20px; border-top:1px solid var(--rule); }
.home-page-links a { display:inline-flex; align-items:center; min-height:44px; color:#91e2dd; font-size:13px; text-decoration:none; }
.site-pages-menu a:focus-visible,.site-pages-menu summary:focus-visible,.site-links a:focus-visible { outline:2px solid #91e2dd; outline-offset:4px; }
@media(max-width:1150px) { .site-links { display:none; } .site-pages-menu { display:block; } }
@media(max-width:600px) { .brand-story .nav-services { display:none; } .brand-story .nav { gap:14px; } }
@media(max-width:390px) {
 .brand-story .nav { gap:8px; padding-left:14px; padding-right:14px; }
 .site-pages-menu > summary { gap:5px; font-size:11px; }
}

/* Lightweight editorial subpages: no WebGL, no remote fonts or trackers. */
.subpage { --sp-bg:#03141c; --sp-paper:#edf6f6; --sp-muted:#a9c1c7; --sp-accent:#91e2dd; --sp-line:#28434b; margin:0; background:var(--sp-bg); color:var(--sp-paper); font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; line-height:1.8; -webkit-font-smoothing:antialiased; }
.subpage * { box-sizing:border-box; }
.subpage a { color:inherit; text-underline-offset:5px; }
.subpage h1,.subpage h2,.subpage h3,.subpage p { margin:0; }
.subpage h1,.subpage h2,.subpage h3 { line-height:1.28; letter-spacing:-.035em; text-wrap:balance; }
.subpage h1 { font-size:clamp(44px,5.5vw,78px); font-weight:600; }
.subpage h2 { font-size:clamp(28px,3.5vw,43px); font-weight:550; }
.subpage h3 { font-size:22px; font-weight:550; }
.subpage a:focus-visible,.subpage summary:focus-visible { outline:2px solid var(--sp-accent); outline-offset:5px; }
.sp-skip { position:fixed; top:8px; left:20px; z-index:100; padding:12px 20px; background:#91e2dd; color:#03141c!important; transform:translateY(-150%); }
.sp-skip:focus { transform:none; }
.sp-nav { position:sticky; top:0; z-index:30; display:flex; align-items:center; gap:28px; min-height:82px; padding:env(safe-area-inset-top,0px) max(4vw,24px) 0; background:#03141cf7; border-bottom:1px solid var(--sp-line); }
.sp-brand { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:15px; font-weight:650; text-decoration:none; white-space:nowrap; }
.sp-brand i { width:17px; height:17px; border:1px solid; border-radius:50%; box-shadow:inset 5px 0 0 currentColor; }
.sp-brand small { font-size:10px; color:var(--sp-muted); font-weight:500; }
.sp-nav-cta { display:inline-flex; align-items:center; min-height:44px; padding:8px 16px; border:1px solid #426069; text-decoration:none; font-size:12px; white-space:nowrap; }
.sp-hero,.sp-intro,.sp-section,.sp-contact,.sp-footer,.sp-source,.sp-related,.sp-journal-head,.sp-articles,.sp-article-hero,.sp-reading-layout { max-width:1180px; margin:auto; }
.subpage main { padding:0 max(5vw,24px); }
.sp-hero { position:relative; display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr); column-gap:50px; align-items:center; padding-top:56px; min-height:690px; }
.sp-back { display:inline-flex; align-items:center; min-height:44px; margin-bottom:32px; text-decoration:none; font-size:12px; color:var(--sp-muted)!important; }
.subpage .sp-kicker { font-size:11px; letter-spacing:.12em; color:var(--sp-accent); margin-bottom:24px; }
.subpage .sp-lead { font-size:17px; line-height:1.95; color:var(--sp-muted); max-width:610px; margin-top:28px; }
.sp-button { display:inline-flex; justify-content:space-between; align-items:center; gap:45px; padding:15px 22px; background:var(--sp-accent); color:#06212a!important; min-height:50px; font-size:14px; font-weight:600; text-decoration:none; margin-top:30px; }
.sp-button:hover { background:#b5efe9; }
.sp-hero-bottom { display:flex; justify-content:space-between; gap:24px; grid-column:1/-1; margin-top:60px; padding:22px 0; border-top:1px solid var(--sp-line); color:var(--sp-muted); font-size:10px; letter-spacing:.1em; }
.sp-hero-bottom a { min-height:44px; display:flex; align-items:center; text-decoration:none; font-size:12px; }
.sp-hero-bottom > span { display:flex; align-items:center; }
.sp-orbit { position:relative; aspect-ratio:1; width:100%; border:1px solid #315b63; border-radius:50%; background:radial-gradient(circle,#16485480,transparent 67%); margin-top:35px; }
.sp-orbit::before { content:""; position:absolute; inset:13%; border:1px solid #42666c; border-radius:50%; }
.sp-orbit::after { content:""; position:absolute; inset:26%; border:1px dashed #335861; border-radius:50%; }
.sp-orbit-core { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; }
.sp-orbit-core > span { font-size:clamp(70px,9vw,125px); font-weight:300; line-height:1; letter-spacing:-.08em; color:#a8e7e1; }
.sp-orbit-core > small { font-size:8px; letter-spacing:.17em; margin-top:16px; }
.sp-orbit-node { position:absolute; min-width:64px; display:flex; flex-direction:column; background:#03141c; padding:8px 12px; font-size:15px; border:1px solid #35515a; line-height:1.7; text-align:center; }
.sp-orbit-node small { color:var(--sp-accent); font-size:9px; }
.n0 { top:0; left:50%; transform:translate(-50%,-35%); } .n1 { top:50%; right:0; transform:translate(20%,-50%); } .n2 { bottom:0; left:50%; transform:translate(-50%,35%); } .n3 { top:50%; left:0; transform:translate(-20%,-50%); }
.sp-intro { display:grid; grid-template-columns:1fr 1fr; gap:20px 80px; padding:95px 0; border-bottom:1px solid var(--sp-line); scroll-margin-top:110px; }
.sp-intro > .sp-kicker { grid-column:1/-1; margin:0; }
.sp-intro > p:last-child { color:var(--sp-muted); font-size:17px; line-height:2; }
.sp-section { padding:85px 0 0; scroll-margin-top:105px; }
.sp-section-heading { display:grid; grid-template-columns:1fr 2fr; gap:36px; align-items:baseline; margin-bottom:40px; }
.sp-section-heading .sp-kicker { margin:0; }
.sp-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--sp-line); }
.sp-card { padding:34px 35px 38px 0; border-bottom:1px solid var(--sp-line); }
.sp-card:nth-child(even) { padding-left:35px; padding-right:0; border-left:1px solid var(--sp-line); }
.sp-card p { margin-top:18px; color:var(--sp-muted); font-size:15px; line-height:1.95; }
.sp-note { max-width:1180px; margin:70px auto 0; padding:30px 34px; border-left:2px solid var(--sp-accent); background:#09242d; }
.sp-note p { color:var(--sp-muted); font-size:14px; line-height:1.95; }
.sp-note p + p,.sp-note h2 + p { margin-top:18px; }
.sp-outline { display:inline-flex; align-items:center; min-height:44px; margin-top:20px; color:var(--sp-accent)!important; font-size:13px; text-decoration:none; border-bottom:1px solid #4b7078; }
.sp-faq { margin-left:33.33%; }
.sp-faq details { border-bottom:1px solid var(--sp-line); }
.sp-faq summary { padding:23px 34px 23px 0; min-height:44px; font-size:18px; cursor:pointer; position:relative; list-style:none; }
.sp-faq summary::-webkit-details-marker { display:none; }
.sp-faq summary::after { content:"＋"; position:absolute; right:0; color:var(--sp-accent); }
.sp-faq details[open] summary::after { content:"−"; }
.sp-faq details p { font-size:15px; color:var(--sp-muted); padding:0 30px 26px 0; }
.sp-source { padding-top:36px; font-size:11px; color:var(--sp-muted); }
.sp-source a { display:inline-flex; align-items:center; min-height:44px; }
.sp-related { display:flex; flex-wrap:wrap; gap:12px 30px; padding:28px 0; margin-top:35px; border-top:1px solid var(--sp-line); }
.sp-related a { min-height:44px; display:inline-flex; align-items:center; color:var(--sp-accent); font-size:14px; text-decoration:none; }
.sp-contact { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:50px; border-top:1px solid var(--sp-line); margin-top:95px; padding:70px 0; scroll-margin-top:110px; }
.sp-contact h2 { font-size:clamp(36px,4.5vw,58px); margin-bottom:22px; }
.sp-contact p { color:var(--sp-muted); font-size:14px; }
.sp-contact a { text-decoration:none; }
.sp-contact .sp-phone { display:inline-flex; align-items:center; min-height:44px; margin-top:28px; font-size:30px; }
.sp-contact .sp-small { font-size:11px; }
.sp-mail { display:inline-flex; align-items:center; min-height:44px; margin:12px 0; font-size:16px; overflow-wrap:anywhere; }
.sp-contact .sp-address { line-height:2; font-size:13px; }
.sp-qr { align-self:center; text-align:center; }
.sp-qr img { display:block; width:100%; height:auto; padding:16px; background:#fff; }
.sp-qr p { margin-top:18px; color:var(--sp-paper); }
.sp-qr > a { min-height:44px; display:flex; align-items:center; justify-content:center; color:var(--sp-accent); font-size:13px; }
.sp-qr small { color:var(--sp-muted); font-size:11px; }
.sp-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px; padding:30px 0 max(35px,env(safe-area-inset-bottom,0px)); border-top:1px solid var(--sp-line); }
.sp-footer nav { display:flex; flex-wrap:wrap; gap:8px 20px; }
.sp-footer nav a { display:flex; align-items:center; min-height:44px; font-size:12px; text-decoration:none; color:var(--sp-muted); }
.sp-footer > span { width:100%; font-size:11px; color:var(--sp-muted); }
.sp-journal-head,.sp-article-hero { padding:55px 0 65px; }
.sp-journal-head h1 { max-width:980px; }
.sp-journal-topics { display:flex; flex-wrap:wrap; gap:20px 36px; margin-top:40px; color:var(--sp-accent); font-size:12px; }
.sp-article-card { display:grid; grid-template-columns:1fr 1.3fr; gap:65px; border-top:1px solid var(--sp-line); padding:45px 0; }
.sp-article-art { min-height:270px; padding:28px; position:relative; overflow:hidden; background:radial-gradient(ellipse at 85% 10%,#245965,#0b2832 55%,#041820); display:flex; flex-direction:column; justify-content:space-between; border:1px solid var(--sp-line); }
.sp-article-art::after { content:""; position:absolute; width:260px; height:260px; border:1px solid #51808b; border-radius:50%; right:-70px; top:20px; box-shadow:0 0 0 28px #ffffff06,0 0 0 56px #ffffff03; }
.art-1 { background:linear-gradient(130deg,#173c47,#06151c); }
.art-1::after { border-radius:0; transform:rotate(-24deg); }
.art-2 { background:radial-gradient(ellipse at 100% 100%,#38605b,#061e26 70%); }
.sp-article-art > span { font-size:90px; line-height:1.1; font-weight:250; color:#a0d1d2; }
.sp-article-art > small { font-size:10px; letter-spacing:.14em; color:var(--sp-muted); z-index:1; }
.sp-article-info { align-self:center; }
.sp-article-info h2 { font-size:clamp(27px,3vw,38px); }
.sp-article-info h2 a { text-decoration:none; }
.sp-article-info > p:not(.sp-kicker) { margin-top:18px; color:var(--sp-muted); font-size:15px; }
.sp-article-hero { max-width:940px; }
.sp-article-hero h1 { max-width:900px; }
.sp-byline { font-size:12px; color:var(--sp-muted); margin-top:28px!important; }
.sp-reading-layout { display:grid; grid-template-columns:250px minmax(0,750px); gap:80px; align-items:start; border-top:1px solid var(--sp-line); padding-top:50px; }
.sp-toc { position:sticky; top:120px; }
.sp-toc p { font-size:12px; color:var(--sp-accent); margin-bottom:18px; }
.sp-toc a { display:block; padding:12px 0; min-height:44px; font-size:12px; color:var(--sp-muted); text-decoration:none; border-bottom:1px solid var(--sp-line); }
.sp-prose section { padding-bottom:50px; scroll-margin-top:115px; }
.sp-prose h2 { font-size:29px; margin:10px 0 24px; }
.sp-prose section > p { font-size:17px; line-height:2; color:#c2d5d8; margin-top:20px; }
.sp-prose .sp-note { margin-top:0; }
@media(max-width:1150px) {
 .sp-nav { gap:24px; }
 .sp-hero { gap:35px; grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr); }
 .sp-reading-layout { grid-template-columns:200px minmax(0,1fr); gap:45px; }
}
@media(max-width:750px) {
 .subpage main { padding:0 max(24px,env(safe-area-inset-left,0px)); }
 .sp-nav { min-height:calc(68px + env(safe-area-inset-top,0px)); padding-left:20px; padding-right:20px; gap:14px; }
 .sp-brand { font-size:14px; } .sp-brand small { display:none; } .sp-nav-cta { display:none; }
 .subpage h1 { font-size:clamp(38px,9vw,60px); line-height:1.25; }
 .sp-hero { grid-template-columns:minmax(0,1fr); padding-top:25px; min-height:0; }
 .sp-back { margin-bottom:26px; }
 .subpage .sp-lead { font-size:16px; margin-top:24px; }
 .sp-orbit { width:min(70%,290px); justify-self:center; margin:55px 0 24px; }
 .sp-orbit-core > span { font-size:80px; }
 .sp-hero-bottom { margin-top:28px; gap:15px; letter-spacing:0; }
 .sp-hero-bottom > span { max-width:65%; }
 .sp-intro { grid-template-columns:minmax(0,1fr); gap:25px; padding:55px 0; }
 .sp-intro > p:last-child { font-size:16px; }
 .sp-section { padding-top:55px; }
 .sp-section-heading { grid-template-columns:minmax(0,1fr); gap:18px; margin-bottom:28px; }
 .sp-grid { grid-template-columns:minmax(0,1fr); }
 .sp-card,.sp-card:nth-child(even) { padding:26px 0; border-left:0; }
 .sp-card h3 { font-size:21px; } .sp-card p { margin-top:14px; }
 .sp-note { margin-top:45px; padding:23px; }
 .sp-faq { margin-left:0; } .sp-faq summary { font-size:17px; }
 .sp-contact { grid-template-columns:minmax(0,1fr); margin-top:55px; padding:45px 0; gap:35px; }
 .sp-contact .sp-phone { font-size:26px; }
 .sp-qr { width:220px; max-width:100%; justify-self:start; }
 .sp-article-card { grid-template-columns:minmax(0,1fr); gap:28px; padding:30px 0; }
 .sp-article-art { min-height:220px; }
 .sp-journal-head,.sp-article-hero { padding:25px 0 42px; }
 .sp-reading-layout { grid-template-columns:minmax(0,1fr); gap:35px; padding-top:30px; }
 .sp-toc { position:static; }
 .sp-prose h2 { font-size:26px; }
 .sp-prose section > p { font-size:16px; }
 .sp-prose section { padding-bottom:38px; }
 .sp-button { gap:24px; }
 .subpage .sp-faq summary,.brand-story .service-detail > summary { min-height:48px; }
 .brand-story .service-detail > summary { display:flex; align-items:center; justify-content:space-between; width:100%; gap:16px; }
 .brand-story .service-detail > summary::after { margin-left:0; flex-shrink:0; }
 .brand-story .detail-body { padding:22px 16px; overflow-wrap:anywhere; }
 .brand-story .detail-body p { font-size:15px; line-height:1.9; }
 .subpage .sp-faq details p { padding-right:0; }
 .subpage .sp-contact a { overflow-wrap:anywhere; }
 .subpage .sp-footer { padding-bottom:max(24px,env(safe-area-inset-bottom)); }
}
@media(max-width:390px) {
 html .brand-story .nav,html .subpage .sp-nav { gap:8px; padding-left:12px; padding-right:12px; }
 .brand-story .process-list { grid-template-columns:minmax(0,1fr); gap:24px; }
 .brand-story .process-list li { min-width:0; }
 .subpage .sp-note { padding:20px 16px; }
 .subpage .campaign-copy { padding:20px 16px; }
}
