/*
 * SEIYASHA compact layout
 *
 * This stylesheet is loaded only while the active-language desktop copy no
 * longer fits. It intentionally contains one authoritative rule set: no
 * tablet layer and no historical override chain.
 */

:root{
  --compact-pad:clamp(22px,6vw,42px);
  --compact-header:68px;
  --compact-radius:16px;
}

html,body{width:100%;max-width:100%;overflow-x:clip;scrollbar-gutter:stable}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
main,.hero,.section,.company{width:100%;max-width:100vw;overflow-x:clip}
body.navigation-locked{overflow:hidden;touch-action:none}
.container,.nav-shell{width:100%;max-width:none;padding-inline:var(--compact-pad)}
.section{padding:84px 0}
.section-head{display:grid;gap:22px;margin-bottom:52px}
.section-head .section-label{width:auto;min-width:0}
.section-title{font-size:clamp(40px,10vw,64px);line-height:1.04}

/* Header and full-screen navigation */
.site-header{height:var(--compact-header);border-color:rgba(219,232,242,.16)}
.site-header .nav-shell{position:relative;z-index:62;height:var(--compact-header);padding-block:0;align-items:center}
.site-header .wordmark{position:relative;z-index:62;display:flex!important;color:inherit;font-size:10px}
.site-header .wordmark>span:last-child{display:inline!important}
.site-header .menu-toggle{position:absolute;z-index:63;top:50%;right:var(--compact-pad);display:flex;width:44px;height:44px;margin:0;padding:11px 6px;flex-direction:column;justify-content:center;gap:6px;color:inherit;transform:translateY(-50%);touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.site-header .menu-toggle i{display:block;width:100%;height:1px;margin:0;background:currentColor;pointer-events:none}
.site-header.over-light .menu-toggle{color:#1b2026!important}
.site-header.menu-open .menu-toggle i:first-of-type{transform:translateY(7px) rotate(45deg)}
.site-header.menu-open .menu-toggle i:nth-of-type(2){opacity:0}
.site-header.menu-open .menu-toggle i:last-of-type{transform:translateY(-7px) rotate(-45deg)}
.site-header .main-nav,.site-header .language,.site-header .portal-auth{display:none!important}
.site-header{--compact-menu-surface:#0b1118}
.site-header.over-light{--compact-menu-surface:#f7f9fb}
.site-header[data-menu-surface="dark"]{--compact-menu-surface:#0b1118}
.site-header[data-menu-surface="light"]{--compact-menu-surface:#f7f9fb}
.site-header.menu-open::before{content:none!important;display:none!important}
.site-header.menu-open,.site-header.menu-open.over-light,.site-header.menu-open .nav-shell{background:var(--compact-menu-surface)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transition:none!important}
.site-header.menu-open .wordmark,.site-header.menu-open .menu-toggle{color:#f4f7fa!important}
.site-header.menu-open .main-nav{position:fixed;z-index:60;inset:var(--compact-header) 0 0;display:flex!important;height:calc(100dvh - var(--compact-header));padding:140px var(--compact-pad) 26px;overflow:hidden;flex-direction:column;gap:0;background:var(--compact-menu-surface)!important;color:#f4f7fa!important;border:0;box-shadow:none;transition:padding-top var(--motion-slow) var(--motion-ease)}
.site-header.menu-open .main-nav>a{display:flex;align-items:center;min-height:60px;padding:0 14px;border:0;color:#f4f7fa!important;font-size:15px;font-weight:500;letter-spacing:.02em;opacity:1;transform:none!important}
.site-header.menu-open .main-nav>a .nav-label{transform:none!important}
.site-header.menu-open .language{position:fixed;z-index:61;top:calc(var(--compact-header) + 18px);right:var(--compact-pad);left:var(--compact-pad);display:grid!important;grid-template-columns:repeat(7,auto);align-items:center;justify-content:space-between;height:46px;margin:0;padding:0 14px;color:#edf3f7!important}
.site-header.menu-open .language button{width:auto;min-width:0;padding:12px 0;border:0;background:transparent;color:inherit!important;font-size:10px!important;opacity:.72!important;transform:none!important}
.site-header.menu-open .language button.active{opacity:1!important}
.site-header.menu-open .language button::after{content:none!important}
.site-header.menu-open .language .language-label{display:inline-block!important;font-size:10px!important;white-space:nowrap}
.site-header.menu-open .language>span{display:inline!important;color:inherit;opacity:.38!important}
.site-header.menu-open .portal-auth{position:fixed;z-index:61;top:calc(var(--compact-header) + 78px);right:var(--compact-pad);left:var(--compact-pad);display:flex!important;height:56px;margin:0;border:0;border-radius:8px;background:rgba(255,255,255,.055);color:#edf3f7!important}
.site-header.menu-open .portal-link{display:flex;width:100%;align-items:center;justify-content:space-between;margin:0;padding:0 12px 0 16px;border:0!important;color:inherit;font-size:11px}
.site-header.menu-open :is(.portal-link,.portal-systems) .portal-external{box-sizing:border-box;width:30px;height:30px;padding:6px;border:1px solid rgba(224,238,248,.24);border-radius:7px;background:rgba(235,245,252,.1);color:#f4f7fa;flex:0 0 30px;transform:none!important}
.site-header.menu-open :is(.portal-link,.portal-systems) .portal-external svg{width:16px;height:16px;flex:0 0 16px}
.site-header.menu-open .portal-auth.is-authenticated,.site-header.menu-open.portal-authenticated .portal-auth{display:none!important;visibility:hidden!important;pointer-events:none!important}
.site-header .main-nav>.portal-menu.compact-inline{position:static;display:grid!important;width:100%;margin:0 0 8px;padding:0;overflow:visible;border:0;border-radius:0!important;background:transparent!important;box-shadow:none;color:inherit;opacity:1;visibility:visible;transform:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.site-header .main-nav>.portal-menu.compact-inline .portal-account{grid-template-columns:42px minmax(0,1fr) auto;padding:14px;border-bottom:1px solid rgba(199,215,228,.14)}
.site-header .main-nav>.portal-menu.compact-inline .portal-avatar{width:42px;height:42px}
.site-header .main-nav>.portal-menu.compact-inline .portal-account>a{justify-self:end;padding:6px 0;color:inherit;font-size:10px;text-align:right}
.site-header .main-nav>.portal-menu.compact-inline .portal-systems{padding:4px 0 0}
.site-header .main-nav>.portal-menu.compact-inline .portal-systems>a{display:flex!important;height:56px;min-height:56px;padding:0 14px;align-items:center!important;justify-content:space-between!important;flex-direction:row!important;flex-wrap:nowrap!important;color:#edf3f7!important;opacity:1!important}
.site-header .main-nav>.portal-menu.compact-inline .portal-systems>a>span{display:block;width:auto;min-width:0;flex:1}
.site-header .main-nav>.portal-menu.compact-inline .portal-systems strong{display:block;color:#edf3f7}
.site-header .main-nav>.portal-menu.compact-inline .portal-systems small{color:#91a1b0}
.site-header .main-nav>.portal-menu.compact-inline .portal-systems .portal-external{margin-left:12px;align-self:center!important}
.site-header.menu-open.portal-authenticated .main-nav{padding-top:76px}
.site-header .reading-progress{display:block!important}

/* On light sections the expanded navigation uses the matching inverse
   palette. Every foreground and divider changes with the surface. */
.site-header.menu-open.over-light .wordmark,.site-header.menu-open.over-light .menu-toggle{color:#171b20!important}
.site-header.menu-open.over-light .main-nav{color:#171b20!important}
.site-header.menu-open.over-light .main-nav>a{color:#171b20!important}
.site-header.menu-open.over-light .language{color:#59616a!important}
.site-header.menu-open.over-light .portal-auth{border:0;background:rgba(17,27,36,.045);color:#171b20!important}
.site-header.menu-open.over-light .main-nav>.portal-menu.compact-inline .portal-account strong,.site-header.menu-open.over-light .main-nav>.portal-menu.compact-inline .portal-systems strong{color:#171b20!important}
.site-header.menu-open.over-light .main-nav>.portal-menu.compact-inline .portal-account small,.site-header.menu-open.over-light .main-nav>.portal-menu.compact-inline .portal-account>a,.site-header.menu-open.over-light .main-nav>.portal-menu.compact-inline .portal-systems small{color:#65717d!important}
.site-header.menu-open.over-light :is(.portal-link,.portal-systems) .portal-external{border-color:rgba(23,32,40,.25);background:rgba(17,27,36,.07);color:#171b20}

/* Hero */
.hero{min-height:100svh;padding:calc(var(--compact-header) + 66px) 0 56px;background:radial-gradient(circle at 72% 22%,rgba(61,82,105,.68),transparent 42%),linear-gradient(145deg,#10141a,#090b0f 68%,#111821)}
.hero-content{display:flex;min-height:calc(100svh - var(--compact-header) - 122px);flex-direction:column;justify-content:center}
.eyebrow{font-size:9px;letter-spacing:.18em}
.hero h1{font-size:clamp(44px,9vw,78px);line-height:.9;letter-spacing:-.055em}
.hero-ko{margin:0 0 18px;font-size:clamp(30px,7vw,46px);letter-spacing:.04em}
.hero-bottom{display:grid;width:100%;margin:48px 0 0;gap:28px}
.slogan{font-size:clamp(21px,5.5vw,31px);line-height:1.4}
.hero-copy{width:auto;max-width:35em;margin:0;font-size:14px;line-height:1.9}
.scroll-cue{display:none}
.wandering-star{width:38px;height:38px}
.wandering-star::before{width:50px;height:50px}
.wandering-star>span{width:14px;height:14px}
.star-counter{right:var(--compact-pad);bottom:18px;min-width:0;padding:7px 9px;grid-template-columns:12px auto;gap:7px}
.star-counter small{display:none}
.star-counter strong{font-size:10px}

/* Story */
.story-intro{max-width:42em;margin:0 0 26px;font-size:15px;line-height:1.9}
.story-bridge{height:112px;margin-left:0}
.story-bridge .bridge-line,.story-bridge i{left:50%}
.story-bridge .bridge-star{left:calc(50% - 7px)}
.timeline{border:0}
.timeline-item{position:relative;display:grid;grid-template-columns:1fr;gap:24px;padding:42px 0;border-bottom:1px solid var(--line)}
.timeline-item::before{left:0}
.timeline-item::after{content:"";position:absolute;right:0;bottom:-1px;left:0;width:100%;height:1px;background:linear-gradient(90deg,#6785a0,transparent);opacity:.34}
.timeline-item .year{margin:0;color:#6785a0;font-size:22px}
.timeline-item h3{font-size:clamp(28px,7vw,42px);line-height:1.22}
.timeline-item p{max-width:42em;font-size:14px;line-height:1.85}
.platform-logos,.timeline-platforms{flex-wrap:wrap;gap:14px 18px}
.platform-logo-visual{min-height:34px}
.timeline-platforms .store-link img,.brand-apps .store-link img{height:32px;width:auto}

/* Business */
.business .section-head{margin-bottom:32px}
.service-list{border-top:1px solid rgba(225,235,243,.14)}
.service{display:grid;grid-template-columns:42px minmax(0,1fr);gap:0 16px;min-height:118px;padding:28px 0;align-content:center;border-color:rgba(225,235,243,.14);clip-path:none!important;filter:none!important}
.service>span{grid-column:1;grid-row:1/3;align-self:start;padding-top:6px}
.service h3{grid-column:2;font-size:clamp(28px,7.4vw,42px);line-height:1.1}
.service p{grid-column:2;margin-top:12px;font-size:13px;line-height:1.7}
.service::before,.service::after{content:none!important}

/* Brand portfolio */
.brands::before{inset:-12%;filter:blur(28px);opacity:.72}
.brands::after{background-size:48px 48px;opacity:.38}
.brand-grid,.brand-grid.five{display:grid;grid-template-columns:1fr;gap:22px}
.brand-grid.five{grid-auto-rows:auto;align-items:start}
.brand-grid.five .brand-card,.brand-grid.five .brand-card:nth-child(4),.brand-grid.five .brand-card:nth-child(5),.brand-grid.five .brand-card:nth-child(5):last-child{grid-column:auto;width:100%;min-height:0}
.brand-card{position:relative;aspect-ratio:1/1;min-height:0;padding:var(--compact-pad);overflow:hidden;border-radius:var(--compact-radius)!important;box-shadow:none;transform:none!important}
#brands .brand-card{height:auto!important;aspect-ratio:1/1!important;min-height:0!important;align-self:start}
.brand-card-motion{position:relative;display:grid;width:100%;height:100%;grid-template-rows:auto minmax(0,1fr) auto;gap:18px;transform:none!important}
.brand-card-head{position:relative;z-index:3;display:flex;min-height:34px;align-items:flex-start;justify-content:space-between}
.brand-card-head small{font-size:9px}
.brand-apps{display:flex;gap:8px;align-items:flex-start}
.brand-apps .store-link{display:flex}
.brand-apps .store-link img{display:block;height:15px!important;width:auto!important}
#brands .brand-succubus .brand-apps{display:none!important}
#brands .brand-logo{position:relative!important;top:auto!important;left:auto!important;place-self:center!important;width:min(58%,360px)!important;max-width:360px!important;aspect-ratio:1/1;margin:0!important;translate:none!important;border-radius:var(--compact-radius)!important;transform:none!important}
.brand-logo img{width:100%;height:100%;object-fit:contain;transform:none!important}
.brand-card:not(.has-logo) h3{align-self:center;justify-self:center;margin:0;text-align:center;font-size:clamp(38px,11vw,68px)}
.brand-card-foot{position:relative;display:grid;gap:12px;align-self:end;transform:none!important}
.brand-card-foot p{margin:0;font-size:11px;line-height:1.65}
.brand-site{display:flex;min-height:32px;align-items:center;justify-content:space-between;gap:18px;font-size:10px}
.brand-site strong{display:inline-flex;align-items:center;gap:7px;font-size:11px;white-space:nowrap;transform:none!important}
.brand-site .external-arrow{width:15px;height:15px;transform:none!important}
#brands .brand-succubus{--succubus-logo-size:auto;--succubus-link-row-height:auto}
#brands .brand-card.has-logo .brand-logo{position:absolute!important;left:50%!important;place-self:auto!important;translate:-50% -50%!important}
#brands .brand-card-foot,#brands .brand-succubus .brand-card-foot{position:relative!important;inset:auto!important;display:grid!important;height:auto!important;min-height:0!important;grid-template-rows:auto auto!important;gap:12px!important;margin:0!important;transform:none!important}
#brands .brand-card-foot p,#brands .brand-succubus .brand-card-foot p,#brands .brand-site,#brands .brand-succubus .brand-site{position:static!important;inset:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;translate:none!important}
.brand-note{margin-top:34px;font-size:10px;line-height:1.7}

/* Compact cards omit website/status rows; the full links remain on desktop. */
#brands .brand-card-motion{height:auto;min-height:0;flex:1 1 auto;overflow:visible}
#brands .brand-card-foot,
#brands .brand-succubus .brand-card-foot{
  z-index:4!important;
  display:grid!important;
  height:auto!important;
  min-height:0!important;
  grid-template-rows:auto!important;
  gap:0!important;
  align-self:end!important;
  overflow:visible!important;
  opacity:1!important;
  visibility:visible!important;
}
#brands .brand-site,
#brands .brand-succubus .brand-site{
  display:none!important;
}
#brands .brand-card{padding:clamp(17px,5.4vw,24px)!important;padding-bottom:15px!important}
#brands .brand-card.has-logo .brand-logo{top:46%!important;width:min(74%,360px)!important}
#brands .brand-card-foot p,
#brands .brand-succubus .brand-card-foot p{
  display:block!important;
  color:#d8dce4!important;
  font-size:clamp(10px,2.75vw,11px)!important;
  line-height:1.5!important;
  letter-spacing:.01em!important;
  white-space:normal!important;
  opacity:1!important;
  visibility:visible!important;
}

/* Technology */
.tech-grid{display:grid;grid-template-columns:1fr;gap:46px}
.tech-copy{max-width:42em;font-size:14px;line-height:1.9}
.data-visual{padding:clamp(18px,5vw,30px);border-radius:var(--compact-radius)!important;transform:none!important}
.visual-top{gap:16px;font-size:9px}
.chart{height:210px;margin-top:28px}
.revenue-chart{grid-template-columns:42px minmax(0,1fr);height:210px}
.revenue-points text{font-size:10px}
.chart-note{font-size:9px;line-height:1.5;text-align:right}
.metric-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.metric-row>div{min-width:0;transform:none!important}
.metric-row small{font-size:9px;line-height:1.45;white-space:normal}
.metric-row strong{font-size:11px;line-height:1.4;white-space:normal}

.product-studio-promo{grid-column:auto;grid-template-columns:1fr;gap:28px;padding:clamp(22px,6vw,34px);border-radius:var(--compact-radius)}.product-studio-brand{gap:12px;margin-bottom:20px}.product-studio-brand img{width:56px;height:56px;border-radius:14px}.studio-overline{font-size:10px;letter-spacing:.12em}.studio-category{font-size:9px}.product-studio-copy h3{font-size:clamp(28px,8vw,42px);line-height:1.12}.product-studio-copy>p{font-size:13px;line-height:1.8}.studio-facts{grid-template-columns:1fr 1fr;gap:18px 14px;margin-top:26px;padding-top:17px}.studio-facts div:last-child{grid-column:1/-1}.studio-facts dt{font-size:8px;line-height:1.4}.studio-facts dd{font-size:10px;line-height:1.5}.product-studio-actions{grid-template-columns:1fr;gap:0;max-width:none}.studio-actions-heading{margin-bottom:8px;font-size:8px}.studio-download-link{min-height:80px;padding:13px 0;grid-template-columns:66px minmax(0,1fr) 25px;gap:12px}.studio-channel-icon{width:30px;height:30px;border-radius:8px}.studio-channel-icon svg{width:17px;height:17px}.studio-card-copy{gap:5px}.studio-channel{font-size:8px!important}.studio-download-link strong{font-size:12px}.studio-download-link .studio-meta{font-size:8px}.studio-download-link>i{width:25px;height:25px;font-size:13px;flex-basis:25px}.product-studio-note{font-size:9px}.studio-store-badge{width:66px}.studio-store-badge img{border-radius:6px}

/* SEIYA TRADING */
.trading::before{inset:-10% -35%;opacity:.5}
.trading::after{opacity:.38}
.trading-grid{display:grid;grid-template-columns:1fr;gap:22px}
.trading-grid>div:first-child{position:static!important;top:auto!important}
.trading-copy{padding-top:8px}
.trading-copy>p{margin-bottom:38px;font-size:15px;line-height:1.85}
.trading-copy ul{display:grid;grid-template-columns:1fr;gap:12px}
.trading-copy li{grid-template-columns:36px minmax(0,1fr);min-height:72px;padding:16px 18px;border:1px solid var(--trade-line)}
.trading-copy li::before{display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(83,103,120,.28);border-radius:50%;color:#65717c;font-size:9px;line-height:1;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.trading-company{margin-top:34px;padding:var(--compact-pad);border-radius:var(--compact-radius)!important}
/* The legal trading panel is a stable touch surface. The shared compact
   choreography rotates and translates observed elements; that is useful for
   editorial sections, but it makes this data block jump or look crooked when
   a swipe interrupts one of its staggered rows. Keep the legal data visible
   and level on phones, while desktop retains its own motion. */
html.layout-compact.motion-ready #trading .trading-company.reveal,
html.layout-compact.motion-ready #trading .trading-company .reveal{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  animation:none!important;
  transition:none!important;
  filter:none!important;
  clip-path:none!important;
  will-change:auto;
}
html.layout-compact.motion-ready #trading .trading-company .reveal>*{
  opacity:1!important;
  transform:none!important;
  animation:none!important;
  transition:none!important;
  filter:none!important;
}
.trade-entity-overview,.trade-registration,.trade-lower-row{display:grid;grid-template-columns:1fr;gap:28px}
.trade-registration{padding-block:30px}
.trade-registration>span,.trade-bank,.trade-contact{min-width:0}
.trade-site{grid-column:auto}
.trade-site a{display:inline-flex;align-items:center;gap:7px;margin-top:5px;padding:0!important;transform:none!important}

/* Keep the legal details as a 2 x 2 matrix on compact screens. Long Korean
   mail-order identifiers wrap inside their own column instead of clipping the
   lookup control; the brand site shares the same value baseline. */
.trade-registration{
  grid-template-columns:minmax(0,1.35fr) minmax(104px,.65fr)!important;
  column-gap:clamp(18px,6vw,34px)!important;
  row-gap:28px!important;
}
.trade-registration>span{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
}
.trade-registration>span>small{min-height:1.5em;margin-bottom:8px}
.trade-mail-order>span{
  display:flex!important;
  width:100%;
  min-width:0;
  align-items:flex-start!important;
  gap:6px!important;
  white-space:normal!important;
}
.trade-mail-order [data-i18n="tradingMailOrderValue"]{
  min-width:0;
  overflow-wrap:anywhere;
  word-break:keep-all;
  line-height:1.65;
}
.trade-registration .lookup-icon{margin-top:1px;flex:0 0 20px}
.trade-registration .trade-mail-order{grid-column:1!important;grid-row:2!important}
.trade-registration .trade-site{grid-column:2!important;grid-row:2!important}
.trade-registration .trade-site a{min-height:20px;margin-top:0;line-height:1.65}
.trade-lower-row{gap:0;padding-top:0}
.trade-lower-row .trade-bank,.trade-lower-row .trade-contact{margin:0!important;padding:30px 0!important;border-top:1px solid var(--trade-line)}
.trade-bank{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px;align-items:baseline}
.trade-bank>small{grid-column:1;grid-row:1}
.trade-bank-meta{display:grid;grid-column:1/-1;grid-row:1/3;grid-template-columns:minmax(108px,max-content) minmax(0,1fr);gap:12px 28px;margin:0}
.trade-bank-meta>span{display:grid;grid-template-rows:auto auto;gap:12px}
.trade-bank-meta i{font-style:normal}
.trade-bank>small,.trade-bank-meta i,.footer-bank>small,.bank-meta i{margin:0;color:#7f858e;font-family:inherit;font-size:9px;font-style:normal;font-weight:400;line-height:1.5;letter-spacing:.13em;text-transform:none}
.trade-bank strong{display:flex;grid-column:1/-1;grid-row:3;align-items:center;gap:8px;margin-top:8px;font-size:18px}
.copy-account-button{flex:0 0 auto;margin:0}
.trade-contact{padding-top:30px;border-top:1px solid var(--trade-line)}
.contact-lines{display:grid;grid-template-columns:1fr;gap:16px;margin-top:18px}
.contact-lines>span{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:12px;transform:none!important}
.contact-lines a{white-space:nowrap}
.contact-lines .contact-value{
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}
/* Phone and fax are short fixed identifiers; only long legal values should
   wrap. Keeping the footer fax on one line prevents a false three-line field
   while leaving the trading registration free to wrap when necessary. */
.footer-contact .contact-lines .contact-value{
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
}

/* Company footer */
.section.company{padding-bottom:0}
.company>.container{padding-inline:var(--compact-pad)}
.company .company-footer{margin-top:56px}
.footer-nav{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:clamp(10px,3vw,18px);align-items:center;background:transparent}
.footer-nav-brand{display:flex;grid-column:1;grid-row:2;min-height:72px;align-items:center;gap:12px;margin-right:0;border:0}
.footer-nav>nav{display:flex;grid-column:1/-1;grid-row:1;width:100%;overflow:visible;justify-content:space-between;gap:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.footer-nav>nav a{display:flex;min-width:0;min-height:58px;align-items:center;justify-content:center;padding:0;font-size:10px;text-align:center;white-space:nowrap}
.footer-nav-actions{display:block;grid-column:2;grid-row:2;min-width:0;border:0}
.family-site-picker{display:grid;width:100%;min-width:0;padding:0;grid-template-columns:auto minmax(140px,210px);justify-content:space-between;gap:16px}
.footer-nav-actions .family-site-picker{display:flex!important;width:100%!important;min-width:0!important;align-items:center;justify-content:flex-end!important;gap:clamp(8px,2.4vw,14px)!important}
.footer-nav-actions .family-picker-label{display:block!important;flex:0 0 auto;justify-self:auto;text-align:left;white-space:nowrap}
.footer-nav-actions .family-dropdown{flex:0 1 auto;min-width:0}
.family-dropdown summary{min-height:62px}
.footer-nav-actions .family-dropdown>summary .family-name-copy{
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:5px;
  white-space:nowrap;
}
.footer-nav-actions .family-dropdown>summary .family-localized,
.footer-nav-actions .family-dropdown>summary .family-brand{margin:0!important}
.family-options{right:0;width:calc(100% + 36px);min-width:0}
.footer-nav-actions .family-options a{padding:8px 2px 8px 38px}
.footer-nav-actions .family-options .family-index{position:absolute!important;left:10px}
.footer-nav-actions .family-options .family-name{flex:1}

/* The related-site control keeps the logo beside the two-line identity on
   compact screens. Desktop leaves the image hidden and keeps its existing
   text-only composition. */
.footer-nav-actions .family-name{
  display:flex!important;
  min-width:0;
  flex-direction:row!important;
  align-items:center!important;
  gap:8px!important;
  white-space:nowrap;
}
.footer-nav-actions .family-name-copy{
  display:flex!important;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
}
.footer-nav-actions .family-logo{
  display:block!important;
  width:28px;
  height:28px;
  flex:0 0 28px;
  object-fit:cover;
  border-radius:6px;
}
.footer-nav-actions .family-options .family-logo{
  width:24px;
  height:24px;
  flex-basis:24px;
  border-radius:5px;
}
/* The shared desktop summary rule is more specific than the compact rule
   above. Match that specificity so the selected brand logo and its two-line
   name stay side by side on phones. */
.footer-nav-actions .family-dropdown>summary .family-name{
  flex-direction:row!important;
  align-items:center!important;
  gap:8px!important;
}
.footer-nav-actions .family-dropdown>summary .family-name .family-name-copy{
  flex:1 1 auto;
  min-width:0;
}
/* Keep the compact family-site row text-only. The linked-site artwork is
   intentionally omitted on phones so the localized name stays legible; the
   desktop selector retains its existing logo. */
.footer-nav-actions .family-logo{display:none!important}
.footer-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px;padding:30px 0}
.footer-info>div{min-height:0;padding:0}
.footer-info>div:nth-child(5){grid-column:1/-1}
.footer-info p{line-height:1.7}
.footer-utility{display:grid;grid-template-columns:1fr;gap:26px;padding:30px 0;border-top:1px solid var(--line)}
.footer-bank,.footer-contact{display:grid;grid-template-columns:1fr;gap:16px;padding:0;border:0}
.footer-bank{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px;align-items:baseline}
.footer-bank>small{grid-column:1;grid-row:1;align-self:auto}
.footer-contact>strong{grid-row:auto;align-self:auto}
.bank-meta{display:grid;grid-column:1/-1;grid-row:1/3;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px;margin:0}
.bank-meta>span{display:grid;grid-template-rows:auto auto;gap:12px}
.bank-meta i{font-style:normal}
.trade-bank-meta .account-holder-name,.bank-meta .account-holder-name{min-width:0;line-height:1.5;overflow-wrap:anywhere}
.footer-bank>strong{display:flex;grid-column:1/-1;grid-row:3;align-items:center;gap:8px;margin-top:8px;font-size:18px}
.footer-contact{padding-top:26px;border-top:1px solid var(--line)}
.footer-contact .contact-lines{grid-row:auto;width:100%;margin-top:0}
.contact-fax{display:none!important}
.footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:10px 18px;align-items:center;padding:20px 0;line-height:1.7}
.footer-bottom>p{grid-column:1;max-width:28ch;margin:0}
.footer-social{display:grid;grid-column:2;grid-row:1/3;grid-template-columns:repeat(6,32px);gap:12px;align-self:center;margin:0}
.footer-social a{width:32px;height:32px}

/* Stable compact reveal motion. One element, one transform, no light sweeps. */
html.motion-ready .brand-card .brand-logo,html.motion-ready .brand-card .brand-card-foot{opacity:1!important;filter:none!important;transform:none!important}

@media(max-width:520px){
  :root{--compact-pad:22px}
  .section{padding:72px 0}
  .site-header.menu-open .main-nav{padding-top:136px}
  .hero h1{font-size:clamp(44px,12vw,62px)}
  .brand-card{padding:22px}
  .brand-card-motion{gap:14px}
  #brands .brand-logo{width:76%!important}
  .brand-site{font-size:10px}
  .brand-site strong{font-size:10px}
  .brand-apps .store-link img{height:15px!important}
  .metric-row{gap:7px}
  .footer-nav>nav a{font-size:9px}
  .footer-nav-actions .family-picker-label{font-size:8px;letter-spacing:.1em}
}

@media(max-width:360px){
  #brands .brand-card.has-logo .brand-logo{top:42%!important;width:min(70%,360px)!important}
  .footer-nav{column-gap:8px}
  .footer-nav-brand{gap:8px;font-size:9px;letter-spacing:.1em}
  .footer-nav-brand .mark{width:22px;height:22px}
  .footer-nav-actions .family-site-picker{gap:7px!important}
  .footer-nav-actions .family-picker-label{font-size:7px;letter-spacing:.07em}
  .footer-nav-actions .family-dropdown>summary{gap:8px}
  .trade-bank>strong,.footer-bank>strong{grid-column:1/-1}
}

@media(max-height:640px){
  .site-header.portal-authenticated .main-nav{padding-top:64px;padding-bottom:14px}
  .site-header.menu-open .main-nav>a{min-height:48px}
  .site-header .main-nav>.portal-menu.compact-inline .portal-account{padding-block:9px}
  .site-header .main-nav>.portal-menu.compact-inline .portal-systems>a{height:56px;min-height:56px;padding-block:0}
}

@media(prefers-reduced-motion:reduce){
  .revenue-line{stroke-dashoffset:0!important}
}
