@font-face{font-family:Paperlogy;src:url('../assets/fonts/Paperlogy-4Regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:Paperlogy;src:url('../assets/fonts/Paperlogy-7Bold.woff') format('woff');font-weight:700;font-display:swap}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.spa-platform{
  --spa-ink:#0B1F3A;
  --spa-navy:#0B1F3A;
  --spa-navy-mid:#12284A;
  --spa-cyan:#00B8D9;
  --spa-cyan-bright:#22D3EE;
  --spa-cyan-text:#0891B2;
  --spa-max:1360px;
  --spa-pad:24px;
  --spa-pad:clamp(24px, 3.2vw, 48px);
  --spa-gutter:max(var(--spa-pad), calc((100vw - var(--spa-max)) / 2));
  --spa-green:#0891B2; /* alias: accent text (was green) */
  --spa-green-deep:#0B1F3A; /* alias: primary dark (was green-deep) */
  --spa-teal:#00B8D9; /* alias */
  --spa-sand:#F3F6F9; /* alias: cool soft bg */
  --spa-sand-deep:#E8EEF4;
  --spa-line:#D5DCE6;
  --spa-soft:#F3F6F9;
  --spa-muted:#3a4658;
  --spa-warm:#F8FAFC;
  --spa-shadow:0 18px 48px rgba(11,31,58,.10);
  --spa-shadow-lg:0 28px 70px rgba(11,31,58,.16);
  --spa-radius:22px;
  background:#fff;
  color:var(--spa-ink);
  font-family:Paperlogy,sans-serif;
  font-weight:400;
  line-height:1.8;
  font-size:17px;
  margin:0;
}
.spa-platform:not(.et-fb) #main-header,.spa-platform:not(.et-fb) #top-header,.spa-platform:not(.et-fb) #main-footer,.spa-platform #sidebar{display:none}
body.spa-platform #page-container,body.spa-platform.et_fixed_nav #page-container,body.spa-platform.et_fixed_nav.et_show_nav #page-container{padding-top:0!important;margin-top:0!important}
body.spa-platform #et-main-area{padding-top:0!important;margin-top:0!important}
.spa-platform #main-content .container{width:100%;max-width:none;padding-top:0}
.spa-platform #main-content .container:before{display:none}
.spa-platform #left-area{width:100%;padding:0}
.spa-platform #left-area>.et_pb_post>.entry-title,.spa-platform #left-area>.et_pb_post>.post-meta,.spa-platform .entry-title.main_title,.spa-platform article>h1.entry-title,.spa-platform article>.post-meta{display:none}
.spa-platform .et_pb_post{margin-bottom:0}
body.admin-bar .spa-header{top:32px}
@media screen and (max-width:782px){body.admin-bar .spa-header{top:46px}}

.spa-platform h1,.spa-platform h2,.spa-platform h3,.spa-hero h1,.spa-page-hero h1,.spa-section-heading h2,.spa-empty h2,.spa-footer-cta-inner h2,.spa-reading h1,.spa-reading h2{word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}
.spa-card h3,.spa-article-card h3,.spa-mag-list h3{word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance;max-width:none;width:auto;hyphens:none}
a{color:inherit}img{max-width:100%;height:auto}
.spa-local-banner{background:#0B1F3A;color:#fff;text-align:center;padding:8px 12px;font-size:13px;letter-spacing:.02em}
.spa-local-banner strong{color:#22D3EE}

/* HEADER */
.spa-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:18px;padding:12px var(--spa-gutter);background:rgba(255,255,255,.86);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border-bottom:1px solid rgba(217,227,225,.85);transition:box-shadow .25s ease,background .25s ease}
.spa-header.is-scrolled{box-shadow:0 10px 30px rgba(11,31,58,.08);background:rgba(255,255,255,.94)}
.spa-brand{display:block;text-decoration:none;min-width:max-content;font-size:24px;font-weight:700;letter-spacing:-.6px;line-height:1.2;color:var(--spa-ink)}
.spa-brand span{color:var(--spa-green)}.spa-brand small{display:block;margin-top:2px;font-size:13px;color:var(--spa-muted);font-weight:400;letter-spacing:-.1px;line-height:1.35;white-space:normal}
.spa-header nav{display:flex;flex-wrap:wrap;gap:2px;margin-left:auto;align-items:center}
.spa-header nav a{position:relative;font-size:15px;display:inline-flex;align-items:center;gap:8px;padding:11px 14px;border-radius:999px;border:1px solid transparent;min-height:46px;text-decoration:none;color:#334155;transition:color .2s ease,background .2s ease}
.spa-header nav a .spa-nav-icon,.spa-account .spa-nav-icon{width:20px;height:20px;flex:0 0 20px}
.spa-header nav a:hover{background:#F3F6F9;color:var(--spa-green)}
.spa-header nav a:after{content:"";position:absolute;left:16px;right:16px;bottom:7px;height:2px;border-radius:2px;background:var(--spa-teal);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
.spa-header nav a:hover:after,.spa-header nav a[aria-current=page]:after,.spa-header nav a.is-active:after{transform:scaleX(1)}
.spa-header nav a[aria-current=page],.spa-header nav a.is-active{color:var(--spa-green);font-weight:700}
.spa-account{display:inline-flex;align-items:center;gap:8px;border:1px solid #D5DCE6;border-radius:999px;padding:10px 16px;font-size:14px;text-decoration:none;min-height:46px;background:#fff;color:var(--spa-ink);transition:border-color .2s,box-shadow .2s}
.spa-account:hover{border-color:var(--spa-teal);box-shadow:0 8px 20px rgba(11,31,58,.12)}
.spa-menu-toggle{display:none;border:1px solid #D5DCE6;background:#fff;border-radius:12px;width:46px;height:46px;align-items:center;justify-content:center;cursor:pointer;padding:0}
.spa-menu-toggle span,.spa-menu-toggle span:before,.spa-menu-toggle span:after{display:block;width:18px;height:2px;background:var(--spa-ink);position:relative}
.spa-menu-toggle span:before,.spa-menu-toggle span:after{content:"";position:absolute;left:0}
.spa-menu-toggle span:before{top:-6px}.spa-menu-toggle span:after{top:6px}

/* MAIN */
.spa-main{max-width:none;width:100%;margin:0;padding:0 var(--spa-gutter) 64px;box-sizing:border-box}
.spa-main.spa-main-flush{max-width:none;width:100%;padding:0 0 0;box-sizing:border-box}
.spa-main a{color:var(--spa-green);text-underline-offset:4px}
.spa-main h1,.spa-main h2,.spa-main h3,.spa-footer strong{color:var(--spa-ink);font-weight:700;line-height:1.35;padding:0}
.spa-main p{padding:0;margin:12px 0;font-size:17px;line-height:1.9;word-break:keep-all;overflow-wrap:anywhere}
.spa-kicker{display:inline-flex;align-items:center;gap:8px;font-size:14px!important;color:var(--spa-green)!important;font-weight:700;letter-spacing:.04em;margin:0}
.spa-kicker .spa-title-icon,img.spa-title-icon{width:18px;height:18px;vertical-align:-3px;display:inline-block}
.spa-title-with-icon{display:flex;align-items:flex-start;gap:12px}.spa-title-with-icon .spa-title-icon{width:28px;height:28px;margin-top:6px;flex:0 0 28px}
.spa-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;font-size:14px;font-weight:700;letter-spacing:.03em;backdrop-filter:blur(8px)}
.spa-chip img{width:16px;height:16px;filter:brightness(0) invert(1)}

/* BUTTONS */
.spa-button,.spa-main input[type=submit],.spa-main button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--spa-green-deep);color:#fff!important;border:1px solid var(--spa-green-deep);border-radius:999px;padding:14px 22px;font:700 15px Paperlogy,sans-serif;cursor:pointer;text-decoration:none;line-height:1.4;min-height:48px;box-shadow:0 10px 24px rgba(11,31,58,.22);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.spa-button:hover{background:#12284A;transform:translateY(-1px);box-shadow:0 14px 28px rgba(11,31,58,.28)}
.spa-button-light,.spa-button.spa-button-light,.spa-main button.spa-button-light,.spa-main .spa-button.spa-button-light,#spa-cost-example{background:#fff!important;color:#0B1F3A!important;border:1px solid #D5DCE6!important;box-shadow:0 8px 20px rgba(11,31,58,.08)!important}
/* superseded by 0.1.19i light-safe ghost */.spa-button-ghost{background:transparent;color:inherit;border-color:currentColor;box-shadow:none}
.spa-button-ghost:hover{background:rgba(255,255,255,.12)!important}
.spa-main .spa-text-link{display:inline-block;margin:12px 0 12px 12px;font-size:15px}

/* HERO FULL BLEED */
.spa-hero-bleed{position:relative;min-height:min(84vh,820px);display:grid;align-items:end;overflow:hidden;color:#fff;margin:0;border-radius:0 0 28px 28px}
.spa-hero-bleed-bg{position:absolute;inset:0;overflow:hidden}
.spa-hero-bleed-bg img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.06);animation:spa-kenburns 28s ease-in-out infinite alternate;will-change:transform}
.spa-hero-bleed-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,31,58,.40) 0%,transparent 16%,transparent 84%,rgba(11,31,58,.36) 100%),linear-gradient(105deg,rgba(11,31,58,.88) 0%,rgba(11,31,58,.78) 28%,rgba(11,31,58,.42) 52%,rgba(11,31,58,.22) 74%,rgba(11,31,58,.14) 100%)}
.spa-hero-bleed-inner{position:relative;z-index:2;width:min(1200px,100%);margin:0 auto;padding:120px 24px 36px;display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:end}
.spa-hero-bleed h1{font-size:clamp(44px,6.2vw,72px);line-height:1.12;letter-spacing:-2.2px;margin:18px 0 18px;max-width:14ch;text-shadow:0 2px 18px rgba(0,0,0,.28);color:#fff}
.spa-hero-bleed .spa-lead{font-size:clamp(17px,1.5vw,20px);line-height:1.7;color:rgba(255,255,255,.9);max-width:34ch;margin:0 0 28px;text-shadow:0 1px 8px rgba(0,0,0,.25)}
.spa-hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.spa-hero-character-wrap{display:none!important}
.spa-hero-visual{justify-self:end;align-self:end;width:min(420px,38vw);margin:0 0 8px;position:relative;z-index:3}
.spa-hero-visual figure{margin:0;border-radius:22px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);backdrop-filter:blur(6px)}
.spa-hero-visual img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;filter:none}
.spa-hero-visual figcaption{position:absolute;left:0;right:0;bottom:0;padding:10px 14px;font-size:13px;line-height:1.45;color:rgba(255,255,255,.92);background:linear-gradient(transparent,rgba(11,31,58,.72));word-break:keep-all}
.spa-type-caret{display:inline-block;width:.08em;height:.92em;background:#22D3EE;margin-left:4px;vertical-align:-.1em;animation:spa-caret 1s steps(1) infinite}
@keyframes spa-caret{50%{opacity:0}}
@keyframes spa-kenburns{from{transform:scale(1.05) translate3d(0,0,0)}to{transform:scale(1.14) translate3d(-1.5%,-1%,0)}}
.spa-hero-caption{position:relative;z-index:3;margin:0;padding:0;font-size:14px;color:rgba(255,255,255,.88)}

/* VALUE / ICON BAND */
.spa-icon-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:28px auto 48px;width:min(1200px,calc(100% - 48px));position:relative;z-index:4}
.spa-icon-card{background:#fff;border:1px solid var(--spa-line);border-radius:20px;padding:26px 22px;box-shadow:var(--spa-shadow);display:flex;flex-direction:column;gap:12px;min-height:168px;transition:transform .22s ease,box-shadow .22s ease}
.spa-icon-card:hover{transform:translateY(-4px);box-shadow:var(--spa-shadow-lg)}
.spa-icon-card .spa-icon-lg{width:52px;height:52px;border-radius:16px;background:linear-gradient(145deg,var(--spa-sand),#fff);border:1px solid var(--spa-sand-deep);display:inline-flex;align-items:center;justify-content:center}
.spa-icon-card .spa-icon-lg img{width:28px;height:28px}
.spa-icon-card strong{font-size:18px;letter-spacing:-.3px}
.spa-icon-card span{font-size:15px;color:var(--spa-muted);line-height:1.65}

/* SECTIONS */
.spa-section{padding:56px 0;border-bottom:1px solid var(--spa-line);scroll-margin-top:88px}
.spa-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:28px}
.spa-section-heading h2{font-size:clamp(28px,3vw,36px);margin:8px 0 0;letter-spacing:-.8px}
.spa-section-heading>a{font-size:15px;white-space:nowrap;color:var(--spa-green);text-decoration:none;font-weight:700}
.spa-grid{display:grid;gap:22px}
.spa-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.spa-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}

/* CARDS */
.spa-card{display:flex;flex-direction:column;position:relative;padding:0 0 22px;border:1px solid var(--spa-line);border-radius:22px;color:var(--spa-ink)!important;text-decoration:none;background:#fff;overflow:hidden;box-shadow:0 10px 28px rgba(11,31,58,.06);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.spa-card:hover{transform:translateY(-6px);box-shadow:var(--spa-shadow-lg);border-color:#C5D0DC}
.spa-card-media{aspect-ratio:16/10;overflow:hidden;background:var(--spa-soft)}
.spa-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease}
.spa-card:hover .spa-card-media img{transform:scale(1.07)}
.spa-card .spa-kicker,.spa-card h3,.spa-card p,.spa-card-arrow{padding-left:22px;padding-right:22px}
.spa-card .spa-kicker{margin-top:18px}
.spa-card h3{margin:10px 0;font-size:21px;letter-spacing:-.4px}
.spa-card p{font-size:16px;color:var(--spa-muted);flex:1;margin:0}
.spa-card-arrow{margin-top:16px;color:var(--spa-green);font-size:18px;font-weight:700}
.spa-card-caption{display:block;font-size:13px;color:var(--spa-muted);padding:0 22px;margin-top:8px}

/* FEATURE ROWS */
.spa-feature{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;margin:18px 0 56px}
.spa-feature.is-reverse{grid-template-columns:.95fr 1.05fr}
.spa-feature.is-reverse .spa-feature-media{order:2}
.spa-feature-media{position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--spa-shadow-lg);aspect-ratio:16/11;background:var(--spa-soft)}
.spa-feature-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease}
.spa-feature:hover .spa-feature-media img{transform:scale(1.04)}
.spa-feature-media figcaption{position:absolute;left:0;right:0;bottom:0;padding:12px 16px;font-size:14px;line-height:1.45;color:rgba(255,255,255,.92);background:linear-gradient(transparent,rgba(0,0,0,.55));word-break:keep-all}
.spa-feature-copy .spa-kicker{margin-bottom:10px}
.spa-feature-copy h2{font-size:clamp(28px,3.2vw,38px);letter-spacing:-1px;margin:0 0 14px}
.spa-feature-copy p{font-size:17px;color:var(--spa-muted);margin:0 0 22px;max-width:38ch}
.spa-feature-list,.spa-feature-list li{list-style:none!important;list-style-type:none!important}
.spa-feature-list{padding:0;margin:0 0 24px;display:grid;gap:10px}
.spa-feature-list li{position:relative;padding-left:28px;font-size:15px;color:#475569}
.spa-feature-list li:before{content:"";position:absolute;left:0;top:.55em;width:14px;height:14px;border-radius:50%;background:var(--spa-sand);border:3px solid var(--spa-cyan-text)}
.spa-feature-list li::marker{content:"";content:none}

/* MAGAZINE */
.spa-mag{display:grid;grid-template-columns:1.25fr .85fr;gap:22px;align-items:stretch}
.spa-mag-featured{display:grid;grid-template-rows:1.1fr auto;border-radius:24px;overflow:hidden;border:1px solid var(--spa-line);background:#fff;box-shadow:var(--spa-shadow);text-decoration:none;color:inherit;min-height:420px;transition:transform .22s ease,box-shadow .22s ease}
.spa-mag-featured:hover{transform:translateY(-4px);box-shadow:var(--spa-shadow-lg)}
.spa-mag-featured-media{position:relative;min-height:260px;overflow:hidden}
.spa-mag-featured-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease}
.spa-mag-featured:hover .spa-mag-featured-media img{transform:scale(1.05)}
.spa-mag-featured-body{padding:26px 28px 30px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,#fff,#F8FAFC)}
.spa-mag-featured-body h3{font-size:28px;letter-spacing:-.7px;margin:0;line-height:1.35}
.spa-mag-featured-body p{margin:0;color:var(--spa-muted);font-size:16px}
.spa-mag-list{display:flex;flex-direction:column;gap:14px}
.spa-mag-list a{display:grid;grid-template-columns:112px 1fr;gap:16px;padding:14px;border:1px solid var(--spa-line);border-radius:18px;text-decoration:none;color:inherit;background:#fff;transition:border-color .2s,box-shadow .2s,transform .2s}
.spa-mag-list a:hover{border-color:#C5D0DC;box-shadow:var(--spa-shadow);transform:translateY(-2px)}
.spa-mag-list-thumb{border-radius:12px;overflow:hidden;aspect-ratio:1;background:var(--spa-soft)}
.spa-mag-list-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.spa-mag-list h3{margin:4px 0 6px;font-size:17px;letter-spacing:-.3px}
.spa-mag-list p{margin:0;font-size:14px;color:var(--spa-muted)}
.spa-mag-list time{font-size:13px;color:#64748B}

/* PHOTO BAND */
.spa-photo-band{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;margin:28px 0 8px}
.spa-photo-band figure{margin:0;border-radius:18px;overflow:hidden;background:var(--spa-soft);box-shadow:var(--spa-shadow);display:flex;flex-direction:column}
.spa-photo-band img{width:100%;height:auto;object-fit:cover;aspect-ratio:16/10;display:block}
.spa-photo-band figcaption{font-size:14px;line-height:1.55;color:var(--spa-muted);padding:10px 14px 12px;background:#fff}

/* SOFT CTA */
.spa-section.spa-soft{display:grid;grid-template-columns:1.2fr .5fr;gap:24px;align-items:center;background:linear-gradient(125deg,var(--spa-sand) 0%,#F8FAFC 55%,#F1F5F9 100%);border-radius:28px;padding:36px 40px;margin:36px 0;border:1px solid var(--spa-sand-deep);box-shadow:var(--spa-shadow)}
.spa-muted{color:var(--spa-muted)!important;font-size:15px!important}

/* PAGE HERO BANNER */
.spa-page-hero{position:relative;display:block;min-height:320px;border-radius:0;overflow:hidden;margin:0 0 40px;color:#fff;box-shadow:none;background:#0B1F3A}
.spa-page-hero-copy{position:relative;z-index:2;min-height:0;padding:0;display:flex;flex-direction:column;justify-content:center;gap:10px;width:100%;max-width:40rem;box-sizing:border-box;background:transparent}
.spa-page-hero-badge{width:56px;height:56px;border-radius:16px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);display:inline-flex;align-items:center;justify-content:center;margin-bottom:4px}
.spa-page-hero-badge img{width:28px;height:28px;filter:brightness(0) invert(1)}
.spa-page-hero .spa-kicker{color:#A5F3FC!important}
.spa-page-hero h1{font-size:clamp(32px,4vw,46px);letter-spacing:-1.2px;margin:4px 0;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.25)}
.spa-page-hero .spa-lead{font-size:17px;line-height:1.7;color:rgba(255,255,255,.88);margin:4px 0 0;max-width:36ch}
.spa-page-hero-media{position:absolute;inset:0;z-index:0}
.spa-page-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.spa-page-hero-crumb{font-size:14px;color:rgba(255,255,255,.7);margin:0}

/* FORMS / TOOLS */
.spa-notice{border-left:4px solid var(--spa-green);background:#F3F6F9;padding:16px 20px!important;margin:15px 0 26px!important;font-size:15px!important;border-radius:0 12px 12px 0}
.spa-tool-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:36px;align-items:start}
.spa-form{max-width:760px}
.spa-form label,.spa-main #loginform label{display:block;font-size:15px;color:#475569;margin:18px 0 8px;font-weight:700}
.spa-main input:not([type=checkbox]):not([type=radio]):not([type=submit]),.spa-main textarea,.spa-main select{font:400 16px Paperlogy,sans-serif;padding:13px 14px;border:1px solid #C5D0DC;border-radius:10px;background:white;width:100%;max-width:100%;color:var(--spa-ink);line-height:1.6;min-height:48px}
.spa-main input[type=checkbox],.spa-main input[type=radio],.spa-form label input[type=checkbox],.spa-form label input[type=radio]{width:22px;height:22px;min-width:22px;min-height:22px;accent-color:var(--spa-green);cursor:pointer}
.spa-report{border:1px solid var(--spa-line);border-radius:20px;padding:26px;background:linear-gradient(180deg,#F8FAFC,#F3F6F9);position:sticky;top:96px;box-shadow:var(--spa-shadow)}
.spa-report h2{font-size:30px;margin:0 0 8px}.spa-report p{font-size:15px}
.spa-scenario-inputs{margin-top:36px;padding-top:8px;border-top:1px solid var(--spa-line)}
.spa-scenario-inputs h2,.spa-scenario-inputs h3{margin-top:18px;margin-bottom:10px}
.spa-cost-line{display:grid;grid-template-columns:90px minmax(10px,1fr) 120px;gap:12px;align-items:center;margin:13px 0;font-size:14px}
.spa-cost-line i{height:10px;background:linear-gradient(90deg,var(--spa-green),var(--spa-teal));border-radius:7px;display:block}
.spa-cost-line strong{text-align:right;font-weight:400}
.spa-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 20px}
.spa-tabs a{padding:10px 16px;border:1px solid #D5DCE6;border-radius:999px;font-size:15px;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;background:#fff}
.spa-tabs a[aria-current=page]{background:#E8F8FC;border-color:#B6EAF5;color:var(--spa-green);font-weight:700}
table.spa-compare-table{width:100%;border-collapse:collapse;min-width:520px;font-size:15px}
.spa-compare-table th,.spa-compare-table td{border-bottom:1px solid var(--spa-line);padding:14px 12px;text-align:left}
.spa-empty{display:grid;grid-template-columns:160px 1fr;gap:22px;align-items:center;border:1px dashed #D5DCE6;border-radius:20px;padding:28px;background:#F8FAFC;margin:12px 0 24px}
.spa-empty h2{font-size:25px;margin:0 0 8px}.spa-empty p{font-size:16px;color:var(--spa-muted)}
.spa-board-summary{display:flex;justify-content:space-between;gap:20px;border:1px solid var(--spa-line);border-radius:18px;padding:22px;background:#fff;box-shadow:var(--spa-shadow)}
.spa-board-summary p{font-size:15px}
.spa-reading{max-width:760px}.spa-reading h1{font-size:36px;line-height:1.3;letter-spacing:-1px}
.spa-reading h2{font-size:24px;margin:28px 0 10px}.spa-reading li,.spa-reading p{font-size:17px}
.spa-source{border-top:1px solid var(--spa-line);margin-top:36px;padding-top:22px}.spa-source p{font-size:15px;color:var(--spa-muted)}.spa-source h2{font-size:20px}
.spa-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 12px;font-size:14px;border:1px solid #D5DCE6;background:#fff;color:#475569}

/* FOOTER CTA + FOOTER */
.spa-footer-cta{position:relative;border-radius:28px;overflow:hidden;margin:28px var(--spa-gutter) 28px;min-height:220px;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;color:#fff;box-shadow:var(--spa-shadow-lg)}
.spa-footer-cta-bg{position:absolute;inset:0}
.spa-footer-cta-bg img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.05)}
.spa-footer-cta-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,31,58,.92) 0%,rgba(18,40,74,.82) 42%,rgba(18,40,74,.5) 100%)}
.spa-footer-cta-inner{position:relative;z-index:1;padding:42px 44px;display:flex;flex-direction:column;gap:12px}
.spa-footer-cta-inner h2{margin:0;font-size:30px;letter-spacing:-.7px;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.45),0 6px 18px rgba(0,0,0,.25)}
.spa-footer-cta-inner .spa-kicker{color:#E8F8FC!important;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.spa-footer-cta-inner p{margin:0;font-size:16px;color:rgba(255,255,255,.9);max-width:40ch}
.spa-footer-cta .spa-button{align-self:flex-start;margin-top:8px;background:#fff;color:var(--spa-ink)!important;border-color:#fff;box-shadow:none}
.spa-footer-cta-character{position:relative;z-index:1;justify-self:end;padding:16px 28px 0 0;width:min(112px,28%);filter:none}

.spa-footer{display:grid;grid-template-columns:1.3fr .7fr .7fr .9fr;gap:32px 36px;border-top:none;background:linear-gradient(180deg,#0B1F3A 0%,#071628 100%);padding:52px max(24px,calc((100% - 1200px)/2)) 40px;color:rgba(255,255,255,.78);font-size:15px;line-height:1.85;margin-top:0}
.spa-footer strong{font-size:16px;color:#fff;font-weight:600}.spa-footer p{margin:10px 0;font-size:15px;color:rgba(255,255,255,.72)}
.spa-footer-brand{display:flex;gap:16px;align-items:flex-start}.spa-footer-brand img{width:76px;height:76px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.25))}
.spa-footer-col h3{font-size:14px;margin:0 0 14px;color:#22D3EE;letter-spacing:.06em;text-transform:uppercase}
.spa-footer-links{display:flex;flex-direction:column;gap:11px}.spa-footer-links a{color:rgba(255,255,255,.82);font-size:15px;text-decoration:none}.spa-footer-links a:hover{color:#fff}
.spa-footer-status{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:9px 14px;font-size:14px;color:rgba(255,255,255,.85);margin-top:12px}
.spa-footer-status i{width:8px;height:8px;border-radius:50%;background:#22D3EE;display:inline-block}
.spa-footer .spa-operator{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.14);padding-top:18px}
.spa-footer .spa-operator p{font-size:14px;line-height:1.8;margin:5px 0;overflow-wrap:anywhere;color:rgba(255,255,255,.62)}
.spa-footer .spa-operator a{color:#22D3EE}

/* REVEAL — fail-safe: visible by default; animation only under html.spa-anim */
.spa-reveal{opacity:1;transform:none;transition:opacity .65s ease,transform .65s ease}
.spa-reveal.is-in{opacity:1;transform:none}
html.spa-anim .spa-reveal:not(.is-in){
  opacity:.45;transform:translateY(12px);
}
html.spa-anim .spa-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .spa-hero-bleed-bg img{animation:none!important;transform:scale(1.04)!important}
  .spa-reveal,html.spa-anim .spa-reveal:not(.is-in){opacity:1!important;transform:none!important;transition:none!important}
  .spa-card,.spa-icon-card,.spa-mag-featured,.spa-feature-media img{transition:none!important}
  html{scroll-behavior:auto}
}

/* RESPONSIVE */
@media (max-width:1100px){
  .spa-icon-band{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}
  .spa-feature,.spa-feature.is-reverse{grid-template-columns:1fr}
  .spa-feature.is-reverse .spa-feature-media{order:0}
  .spa-mag{grid-template-columns:1fr}
  .spa-hero-bleed-inner{grid-template-columns:1fr;padding-bottom:48px}
  .spa-hero-character-wrap{justify-self:start}
  .spa-footer{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .spa-menu-toggle{display:inline-flex;margin-left:auto}
  .spa-header{flex-wrap:wrap;padding:12px 16px}
  .spa-header nav,.spa-header .spa-account{display:none}
  .spa-header.is-open nav{display:flex;flex-direction:column;width:100%;order:5;background:#fff;border:1px solid var(--spa-line);border-radius:16px;padding:6px;gap:0;box-shadow:var(--spa-shadow);margin:8px 0 0;overflow:hidden}
  .spa-header.is-open .spa-account{display:flex;order:6;margin:10px 0 0;width:100%;justify-content:flex-start}
  .spa-header.is-open nav a{display:flex;width:100%;border-radius:0;border:0;border-bottom:1px solid #E8EEF4;min-height:48px}
  .spa-header.is-open nav a:after{display:none}
  .spa-icon-band{grid-template-columns:1fr;width:calc(100% - 32px);margin:20px auto 36px}
  .spa-grid-three,.spa-photo-band,.spa-tool-layout,.spa-page-hero,.spa-section.spa-soft,.spa-footer-cta{grid-template-columns:1fr}
  .spa-page-hero{min-height:320px}
  .spa-page-hero-copy{padding:28px 22px;background:linear-gradient(180deg,rgba(11,31,58,.92) 0%,rgba(18,40,74,.78) 55%,rgba(18,40,74,.42) 100%)}
  .spa-page-hero-media{position:absolute}
  .spa-main{padding:0 16px 64px}
  .spa-footer{grid-template-columns:1fr;padding:40px 20px 32px}
  .spa-footer-cta{margin:36px 16px 0}
  .spa-footer-cta-inner{padding:28px 22px}
  .spa-footer-cta-inner h2{font-size:24px}
  .spa-footer-cta-character{justify-self:center;padding:0 0 18px;width:min(112px,32vw)}
  .spa-mag-list a{grid-template-columns:88px 1fr}
  .spa-hero-bleed{min-height:78vh;border-radius:0 0 20px 20px}
  .spa-hero-bleed h1{font-size:clamp(36px,10vw,48px)}
}
@media print{
  .spa-header,.spa-footer,.spa-footer-cta,.spa-menu-toggle,.spa-local-banner,.spa-photo-band,.spa-hero-character-wrap,.spa-icon-band{display:none!important}
  .spa-main{max-width:100%;padding:0}.spa-tool-layout{display:block}.spa-report{position:static;background:white}
}


/* v2 iter2 polish */
/* 0.1.19i: do not hide reveals via .spa-js — only html.spa-anim may dim them */
.spa-reveal{opacity:1;transform:none}
.spa-hero-bleed{min-height:min(88vh,900px)}
.spa-hero-bleed h1{font-weight:700;max-width:12ch}
.spa-icon-band{margin-top:28px}
.spa-icon-card{border-color:#D5DCE6;box-shadow:0 22px 50px rgba(11,31,58,.12)}
.spa-feature{padding:8px 0 8px}
.spa-feature-media{box-shadow:0 30px 70px rgba(11,31,58,.18)}
.spa-feature-copy h2{color:#0B1F3A}
.spa-section-heading h2{color:#0B1F3A}
.spa-mag-featured-body{border-top:1px solid #E8EEF4}
.spa-page-hero{min-height:320px}
.spa-footer{padding-top:56px}
.spa-header nav a{font-size:15px;font-weight:500}


/* === 0.1.14 alignment / Divi coexistence === */
/* Hide Divi page-16 hero when plugin full-bleed hero is present (do not edit Divi content). */
body.spa-platform .et_pb_section.spa-divi-hero,
body.spa-platform .spa-divi-hero{display:none!important}
body.spa-platform #page-container,
body.spa-platform.et_fixed_nav #page-container,
body.spa-platform.et_fixed_nav.et_show_nav #page-container{padding-top:0!important;margin-top:0!important}
body.admin-bar .spa-header{top:32px}
@media screen and (max-width:782px){body.admin-bar .spa-header{top:46px}}

.spa-main-flush{padding-left:0;padding-right:0;max-width:none}
.spa-main-flush > .spa-section,
.spa-main-flush > .spa-icon-band{width:min(1200px,calc(100% - 48px));margin-left:auto;margin-right:auto}
.spa-main-flush > .spa-hero-bleed{width:100%;margin-left:0;margin-right:0}
.spa-main-flush > .spa-section.spa-soft{width:min(1200px,calc(100% - 48px))}

/* Consistent vertical rhythm */
.spa-main > .spa-page-hero + .spa-notice,
.spa-main > .spa-page-hero + form,
.spa-main > .spa-page-hero + .spa-tool-layout,
.spa-main > .spa-page-hero + .spa-search,
.spa-main > .spa-page-hero + .spa-board-nav,
.spa-main > .spa-page-hero + .spa-grid{margin-top:8px}
.spa-section{padding-top:28px;padding-bottom:12px}
.spa-page-intro{margin:28px 0 24px}
.spa-page-intro h1,.spa-section-heading h2{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.spa-section-heading h2 .spa-title-icon,
.spa-kicker .spa-title-icon{flex:0 0 auto;align-self:center}

/* Equal card heights in grids */
.spa-grid{display:grid;gap:22px;align-items:stretch}
.spa-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.spa-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.spa-grid > .spa-card{height:100%;display:flex;flex-direction:column}
.spa-grid > .spa-card > p:last-of-type{flex:1}
.spa-grid > .spa-card .spa-card-arrow{margin-top:auto}

/* Icon band cards equal height + linked */
a.spa-icon-card{text-decoration:none;color:inherit;height:100%;display:flex;flex-direction:column;gap:10px}
a.spa-icon-card span{flex:1;color:#64748B;font-size:14px;line-height:1.55}
.spa-icon-band{align-items:stretch}

/* Forms / tables breathing room */
.spa-tool-layout{gap:40px;margin-top:12px;margin-bottom:36px}
.spa-tool-layout form label,
#spa-cost-inputs label,
.spa-main form > label{display:block;margin:16px 0 8px;font-weight:600;color:#1A3358}
.spa-main form input[type=text],
.spa-main form input[type=number],
.spa-main form input[type=email],
.spa-main form input[type=password],
.spa-main form select,
.spa-main form textarea{width:100%;max-width:100%;box-sizing:border-box;margin:0 0 4px;padding:12px 14px;border:1px solid #D5DCE6;border-radius:12px;font:400 15px Paperlogy,sans-serif;background:#fff}
.spa-main form .spa-button,
.spa-tool-layout .spa-button{margin-top:12px;margin-right:8px}
.spa-scenario-inputs{margin:24px 0;padding:20px 18px;border:1px solid var(--spa-line);border-radius:16px;background:#F8FAFC}
.spa-scenario-inputs h3{margin:0 0 8px}
.spa-search{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:8px 0 22px}
.spa-search label{margin:0}
.spa-search input{flex:1;min-width:200px}
.spa-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
/* superseded by containment block */
.spa-board-nav{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 24px}
.spa-report{padding:24px;border-radius:20px}
.spa-notice{margin:12px 0 20px;padding:14px 16px;border-radius:14px}

/* Buttons row alignment */
.spa-hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.spa-section .spa-button + .spa-text-link,
.spa-section .spa-button + .spa-button{margin-left:4px}

/* Mobile 390 / 320 — no horizontal scroll */
html,body{overflow-x:hidden}
.spa-main,.spa-header,.spa-footer,.spa-footer-cta,.spa-icon-band,.spa-hero-bleed,.spa-page-hero{max-width:100vw}
img,svg,video{max-width:100%;height:auto}
.spa-tool-layout,.spa-feature,.spa-mag,.spa-page-hero{min-width:0}
.spa-tool-layout > *,.spa-feature > *,.spa-mag > *{min-width:0}
@media (max-width:420px){
  .spa-main{padding-left:12px;padding-right:12px}
  .spa-main-flush > .spa-section,
  .spa-main-flush > .spa-icon-band,
  .spa-main-flush > .spa-section.spa-soft{width:calc(100% - 24px)}
  .spa-header{padding-left:12px;padding-right:12px}
  .spa-page-hero{margin:16px 0 20px;border-radius:20px}
  .spa-page-hero-copy{padding:22px 16px}
  .spa-footer-cta{margin-left:12px;margin-right:12px}
  .spa-icon-band{width:calc(100% - 24px)}
  .spa-grid-three,.spa-grid-two{grid-template-columns:1fr}
  .spa-compare-table{margin-left:-4px;margin-right:-4px}
}
@media (max-width:360px){
  .spa-hero-bleed h1{font-size:clamp(32px,9.5vw,42px);letter-spacing:-1.2px}
  .spa-button,.spa-main input[type=submit],.spa-main button{padding:12px 16px;font-size:14px}
}


/* compare table containment (mobile no page-level horizontal scroll) */
div.spa-compare-table,.spa-compare-wrap{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:12px 0 28px}
table.spa-compare-table{display:table;width:100%;min-width:520px;border-collapse:collapse;margin:0}
.spa-hero-bleed,.spa-hero-bleed-bg,.spa-page-hero,.spa-page-hero-media{overflow:hidden}
.spa-card-media,.spa-feature-media,.spa-mag-featured-media,.spa-mag-list-thumb{overflow:hidden}
img{max-width:100%}

div.spa-compare-table{max-width:100%!important;min-width:0!important;box-sizing:border-box}


/* navy-cyan focus / icon color */
.spa-nav-icon,.spa-title-icon,.spa-page-hero-badge img,.spa-icon-lg img,.spa-chip img{color:var(--spa-cyan-text)}
.spa-main a:not(.spa-button):not(.spa-card):not(.spa-mag-featured):not(.spa-mag-list a):not(.spa-icon-card){color:var(--spa-cyan-text)}
.spa-main a:not(.spa-button):hover{color:#0B1F3A}
.spa-button,.spa-main input[type=submit],.spa-main button{background:var(--spa-navy);border-color:var(--spa-navy);box-shadow:0 10px 24px rgba(11,31,58,.22)}
.spa-button:hover,.spa-main input[type=submit]:hover,.spa-main button:hover{background:var(--spa-navy-mid);border-color:var(--spa-navy-mid)}
/* superseded by 0.1.19i */.spa-button-ghost{background:transparent;border-color:currentColor;color:inherit;box-shadow:none}
.spa-button-light{background:#fff;color:var(--spa-navy)!important;border-color:var(--spa-line);box-shadow:none}
.spa-kicker{color:var(--spa-cyan-text)!important}
.spa-type-caret{background:var(--spa-cyan-bright)}
.spa-header nav a:after{background:var(--spa-cyan)}
.spa-header nav a:hover,.spa-header nav a[aria-current=page],.spa-header nav a.is-active{color:var(--spa-navy);background:rgba(0,184,217,.08)}
.spa-footer{background:linear-gradient(180deg,var(--spa-navy-mid) 0%,var(--spa-navy) 100%)}
.spa-section .spa-chip,.spa-icon-band .spa-chip{border-color:rgba(34,211,238,.45);background:rgba(0,184,217,.12);color:var(--spa-cyan-text)}
:focus-visible{outline:2px solid var(--spa-cyan);outline-offset:2px}
.spa-icon-card .spa-icon-lg{background:linear-gradient(145deg,#F3F6F9,#fff);border-color:#D5DCE6}
.spa-section.spa-soft{background:linear-gradient(125deg,#F3F6F9 0%,#F8FAFC 55%,#EEF4FA 100%);border-color:#E8EEF4}

.spa-character{display:block;height:auto;max-width:100%}
.spa-footer-brand .spa-character{width:44px;height:44px}
.spa-empty .spa-character{width:88px;height:88px;margin:0 auto 8px}
.spa-section.spa-soft .spa-character{width:112px;height:112px;justify-self:end}


/* ===== 0.1.15 QA fixes ===== */

/* Divi duplicate title / byline on SPA singles */
body.spa-platform .et_post_meta_wrapper,
body.spa-platform .et_pb_title_container,
body.spa-platform .et_pb_post_title,
body.spa-platform #left-area .post-meta,
body.spa-platform #left-area > article > .entry-title,
body.spa-platform #left-area > .et_pb_post > .entry-title,
body.spa-platform #left-area > .et_pb_post > .post-meta,
body.spa-platform h1.entry-title.main_title,
body.spa-platform .entry-title.main_title,
body.spa-platform article > h1.entry-title,
body.spa-platform article > .post-meta,
body.spa-platform .et_pb_section.spa-divi-hero,
body.spa-platform .spa-divi-hero{display:none!important;height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}
body.spa-platform #left-area,
body.spa-platform #main-content .container,
body.spa-platform #et-main-area{padding-top:0!important;margin-top:0!important}

/* Full-bleed header/footer when nested in Divi content column */
body.spa-platform .spa-header,
body.spa-platform .spa-footer,
body.spa-platform .spa-local-banner{
  width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  box-sizing:border-box;
}
body.spa-platform .spa-footer-cta{
  /* superseded by 0.1.16b full-bleed band */
  box-sizing:border-box;
}
body.spa-platform .spa-footer{padding-left:max(24px,calc((100vw - 1200px)/2));padding-right:max(24px,calc((100vw - 1200px)/2))}

/* Single article readable column */
.spa-main-article{max-width:1200px;margin:0 auto;padding:12px 24px 80px}
.spa-main-article .spa-article,
.spa-main-article .spa-reading{
  max-width:760px;margin:0 auto;padding:8px 4px 48px;
}
.spa-article-header{margin:12px 0 28px}
.spa-article-header h1{font-size:clamp(30px,4vw,42px);letter-spacing:-1.1px;margin:8px 0 0;line-height:1.28;color:var(--spa-navy)}
.spa-article-body{font-size:17px;line-height:1.9;color:#1E293B}
.spa-article-body h2{font-size:24px;margin:36px 0 12px;color:var(--spa-navy);letter-spacing:-.4px}
.spa-article-body h3{font-size:20px;margin:28px 0 10px}
.spa-article-body p,.spa-article-body li{font-size:17px;line-height:1.9}
.spa-article-body ul,.spa-article-body ol{padding-left:1.25em;margin:12px 0 20px}
.spa-article-body img{border-radius:14px;margin:16px 0}

/* Auto-fill grids — no empty trailing cell look */
.spa-grid-auto{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:22px}
.spa-grid-auto > .spa-card{height:100%}

/* Catalog cards: uniform padding, equal height */
.spa-catalog-card{padding:22px 22px 20px!important;gap:10px;min-height:100%}
.spa-catalog-card .spa-kicker,
.spa-catalog-card h2,
.spa-catalog-card p,
.spa-catalog-card .spa-compare-choice,
.spa-catalog-card .spa-card-link{padding-left:0;padding-right:0;margin-left:0;margin-right:0}
.spa-catalog-card h2{font-size:21px;letter-spacing:-.4px;margin:4px 0 8px;line-height:1.35}
.spa-catalog-card p{flex:1 1 auto;margin:0 0 12px;font-size:15px;color:var(--spa-muted)}
.spa-catalog-card .spa-compare-choice{display:flex;align-items:center;gap:10px;margin:8px 0 10px;font-size:15px;color:var(--spa-ink);cursor:pointer}
.spa-catalog-card .spa-card-link{margin-top:auto;display:inline-flex;font-size:15px;font-weight:700;text-decoration:none;color:var(--spa-cyan-text)!important}

/* Magazine article cards */
.spa-article-card{padding:0 0 18px;min-height:100%;display:flex;flex-direction:column}
.spa-article-card .spa-card-media{aspect-ratio:16/10;flex:0 0 auto}
.spa-article-card .spa-topic,
.spa-article-card h3,
.spa-article-card p,
.spa-article-card time{padding-left:20px;padding-right:20px}
.spa-article-card .spa-topic{margin-top:16px;margin-bottom:0;display:inline-flex;width:fit-content;max-width:calc(100% - 40px);align-self:flex-start;flex:0 0 auto}
.spa-article-card h3{margin:10px 0 8px;font-size:20px;line-height:1.35;flex:0 0 auto}
.spa-article-card p{flex:1 1 auto;margin:0 0 12px;font-size:15px;color:var(--spa-muted)}
.spa-article-card time{margin-top:auto;display:block;padding-bottom:4px;font-size:13px;color:#64748B}

/* Topic / status chips */
.spa-topic{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 12px;border-radius:999px;
  background:rgba(0,184,217,.12);border:1px solid rgba(34,211,238,.45);
  color:var(--spa-cyan-text)!important;font-size:12px!important;font-weight:700;
  letter-spacing:.02em;line-height:1.3;width:fit-content;max-width:100%;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  align-self:flex-start;flex:0 0 auto;
}
.spa-record .spa-topic{margin-bottom:10px}
.spa-record{border:1px solid var(--spa-line);border-radius:18px;padding:20px 22px;background:#fff;box-shadow:0 8px 22px rgba(11,31,58,.05);margin:0 0 16px}
.spa-record-body{font-size:15px;line-height:1.75;color:#334155}
.spa-record-body h2{font-size:18px;margin:16px 0 8px;color:var(--spa-navy)}
.spa-record-body h3{font-size:16px;margin:14px 0 6px}
.spa-record-body p,.spa-record-body li{font-size:15px;margin:8px 0}
.spa-record-body ul,.spa-record-body ol{padding-left:1.2em;margin:8px 0 12px}

/* My-home pill row spacing */
.spa-board-summary + .spa-tabs,
.spa-tabs{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 28px}
.spa-tabs a{padding:10px 18px;border:1px solid #D5DCE6;border-radius:999px;font-size:15px;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;background:#fff;color:var(--spa-ink)}
.spa-tabs a:hover{border-color:var(--spa-cyan);background:rgba(0,184,217,.08);color:var(--spa-navy)}
.spa-board-nav.spa-tabs{gap:12px;margin:12px 0 24px}
.spa-board-nav.spa-tabs a{margin:0}

/* Cost report sticky + visible print pill */
.spa-tool-layout > *{min-width:0}
.spa-report{align-self:start;position:-webkit-sticky;position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto;width:100%}
.spa-report-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px}
.spa-report .spa-button-light,
.spa-report-print{
  color:var(--spa-navy)!important;background:#fff!important;border:1px solid var(--spa-line)!important;
  box-shadow:0 6px 16px rgba(11,31,58,.08)!important;
}
.spa-report-link,.spa-report .spa-text-link{color:var(--spa-cyan-text)!important;margin:0!important;font-weight:700}

/* Site-check cards matching cost */
.spa-check-layout{display:grid;gap:28px;margin:8px 0 36px;width:100%;max-width:none;grid-template-columns:1fr}
.spa-check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.spa-check-item{
  border:1px solid var(--spa-line);border-radius:20px;padding:22px 22px 20px;
  background:#fff;box-shadow:0 10px 28px rgba(11,31,58,.06);
  display:flex;flex-direction:column;gap:8px;
}
.spa-check-item h2{font-size:20px;margin:0 0 4px;letter-spacing:-.3px;color:var(--spa-navy)}
.spa-check-item p{margin:0;font-size:15px;color:var(--spa-muted)}
.spa-check-item label{margin-top:10px}
.spa-check-item select{width:100%;max-width:100%}
.spa-check-notes{
  border:1px solid var(--spa-line);border-radius:20px;padding:24px;
  background:linear-gradient(180deg,#F8FAFC,#F3F6F9);max-width:none;width:100%;
  box-shadow:var(--spa-shadow);
}
.spa-check-notes label,.spa-check-notes input,.spa-check-notes textarea{max-width:100%}

/* KBoard scoped navy/cyan overrides */
.spa-kboard .kboard-pagination .kboard-pagination-pages .active a,
.spa-kboard .kboard-pagination .active,
.spa-kboard .pagination .active a,
.spa-kboard .pagination .current,
.spa-kboard a.kboard-pagination-link.active,
.spa-kboard .kboard-page-active,
.spa-kboard .kboard-pagination span.current,
.spa-kboard .kboard-pagination strong{
  background:var(--spa-navy)!important;border-color:var(--spa-navy)!important;color:#fff!important;
}
.spa-kboard .kboard-new,
.spa-kboard .new,
.spa-kboard span.new,
.spa-kboard .kboard-badge-new,
.spa-kboard .kboard-list .new,
.spa-kboard em.new,
.spa-kboard i.new{
  background:var(--spa-cyan)!important;border-color:var(--spa-cyan)!important;color:#0B1F3A!important;
}
.spa-kboard a{color:var(--spa-navy)}
.spa-kboard a:hover{color:var(--spa-cyan-text)}

/* Kill leftover green-ish shadows/hovers */
.spa-account:hover{box-shadow:0 8px 20px rgba(11,31,58,.12)}

@media (max-width:900px){
  .spa-check-grid{grid-template-columns:1fr}
  .spa-grid-auto{grid-template-columns:1fr}
  .spa-tool-layout{grid-template-columns:1fr}
  .spa-report{position:static;max-height:none}
  body.spa-platform .spa-footer-cta{width:calc(100vw - 24px)}
}
@media (max-width:720px){
  .spa-page-hero-copy{padding:26px 18px;min-height:260px}
  .spa-icon-band{margin-top:20px;width:calc(100% - 32px)}
  .spa-main-article{padding:8px 16px 64px}
}

/* ===== 0.1.16 QA fixes: shared container, Divi full-width, icons cache-bust, sticky, chips, KBoard New, home CTA ===== */

/* Break SPA chrome out of Divi content column so header/main/footer share one gutter */
body.spa-platform .spa-header,
body.spa-platform .spa-footer,
body.spa-platform .spa-local-banner,
body.spa-platform .spa-main,
body.spa-platform .spa-main-article{
  width:100vw;max-width:100vw;
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  box-sizing:border-box;
}
body.spa-platform .spa-header{padding-left:var(--spa-gutter);padding-right:var(--spa-gutter)}
body.spa-platform .spa-main:not(.spa-main-flush),
body.spa-platform .spa-main-article{
  padding-left:var(--spa-gutter);padding-right:var(--spa-gutter);padding-bottom:64px;
}
body.spa-platform .spa-footer{
  padding-left:var(--spa-gutter);padding-right:var(--spa-gutter);
}
body.spa-platform .spa-footer-cta{
  /* superseded by 0.1.16b full-bleed band */
  box-sizing:border-box;
}

/* Home flush: hero full bleed; sections share same gutter as header */
body.spa-platform .spa-main-flush{padding-left:0;padding-right:0;padding-bottom:0}
body.spa-platform .spa-main-flush > .spa-section,
body.spa-platform .spa-main-flush > .spa-icon-band,
body.spa-platform .spa-main-flush > .spa-section.spa-soft{
  width:auto;max-width:none;
  margin-left:var(--spa-gutter);margin-right:var(--spa-gutter);
  box-sizing:border-box;
}
body.spa-platform .spa-main-flush > .spa-hero-bleed{width:100%;margin-left:0;margin-right:0}
body.spa-platform .spa-hero-bleed-inner{
  width:auto;max-width:none;
  margin-left:var(--spa-gutter);margin-right:var(--spa-gutter);
  padding-left:0;padding-right:0;box-sizing:border-box;
}

/* Kill Divi sidebar / narrow left-area on SPA singles */
body.spa-platform #sidebar,
body.spa-platform #sidebar-right,
body.spa-platform #sidebar-left,
body.spa-platform .et_pb_widget_area,
body.spa-platform.et_right_sidebar #sidebar,
body.spa-platform.et_left_sidebar #sidebar,
body.spa-platform .sidebar,
body.spa-platform aside#sidebar{display:none!important;width:0!important;height:0!important;overflow:hidden!important;float:none!important;margin:0!important;padding:0!important}
body.spa-platform #left-area,
body.spa-platform.et_right_sidebar #left-area,
body.spa-platform.et_left_sidebar #left-area,
body.spa-platform.et_full_width_page #left-area,
body.spa-platform #main-content .container,
body.spa-platform #main-content,
body.spa-platform #et-main-area,
body.spa-platform #content-area,
body.spa-platform .container{
  width:100%!important;max-width:none!important;float:none!important;
  margin:0!important;padding-left:0!important;padding-right:0!important;
  box-sizing:border-box!important;
}
body.spa-platform #main-content .container:before,
body.spa-platform #main-content .container:after{display:none!important;content:none!important}
body.spa-platform.et_right_sidebar #main-content,
body.spa-platform.et_left_sidebar #main-content{overflow:visible!important}
body.spa-platform #main-content,
body.spa-platform #et-main-area,
body.spa-platform #left-area,
body.spa-platform .spa-main,
body.spa-platform .spa-tool-layout{overflow:visible!important}

/* Cost sticky follows scroll; light button text always navy */
body.spa-platform .spa-tool-layout{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)!important;align-items:start!important;gap:36px;width:100%}
body.admin-bar .spa-report{top:128px}
body.spa-platform .spa-report{position:-webkit-sticky!important;position:sticky!important;top:96px;align-self:start!important}
body.spa-platform .spa-main button.spa-button-light,
body.spa-platform .spa-main .spa-button.spa-button-light,
body.spa-platform #spa-cost-example,
body.spa-platform #spa-print{
  color:#0B1F3A!important;background:#fff!important;border:1px solid #D5DCE6!important;
  -webkit-text-fill-color:#0B1F3A!important;
}

/* Site-check full container width */
body.spa-platform .spa-check-layout,
body.spa-platform .spa-check-grid,
body.spa-platform form.spa-form,
body.spa-platform .spa-main > form,
body.spa-platform .spa-main form{width:100%;max-width:none}
body.spa-platform .spa-check-notes{max-width:none;width:100%}

/* Magazine topic pill never stretches */
body.spa-platform .spa-article-card{align-items:flex-start}
body.spa-platform .spa-article-card .spa-topic,
body.spa-platform .spa-topic{
  display:inline-flex!important;width:fit-content!important;max-width:100%;
  align-self:flex-start!important;flex:0 0 auto!important;
}

/* KBoard New: cyan chip (text badge or image) */
body.spa-platform .spa-kboard .new,
body.spa-platform .spa-kboard span.new,
body.spa-platform .spa-kboard em.new,
body.spa-platform .spa-kboard i.new,
body.spa-platform .spa-kboard .kboard-new,
body.spa-platform .spa-kboard .kboard-badge-new,
body.spa-platform .spa-kboard .kboard-list .new,
body.spa-platform .spa-kboard .kboard-list-title .new,
body.spa-platform .spa-kboard td .new,
body.spa-platform .spa-kboard .cut_strings .new,
body.spa-platform .spa-kboard .kboard-default-cut-strings .new,
body.spa-platform .spa-kboard [class*="new"]:not(input):not(textarea):not(a):not(button){
  background:#22D3EE!important;background-color:#22D3EE!important;
  border:0!important;border-color:#22D3EE!important;
  color:#0B1F3A!important;-webkit-text-fill-color:#0B1F3A!important;
  border-radius:6px!important;padding:2px 7px!important;
  font-size:11px!important;font-weight:700!important;letter-spacing:.02em;
  display:inline-flex!important;align-items:center;line-height:1.4;
  box-shadow:none!important;text-indent:0!important;
}
body.spa-platform .spa-kboard img.new,
body.spa-platform .spa-kboard img[src*="new."],
body.spa-platform .spa-kboard img[src*="new_"],
body.spa-platform .spa-kboard img[src*="/new"],
body.spa-platform .spa-kboard img[alt*="New"],
body.spa-platform .spa-kboard img[alt*="new"]{
  /* Recolor red New gif/png → cyan via hue rotate approx */
  filter:brightness(0) saturate(100%) invert(78%) sepia(58%) saturate(1200%) hue-rotate(146deg) brightness(101%) contrast(101%)!important;
  opacity:1!important;
}
/* Extra: if skin uses background-image new icon on :before */
body.spa-platform .spa-kboard .new:before,
body.spa-platform .spa-kboard .kboard-new:before{display:none!important}

/* Home bottom: tighter gap above CTA, clear gap before footer */
body.spa-platform .spa-main-flush > .spa-section:last-of-type,
body.spa-platform .spa-main-flush > .spa-section.spa-soft:last-of-type{margin-bottom:8px}
body.spa-platform .spa-main-flush .spa-footer-cta,
body.spa-platform .spa-footer-cta{margin-top:24px;margin-bottom:32px}
body.spa-platform .spa-main-flush{padding-bottom:0}

@media (max-width:900px){
  body.spa-platform .spa-tool-layout{grid-template-columns:1fr!important}
  body.spa-platform .spa-report{position:static!important;max-height:none}
}
@media (max-width:820px){
  body.spa-platform{
    --spa-gutter:16px;
  }
  body.spa-platform .spa-footer-cta{margin-left:16px;margin-right:16px;margin-bottom:24px}
}

/* KBoard default skin New badge (actual class) */
body.spa-platform .spa-kboard .kboard-default-new-notify,
body.spa-platform .spa-kboard span.kboard-default-new-notify,
body.spa-platform .kboard-default-new-notify,
#kboard-default-list .kboard-default-new-notify,
.spa-platform .kboard-default-new-notify{
  background:#22D3EE!important;
  background-color:#22D3EE!important;
  color:#0B1F3A!important;
  -webkit-text-fill-color:#0B1F3A!important;
  border:0!important;
  box-shadow:none!important;
}
body.spa-platform .spa-kboard{
  --kboard-danger:#22D3EE;
  --kboard-primary:#0B1F3A;
  --kboard-primary-hover:#12284A;
}
body.spa-platform .spa-kboard .kboard-inside-ask-new-notify,
body.spa-platform .kboard-inside-ask-new-notify,
.spa-platform .kboard-inside-ask-new-notify{
  background:#22D3EE!important;background-color:#22D3EE!important;
  color:#0B1F3A!important;-webkit-text-fill-color:#0B1F3A!important;
}


/* ===== 0.1.16b premium full-bleed bands + shared shell (1360) ===== */
body.spa-platform{
  --spa-max:1360px;
  --spa-pad:clamp(24px, 3.2vw, 48px);
  --spa-gutter:max(var(--spa-pad), calc((100vw - var(--spa-max)) / 2));
}

/* Shared content shell — text/cards align here */
.spa-shell{
  width:100%;max-width:var(--spa-max);
  margin-left:auto;margin-right:auto;
  padding-left:0;padding-right:0;
  box-sizing:border-box;
}

/* Header / main / footer share same gutter */
body.spa-platform .spa-header{
  width:100vw;max-width:100vw;
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  padding-left:var(--spa-gutter)!important;padding-right:var(--spa-gutter)!important;
  box-sizing:border-box;
}
body.spa-platform .spa-main:not(.spa-main-flush),
body.spa-platform .spa-main-article{
  width:100vw!important;max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
  padding-left:var(--spa-gutter)!important;padding-right:var(--spa-gutter)!important;
  box-sizing:border-box!important;
}
body.spa-platform .spa-main-flush{
  width:100vw!important;max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
  padding-left:0!important;padding-right:0!important;padding-bottom:0!important;
}
/* Home sections: content in shared gutter (not edge-touching cards) */
body.spa-platform .spa-main-flush > .spa-section,
body.spa-platform .spa-main-flush > .spa-icon-band{
  width:auto!important;max-width:none!important;
  margin-left:var(--spa-gutter)!important;margin-right:var(--spa-gutter)!important;
  box-sizing:border-box;
}
body.spa-platform .spa-main-flush > .spa-hero-bleed{
  width:100%!important;margin-left:0!important;margin-right:0!important;
}
body.spa-platform .spa-hero-bleed-inner{
  width:auto!important;max-width:none!important;
  margin-left:var(--spa-gutter)!important;margin-right:var(--spa-gutter)!important;
  padding-left:0!important;padding-right:0!important;
}

/* Soft band = full-bleed background, content padded to shell */
body.spa-platform .spa-section.spa-soft,
body.spa-platform .spa-main-flush > .spa-section.spa-soft{
  width:100vw!important;max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
  margin-top:40px;margin-bottom:40px;
  border-radius:0!important;
  padding:48px var(--spa-gutter)!important;
  box-sizing:border-box!important;
  border-left:0!important;border-right:0!important;
}

/* Grids: 4 / 3 / 2 / 1 — never 6 tiny edge columns */
body.spa-platform .spa-grid-auto{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important}
@media (max-width:1200px){
  body.spa-platform .spa-grid-auto{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (max-width:820px){
  body.spa-platform .spa-grid-auto,
  body.spa-platform .spa-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.spa-platform .spa-icon-band{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:520px){
  body.spa-platform .spa-grid-auto,
  body.spa-platform .spa-grid-three,
  body.spa-platform .spa-grid-two{grid-template-columns:1fr!important}
}

/* ===== Full-bleed CTA band (no side white strips, no boxed card) ===== */
body.spa-platform .spa-footer-cta{
  position:relative;
  display:block;
  width:100vw!important;max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
  margin-top:56px!important;margin-bottom:96px!important;
  border-radius:0!important;
  min-height:320px;
  overflow:hidden;
  color:#fff;
  box-shadow:none!important;
  box-sizing:border-box!important;
  background:#0B1F3A;
}
body.spa-platform .spa-footer-cta-bg{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:#0B1F3A;
}
body.spa-platform .spa-footer-cta-glow{
  position:absolute;inset:-20% -10% auto auto;width:70%;height:140%;
  background:radial-gradient(ellipse at 70% 40%, rgba(34,211,238,.28) 0%, rgba(0,184,217,.12) 35%, transparent 70%);
  display:block;
}
body.spa-platform .spa-footer-cta-grid{
  position:absolute;inset:0;display:block;opacity:.18;
  background-image:
    linear-gradient(rgba(34,211,238,.35) 1px, transparent 1px),
    linear-gradient(90deg, rgba(34,211,238,.35) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(ellipse at 60% 50%, #000 0%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at 60% 50%, #000 0%, transparent 75%);
}
body.spa-platform .spa-footer-cta-photo{
  position:absolute;top:0;right:0;bottom:0;width:min(48%,720px);display:block;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 28%, #000 100%);
  mask-image:linear-gradient(90deg, transparent 0%, #000 28%, #000 100%);
}
body.spa-platform .spa-footer-cta-photo img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:saturate(1.05) brightness(1);opacity:.82;
}
/* Smooth navy veil so no hard seam on the left of the photo */
body.spa-platform .spa-footer-cta-bg:after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(11,31,58,.35) 0%, transparent 18%, transparent 82%, rgba(11,31,58,.40) 100%),
    linear-gradient(90deg, rgba(11,31,58,.92) 0%, rgba(11,31,58,.78) 36%, rgba(11,31,58,.40) 62%, rgba(11,31,58,.22) 82%, rgba(11,31,58,.16) 100%);
  z-index:1;
}
body.spa-platform .spa-footer-cta-shell{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.35fr .65fr;align-items:center;gap:32px;
  width:auto;max-width:none;
  margin:0;padding:64px var(--spa-gutter);
  box-sizing:border-box;min-height:320px;
}
body.spa-platform .spa-footer-cta-inner{
  position:relative;z-index:2;padding:0;display:flex;flex-direction:column;gap:14px;
  max-width:36rem;
}
body.spa-platform .spa-footer-cta-inner .spa-kicker{
  color:#A5F3FC!important;text-shadow:none;font-size:15px!important;letter-spacing:.04em;
}
body.spa-platform .spa-footer-cta-inner h2{
  margin:0;font-size:clamp(28px, 3vw, 40px)!important;letter-spacing:-1px;line-height:1.28;
  color:#fff!important;text-shadow:none;
  word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty;
}
body.spa-platform .spa-footer-cta-inner p{
  margin:0;font-size:18px!important;line-height:1.75;color:rgba(255,255,255,.88);
  max-width:34em;word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty;
}
body.spa-platform .spa-footer-cta .spa-footer-cta-btn,
body.spa-platform .spa-footer-cta .spa-button{
  align-self:flex-start;margin-top:12px;
  background:#fff!important;color:#0B1F3A!important;border-color:#fff!important;
  font-size:16px!important;padding:16px 28px!important;min-height:54px;
  box-shadow:0 12px 28px rgba(0,0,0,.22)!important;
}
body.spa-platform .spa-footer-cta-character,
body.spa-platform img.spa-footer-cta-character{
  position:relative;z-index:2;justify-self:end;align-self:center;
  width:168px!important;height:168px!important;max-width:168px!important;
  padding:0!important;margin:0;filter:none;
  /* Invert navy line art → light cyan/white on dark band */
  filter:brightness(0) invert(1) sepia(1) saturate(4) hue-rotate(155deg) brightness(1.15);
}
body.spa-platform .spa-footer-cta-character.spa-character,
body.spa-platform img.spa-character.spa-footer-cta-character{
  width:168px!important;height:168px!important;
}

/* Footer full-bleed, shared gutter, clear gap from CTA */
body.spa-platform .spa-footer{
  width:100vw!important;max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
  margin-top:0!important;
  padding:56px var(--spa-gutter) 44px!important;
  box-sizing:border-box!important;
  border-radius:0;
}

/* Korean line breaks */
body.spa-platform .spa-footer-cta-inner h2,
body.spa-platform .spa-footer-cta-inner p,
body.spa-platform .spa-section h2,
body.spa-platform .spa-card h3,
body.spa-platform .spa-article-card h3{
  word-break:keep-all;overflow-wrap:anywhere;text-wrap:pretty;hyphens:none;
}

/* ===== 0.1.16c page-hero / photo bands: full-bleed + continuous overlay (veil floor ~.92) ===== */
body.spa-platform .spa-page-hero{
  position:relative;
  display:block;
  width:100vw!important;max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
  margin-top:0!important;margin-bottom:48px!important;
  border-radius:0!important;
  box-shadow:none!important;
  min-height:340px;
  overflow:hidden;
  color:#fff;
  background:#0B1F3A;
  box-sizing:border-box!important;
}
body.spa-platform .spa-page-hero-media{
  position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;
}
body.spa-platform .spa-page-hero-media img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  filter:saturate(1.05) brightness(1) contrast(1.02);
}
/* 0.1.18: L→R veil — navy ~.85 behind copy, photo clear on right (~.15–.25); soft top/bottom edges */
body.spa-platform .spa-page-hero-media:after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(180deg, rgba(11,31,58,.42) 0%, transparent 14%, transparent 86%, rgba(11,31,58,.38) 100%),
    linear-gradient(90deg,
      rgba(11,31,58,.90) 0%,
      rgba(11,31,58,.82) 26%,
      rgba(11,31,58,.45) 48%,
      rgba(11,31,58,.22) 72%,
      rgba(11,31,58,.16) 100%);
}
body.spa-platform .spa-page-hero-shell{
  position:relative;z-index:2;
  display:flex;align-items:center;
  width:auto;max-width:none;
  min-height:340px;
  margin:0;padding:56px var(--spa-gutter);
  box-sizing:border-box;
}
body.spa-platform .spa-page-hero-copy{
  background:transparent!important;
  padding:0!important;
  min-height:0!important;
  max-width:40rem;
  width:100%;
}
body.spa-platform .spa-page-hero .spa-kicker{color:#A5F3FC!important}
body.spa-platform .spa-page-hero h1{color:#fff!important;text-shadow:none}
body.spa-platform .spa-page-hero .spa-lead{color:rgba(255,255,255,.9)!important;max-width:36em;word-break:keep-all}

/* Home hero: continuous veil, full-bleed, no boxed corners that read as a strip */
body.spa-platform .spa-hero-bleed{
  border-radius:0!important;
  width:100%!important;max-width:none!important;
  margin-left:0!important;margin-right:0!important;
}
body.spa-platform .spa-hero-bleed-bg:after{
  background:
    linear-gradient(180deg, rgba(11,31,58,.40) 0%, transparent 16%, transparent 84%, rgba(11,31,58,.36) 100%),
    linear-gradient(105deg,
      rgba(11,31,58,.88) 0%,
      rgba(11,31,58,.78) 28%,
      rgba(11,31,58,.42) 52%,
      rgba(11,31,58,.22) 74%,
      rgba(11,31,58,.14) 100%)!important;
}
body.spa-platform .spa-hero-bleed-bg img{
  filter:saturate(1.06) brightness(1.02)!important;
}

/* CTA photo: keep right photo masked; continuous navy left→right, never raw strip */
body.spa-platform .spa-footer-cta-photo{
  width:min(52%,780px);
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 18%, #000 42%, #000 100%);
  mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 18%, #000 42%, #000 100%);
}
body.spa-platform .spa-footer-cta-bg:after{
  background:
    linear-gradient(180deg, rgba(11,31,58,.35) 0%, transparent 18%, transparent 82%, rgba(11,31,58,.40) 100%),
    linear-gradient(90deg,
      rgba(11,31,58,.92) 0%,
      rgba(11,31,58,.78) 36%,
      rgba(11,31,58,.40) 62%,
      rgba(11,31,58,.22) 82%,
      rgba(11,31,58,.16) 100%)!important;
}
body.spa-platform .spa-footer-cta-photo img{
  opacity:.82;filter:saturate(1.05) brightness(1);
}

@media (max-width:820px){
  body.spa-platform .spa-page-hero{min-height:280px}
  body.spa-platform .spa-page-hero-shell{padding:40px var(--spa-gutter);min-height:280px}
  body.spa-platform .spa-page-hero-media:after{
    background:
      linear-gradient(180deg,
        rgba(11,31,58,.88) 0%,
        rgba(11,31,58,.62) 32%,
        rgba(11,31,58,.28) 68%,
        rgba(11,31,58,.18) 100%)!important;
  }
}

@media (max-width:900px){
  body.spa-platform .spa-footer-cta-shell{grid-template-columns:1fr;padding:48px var(--spa-gutter) 40px;gap:20px;min-height:0}
  body.spa-platform .spa-footer-cta-photo{width:100%;opacity:.55;-webkit-mask-image:linear-gradient(180deg,#000 0%, #000 40%, transparent 100%);mask-image:linear-gradient(180deg,#000 0%, #000 40%, transparent 100%)}
  body.spa-platform .spa-footer-cta-character,
  body.spa-platform img.spa-footer-cta-character{justify-self:start;width:120px!important;height:120px!important}
  body.spa-platform .spa-footer-cta{margin-bottom:64px!important;min-height:0}
  body.spa-platform .spa-footer-cta-inner h2{font-size:clamp(26px,7vw,34px)!important}
}


/* ===== 0.1.17 display QA: typography, line-break, captions, CTA, cards, article, sticky, KBoard, my-home ===== */

/* Site-wide Korean wrapping */
body.spa-platform,
body.spa-platform .spa-main,
body.spa-platform .spa-card,
body.spa-platform .spa-kboard,
body.spa-platform p,
body.spa-platform li,
body.spa-platform label,
body.spa-platform td,
body.spa-platform th,
body.spa-platform span,
body.spa-platform a{
  word-break:keep-all;
  overflow-wrap:anywhere;
}
body.spa-platform h1,
body.spa-platform h2,
body.spa-platform h3,
body.spa-platform h4,
body.spa-platform .spa-hero h1,
body.spa-platform .spa-page-hero h1,
body.spa-platform .spa-section-heading h2,
body.spa-platform .spa-article-mast h1,
body.spa-platform .spa-article-card h3,
body.spa-platform .spa-catalog-card h2,
body.spa-platform .spa-mag-list h3,
body.spa-platform .spa-footer-cta-inner h2{
  text-wrap:balance;
  overflow-wrap:anywhere;
  word-break:keep-all;
  hyphens:none;
}
body.spa-platform p,
body.spa-platform .spa-lead,
body.spa-platform .spa-article-body p,
body.spa-platform .spa-feature-copy p,
body.spa-platform .spa-card p,
body.spa-platform .spa-catalog-card p,
body.spa-platform .spa-reading p{
  text-wrap:pretty;
}

/* Typography scale + contrast */
body.spa-platform{
  --spa-muted:#3a4658;
  color:#1a2332;
}
body.spa-platform .spa-main p,
body.spa-platform .spa-article-body p,
body.spa-platform .spa-article-body li,
body.spa-platform .spa-reading p,
body.spa-platform .spa-reading li{
  font-size:17px!important;
  line-height:1.85;
  color:#1f2a3a;
}
body.spa-platform .spa-card p,
body.spa-platform .spa-article-card p,
body.spa-platform .spa-catalog-card p,
body.spa-platform .spa-mag-featured-body p,
body.spa-platform .spa-mag-list p,
body.spa-platform .spa-icon-card span,
body.spa-platform .spa-check-item p,
body.spa-platform .spa-record p,
body.spa-platform .spa-record-body,
body.spa-platform .spa-record-body p,
body.spa-platform .spa-record-body li{
  font-size:16px!important;
  line-height:1.75;
  color:#3a4658!important;
}
body.spa-platform .spa-feature-copy p{font-size:17px!important;color:#3a4658!important}
body.spa-platform .spa-feature-list li{font-size:16px!important;color:#3a4658!important}
body.spa-platform time,
body.spa-platform .spa-card time,
body.spa-platform .spa-article-card time,
body.spa-platform .spa-mag-list time,
body.spa-platform .spa-card-caption,
body.spa-platform .spa-photo-band figcaption,
body.spa-platform .spa-muted,
body.spa-platform .spa-form label,
body.spa-platform .spa-main #loginform label,
body.spa-platform .spa-brand small,
body.spa-platform input::placeholder,
body.spa-platform textarea::placeholder{
  font-size:14px!important;
  color:#3a4658!important;
}
body.spa-platform .spa-muted{color:#3a4658!important}
body.spa-platform .spa-kicker{
  font-size:14px!important;
}
body.spa-platform .spa-topic,
body.spa-platform .spa-article-card .spa-topic,
body.spa-platform .spa-record .spa-topic{
  font-size:13px!important;
  line-height:1.35;
  padding:7px 12px;
  white-space:normal;
  max-width:100%;
}

/* Hero caption inside shared gutter */
body.spa-platform .spa-hero-caption-shell{
  position:relative;z-index:3;
  padding:10px var(--spa-gutter) 18px;
  background:linear-gradient(transparent,rgba(11,31,58,.55));
  box-sizing:border-box;
}
body.spa-platform .spa-hero-caption{
  margin:0;padding:0;
  font-size:14px!important;line-height:1.5;
  color:rgba(255,255,255,.9)!important;
  word-break:keep-all;
  max-width:var(--spa-max,1360px);
}
body.spa-platform .spa-feature-media figcaption{
  font-size:14px!important;line-height:1.45;padding:12px 16px;
}

/* CTA character — meaningful size, balanced in shell */
body.spa-platform .spa-footer-cta-shell{
  grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);
  gap:24px 40px;
  align-items:center;
  min-height:360px;
}
body.spa-platform .spa-footer-cta-inner h2{
  font-size:clamp(30px,3.2vw,42px)!important;
}
body.spa-platform .spa-footer-cta-inner p{
  font-size:18px!important;
  color:rgba(255,255,255,.82)!important;
  line-height:1.75;
}
body.spa-platform .spa-footer-cta-character,
body.spa-platform img.spa-footer-cta-character,
body.spa-platform .spa-footer-cta-character.spa-character,
body.spa-platform img.spa-character.spa-footer-cta-character{
  width:240px!important;height:240px!important;max-width:240px!important;
  justify-self:center;align-self:center;
  padding:0!important;margin:0;
  filter:brightness(0) invert(1) sepia(1) saturate(4) hue-rotate(155deg) brightness(1.15);
}
@media (max-width:900px){
  body.spa-platform .spa-footer-cta-character,
  body.spa-platform img.spa-footer-cta-character,
  body.spa-platform .spa-footer-cta-character.spa-character,
  body.spa-platform img.spa-character.spa-footer-cta-character{
    width:min(160px,42vw)!important;height:min(160px,42vw)!important;max-width:160px!important;
    justify-self:start;
  }
  body.spa-platform .spa-footer-cta-shell{min-height:0;grid-template-columns:1fr}
}

/* Magazine / catalog card equal heights + title clamp */
body.spa-platform .spa-grid-auto,
body.spa-platform .spa-grid-three,
body.spa-platform .spa-magazine-grid,
body.spa-platform .spa-catalog-grid{
  align-items:stretch!important;
}
body.spa-platform .spa-article-card,
body.spa-platform .spa-catalog-card{
  height:100%;
  margin:0!important;
  align-self:stretch;
  display:flex;flex-direction:column;
}
body.spa-platform .spa-article-card h3,
body.spa-platform .spa-catalog-card h2{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden;
  min-height:calc(1.35em * 2);
  max-height:calc(1.35em * 2);
  margin:10px 0 8px;
}
body.spa-platform .spa-article-card p{
  font-size:16px!important;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
  overflow:hidden;
}
body.spa-platform .spa-catalog-card{padding:0 0 20px!important;overflow:hidden}
body.spa-platform .spa-catalog-card .spa-card-media{aspect-ratio:16/10;flex:0 0 auto;margin:0}
body.spa-platform .spa-catalog-card-body{
  display:flex;flex-direction:column;gap:8px;flex:1 1 auto;
  padding:16px 20px 4px;
}
body.spa-platform .spa-catalog-card-body .spa-kicker,
body.spa-platform .spa-catalog-card-body h2,
body.spa-platform .spa-catalog-card-body p,
body.spa-platform .spa-catalog-card-body .spa-compare-choice,
body.spa-platform .spa-catalog-card-body .spa-card-link{
  padding-left:0;padding-right:0;
}
body.spa-platform .spa-catalog-card-body p{
  flex:1 1 auto;margin:0 0 8px;font-size:16px!important;color:#3a4658!important;
}
body.spa-platform .spa-catalog-card-body .spa-card-link{margin-top:auto}

/* Card media badge / topic tone overlays */
body.spa-platform .spa-card-media{position:relative}
/* 0.1.17b: media badges removed */
body.spa-platform .spa-card-media-badge{display:none!important}
body.spa-platform .spa-article-card.is-tone-cool .spa-card-media img,
body.spa-platform .spa-catalog-card.is-tone-cool .spa-card-media img{filter:saturate(.92) hue-rotate(8deg) brightness(.98)}
body.spa-platform .spa-article-card.is-tone-warm .spa-card-media img,
body.spa-platform .spa-catalog-card.is-tone-warm .spa-card-media img{filter:saturate(1.05) hue-rotate(-12deg) brightness(1.02)}
body.spa-platform .spa-article-card.is-tone-ink .spa-card-media img,
body.spa-platform .spa-catalog-card.is-tone-ink .spa-card-media img{filter:saturate(.7) contrast(1.08) brightness(.92)}
body.spa-platform .spa-article-card.is-tone-soft .spa-card-media img,
body.spa-platform .spa-catalog-card.is-tone-soft .spa-card-media img{filter:saturate(.85) brightness(1.05) contrast(.96)}

/* Article: full-bleed navy mast + featured image + 760 reading */
body.spa-platform .spa-main-article{
  padding-top:0!important;
}
body.spa-platform .spa-article-mast{
  width:100vw;max-width:100vw;
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  background:#0B1F3A;color:#fff;
  box-sizing:border-box;
  margin-bottom:28px;
}
body.spa-platform .spa-article-mast-shell{
  padding:40px 0 44px;
  max-width:760px;margin:0 auto;box-sizing:border-box;
  width:100%;
}
body.spa-platform .spa-article-mast .spa-kicker{
  color:#A5F3FC!important;margin:0 0 12px;font-size:14px!important;
}
body.spa-platform .spa-article-mast h1{
  margin:0 0 14px;color:#fff!important;
  font-size:clamp(28px,3.6vw,42px);line-height:1.28;letter-spacing:-1px;
  max-width:40rem;text-wrap:balance;word-break:keep-all;
}
body.spa-platform .spa-article-mast time{
  display:block;font-size:14px!important;color:rgba(255,255,255,.78)!important;
}
body.spa-platform .spa-article-hero{
  max-width:760px;margin:0 auto 36px;padding:0;
  border-radius:18px;overflow:hidden;
  box-shadow:0 18px 40px rgba(11,31,58,.12);
  background:#F3F6F9;
}
body.spa-platform .spa-article-hero img{
  display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;
}
body.spa-platform .spa-article-hero figcaption{
  margin:0;padding:10px 16px 12px;font-size:14px!important;color:#3a4658!important;
  background:#fff;border-top:1px solid var(--spa-line);
}
body.spa-platform .spa-main-article .spa-reading,
body.spa-platform .spa-main-article .spa-article{
  max-width:760px;margin:0 auto;padding:0 0 56px;
}
body.spa-platform .spa-article-header{display:none} /* replaced by mast */
body.spa-platform .spa-source{
  border-top:1px solid var(--spa-line);margin-top:40px;padding-top:24px;
}
body.spa-platform .spa-source h2{
  font-size:20px!important;color:var(--spa-navy);margin:0 0 10px;
}
body.spa-platform .spa-source p,
body.spa-platform .spa-source a{
  font-size:15px!important;line-height:1.7;color:#3a4658!important;
}
body.spa-platform .spa-source a{color:var(--spa-cyan-text)!important;font-weight:700}

/* Cost report sticky — survive Divi overflow */
body.spa-platform #main-content,
body.spa-platform #main-content .container,
body.spa-platform #left-area,
body.spa-platform #left-area .et_pb_post,
body.spa-platform .spa-main,
body.spa-platform .spa-tool-layout{
  overflow:visible!important;
}
body.spa-platform .spa-tool-layout{
  align-items:start;
}
body.spa-platform .spa-report{
  position:-webkit-sticky!important;position:sticky!important;
  top:104px;z-index:6;
  align-self:start;
  max-height:calc(100vh - 128px);
  overflow:auto;
  width:100%;
}
body.admin-bar.spa-platform .spa-report{top:136px;max-height:calc(100vh - 160px)}
@media (max-width:900px){
  body.spa-platform .spa-report{position:static!important;max-height:none}
}

/* Community KBoard: author nowrap, quieter New */
body.spa-platform .spa-kboard .kboard-list-user,
body.spa-platform .spa-kboard td.kboard-list-user,
body.spa-platform .spa-kboard th.kboard-list-user,
body.spa-platform .spa-kboard .kboard-list-uid,
body.spa-platform .spa-kboard td.kboard-list-uid,
body.spa-platform .spa-kboard .kboard-list .user,
body.spa-platform .spa-kboard colgroup col.kboard-list-user,
body.spa-platform .spa-kboard .kboard-list-writer,
body.spa-platform .spa-kboard td.kboard-list-writer{
  white-space:nowrap!important;
  min-width:11em;
  width:12%;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.spa-platform .spa-kboard .new,
body.spa-platform .spa-kboard span.new,
body.spa-platform .spa-kboard em.new,
body.spa-platform .spa-kboard i.new,
body.spa-platform .spa-kboard .kboard-new,
body.spa-platform .spa-kboard .kboard-badge-new,
body.spa-platform .spa-kboard .kboard-list .new,
body.spa-platform .spa-kboard .kboard-list-title .new,
body.spa-platform .spa-kboard td .new,
body.spa-platform .spa-kboard .cut_strings .new,
body.spa-platform .spa-kboard .kboard-default-cut-strings .new,
body.spa-platform .spa-kboard .kboard-default-new-notify,
body.spa-platform .spa-kboard span.kboard-default-new-notify,
body.spa-platform .kboard-default-new-notify,
body.spa-platform .spa-kboard .kboard-inside-ask-new-notify,
body.spa-platform .kboard-inside-ask-new-notify{
  display:inline-flex!important;align-items:center;justify-content:center;
  font-size:10px!important;font-weight:600!important;letter-spacing:.02em;
  line-height:1!important;padding:2px 6px!important;min-width:0!important;
  border-radius:999px!important;
  background:rgba(11,31,58,.06)!important;
  border:1px solid rgba(11,31,58,.16)!important;
  color:#3a4658!important;
  opacity:.7;box-shadow:none!important;
  vertical-align:middle;margin-left:4px;
}
body.spa-platform .spa-kboard img.new,
body.spa-platform .spa-kboard img[src*="new."]{
  width:14px!important;height:14px!important;opacity:.55;vertical-align:middle;
}

/* My-home lower half: denser sections, aligned records */
body.spa-platform .spa-main .spa-board-summary{
  display:grid;grid-template-columns:1.4fr .8fr;gap:20px;align-items:stretch;
  margin:8px 0 8px;padding:24px 26px;
  border:1px solid var(--spa-line);border-radius:20px;background:#fff;
  box-shadow:0 10px 28px rgba(11,31,58,.05);
}
body.spa-platform .spa-main .spa-board-summary h2{margin:6px 0 8px;font-size:28px}
body.spa-platform .spa-main .spa-board-summary p{margin:0;font-size:16px!important}
body.spa-platform .spa-main #spa-plans.spa-section,
body.spa-platform .spa-main #spa-submissions.spa-section,
body.spa-platform .spa-main #spa-contributions.spa-section,
body.spa-platform .spa-main .spa-section:has(.spa-record),
body.spa-platform .spa-main .spa-section:has(.spa-submit-details){
  padding-top:28px;padding-bottom:28px;margin:0 0 12px;
}
body.spa-platform .spa-main .spa-section > h2{
  margin:0 0 10px;font-size:24px;
}
body.spa-platform .spa-main .spa-section > p{margin:0 0 16px;font-size:16px!important}
body.spa-platform .spa-record{
  margin:0 0 12px;padding:18px 20px;
}
body.spa-platform .spa-record h3{margin:0 0 8px;font-size:18px;line-height:1.4}
body.spa-platform .spa-record time{display:block;margin-top:10px;font-size:14px!important;color:#3a4658}
body.spa-platform .spa-submit-details{
  margin:16px 0 8px;padding:16px 18px;
  border:1px dashed #C5D0DE;border-radius:16px;background:#F8FAFC;
}
body.spa-platform .spa-submit-details summary{
  cursor:pointer;font-weight:700;font-size:16px;color:var(--spa-navy);
  word-break:keep-all;
}
body.spa-platform .spa-submit-details[open]{padding-bottom:22px}
body.spa-platform .spa-response{
  margin-top:14px;padding:14px 16px;border-radius:12px;
  background:rgba(0,184,217,.08);border:1px solid rgba(34,211,238,.35);
}
body.spa-platform .spa-response strong{display:block;margin-bottom:6px;color:var(--spa-navy);font-size:15px}
body.spa-platform .spa-response p{margin:0;font-size:15px!important}
@media (max-width:720px){
  body.spa-platform .spa-main .spa-board-summary{grid-template-columns:1fr}
  body.spa-platform .spa-article-hero{border-radius:12px}
  body.spa-platform .spa-article-mast-shell{padding:28px var(--spa-gutter) 32px;max-width:760px;margin:0 auto;width:auto;box-sizing:border-box}
}


/* ===== 0.1.17b: navy-surface text contrast + remove card media badges ===== */
body.spa-platform .spa-footer-cta,
body.spa-platform .spa-footer-cta-inner,
body.spa-platform .spa-footer-cta-inner p,
body.spa-platform .spa-footer-cta-inner .spa-lead,
body.spa-platform .spa-main .spa-footer-cta-inner p,
body.spa-platform .spa-main .spa-footer-cta p{
  color:rgba(255,255,255,.82)!important;
}
body.spa-platform .spa-footer-cta-inner p{
  font-size:18px!important;
  line-height:1.75!important;
  color:rgba(255,255,255,.82)!important;
}
body.spa-platform .spa-footer-cta-inner h2,
body.spa-platform .spa-main .spa-footer-cta-inner h2{
  color:#fff!important;
}
body.spa-platform .spa-footer-cta-inner .spa-kicker,
body.spa-platform .spa-main .spa-footer-cta-inner .spa-kicker{
  color:#A5F3FC!important;
}

/* Home / page heroes on navy */
body.spa-platform .spa-hero-bleed,
body.spa-platform .spa-hero-bleed .spa-lead,
body.spa-platform .spa-main .spa-hero-bleed .spa-lead,
body.spa-platform .spa-hero-bleed p,
body.spa-platform .spa-main .spa-hero-bleed p:not(.spa-kicker){
  color:rgba(255,255,255,.88)!important;
}
body.spa-platform .spa-hero-bleed h1,
body.spa-platform .spa-main .spa-hero-bleed h1{color:#fff!important}
body.spa-platform .spa-hero-caption,
body.spa-platform .spa-main .spa-hero-caption{color:rgba(255,255,255,.9)!important}

body.spa-platform .spa-page-hero,
body.spa-platform .spa-page-hero .spa-lead,
body.spa-platform .spa-main .spa-page-hero .spa-lead,
body.spa-platform .spa-page-hero p,
body.spa-platform .spa-main .spa-page-hero p:not(.spa-kicker){
  color:rgba(255,255,255,.88)!important;
}
body.spa-platform .spa-page-hero h1,
body.spa-platform .spa-main .spa-page-hero h1{color:#fff!important}
body.spa-platform .spa-page-hero .spa-kicker{color:#A5F3FC!important}
body.spa-platform .spa-page-hero-crumb,
body.spa-platform .spa-main .spa-page-hero-crumb{
  color:rgba(255,255,255,.72)!important;font-size:14px!important;
}

/* Article mast */
body.spa-platform .spa-article-mast,
body.spa-platform .spa-article-mast p,
body.spa-platform .spa-article-mast time,
body.spa-platform .spa-main .spa-article-mast p,
body.spa-platform .spa-main .spa-article-mast time{
  color:rgba(255,255,255,.82)!important;
}
body.spa-platform .spa-article-mast h1,
body.spa-platform .spa-main .spa-article-mast h1{color:#fff!important}
body.spa-platform .spa-article-mast .spa-kicker{color:#A5F3FC!important}

/* Site footer (navy) — do not inherit dark body text */
body.spa-platform .spa-footer,
body.spa-platform .spa-footer p,
body.spa-platform .spa-main .spa-footer p,
body.spa-platform .spa-footer li,
body.spa-platform .spa-footer span,
body.spa-platform .spa-footer a{
  color:rgba(255,255,255,.78)!important;
}
body.spa-platform .spa-footer strong,
body.spa-platform .spa-footer h3{color:#fff!important}
body.spa-platform .spa-footer .spa-footer-col h3{color:#22D3EE!important}
body.spa-platform .spa-footer-links a{color:rgba(255,255,255,.82)!important}
body.spa-platform .spa-footer-links a:hover{color:#fff!important}
body.spa-platform .spa-footer .spa-operator p{color:rgba(255,255,255,.62)!important}

body.spa-platform .spa-card-media-badge{display:none!important}

/* === 0.1.17c: force-hide Divi sidebar on spa pages (display only; widgets stay in DB) === */
body.spa-platform #sidebar,
body.spa-platform #sidebar-right,
body.spa-platform #sidebar-left,
body.spa-platform aside#sidebar,
body.spa-platform .et_pb_widget_area,
body.spa-platform .et_pb_widget_area_right,
body.spa-platform .et_pb_widget_area_left,
body.spa-platform.et_right_sidebar #sidebar,
body.spa-platform.et_left_sidebar #sidebar,
body.spa-platform.et_full_width #sidebar,
body.spa-platform.et_full_width_page #sidebar,
body.spa-platform.et_no_sidebar #sidebar,
body.spa-platform #main-sidebar,
body.spa-platform .sidebar.et_pb_widget_area,
body.spa-platform #sidebar .et_pb_widget,
body.spa-platform #sidebar .widget,
body.spa-platform #sidebar .wp-block-latest-posts,
body.spa-platform #sidebar .wp-block-search{
  display:none!important;
  visibility:hidden!important;
  width:0!important;
  max-width:0!important;
  min-width:0!important;
  height:0!important;
  max-height:0!important;
  overflow:hidden!important;
  float:none!important;
  clear:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  position:absolute!important;
  left:-99999px!important;
  clip:rect(0,0,0,0)!important;
  clip-path:inset(50%)!important;
  pointer-events:none!important;
}
body.spa-platform #left-area,
body.spa-platform.et_right_sidebar #left-area,
body.spa-platform.et_left_sidebar #left-area,
body.spa-platform.et_full_width #left-area,
body.spa-platform.et_full_width_page #left-area,
body.spa-platform.et_no_sidebar #left-area,
body.spa-platform #content-area,
body.spa-platform #content-area #left-area,
body.spa-platform #main-content .container #left-area{
  width:100%!important;
  max-width:100%!important;
  float:none!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
body.spa-platform #main-content .container:before,
body.spa-platform #main-content .container:after,
body.spa-platform.et_full_width #main-content .container:before,
body.spa-platform.et_right_sidebar #main-content .container:before,
body.spa-platform.et_left_sidebar #main-content .container:before{
  display:none!important;
  content:none!important;
  width:0!important;
  background:transparent!important;
}
body.spa-platform #main-content .container,
body.spa-platform #main-content,
body.spa-platform #et-main-area,
body.spa-platform #content-area{
  width:100%!important;
  max-width:none!important;
  float:none!important;
  box-sizing:border-box!important;
}


/* === 0.1.18 image richness + hero visual === */
body.spa-platform .spa-hero-bleed .spa-chip{
  background:rgba(255,255,255,.16)!important;
  border-color:rgba(255,255,255,.32)!important;
  color:#fff!important;
  backdrop-filter:blur(10px);
}
body.spa-platform .spa-hero-bleed h1{color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.35)!important}
body.spa-platform .spa-hero-bleed .spa-lead{color:rgba(255,255,255,.92)!important;text-shadow:0 1px 10px rgba(0,0,0,.30)!important}
body.spa-platform .spa-page-hero h1{text-shadow:0 2px 14px rgba(0,0,0,.35)!important}
body.spa-platform .spa-page-hero .spa-lead{text-shadow:0 1px 8px rgba(0,0,0,.28)!important}
body.spa-platform .spa-card-media img,
body.spa-platform .spa-feature-media img,
body.spa-platform .spa-mag-featured-media img,
body.spa-platform .spa-mag-list-thumb img,
body.spa-platform .spa-photo-band img,
body.spa-platform .spa-article-cover img,
body.spa-platform .spa-reading img{
  opacity:1!important;
  filter:none;
}
body.spa-platform .spa-footer-cta-photo{
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.55) 14%, #000 36%, #000 100%)!important;
  mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.55) 14%, #000 36%, #000 100%)!important;
}
@media (max-width:900px){
  body.spa-platform .spa-hero-visual{width:min(100%,420px);justify-self:start;margin-top:8px}
  body.spa-platform .spa-hero-character-wrap{display:none!important}
}
@media (max-width:640px){
  body.spa-platform .spa-hero-visual{width:100%}
}


/* === 0.1.18 polish: article column + CTA visual + rhythm === */
body.spa-platform .spa-article-mast h1{max-width:none!important}
body.spa-platform .spa-footer-cta-character{display:none!important}
body.spa-platform .spa-footer-cta-visual{
  position:relative;z-index:3;justify-self:end;align-self:center;
  width:min(320px,34vw);margin:0;
}
body.spa-platform .spa-footer-cta-visual figure{
  margin:0;border-radius:20px;overflow:hidden;
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 20px 50px rgba(0,0,0,.35);
  background:rgba(255,255,255,.08);
}
body.spa-platform .spa-footer-cta-visual img{
  width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;filter:none;opacity:1;
}
body.spa-platform .spa-footer-cta-visual figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:8px 12px;
  font-size:12px;line-height:1.4;color:rgba(255,255,255,.92);
  background:linear-gradient(transparent,rgba(11,31,58,.7));
  word-break:keep-all;
}
body.spa-platform .spa-footer-cta-shell{
  grid-template-columns:minmax(0,1.2fr) minmax(220px,.7fr)!important;
  gap:28px!important;
  padding-left:max(var(--spa-gutter), calc((100% - var(--spa-max)) / 2 + var(--spa-gutter)))!important;
  padding-right:max(var(--spa-gutter), calc((100% - var(--spa-max)) / 2 + var(--spa-gutter)))!important;
}
body.spa-platform .spa-section{padding-top:64px;padding-bottom:64px}
body.spa-platform .spa-section.spa-soft{padding-top:72px;padding-bottom:72px}
body.spa-platform .spa-hero-bleed + .spa-section{padding-top:72px}
body.spa-platform .spa-grid-auto > .spa-card,
body.spa-platform .spa-grid > .spa-card{
  min-height:100%;
}
body.spa-platform .spa-grid-auto > .spa-card p,
body.spa-platform .spa-grid > .spa-card p{flex:1 1 auto}
/* Hide leftover Divi single title that can flash */
body.spa-platform.single #left-area > article > .entry-title,
body.spa-platform.single .et_pb_title_container,
body.spa-platform.single h1.entry-title.main_title{display:none!important;height:0!important;overflow:hidden!important;margin:0!important;padding:0!important}
@media (max-width:900px){
  body.spa-platform .spa-footer-cta-shell{grid-template-columns:1fr!important}
  body.spa-platform .spa-footer-cta-visual{width:min(100%,360px);justify-self:start}
}

/* === 0.1.19: PC line breaks, footer type, CTA 에이, mobile 390/360/768 === */

/* Explicit meaningful line breaks for hero + CTA */
body.spa-platform .spa-hero-title,
body.spa-platform .spa-cta-title{
  display:flex;flex-direction:column;align-items:flex-start;gap:0;
  max-width:100%!important;width:auto;
  word-break:keep-all;overflow-wrap:normal;text-wrap:unset;
}
body.spa-platform .spa-hero-title .spa-line,
body.spa-platform .spa-cta-title .spa-line{
  display:block;white-space:nowrap;word-break:keep-all;
}
body.spa-platform .spa-hero-bleed h1.spa-hero-title{
  max-width:none!important;
  width:auto;
  font-size:clamp(40px,5.4vw,68px);
  letter-spacing:-1.8px;
  line-height:1.18;
}
/* Give hero text column room at 1280/1440 */
body.spa-platform .spa-hero-bleed-inner{
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.75fr)!important;
  gap:32px!important;
  align-items:end;
}
body.spa-platform .spa-hero-bleed-inner > div:first-child{
  min-width:0;max-width:36rem;
}
body.spa-platform .spa-footer-cta-inner h2.spa-cta-title,
body.spa-platform .spa-footer-cta-inner .spa-cta-title{
  font-size:clamp(24px,2.6vw,32px);letter-spacing:-.6px;line-height:1.28;
  max-width:none!important;color:#fff!important;
}

/* CTA: small 에이 beside copy, photo visual kept */
body.spa-platform .spa-footer-cta-copy{
  display:flex;align-items:flex-start;gap:16px;
}
body.spa-platform .spa-footer-cta-ae{
  flex:0 0 64px;width:64px;height:64px;margin-top:4px;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.28));
}
body.spa-platform .spa-footer-cta-text{min-width:0;flex:1 1 auto}
body.spa-platform .spa-footer-cta-character{display:none!important}

/* Footer type: 15px body, 14px company, stronger contrast */
body.spa-platform .spa-footer{
  font-size:15px!important;line-height:1.85;
  color:rgba(255,255,255,.88)!important;
}
body.spa-platform .spa-footer p{
  font-size:15px!important;color:rgba(255,255,255,.84)!important;
}
body.spa-platform .spa-footer-links a{
  font-size:15px!important;color:rgba(255,255,255,.88)!important;
}
body.spa-platform .spa-footer .spa-operator p{
  font-size:14px!important;line-height:1.8;color:rgba(255,255,255,.78)!important;
}
body.spa-platform .spa-footer-status{
  font-size:14px!important;color:rgba(255,255,255,.92)!important;
  background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.22);
}

/* ---- Mobile / tablet ---- */
@media (max-width:768px){
  body.spa-platform{
    --spa-pad:18px;
    --spa-gutter:18px;
    overflow-x:hidden;
  }
  html,body.spa-platform{max-width:100%;overflow-x:hidden}
  body.spa-platform .spa-header{
    padding:10px var(--spa-gutter)!important;
    gap:10px;
  }
  body.spa-platform .spa-brand{font-size:20px}
  body.spa-platform .spa-brand small{font-size:11px;max-width:42vw}
  body.spa-platform .spa-menu-toggle{
    display:inline-flex!important;margin-left:auto;
    width:44px;height:44px;min-width:44px;min-height:44px;
  }
  body.spa-platform .spa-header nav,
  body.spa-platform .spa-header .spa-account{display:none}
  body.spa-platform .spa-header.is-open{
    flex-wrap:wrap;
  }
  body.spa-platform .spa-header.is-open nav{
    display:flex!important;flex-direction:column;width:100%;order:5;
    background:#fff;border:1px solid var(--spa-line);border-radius:16px;
    padding:6px;gap:0;box-shadow:var(--spa-shadow);margin:8px 0 0;overflow:hidden;
  }
  body.spa-platform .spa-header.is-open .spa-account{
    display:flex!important;order:6;margin:10px 0 0;width:100%;justify-content:flex-start;
    min-height:44px;
  }
  body.spa-platform .spa-header.is-open nav a{
    display:flex;width:100%;border-radius:0;border:0;border-bottom:1px solid #E8EEF4;
    min-height:44px;padding:12px 14px;font-size:15px;
  }
  body.spa-platform .spa-header.is-open nav a:after{display:none}
  body.spa-platform .spa-button,
  body.spa-platform .spa-main input[type=submit],
  body.spa-platform .spa-main button,
  body.spa-platform .spa-account{
    min-height:44px;
  }
  body.spa-platform .spa-main{padding:0 var(--spa-gutter) 48px!important}
  body.spa-platform .spa-main-flush > .spa-section,
  body.spa-platform .spa-main-flush > .spa-icon-band{
    margin-left:var(--spa-gutter)!important;margin-right:var(--spa-gutter)!important;
  }
  /* Hero: photo visible, text readable, no bad wraps */
  body.spa-platform .spa-hero-bleed{min-height:auto;padding-bottom:0}
  body.spa-platform .spa-hero-bleed-inner{
    grid-template-columns:1fr!important;
    padding-top:88px!important;padding-bottom:28px!important;
    gap:18px!important;
  }
  body.spa-platform .spa-hero-bleed-bg:after{
    background:
      linear-gradient(180deg, rgba(11,31,58,.45) 0%, transparent 18%, transparent 62%, rgba(11,31,58,.55) 100%),
      linear-gradient(165deg,
        rgba(11,31,58,.88) 0%,
        rgba(11,31,58,.72) 38%,
        rgba(11,31,58,.32) 68%,
        rgba(11,31,58,.18) 100%)!important;
  }
  body.spa-platform .spa-hero-title .spa-line{white-space:nowrap}
  body.spa-platform .spa-hero-bleed h1.spa-hero-title{
    font-size:clamp(32px,9vw,42px);letter-spacing:-1.2px;max-width:100%!important;
  }
  body.spa-platform .spa-hero-bleed .spa-lead{max-width:36ch;font-size:16px}
  body.spa-platform .spa-hero-visual{
    width:100%!important;max-width:100%;justify-self:stretch;margin:4px 0 0;
  }
  body.spa-platform .spa-hero-visual img{aspect-ratio:16/10}
  body.spa-platform .spa-hero-actions .spa-button{min-height:44px;flex:1 1 auto}
  /* Page heroes */
  body.spa-platform .spa-page-hero{min-height:240px}
  body.spa-platform .spa-page-hero-media:after{
    background:
      linear-gradient(180deg, rgba(11,31,58,.55) 0%, rgba(11,31,58,.35) 40%, rgba(11,31,58,.55) 100%),
      linear-gradient(90deg, rgba(11,31,58,.82) 0%, rgba(11,31,58,.35) 55%, rgba(11,31,58,.18) 100%)!important;
  }
  /* Cost: never cover inputs */
  body.spa-platform .spa-tool-layout{grid-template-columns:1fr!important;gap:20px!important}
  body.spa-platform .spa-report{
    position:static!important;max-height:none!important;top:auto!important;
    order:2;
  }
  body.spa-platform .spa-tool-layout form{order:1}
  /* Grids */
  body.spa-platform .spa-grid-auto,
  body.spa-platform .spa-grid-three,
  body.spa-platform .spa-icon-band{grid-template-columns:1fr!important}
  body.spa-platform .spa-footer-cta-shell{grid-template-columns:1fr!important;gap:18px!important}
  body.spa-platform .spa-footer-cta-visual{width:100%;max-width:100%}
  body.spa-platform .spa-footer-cta-copy{gap:12px}
  body.spa-platform .spa-footer-cta-ae{width:52px;height:52px;flex-basis:52px}
  body.spa-platform .spa-footer{padding:36px var(--spa-gutter) 28px!important;grid-template-columns:1fr!important}
  body.spa-platform .spa-footer-cta{margin-left:var(--spa-gutter);margin-right:var(--spa-gutter)}
  body.spa-platform .spa-section{padding-top:40px;padding-bottom:40px}
  /* Kill horizontal scroll culprits */
  body.spa-platform .spa-section.spa-soft,
  body.spa-platform .spa-main-flush > .spa-section.spa-soft{
    width:100%!important;max-width:100%!important;
    margin-left:0!important;margin-right:0!important;
    padding-left:var(--spa-gutter)!important;padding-right:var(--spa-gutter)!important;
  }
  body.spa-platform img,body.spa-platform svg,body.spa-platform table{max-width:100%}
  body.spa-platform .spa-kboard,
  body.spa-platform .spa-compare-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
}

@media (max-width:390px){
  body.spa-platform{--spa-pad:16px;--spa-gutter:16px}
  body.spa-platform .spa-hero-bleed h1.spa-hero-title{font-size:clamp(28px,8.6vw,36px)}
  body.spa-platform .spa-cta-title{font-size:22px!important}
  body.spa-platform .spa-footer-cta-ae{display:none} /* avoid clutter on very small */
}

@media (max-width:360px){
  body.spa-platform{--spa-pad:16px;--spa-gutter:16px}
  body.spa-platform .spa-brand small{display:none}
  body.spa-platform .spa-hero-title .spa-line{white-space:nowrap;letter-spacing:-.8px}
}

/* Tablet 768 edge: 2-col cards ok, menu still hamburger via 768 rule above */
@media (min-width:641px) and (max-width:768px){
  body.spa-platform .spa-grid-auto,
  body.spa-platform .spa-grid-three,
  body.spa-platform .spa-icon-band{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.spa-platform .spa-footer-cta-ae{display:block}
}

/* === 0.1.19b: full-bleed heroes/CTA + CTA text Δ0 === */

/* Flush home main must never keep side padding */
body.spa-platform .spa-main.spa-main-flush{
  padding-left:0!important;
  padding-right:0!important;
}

/* Full-bleed media bands: always viewport width; gutter only on inner copy */
body.spa-platform .spa-hero-bleed,
body.spa-platform .spa-page-hero,
body.spa-platform .spa-footer-cta,
body.spa-platform .spa-photo-band,
body.spa-platform .spa-main-flush > .spa-hero-bleed,
body.spa-platform .spa-main > .spa-page-hero,
body.spa-platform .spa-main > .spa-footer-cta,
body.spa-platform .spa-main-flush > .spa-footer-cta{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  border-radius:0!important;
  box-sizing:border-box!important;
  position:relative;
  left:auto;right:auto;
}

/* Inner text keeps gutter; shell already pads — reinforce */
body.spa-platform .spa-hero-bleed-inner,
body.spa-platform .spa-page-hero-shell,
body.spa-platform .spa-footer-cta-shell{
  margin-left:var(--spa-gutter)!important;
  margin-right:var(--spa-gutter)!important;
  width:auto!important;
  max-width:none!important;
  box-sizing:border-box!important;
  padding-left:0!important;
  padding-right:0!important;
}
/* page-hero copy lives in shell */
body.spa-platform .spa-page-hero-shell{
  padding-top:48px;padding-bottom:48px;
}
body.spa-platform .spa-page-hero-copy{
  padding-left:0!important;padding-right:0!important;
  background:transparent!important;
}

/* CTA: text column flush to shell left (Δ0); 에이 inline in kicker only */
body.spa-platform .spa-footer-cta-copy,
body.spa-platform .spa-footer-cta-text{display:contents}
body.spa-platform .spa-footer-cta-inner{
  display:flex;flex-direction:column;align-items:flex-start;gap:12px;
  padding-left:0!important;padding-right:0!important;
}
body.spa-platform .spa-footer-cta-kicker,
body.spa-platform .spa-footer-cta-inner .spa-kicker{
  display:inline-flex!important;align-items:center;gap:8px;
  margin:0!important;
}
body.spa-platform .spa-footer-cta-ae{
  width:28px!important;height:28px!important;flex:0 0 28px;
  margin:0!important;display:inline-block;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.25));
}
body.spa-platform .spa-footer-cta-inner h2,
body.spa-platform .spa-footer-cta-inner .spa-cta-title,
body.spa-platform .spa-footer-cta-inner > p,
body.spa-platform .spa-footer-cta-btn{
  margin-left:0!important;
}

/* Kill prior mobile side margins on CTA/hero */
@media (max-width:768px){
  body.spa-platform .spa-main.spa-main-flush{
    padding-left:0!important;padding-right:0!important;padding-bottom:48px!important;
  }
  body.spa-platform .spa-main:not(.spa-main-flush){
    padding-left:var(--spa-gutter)!important;
    padding-right:var(--spa-gutter)!important;
  }
  body.spa-platform .spa-footer-cta,
  body.spa-platform .spa-hero-bleed,
  body.spa-platform .spa-page-hero,
  body.spa-platform .spa-photo-band{
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    width:100vw!important;
  }
  body.spa-platform .spa-page-hero{min-height:240px}
  body.spa-platform .spa-footer-cta-ae{width:24px!important;height:24px!important;flex-basis:24px}
}
@media (max-width:390px){
  body.spa-platform .spa-footer-cta-ae{display:inline-block!important} /* keep tiny inline, no column shift */
}

/* === 0.1.19c: design tokens + component rhythm (site-wide) === */
body.spa-platform{
  --spa-s-1:4px; --spa-s-2:8px; --spa-s-3:12px; --spa-s-4:16px;
  --spa-s-5:24px; --spa-s-6:32px; --spa-s-7:48px; --spa-s-8:64px; --spa-s-9:96px;
  --spa-card-pad-x:24px;
  --spa-card-pad-y:24px;
  --spa-card-gap:12px;
  --spa-card-media-gap:16px;
  --spa-card-radius:22px;
  --spa-chip-pad-y:6px;
  --spa-chip-pad-x:12px;
  --spa-chip-radius:999px;
  --spa-chip-fs:13px;
  --spa-tile-size:48px;
  --spa-tile-radius:14px;
  --spa-tile-label:14px;
  --spa-bullet:8px;
  --spa-bullet-gap:12px;
  --spa-btn-h:44px;
  --spa-btn-h-lg:52px;
  --spa-section-y:48px;
  --spa-section-gap:32px;
  --spa-edge-min:12px;
}

/* ---- Buttons: 44 / 52 ---- */
body.spa-platform .spa-button,
body.spa-platform .spa-main input[type=submit],
body.spa-platform .spa-main button:not(.spa-menu-toggle),
body.spa-platform .spa-tabs a,
body.spa-platform .spa-account,
body.spa-platform .spa-header nav a{
  min-height:var(--spa-btn-h)!important;
  box-sizing:border-box;
}
body.spa-platform .spa-footer-cta .spa-button,
body.spa-platform .spa-hero-actions .spa-button.spa-button-primary,
body.spa-platform .spa-button.spa-button-lg{
  min-height:var(--spa-btn-h-lg)!important;
  padding:14px 28px!important;
}

/* ---- Chip / topic / badge one style ---- */
body.spa-platform .spa-topic,
body.spa-platform .spa-article-card .spa-topic,
body.spa-platform .spa-record .spa-topic,
body.spa-platform .spa-badge:not(.spa-page-hero-badge),
body.spa-platform .spa-section .spa-chip,
body.spa-platform .spa-filter-chip,
body.spa-platform .spa-magazine-filters a,
body.spa-platform .spa-mag-filters a{
  display:inline-flex!important;
  align-items:center!important;
  gap:var(--spa-s-2)!important;
  padding:var(--spa-chip-pad-y) var(--spa-chip-pad-x)!important;
  border-radius:var(--spa-chip-radius)!important;
  font-size:var(--spa-chip-fs)!important;
  font-weight:700!important;
  line-height:1.35!important;
  width:fit-content!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* ---- Cards: one padding + image→chip→title→meta gaps ---- */
body.spa-platform .spa-card,
body.spa-platform .spa-article-card,
body.spa-platform .spa-catalog-card,
body.spa-platform .spa-icon-card,
body.spa-platform .spa-record,
body.spa-platform .spa-check-item,
body.spa-platform .spa-mag-list a{
  border-radius:var(--spa-card-radius)!important;
  box-sizing:border-box!important;
}
body.spa-platform .spa-card,
body.spa-platform .spa-article-card{
  padding:0 0 var(--spa-card-pad-y)!important;
  gap:0!important;
}
body.spa-platform .spa-article-card .spa-card-media,
body.spa-platform .spa-card > .spa-card-media,
body.spa-platform .spa-catalog-card .spa-card-media{
  margin:0!important;
  border-radius:0!important;
}
/* Content after media: 24px sides, 16px from image, 12px between chip/title/meta */
body.spa-platform .spa-article-card > .spa-topic,
body.spa-platform .spa-article-card > .spa-kicker,
body.spa-platform .spa-card > .spa-kicker,
body.spa-platform .spa-card > .spa-topic{
  margin:var(--spa-card-media-gap) var(--spa-card-pad-x) 0!important;
  padding-left:var(--spa-chip-pad-x)!important;
  padding-right:var(--spa-chip-pad-x)!important;
  align-self:flex-start!important;
}
body.spa-platform .spa-article-card > h3,
body.spa-platform .spa-card > h3{
  margin:var(--spa-card-gap) var(--spa-card-pad-x) 0!important;
  padding:0!important;
}
body.spa-platform .spa-article-card > p,
body.spa-platform .spa-card > p,
body.spa-platform .spa-card > .spa-card-arrow,
body.spa-platform .spa-article-card > time,
body.spa-platform .spa-card > time,
body.spa-platform .spa-card-caption{
  margin-left:var(--spa-card-pad-x)!important;
  margin-right:var(--spa-card-pad-x)!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.spa-platform .spa-article-card > p,
body.spa-platform .spa-card > p{margin-top:var(--spa-card-gap)!important}
body.spa-platform .spa-article-card > time,
body.spa-platform .spa-card > .spa-card-arrow{
  margin-top:var(--spa-card-gap)!important;
}
body.spa-platform .spa-catalog-card{padding:0 0 var(--spa-card-pad-y)!important}
body.spa-platform .spa-catalog-card-body{
  padding:var(--spa-card-media-gap) var(--spa-card-pad-x) 0!important;
  gap:var(--spa-card-gap)!important;
  display:flex!important;
  flex-direction:column!important;
}
body.spa-platform .spa-catalog-card-body .spa-kicker{
  margin:0!important;
}
body.spa-platform .spa-catalog-card-body h2{
  margin:0!important;
  min-height:calc(1.35em * 2);
}
body.spa-platform .spa-catalog-card-body p{margin:0!important}
body.spa-platform .spa-mag-featured-body{
  padding:var(--spa-card-pad-y) var(--spa-card-pad-x)!important;
  display:flex;flex-direction:column;gap:var(--spa-card-gap);
}
body.spa-platform .spa-mag-list a{
  padding:var(--spa-s-4)!important;
  gap:var(--spa-s-4)!important;
}
body.spa-platform .spa-record{
  padding:var(--spa-card-pad-y) var(--spa-card-pad-x)!important;
}
body.spa-platform .spa-record .spa-topic{margin:0 0 var(--spa-card-gap)!important}
body.spa-platform .spa-check-item{
  padding:var(--spa-card-pad-y) var(--spa-card-pad-x)!important;
}
body.spa-platform .spa-icon-card,
body.spa-platform a.spa-icon-card{
  padding:var(--spa-card-pad-y) var(--spa-card-pad-x)!important;
  gap:var(--spa-s-3)!important;
  min-height:0!important;
}
body.spa-platform .spa-icon-card .spa-icon-lg{
  width:var(--spa-tile-size)!important;
  height:var(--spa-tile-size)!important;
  border-radius:var(--spa-tile-radius)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 var(--spa-tile-size)!important;
}
body.spa-platform .spa-icon-card .spa-icon-lg img{
  width:24px!important;height:24px!important;
}
body.spa-platform .spa-icon-card strong{font-size:17px!important;margin:0!important}
body.spa-platform .spa-icon-card span{font-size:14px!important;line-height:1.55!important;margin:0!important}

/* ---- Page-hero icon tile + label ---- */
body.spa-platform .spa-page-hero-tile{
  display:inline-flex!important;
  align-items:center!important;
  align-self:flex-start!important;
  gap:var(--spa-s-3)!important;
  margin:0 0 var(--spa-s-4)!important;
  padding:6px 14px 6px 6px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-sizing:border-box!important;
  width:auto!important;
  max-width:max-content!important;
  flex:0 0 auto!important;
}
body.spa-platform .spa-page-hero-tile .spa-page-hero-badge{
  width:var(--spa-tile-size)!important;
  height:var(--spa-tile-size)!important;
  min-width:var(--spa-tile-size)!important;
  border-radius:var(--spa-tile-radius)!important;
  margin:0!important;
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 var(--spa-tile-size)!important;
}
body.spa-platform .spa-page-hero-tile .spa-page-hero-badge img{
  width:22px!important;height:22px!important;
}
body.spa-platform .spa-page-hero-tile .spa-page-hero-crumb{
  margin:0!important;
  font-size:var(--spa-tile-label)!important;
  line-height:1.4!important;
  color:rgba(255,255,255,.88)!important;
  white-space:nowrap;
}
/* fallback if badge alone */
body.spa-platform .spa-page-hero-copy > .spa-page-hero-badge{
  width:var(--spa-tile-size)!important;height:var(--spa-tile-size)!important;
  border-radius:var(--spa-tile-radius)!important;
  margin:0 0 var(--spa-s-3)!important;
}

/* ---- Lists / bullets site-wide ---- */
body.spa-platform .spa-feature-list,
body.spa-platform .spa-feature-list li{
  list-style:none!important;list-style-type:none!important;
}
body.spa-platform .spa-feature-list{
  padding:0!important;margin:0 0 var(--spa-s-5)!important;
  display:grid!important;gap:var(--spa-s-3)!important;
}
body.spa-platform .spa-feature-list li{
  position:relative!important;
  padding-left:calc(var(--spa-bullet) + var(--spa-bullet-gap))!important;
  font-size:16px!important;
  line-height:1.65!important;
  color:#3a4658!important;
}
body.spa-platform .spa-feature-list li:before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0.55em!important; /* first-line cap approx */
  width:var(--spa-bullet)!important;
  height:var(--spa-bullet)!important;
  border-radius:50%!important;
  background:var(--spa-cyan-text)!important;
  border:0!important;
  box-shadow:none!important;
  transform:translateY(-50%)!important;
}
/* Reading / article / record / KBoard / forms content lists */
body.spa-platform .spa-reading ul,
body.spa-platform .spa-record-body ul,
body.spa-platform .spa-article-body ul,
body.spa-platform .spa-main .entry-content ul,
body.spa-platform .kboard-list,
body.spa-platform .kboard-comments-list,
body.spa-platform .spa-main .kboard-document ul,
body.spa-platform .spa-tool-help ul,
body.spa-platform .spa-report ul{
  list-style:none!important;
  padding:0!important;
  margin:0 0 var(--spa-s-4)!important;
  display:grid!important;
  gap:var(--spa-s-3)!important;
}
body.spa-platform .spa-reading ul > li,
body.spa-platform .spa-record-body ul > li,
body.spa-platform .spa-article-body ul > li,
body.spa-platform .spa-main .entry-content ul > li,
body.spa-platform .spa-main .kboard-document ul > li,
body.spa-platform .spa-tool-help ul > li,
body.spa-platform .spa-report ul > li{
  position:relative!important;
  padding-left:calc(var(--spa-bullet) + var(--spa-bullet-gap))!important;
  margin:0!important;
  line-height:1.65!important;
  list-style:none!important;
}
body.spa-platform .spa-reading ul > li:before,
body.spa-platform .spa-record-body ul > li:before,
body.spa-platform .spa-article-body ul > li:before,
body.spa-platform .spa-main .entry-content ul > li:before,
body.spa-platform .spa-main .kboard-document ul > li:before,
body.spa-platform .spa-tool-help ul > li:before,
body.spa-platform .spa-report ul > li:before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0.55em!important;
  width:var(--spa-bullet)!important;
  height:var(--spa-bullet)!important;
  border-radius:50%!important;
  background:var(--spa-cyan-text)!important;
  transform:translateY(-50%)!important;
}

/* ---- Footer status pill ---- */
body.spa-platform .spa-footer-status{
  display:inline-flex!important;
  align-items:center!important;
  gap:var(--spa-s-2)!important;
  background:rgba(255,255,255,.06)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:999px!important;
  padding:6px 14px!important;
  font-size:14px!important;
  line-height:1.4!important;
  color:rgba(255,255,255,.8)!important;
  margin-top:var(--spa-s-3)!important;
  box-sizing:border-box!important;
}
body.spa-platform .spa-footer-status i{
  width:6px!important;
  height:6px!important;
  border-radius:50%!important;
  background:rgba(34,211,238,.7)!important;
  display:inline-block!important;
  flex:0 0 6px!important;
  opacity:.85!important;
  box-shadow:none!important;
}

/* ---- Section rhythm ---- */
body.spa-platform .spa-section{
  padding-top:var(--spa-section-y)!important;
  padding-bottom:var(--spa-section-y)!important;
}
body.spa-platform .spa-section + .spa-section{margin-top:0!important}
body.spa-platform .spa-section-heading{
  margin-bottom:var(--spa-section-gap)!important;
  gap:var(--spa-s-4)!important;
}
body.spa-platform .spa-grid,
body.spa-platform .spa-grid-auto,
body.spa-platform .spa-grid-three,
body.spa-platform .spa-magazine-grid,
body.spa-platform .spa-catalog-grid,
body.spa-platform .spa-check-grid,
body.spa-platform .spa-icon-band{
  gap:var(--spa-s-5)!important;
}

/* ---- Forms / tools / my-home ---- */
body.spa-platform .spa-main form label,
body.spa-platform .spa-tool-layout label,
body.spa-platform .spa-check-item label{
  display:flex;flex-direction:column;gap:var(--spa-s-2);
  margin-bottom:var(--spa-s-4);
}
body.spa-platform .spa-main input:not([type=checkbox]):not([type=radio]):not([type=submit]),
body.spa-platform .spa-main textarea,
body.spa-platform .spa-main select{
  min-height:var(--spa-btn-h)!important;
  padding:12px 14px!important;
}
body.spa-platform .spa-board-summary{
  padding:var(--spa-card-pad-y) var(--spa-card-pad-x)!important;
  gap:var(--spa-s-4)!important;
  border-radius:var(--spa-card-radius)!important;
}
body.spa-platform .spa-tabs{gap:var(--spa-s-3)!important;margin:var(--spa-s-4) 0 var(--spa-s-6)!important}

/* ---- KBoard soft alignment inside spa shell ---- */
body.spa-platform .kboard-list-header,
body.spa-platform .kboard-list-footer,
body.spa-platform .kboard-document-wrap,
body.spa-platform .kboard-comments{
  box-sizing:border-box;
}
body.spa-platform .kboard-list table td,
body.spa-platform .kboard-list table th{
  padding:var(--spa-s-3) var(--spa-s-4)!important;
}

/* Edge inset helpers for soft bands */
body.spa-platform .spa-local-banner,
body.spa-platform .spa-notice,
body.spa-platform .spa-compare-bar{
  padding:var(--spa-s-4) var(--spa-card-pad-x)!important;
  box-sizing:border-box!important;
}

@media (max-width:768px){
  body.spa-platform{
    --spa-card-pad-x:20px;
    --spa-card-pad-y:20px;
    --spa-section-y:32px;
    --spa-section-gap:24px;
  }
  body.spa-platform .spa-page-hero-tile{
    padding:4px 12px 4px 4px!important;
    gap:var(--spa-s-2)!important;
  }
  body.spa-platform .spa-page-hero-tile .spa-page-hero-badge{
    width:40px!important;height:40px!important;min-width:40px!important;flex-basis:40px!important;
  }
}
@media (max-width:390px){
  body.spa-platform{
    --spa-card-pad-x:16px;
    --spa-card-pad-y:20px;
  }
}

/* === 0.1.19d: article photo mast + 2-col reading + cohesive closing zone === */

/* ----- Closing zone: CTA flows into footer (all pages) ----- */
body.spa-platform .spa-closing{
  width:100vw;max-width:100vw;
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  background:linear-gradient(180deg,#0B1F3A 0%,#071628 100%);
  color:rgba(255,255,255,.78);
  box-sizing:border-box;
  position:relative;
  overflow:hidden;
}
body.spa-platform .spa-closing .spa-footer-cta,
body.spa-platform .spa-main > .spa-closing .spa-footer-cta,
body.spa-platform .spa-main-flush > .spa-closing .spa-footer-cta,
body.spa-platform .spa-main-article ~ .spa-closing .spa-footer-cta{
  margin:0!important;
  width:100%!important;
  max-width:none!important;
  border-radius:0!important;
  box-shadow:none!important;
  min-height:280px;
  background:transparent!important;
  position:relative;
  overflow:visible;
}
/* Photo full-bleed behind CTA, fades into shared navy */
body.spa-platform .spa-closing .spa-footer-cta-bg{
  position:absolute;inset:0;z-index:0;pointer-events:none;
}
body.spa-platform .spa-closing .spa-footer-cta-photo,
body.spa-platform .spa-closing .spa-footer-cta-photo img{
  position:absolute;inset:0;width:100%;height:100%;
  display:block;object-fit:cover;object-position:center 40%;
}
body.spa-platform .spa-closing .spa-footer-cta-bg:after{
  content:"";position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(100deg, rgba(11,31,58,.88) 0%, rgba(11,31,58,.72) 46%, rgba(11,31,58,.45) 100%),
    linear-gradient(180deg, rgba(11,31,58,.15) 0%, rgba(11,31,58,.55) 55%, #0B1F3A 92%, #0B1F3A 100%);
}
body.spa-platform .spa-closing .spa-footer-cta-glow,
body.spa-platform .spa-closing .spa-footer-cta-grid{display:none!important}
body.spa-platform .spa-closing .spa-footer-cta-shell{
  position:relative;z-index:2;
  max-width:var(--spa-max,1360px);
  margin:0 auto;
  padding:48px var(--spa-gutter) 36px;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);
  gap:32px 48px;
  align-items:center;
  box-sizing:border-box;
  width:100%;
}
body.spa-platform .spa-closing .spa-footer-cta-inner{
  padding:0!important;
  gap:12px;
}
body.spa-platform .spa-closing .spa-footer-cta-visual{
  justify-self:end;width:100%;max-width:420px;
}
body.spa-platform .spa-closing .spa-footer-cta-visual figure{
  margin:0;border-radius:16px;overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.12);
  background:rgba(7,22,40,.35);
}
body.spa-platform .spa-closing .spa-footer-cta-visual img{
  display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;
}
body.spa-platform .spa-closing .spa-footer-cta-visual figcaption{
  margin:0;padding:8px 12px 10px;font-size:12px!important;
  color:rgba(255,255,255,.72)!important;background:rgba(7,22,40,.55);
}

/* Footer shares container + navy — no white gap */
body.spa-platform .spa-closing .spa-footer,
body.spa-platform .spa-footer{
  width:100%!important;max-width:none!important;
  margin:0!important;
  padding:0 0 40px!important;
  background:transparent!important;
  border-top:none!important;
  color:rgba(255,255,255,.78);
  display:block!important;
  box-sizing:border-box;
}
body.spa-platform .spa-closing .spa-footer-grid{
  max-width:var(--spa-max,1360px);
  margin:0 auto;
  padding:28px var(--spa-gutter) 8px;
  display:grid;
  grid-template-columns:1.35fr repeat(3, minmax(0,1fr));
  gap:28px 40px;
  align-items:start;
  box-sizing:border-box;
  border-top:1px solid rgba(255,255,255,.14);
}
body.spa-platform .spa-footer-logo{
  display:inline-flex;align-items:baseline;gap:0;
  font-size:22px;font-weight:800;letter-spacing:-.6px;
  color:#fff!important;text-decoration:none!important;
  line-height:1.2;
}
body.spa-platform .spa-footer-logo span{color:#22D3EE}
body.spa-platform .spa-footer-brand p{
  margin:12px 0 0;font-size:14px;line-height:1.75;
  color:rgba(255,255,255,.72)!important;max-width:36ch;
}
body.spa-platform .spa-footer-col h3{
  margin:0 0 12px;font-size:13px!important;font-weight:700;
  letter-spacing:.04em;text-transform:none;color:#A5F3FC!important;
}
body.spa-platform .spa-footer-links{
  display:flex;flex-direction:column;gap:8px;
}
body.spa-platform .spa-footer-links a{
  color:rgba(255,255,255,.78)!important;text-decoration:none;
  font-size:14px;line-height:1.5;
}
body.spa-platform .spa-footer-links a:hover{color:#fff!important}
body.spa-platform .spa-closing .spa-operator,
body.spa-platform .spa-footer .spa-operator{
  max-width:var(--spa-max,1360px);
  margin:8px auto 0;
  padding:18px var(--spa-gutter) 0;
  border-top:1px solid rgba(255,255,255,.12);
  box-sizing:border-box;
  grid-column:auto;
}
body.spa-platform .spa-closing .spa-operator p,
body.spa-platform .spa-footer .spa-operator p{
  font-size:13px!important;line-height:1.75;
  color:rgba(255,255,255,.62)!important;
  margin:4px 0;overflow-wrap:anywhere;word-break:keep-all;
  white-space:normal;max-width:none;
}
body.spa-platform .spa-closing .spa-operator a{color:#22D3EE!important}
body.spa-platform .spa-footer-status{
  display:inline-flex!important;align-items:center;gap:8px;
  margin-top:14px!important;
  padding:6px 14px!important;
  border-radius:999px;
  background:rgba(255,255,255,.06)!important;
  color:rgba(255,255,255,.82)!important;
  font-size:13px!important;line-height:1.4;
  width:fit-content;
}
body.spa-platform .spa-footer-status i{
  width:6px;height:6px;border-radius:50%;
  background:#22D3EE;display:inline-block;flex:0 0 auto;
}

@media (max-width:980px){
  body.spa-platform .spa-closing .spa-footer-cta-shell{
    grid-template-columns:1fr;gap:22px;padding:36px var(--spa-gutter) 28px;
  }
  body.spa-platform .spa-closing .spa-footer-cta-visual{
    justify-self:start;max-width:420px;
  }
  body.spa-platform .spa-closing .spa-footer-grid{
    grid-template-columns:1fr 1fr;gap:24px 28px;
  }
  body.spa-platform .spa-footer-brand{grid-column:1/-1}
}
@media (max-width:640px){
  body.spa-platform .spa-closing .spa-footer-cta{min-height:0}
  body.spa-platform .spa-closing .spa-footer-cta-shell{padding:28px var(--spa-gutter) 22px}
  body.spa-platform .spa-closing .spa-footer-grid{
    grid-template-columns:1fr;gap:22px;padding-top:22px;
  }
  body.spa-platform .spa-closing .spa-footer-cta-visual{max-width:100%}
}

/* ----- Article photo mast + 2-col body ----- */
body.spa-platform .spa-main-article{
  padding-top:0!important;padding-bottom:0!important;
}
body.spa-platform .spa-article-mast-photo{
  position:relative;
  width:100vw;max-width:100vw;
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  margin-bottom:0!important;
  min-height:460px;
  display:flex;align-items:flex-end;
  background-color:#0B1F3A;
  background-image:
    linear-gradient(100deg, rgba(11,31,58,.92) 0%, rgba(11,31,58,.78) 42%, rgba(11,31,58,.35) 100%),
    var(--spa-mast-img, none);
  background-size:cover;
  background-position:center;
  color:#fff;
  box-sizing:border-box;
  overflow:hidden;
}
body.spa-platform .spa-article-mast-photo .spa-article-mast-shell{
  max-width:var(--spa-max,1360px);
  width:100%;
  margin:0 auto;
  padding:56px var(--spa-gutter) 44px;
  box-sizing:border-box;
}
body.spa-platform .spa-article-mast-photo .spa-article-chip,
body.spa-platform .spa-article-mast-photo .spa-kicker{
  display:inline-flex!important;
  align-items:center;
  margin:0 0 16px!important;
  padding:7px 12px!important;
  border-radius:999px;
  background:rgba(34,211,238,.16);
  color:#A5F3FC!important;
  font-size:13px!important;font-weight:700;
  width:fit-content;
}
body.spa-platform .spa-article-mast-photo h1{
  margin:0 0 18px!important;
  color:#fff!important;
  font-size:clamp(28px,3.8vw,44px);
  line-height:1.28;letter-spacing:-1px;
  max-width:18em;text-wrap:balance;word-break:keep-all;
  text-shadow:0 1px 2px rgba(0,0,0,.35);
}
body.spa-platform .spa-article-meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;
  font-size:14px;color:rgba(255,255,255,.82);
}
body.spa-platform .spa-article-meta time,
body.spa-platform .spa-article-read{color:rgba(255,255,255,.82)!important}
body.spa-platform .spa-article-meta-icon{
  width:18px;height:18px;opacity:.9;
  filter:brightness(0) invert(1);
}
body.spa-platform .spa-article-mast-caption{
  margin:16px 0 0!important;
  font-size:12px!important;line-height:1.5;
  color:rgba(255,255,255,.7)!important;
}
/* Hide legacy duplicate hero if any theme leftover */
body.spa-platform .spa-main-article > .spa-article-hero{display:none!important}

body.spa-platform .spa-article-layout{
  max-width:var(--spa-max,1360px);
  margin:0 auto;
  padding:36px var(--spa-gutter) 64px;
  display:grid;
  grid-template-columns:minmax(0,860px) minmax(280px,320px);
  gap:40px 48px;
  align-items:start;
  box-sizing:border-box;
}
body.spa-platform .spa-main-article .spa-reading,
body.spa-platform .spa-main-article .spa-article{
  max-width:none!important;width:auto!important;margin:0!important;padding:0!important;
}
body.spa-platform .spa-article-body{
  font-size:17.5px!important;line-height:1.8!important;color:#1E293B;
}
body.spa-platform .spa-article-body p,
body.spa-platform .spa-article-body li{
  font-size:17.5px!important;line-height:1.8!important;
}
body.spa-platform .spa-article-body h2{
  font-size:26px!important;margin:40px 0 14px!important;
  color:var(--spa-navy);letter-spacing:-.4px;line-height:1.35;
  scroll-margin-top:88px;
}
body.spa-platform .spa-article-body h3{
  font-size:20px!important;margin:28px 0 10px!important;color:var(--spa-navy);
}
body.spa-platform .spa-article-body table{
  width:100%;border-collapse:collapse;margin:20px 0 28px;font-size:15px;
}
body.spa-platform .spa-article-body th,
body.spa-platform .spa-article-body td{
  border:1px solid var(--spa-line);padding:10px 12px;text-align:left;
}
body.spa-platform .spa-article-body th{background:#F5F8FB;color:var(--spa-navy)}
body.spa-platform .spa-article-body blockquote,
body.spa-platform .spa-article-body .spa-callout{
  margin:24px 0;padding:18px 20px;
  border-left:4px solid #22D3EE;
  background:#F0FAFC;border-radius:0 12px 12px 0;
}

body.spa-platform .spa-article-rail{
  position:sticky;top:88px;
  display:flex;flex-direction:column;gap:16px;
}
body.spa-platform .spa-article-toc,
body.spa-platform .spa-article-rail-related,
body.spa-platform .spa-article-rail-cta{
  background:#fff;
  border:1px solid var(--spa-line);
  border-radius:14px;
  padding:16px 18px;
  box-shadow:0 8px 24px rgba(11,31,58,.04);
}
body.spa-platform .spa-article-toc > summary{
  cursor:pointer;font-weight:700;color:var(--spa-navy);list-style:none;
  font-size:15px;
}
body.spa-platform .spa-article-toc > summary::-webkit-details-marker{display:none}
body.spa-platform .spa-article-toc nav{margin-top:12px}
body.spa-platform .spa-article-toc ol{
  margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;
}
body.spa-platform .spa-article-toc a{
  color:#334155;text-decoration:none;font-size:14px;line-height:1.45;
}
body.spa-platform .spa-article-toc a:hover{color:var(--spa-cyan-text)}
body.spa-platform .spa-article-toc-empty{margin:10px 0 0;font-size:13px;color:#64748B}
body.spa-platform .spa-article-rail-related h3{
  margin:0 0 12px;font-size:15px;color:var(--spa-navy);
}
body.spa-platform .spa-article-rail-related ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
body.spa-platform .spa-article-rail-related a{
  display:grid;grid-template-columns:64px 1fr;gap:10px;align-items:center;
  text-decoration:none;color:var(--spa-ink);
}
body.spa-platform .spa-article-rail-related img{
  width:64px;height:48px;object-fit:cover;border-radius:8px;display:block;
}
body.spa-platform .spa-article-rail-related span{font-size:13px;line-height:1.4;font-weight:600}
body.spa-platform .spa-article-rail-cta p{
  margin:0 0 12px;font-size:14px;line-height:1.55;color:#334155;
}
body.spa-platform .spa-article-rail-cta .spa-button{width:100%;justify-content:center;margin:0 0 8px}
/* rail/secondary ghost on light surfaces only — do NOT paint hero ghosts navy */
body.spa-platform .spa-article-rail .spa-button-ghost,
body.spa-platform .spa-article-rail-cta .spa-button-ghost{
  background:transparent!important;color:var(--spa-navy)!important;
  border:1px solid var(--spa-line)!important;
}

body.spa-platform .spa-article-related{margin-top:48px}
body.spa-platform .spa-article-related > h2{
  font-size:22px;margin:0 0 16px;color:var(--spa-navy);
}
body.spa-platform .spa-article-related-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;
}
body.spa-platform .spa-article-related-card{
  display:flex;flex-direction:column;gap:0;
  border:1px solid var(--spa-line);border-radius:14px;overflow:hidden;
  text-decoration:none;background:#fff;color:var(--spa-ink);
}
body.spa-platform .spa-article-related-thumb img{
  display:block;width:100%;height:140px;object-fit:cover;
}
body.spa-platform .spa-article-related-body{padding:12px 14px 16px}
body.spa-platform .spa-article-related-body .spa-topic{
  display:inline-flex;font-size:12px;margin-bottom:6px;
}
body.spa-platform .spa-article-related-body strong{
  display:block;font-size:15px;line-height:1.4;font-weight:700;
}

@media (max-width:1100px){
  body.spa-platform .spa-article-layout{
    grid-template-columns:minmax(0,1fr) minmax(260px,300px);gap:28px;
  }
}
@media (max-width:900px){
  body.spa-platform .spa-article-mast-photo{min-height:300px}
  body.spa-platform .spa-article-mast-photo .spa-article-mast-shell{padding:36px var(--spa-gutter) 28px}
  body.spa-platform .spa-article-layout{
    grid-template-columns:1fr;padding-top:24px;
  }
  body.spa-platform .spa-article-rail{
    position:static;order:-1; /* TOC accordion first on mobile */
  }
  body.spa-platform .spa-article-toc{padding:12px 14px}
  body.spa-platform .spa-article-related-grid{grid-template-columns:1fr}
}
@media (max-width:480px){
  body.spa-platform .spa-article-mast-photo{min-height:280px}
  body.spa-platform .spa-article-body,
  body.spa-platform .spa-article-body p,
  body.spa-platform .spa-article-body li{font-size:17px!important}
}


/* === 0.1.19e: 404 closing + search redirect === */
.spa-main-404 .spa-404-links{margin:18px 0 0;text-align:center;color:var(--spa-muted,#6b7280);font-size:14px}
.spa-main-404 .spa-404-links a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.spa-main-404 .spa-empty{margin-top:48px}

/* === 0.1.19f: footer brand collapse + CTA photos restored === */
/* Brand column was row-flex (logo|copy|pill) → logo track collapsed to 1ch with keep-all */
body.spa-platform .spa-footer-brand,
body.spa-platform .spa-closing .spa-footer-brand{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:0!important;
  min-width:280px!important;
  max-width:100%;
  box-sizing:border-box;
}
body.spa-platform .spa-footer-logo,
body.spa-platform .spa-closing .spa-footer-logo{
  display:inline-block!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  max-width:none!important;
  width:auto!important;
  flex:0 0 auto!important;
  font-size:22px!important;
  font-weight:800!important;
  letter-spacing:-.6px;
  color:#fff!important;
  line-height:1.2!important;
}
body.spa-platform .spa-footer-status,
body.spa-platform .spa-closing .spa-footer-status{
  display:inline-flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  width:auto!important;
  max-width:100%;
  min-width:0;
  box-sizing:border-box!important;
}
body.spa-platform .spa-closing .spa-footer-grid{
  grid-template-columns:minmax(280px,1.35fr) repeat(3,minmax(0,1fr))!important;
}
body.spa-platform .spa-closing .spa-footer-grid > .spa-footer-brand{
  min-width:280px!important;
}
body.spa-platform .spa-footer-brand > p:not(.spa-footer-status){
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:keep-all;
  max-width:36ch;
}

/* CTA photos: paint even if lazy IntersectionObserver skips absolute layers */
body.spa-platform .spa-closing .spa-footer-cta-photo{
  position:absolute!important;inset:0!important;width:auto!important;height:auto!important;
  display:block!important;overflow:hidden!important;z-index:0;
  background-size:cover!important;
  background-position:center 40%!important;
  background-repeat:no-repeat!important;
  -webkit-mask-image:none!important;mask-image:none!important;
  opacity:1!important;
}
body.spa-platform .spa-closing .spa-footer-cta-photo img{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center 40%!important;
  display:block!important;opacity:1!important;filter:saturate(1.05) brightness(1);
  visibility:visible!important;
}
/* Keep readable copy + visible photo, then fade into shared navy footer */
body.spa-platform .spa-closing .spa-footer-cta-bg:after{
  content:""!important;position:absolute!important;inset:0!important;z-index:1!important;
  pointer-events:none;
  background:
    linear-gradient(100deg,
      rgba(11,31,58,.82) 0%,
      rgba(11,31,58,.62) 38%,
      rgba(11,31,58,.32) 68%,
      rgba(11,31,58,.18) 100%),
    linear-gradient(180deg,
      rgba(11,31,58,.10) 0%,
      rgba(11,31,58,.20) 48%,
      rgba(11,31,58,.72) 86%,
      #0B1F3A 100%)!important;
}
body.spa-platform .spa-closing .spa-footer-cta-visual figure{
  position:relative;
  background-color:rgba(7,22,40,.35);
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  min-height:180px;
}
body.spa-platform .spa-closing .spa-footer-cta-visual img{
  display:block!important;width:100%!important;height:auto!important;
  aspect-ratio:4/3;object-fit:cover!important;
  opacity:1!important;visibility:visible!important;
  position:relative;z-index:1;
  background:transparent;
}
@media (max-width:980px){
  body.spa-platform .spa-closing .spa-footer-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
  body.spa-platform .spa-closing .spa-footer-grid > .spa-footer-brand{
    grid-column:1/-1;
    min-width:0!important;
  }
}
@media (max-width:640px){
  body.spa-platform .spa-closing .spa-footer-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

/* === 0.1.19g: footer left/right edge = CTA/header gutter (no max-width double inset) === */
/* At vw>spa-max, grid/operator used margin:auto(40) + padding:gutter(46) → content at 86
   while CTA shell/header use gutter only → content at 46. Match CTA shell model. */
body.spa-platform .spa-closing .spa-footer-grid{
  max-width:none!important;
  width:auto!important;
  margin-left:var(--spa-gutter)!important;
  margin-right:var(--spa-gutter)!important;
  padding-left:0!important;
  padding-right:0!important;
  padding-top:28px;
  padding-bottom:8px;
  box-sizing:border-box!important;
}
body.spa-platform .spa-closing .spa-operator,
body.spa-platform .spa-footer .spa-operator{
  max-width:none!important;
  width:auto!important;
  margin-left:var(--spa-gutter)!important;
  margin-right:var(--spa-gutter)!important;
  margin-top:8px!important;
  padding-left:0!important;
  padding-right:0!important;
  padding-top:18px!important;
  box-sizing:border-box!important;
}

/* === 0.1.19g: Paperlogy restore (beat Divi Hanna) + article ~1000/rail~300 + subpage edges === */
/* Divi earlyaccess/hanna + inline h1–h6/body/nav win without !important Paperlogy stack.
   Only 400+700 faces ship — map 500/600/800 onto those files. */
body.spa-platform,
body.spa-platform body,
body.spa-platform .spa-main,
body.spa-platform .spa-header,
body.spa-platform .spa-footer,
body.spa-platform .spa-closing,
body.spa-platform p,
body.spa-platform li,
body.spa-platform td,
body.spa-platform th,
body.spa-platform label,
body.spa-platform span,
body.spa-platform a,
body.spa-platform button,
body.spa-platform input,
body.spa-platform textarea,
body.spa-platform select,
body.spa-platform .spa-nav a,
body.spa-platform .spa-header nav a,
body.spa-platform .spa-chip,
body.spa-platform .spa-topic,
body.spa-platform .spa-kicker,
body.spa-platform .spa-lead,
body.spa-platform .spa-button,
body.spa-platform .spa-footer-logo,
body.spa-platform .spa-brand,
body.spa-platform .spa-article-body,
body.spa-platform .spa-article-body p,
body.spa-platform .spa-article-body li,
body.spa-platform .spa-reading,
body.spa-platform .kboard-list,
body.spa-platform .kboard-list-title,
body.spa-platform [class*="kboard"]{
  font-family:Paperlogy,sans-serif!important;
}
body.spa-platform h1,
body.spa-platform h2,
body.spa-platform h3,
body.spa-platform h4,
body.spa-platform h5,
body.spa-platform h6,
body.spa-platform .spa-page-hero h1,
body.spa-platform .spa-section-heading h2,
body.spa-platform .spa-article-body h2,
body.spa-platform .spa-article-body h3,
body.spa-platform .spa-footer-cta-inner h2,
body.spa-platform .spa-empty h2{
  font-family:Paperlogy,sans-serif!important;
}
/* Weight remap: missing 500/600/800 faces → nearest shipped face */
body.spa-platform,
body.spa-platform p,
body.spa-platform li,
body.spa-platform input,
body.spa-platform textarea,
body.spa-platform select{
  font-weight:400;
}
body.spa-platform h1,
body.spa-platform h2,
body.spa-platform h3,
body.spa-platform h4,
body.spa-platform .spa-button,
body.spa-platform .spa-nav a,
body.spa-platform .spa-footer-logo,
body.spa-platform .spa-brand,
body.spa-platform strong,
body.spa-platform b,
body.spa-platform .spa-chip,
body.spa-platform .spa-topic{
  font-weight:700!important;
}
@font-face{font-family:Paperlogy;src:url('../assets/fonts/Paperlogy-4Regular.woff') format('woff');font-weight:500;font-display:swap}
@font-face{font-family:Paperlogy;src:url('../assets/fonts/Paperlogy-4Regular.woff') format('woff');font-weight:600;font-display:swap}
@font-face{font-family:Paperlogy;src:url('../assets/fonts/Paperlogy-7Bold.woff') format('woff');font-weight:800;font-display:swap}

/* Article: same ~1360 container edges as home (no double gutter pad).
   Main = 1fr (~1000 @1440), rail = 300, gap = 56. */
/* spa-main already applies --spa-gutter padding; layout fills that box (same edges as home). */
body.spa-platform .spa-main:has(.spa-article-layout),
body.spa-platform .spa-main-article:has(.spa-article-layout){
  /* keep gutter padding — layout uses width:100% inside it */
}
body.spa-platform .spa-article-layout{
  max-width:none!important;
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  padding-top:36px;
  padding-bottom:64px;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 300px!important;
  gap:56px!important;
  column-gap:56px!important;
  align-items:start;
  box-sizing:border-box!important;
}
/* Mast is full-bleed sibling; its shell aligns to same gutter edges as home */
body.spa-platform .spa-main:has(.spa-article-layout) > .spa-article-mast-photo,
body.spa-platform .spa-main-article > .spa-article-mast-photo{
  width:100vw;max-width:100vw;
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
}
body.spa-platform .spa-article-layout > .spa-reading,
body.spa-platform .spa-article-layout > .spa-article,
body.spa-platform .spa-article-layout > *:first-child,
body.spa-platform .spa-article-body,
body.spa-platform .spa-article-body p,
body.spa-platform .spa-article-body figure,
body.spa-platform .spa-article-body img,
body.spa-platform .spa-article-body table,
body.spa-platform .spa-article-body blockquote,
body.spa-platform .spa-article-body .spa-callout{
  max-width:none!important;
  width:100%!important;
  box-sizing:border-box!important;
}
body.spa-platform .spa-article-body img{
  height:auto;
}
body.spa-platform .spa-article-rail{
  width:300px!important;
  max-width:300px!important;
  box-sizing:border-box!important;
}
/* Stack rail below when main would drop under ~820 (container < ~1176 → vw ≲ 1224) */
@media (max-width:1220px){
  body.spa-platform .spa-article-layout{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  body.spa-platform .spa-article-rail{
    position:static!important;
    width:auto!important;
    max-width:none!important;
    order:1;
  }
}
@media (max-width:900px){
  body.spa-platform .spa-article-rail{order:2} /* 0.1.20: rail below article body on mobile */
  body.spa-platform .spa-article-body{order:1}
}

/* Sub pages: kill residual 760 reading shells so body aligns to home ~1360 edges */
body.spa-platform .spa-reading,
body.spa-platform .spa-main .spa-reading,
body.spa-platform .spa-main-article .spa-reading,
body.spa-platform .spa-main-article .spa-article{
  max-width:none!important;
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.spa-platform .spa-form{
  max-width:none!important;
  width:100%!important;
}
/* Mast title shell: full container width (not 760) on desktop */
body.spa-platform .spa-article-mast-shell{
  max-width:none!important;
  width:auto!important;
  margin-left:var(--spa-gutter)!important;
  margin-right:var(--spa-gutter)!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
/* When mast-photo is full-bleed, shell gutters recreate home edges; when layout sits in padded main, no extra. */

/* === 0.1.19h: rail bullets, table full-col, body type, hero ghost, icon-band gap === */

/* 1) Rail '같은 주제' — kill stray disc bullets (Divi/UA padding wins without !important) */
body.spa-platform .spa-article-rail-related ul,
body.spa-platform .spa-article-rail-related ol,
body.spa-platform .spa-article-rail-related li{
  list-style:none!important;
  list-style-type:none!important;
  margin:0!important;
  padding:0!important;
  padding-inline-start:0!important;
}
body.spa-platform .spa-article-rail-related ul{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
}
body.spa-platform .spa-article-rail-related li:before,
body.spa-platform .spa-article-rail-related li:after{
  content:none!important;
  display:none!important;
}

/* 2) Article table = 100% of main column */
body.spa-platform .spa-article-body table{
  width:100%!important;
  max-width:none!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
  margin:24px 0 32px!important;
  font-size:15.5px!important;
  line-height:1.55!important;
}
body.spa-platform .spa-article-body table th,
body.spa-platform .spa-article-body table td{
  padding:14px 16px!important;
  font-size:15.5px!important;
  line-height:1.55!important;
  word-break:keep-all;
  overflow-wrap:anywhere;
  vertical-align:top;
}
body.spa-platform .spa-article-body table th{
  background:#F5F8FB!important;
  color:var(--spa-navy)!important;
  font-weight:700!important;
}

/* 3) Article body type — wider column needs 18px / 1.85; generous h2 + section rhythm */
body.spa-platform .spa-article-body{
  font-size:18px!important;
  line-height:1.85!important;
  color:#1E293B!important;
}
body.spa-platform .spa-article-body p,
body.spa-platform .spa-article-body li{
  font-size:18px!important;
  line-height:1.85!important;
  margin:0 0 1.05em!important;
}
body.spa-platform .spa-article-body h2{
  font-size:28px!important;
  line-height:1.35!important;
  letter-spacing:-.4px;
  margin:48px 0 16px!important;
  color:var(--spa-navy)!important;
  scroll-margin-top:88px;
}
body.spa-platform .spa-article-body h2:first-child{margin-top:8px!important}
body.spa-platform .spa-article-body h3{
  font-size:21px!important;
  line-height:1.4!important;
  margin:32px 0 12px!important;
  color:var(--spa-navy)!important;
}
body.spa-platform .spa-article-body ul,
body.spa-platform .spa-article-body ol{
  margin:12px 0 24px!important;
}


/* === 0.1.19i: light-safe ghosts + fail-safe reveal === */

/* Ghost DEFAULT = navy outline on light surfaces (rail, cards, cost, forms, boards) */
body.spa-platform .spa-button-ghost,
body.spa-platform a.spa-button.spa-button-ghost,
body.spa-platform button.spa-button-ghost,
body.spa-platform .spa-main .spa-button-ghost,
body.spa-platform .spa-article-rail .spa-button-ghost,
body.spa-platform .spa-article-rail-cta .spa-button-ghost,
body.spa-platform .spa-article-rail-cta a.spa-button.spa-button-ghost,
body.spa-platform .spa-card .spa-button-ghost,
body.spa-platform .spa-report .spa-button-ghost,
body.spa-platform .spa-empty .spa-button-ghost,
body.spa-platform .kboard-document-wrap .spa-button-ghost,
body.spa-platform .spa-my-home .spa-button-ghost,
body.spa-platform .spa-tool-layout .spa-button-ghost{
  color:var(--spa-navy)!important;
  background:#fff!important;
  border:1.5px solid var(--spa-navy)!important;
  box-shadow:none!important;
  text-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.spa-platform .spa-button-ghost:hover,
body.spa-platform a.spa-button.spa-button-ghost:hover,
body.spa-platform .spa-article-rail-cta a.spa-button.spa-button-ghost:hover{
  color:var(--spa-navy)!important;
  background:rgba(11,31,58,.06)!important;
  border-color:var(--spa-navy)!important;
}

/* Ghost on dark / photo surfaces only */
body.spa-platform .spa-hero-bleed .spa-button-ghost,
body.spa-platform .spa-hero-actions .spa-button-ghost,
body.spa-platform .spa-hero-bleed a.spa-button.spa-button-ghost,
body.spa-platform .spa-page-hero .spa-button-ghost,
body.spa-platform .spa-page-hero-copy .spa-button-ghost,
body.spa-platform .spa-footer-cta .spa-button-ghost,
body.spa-platform .spa-closing .spa-button-ghost{
  color:#fff!important;
  background:rgba(255,255,255,.14)!important;
  border:1.5px solid rgba(255,255,255,.72)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(8px) saturate(1.1);
  -webkit-backdrop-filter:blur(8px) saturate(1.1);
  text-shadow:0 1px 2px rgba(0,0,0,.25);
}
body.spa-platform .spa-hero-bleed .spa-button-ghost:hover,
body.spa-platform .spa-hero-actions .spa-button-ghost:hover,
body.spa-platform .spa-page-hero .spa-button-ghost:hover{
  color:#fff!important;
  background:rgba(255,255,255,.24)!important;
  border-color:#fff!important;
}

/* 5) Icon-band → next section spacing */
body.spa-platform .spa-icon-band,
body.spa-platform .spa-main-flush > .spa-icon-band{
  margin-bottom:12px!important;
}
body.spa-platform .spa-icon-band + .spa-section,
body.spa-platform .spa-main-flush > .spa-icon-band + .spa-section{
  padding-top:28px!important;
  margin-top:0!important;
}

/* 6) Hero title Paperlogy */
body.spa-platform .spa-hero-title,
body.spa-platform .spa-hero-bleed h1,
body.spa-platform .spa-hero-bleed h1.spa-hero-title,
body.spa-platform .spa-hero-title .spa-line{
  font-family:Paperlogy,sans-serif!important;
  font-weight:700!important;
}

/* Reveal: kill any leftover hide-by-default from 019h */
body.spa-platform .spa-reveal,
body.spa-js .spa-reveal,
body.spa-platform .spa-js .spa-reveal:not(.is-in),
body.spa-js .spa-reveal:not(.is-in){
  opacity:1;
  transform:none;
}
html.spa-anim body.spa-platform .spa-reveal:not(.is-in),
html.spa-anim .spa-reveal:not(.is-in){
  opacity:.45!important;
  transform:translateY(12px)!important;
}
html.spa-anim body.spa-platform .spa-reveal.is-in,
html.spa-anim .spa-reveal.is-in{
  opacity:1!important;
  transform:none!important;
}
@media (prefers-reduced-motion:reduce){
  html.spa-anim .spa-reveal:not(.is-in),
  html.spa-anim body.spa-platform .spa-reveal:not(.is-in){
    opacity:1!important;transform:none!important;
  }
}
@media print{
  .spa-reveal,html.spa-anim .spa-reveal:not(.is-in){opacity:1!important;transform:none!important}
}


/* ===== 0.1.20 secondary pages: info cards, sticky TOC, form shells, footer quiet ===== */
body.spa-platform .spa-footer .spa-operator strong,
body.spa-platform .spa-closing .spa-operator strong,
body.spa-platform .spa-footer .spa-operator p strong,
body.spa-platform .spa-closing .spa-operator p strong{
  font-size:14px!important;font-weight:600!important;letter-spacing:0!important;
  color:rgba(255,255,255,.72)!important;
  display:inline!important;line-height:inherit!important;
  font-family:inherit!important;
}

body.spa-platform .spa-info-layout{
  display:grid;gap:28px;
  max-width:var(--spa-max,1360px);
  margin:0 auto 48px;width:100%;
  box-sizing:border-box;
}
body.spa-platform .spa-info-layout-toc{
  grid-template-columns:minmax(200px,260px) minmax(0,1fr);
  align-items:start;gap:32px;
}
body.spa-platform .spa-page-toc{
  position:sticky;top:88px;
  padding:22px 20px;border-radius:18px;
  background:#fff;border:1px solid rgba(11,31,58,.08);
  box-shadow:0 10px 28px rgba(11,31,58,.06);
}
body.spa-platform .spa-page-toc .spa-kicker{margin:0 0 12px;color:#0E7490!important;font-weight:700;letter-spacing:-0.01em}
body.spa-platform .spa-page-toc ol,
body.spa-platform .spa-page-toc ol > li,
body.spa-platform .spa-page-toc li{
  list-style:none!important;list-style-type:none!important;list-style-image:none!important;
  margin:0!important;padding:0!important;
}
body.spa-platform .spa-page-toc ol{
  display:flex!important;flex-direction:column!important;gap:10px!important;
  counter-reset:none;
}
body.spa-platform .spa-page-toc li::marker{content:""!important;font-size:0!important}
body.spa-platform .spa-page-toc li::before,
body.spa-platform .spa-page-toc li::after{content:none!important;display:none!important}
body.spa-platform .spa-page-toc a{
  display:flex!important;align-items:center!important;gap:12px!important;
  padding:7px 10px!important;border-radius:12px;
  color:var(--spa-ink)!important;text-decoration:none;
  font-size:14px;line-height:1.4;font-weight:500;
  min-height:0;
}
body.spa-platform .spa-page-toc a:hover{background:rgba(14,116,144,.06)}
body.spa-platform .spa-page-toc-num{
  flex:0 0 auto;min-width:1.6em;
  color:#0E7490;font-variant-numeric:tabular-nums;font-weight:700;font-size:13px;
  line-height:1.4;
}
body.spa-platform .spa-info-cards{display:flex;flex-direction:column;gap:16px;min-width:0}
body.spa-platform .spa-info-card{
  display:grid;grid-template-columns:auto 1fr;gap:18px 20px;
  padding:24px 26px;border-radius:20px;
  background:#fff;border:1px solid rgba(11,31,58,.08);
  box-shadow:0 12px 32px rgba(11,31,58,.05);
}
body.spa-platform .spa-info-card-num{
  width:48px;height:48px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg,#0B1F3A,#163A66);
  color:#A5F3FC;font-weight:700;font-size:15px;letter-spacing:.02em;
}
body.spa-platform .spa-info-card-body{min-width:0}
body.spa-platform .spa-info-card h2{
  margin:2px 0 10px;font-size:clamp(20px,2.2vw,24px);
  letter-spacing:-.4px;color:var(--spa-ink);font-weight:700;
}
body.spa-platform .spa-info-card p,
body.spa-platform .spa-info-aside p{
  margin:0;font-size:17px;line-height:1.75;color:rgba(15,23,42,.82);
  word-break:keep-all;overflow-wrap:anywhere;
}
body.spa-platform .spa-info-aside{
  margin-top:8px;padding:28px 26px;border-radius:20px;
  background:linear-gradient(145deg,#0B1F3A 0%,#163A66 100%);
  color:#fff;box-shadow:0 16px 40px rgba(11,31,58,.18);
}
body.spa-platform .spa-info-aside .spa-kicker{color:#A5F3FC!important;margin:0 0 8px}
body.spa-platform .spa-info-aside h2{color:#fff!important;margin:0 0 10px;font-size:24px}
body.spa-platform .spa-info-aside p{color:rgba(255,255,255,.86)!important;margin:0 0 18px}
body.spa-platform .spa-info-aside .spa-button{background:#22D3EE;color:#0B1F3A}
body.spa-platform .spa-policy-dl{margin:8px 0 0;display:grid;gap:12px}
body.spa-platform .spa-policy-dl dt{font-size:14px;color:#0E7490;margin:0}
body.spa-platform .spa-policy-dl dd{margin:4px 0 0;font-size:16px;line-height:1.65;color:rgba(15,23,42,.82)}
body.spa-platform .spa-info-offer{margin:0 0 28px}

body.spa-platform .spa-form-shell{
  max-width:720px;margin:0 auto 48px;
  padding:28px 28px 32px;border-radius:22px;
  background:#fff;border:1px solid rgba(11,31,58,.08);
  box-shadow:0 14px 36px rgba(11,31,58,.06);
  box-sizing:border-box;
}
body.spa-platform .spa-form-shell-auth{max-width:520px}
body.spa-platform .spa-form-shell-404{max-width:640px;text-align:center}
body.spa-platform .spa-form-shell .spa-button{margin-top:8px}
body.spa-platform .spa-auth-links{margin-top:16px;font-size:15px}
body.spa-platform .spa-404-links{margin-top:18px;font-size:15px}
body.spa-platform .spa-main-404 .spa-empty{justify-content:center}

/* Board summary + tabs polish (secondary/logged-in shared) */
body.spa-platform .spa-board-summary{
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.7fr);
  gap:20px;margin:0 0 24px;padding:24px 26px;border-radius:20px;
  background:#fff;border:1px solid rgba(11,31,58,.08);
  box-shadow:0 12px 32px rgba(11,31,58,.05);
}
body.spa-platform .spa-board-summary h2{margin:4px 0 8px;font-size:clamp(22px,2.4vw,28px)}
body.spa-platform .spa-board-summary strong{display:block;font-size:20px;color:#0E7490;margin-bottom:4px}
body.spa-platform .spa-tabs{
  display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px;
  padding:6px;border-radius:999px;background:rgba(11,31,58,.04);
  width:fit-content;max-width:100%;
}
body.spa-platform .spa-tabs a{
  display:inline-flex;align-items:center;min-height:40px;
  padding:8px 16px;border-radius:999px;
  font-size:14px;font-weight:600;text-decoration:none;
  color:var(--spa-ink)!important;
}
body.spa-platform .spa-tabs a:hover{background:rgba(14,116,144,.1)}
body.spa-platform .spa-record{
  padding:18px 20px;border-radius:16px;margin:0 0 12px;
  background:#fff;border:1px solid rgba(11,31,58,.08);
}

@media (max-width:900px){
  body.spa-platform .spa-info-layout-toc{grid-template-columns:1fr}
  body.spa-platform .spa-page-toc{position:static;top:auto}
  body.spa-platform .spa-page-toc ol{display:grid;grid-template-columns:1fr 1fr;gap:4px}
  body.spa-platform .spa-info-card{grid-template-columns:1fr;padding:20px 18px}
  body.spa-platform .spa-info-card-num{width:42px;height:42px;font-size:14px}
  body.spa-platform .spa-info-card p,
  body.spa-platform .spa-info-aside p{font-size:16px}
  body.spa-platform .spa-form-shell{padding:22px 18px;border-radius:18px;margin-bottom:32px}
  body.spa-platform .spa-board-summary{grid-template-columns:1fr;padding:20px 18px}
  body.spa-platform .spa-tabs{border-radius:16px;width:100%}
}
@media (max-width:480px){
  body.spa-platform .spa-page-toc ol{grid-template-columns:1fr}
}


/* ===== 0.1.21 logged-in header, board panels, KBoard editor ===== */
body.spa-platform .spa-user-cluster{
  display:flex;align-items:center;gap:10px;margin-left:12px;flex-shrink:0;
}
body.spa-platform .spa-board-pill{
  display:inline-flex!important;align-items:center;gap:8px;
  min-height:42px;padding:8px 16px;border-radius:999px;
  background:#0B1F3A;color:#fff!important;font-weight:700;font-size:14px;
  text-decoration:none;box-shadow:0 8px 20px rgba(11,31,58,.18);
}
body.spa-platform .spa-board-pill .spa-nav-icon{filter:brightness(0) invert(1)}
body.spa-platform .spa-board-pill:hover{background:#163A66;color:#fff!important}
body.spa-platform .spa-user-menu{position:relative}
body.spa-platform .spa-user-chip{
  list-style:none;cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;
  min-height:42px;padding:6px 12px 6px 8px;border-radius:999px;
  background:#fff;border:1px solid rgba(11,31,58,.12);
  font-size:13px;font-weight:600;color:var(--spa-ink);
}
body.spa-platform .spa-user-chip::-webkit-details-marker{display:none}
body.spa-platform .spa-user-chip-dot{
  width:28px;height:28px;border-radius:50%;
  background:linear-gradient(135deg,#0E7490,#0B1F3A);
  flex-shrink:0;
}
body.spa-platform .spa-user-menu-panel{
  position:absolute;right:0;top:calc(100% + 8px);z-index:80;
  min-width:180px;padding:8px;border-radius:16px;
  background:#fff;border:1px solid rgba(11,31,58,.1);
  box-shadow:0 16px 40px rgba(11,31,58,.14);
  display:grid;gap:2px;
}
body.spa-platform .spa-user-menu-panel a{
  display:block;padding:10px 12px;border-radius:10px;
  color:var(--spa-ink)!important;text-decoration:none;font-size:14px;font-weight:600;
}
body.spa-platform .spa-user-menu-panel a:hover{background:rgba(14,116,144,.08)}
body.spa-platform .spa-user-menu:not([open]) .spa-user-menu-panel{display:none}

body.spa-platform .spa-board-wrap{
  max-width:var(--spa-max,1360px);margin:0 auto;padding:0 24px 48px;
  box-sizing:border-box;
}
body.spa-platform .spa-board-tabs{
  position:sticky;top:72px;z-index:30;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  background:rgba(248,250,252,.92)!important;
  margin-bottom:20px!important;
}
body.admin-bar body.spa-platform .spa-board-tabs{top:104px}
body.spa-platform .spa-board-panel{
  background:#fff;border:1px solid rgba(11,31,58,.08);
  border-radius:22px;padding:26px 26px 28px;margin:0 0 22px;
  box-shadow:0 10px 28px rgba(11,31,58,.04);
  min-height:160px;
}
body.spa-platform .spa-board-panel > h2{
  margin:0 0 12px;font-size:clamp(20px,2.2vw,26px);letter-spacing:-.3px;
}
body.spa-platform .spa-board-actions{
  display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px!important;
}
body.spa-platform .spa-chip-link{
  display:inline-flex;align-items:center;min-height:36px;
  padding:6px 14px;border-radius:999px;
  background:rgba(14,116,144,.08);color:#0E7490!important;
  font-size:14px;font-weight:700;text-decoration:none;
}
body.spa-platform .spa-chip-link:hover{background:rgba(14,116,144,.14)}
body.spa-platform .spa-board-score{
  padding:16px 18px;border-radius:16px;
  background:linear-gradient(145deg,#F0FDFA,#ECFEFF);
  border:1px solid rgba(14,116,144,.12);
}
body.spa-platform .spa-record{
  padding:18px 20px;border-radius:16px;margin:0 0 12px;
  background:#F8FAFC;border:1px solid rgba(11,31,58,.07);
}
body.spa-platform .spa-record h3{margin:6px 0 8px;font-size:18px}
body.spa-platform .spa-record .spa-topic{
  display:inline-flex;align-items:center;min-height:26px;
  padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;
  background:rgba(11,31,58,.06);color:#0B1F3A;
}
body.spa-platform .spa-record-compact{
  display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;
}
body.spa-platform .spa-record-compact h3{margin:0;font-size:16px}
body.spa-platform .spa-points-delta{margin:0;font-weight:700;color:#0E7490}
body.spa-platform .spa-record-fold{margin-top:8px}
body.spa-platform .spa-record-fold > summary{
  cursor:pointer;font-size:14px;font-weight:700;color:#0E7490;
  padding:8px 0;
}
body.spa-platform .spa-record-body{
  font-size:16px;line-height:1.7;color:rgba(15,23,42,.82);
  max-height:420px;overflow:auto;padding:8px 0;
}
body.spa-platform .spa-board-ledger{display:grid;gap:8px;margin:12px 0 18px}
body.spa-platform .spa-submit-details{
  margin-top:16px;padding:14px 16px;border-radius:14px;
  border:1px dashed rgba(11,31,58,.16);background:#fff;
}
body.spa-platform .spa-submit-details > summary{
  cursor:pointer;font-weight:700;color:#0B1F3A;font-size:15px;
}

/* KBoard write/edit display */
body.spa-platform .spa-kboard .kboard-form,
body.spa-platform .spa-kboard .kboard-attr-row{
  max-width:920px;
}
body.spa-platform .spa-kboard .kboard-attr-row{
  display:grid;gap:8px;margin:0 0 16px;padding:16px 18px;
  border-radius:14px;background:#fff;border:1px solid rgba(11,31,58,.08);
}
body.spa-platform .spa-kboard .kboard-attr-row label,
body.spa-platform .spa-kboard .kboard-attr-title{
  font-size:14px;font-weight:700;color:#334155;
}
body.spa-platform .spa-kboard .kboard-attr-row input[type=text],
body.spa-platform .spa-kboard .kboard-attr-row input[type=password],
body.spa-platform .spa-kboard .kboard-attr-row input[type=email],
body.spa-platform .spa-kboard .kboard-attr-row textarea,
body.spa-platform .spa-kboard .kboard-attr-row select{
  width:100%;max-width:100%;box-sizing:border-box;
  border-radius:12px;border:1px solid rgba(11,31,58,.14);
  padding:10px 12px;font-size:16px;background:#F8FAFC;
  font-family:inherit;
}
body.spa-platform .spa-kboard .kboard-control{
  display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;
}
body.spa-platform .spa-kboard .kboard-control .kboard-default-button-small,
body.spa-platform .spa-kboard .kboard-control button,
body.spa-platform .spa-kboard .kboard-control input[type=submit]{
  min-height:42px;padding:8px 18px;border-radius:999px;
  font-weight:700;font-size:14px;border:0;cursor:pointer;
}
body.spa-platform .spa-kboard .kboard-content{font-size:17px;line-height:1.75}

@media (max-width:900px){
  body.spa-platform .spa-user-cluster{margin-left:0}
  body.spa-platform .spa-header .spa-user-cluster{display:none}
  body.spa-platform .spa-header.is-open .spa-user-cluster{
    display:flex;flex-direction:column;align-items:stretch;width:100%;gap:8px;
    padding:8px 0 12px;
  }
  body.spa-platform .spa-header.is-open .spa-board-pill{justify-content:center;width:100%}
  body.spa-platform .spa-header.is-open .spa-user-menu{width:100%}
  body.spa-platform .spa-header.is-open .spa-user-chip{width:100%;justify-content:center}
  body.spa-platform .spa-header.is-open .spa-user-menu-panel{
    position:static;box-shadow:none;border:0;padding:0;margin-top:6px;
  }
  body.spa-platform .spa-board-wrap{padding:0 16px 36px}
  body.spa-platform .spa-board-panel{padding:20px 16px;border-radius:18px}
  body.spa-platform .spa-board-tabs{top:64px;width:100%!important;border-radius:16px!important}
  body.spa-platform .spa-record-compact{grid-template-columns:1fr;gap:6px}
}

/* ===== 0.1.21 wp-login.php ===== */
@font-face{font-family:Paperlogy;src:url("fonts/Paperlogy-4Regular.woff") format("woff");font-weight:400;font-display:swap}

@font-face{font-family:Paperlogy;src:url("fonts/Paperlogy-7Bold.woff") format("woff");font-weight:700;font-display:swap}
body.login{
  background:linear-gradient(160deg,#0B1F3A 0%,#163A66 55%,#0E7490 140%);
  font-family:Paperlogy,system-ui,sans-serif;
}
body.login #login{width:min(400px,92vw);padding:8vh 0 40px}
body.login #login h1 a{
  background-image:none!important;width:auto;height:auto;
  text-indent:0;font-size:28px;font-weight:700;color:#fff;
  line-height:1.2;padding:12px 0 4px;
}
body.login #login h1 a:after{
  content:"미래의 집을, 오늘의 선택으로.";
  display:block;font-size:13px;font-weight:500;color:rgba(255,255,255,.72);margin-top:6px;
}
body.login form{
  border:0;border-radius:20px;box-shadow:0 18px 48px rgba(0,0,0,.22);
  padding:26px 26px 30px;background:#fff;
}
body.login label{font-size:14px;font-weight:700;color:#334155}
body.login input[type=text],
body.login input[type=password],
body.login input[type=email]{
  border-radius:12px;border:1px solid rgba(11,31,58,.14);
  font-size:16px;padding:10px 12px;background:#F8FAFC;
}
body.login .button-primary{
  background:#0B1F3A!important;border:0!important;border-radius:999px!important;
  font-weight:700!important;font-size:15px!important;height:auto!important;
  padding:10px 22px!important;text-shadow:none!important;box-shadow:none!important;
}
body.login #nav, body.login #backtoblog{text-align:center}
body.login #nav a, body.login #backtoblog a{color:#E0F2FE!important}
body.login .message, body.login #login_error{
  border-radius:14px;border-left-width:4px;
}



/* ===== 0.1.22: TOC markers, compact crumb, admin-bar gap, footer company ===== */
/* Admin bar: WP uses html.wp-toolbar padding-top 32/46; ≤600px bar is absolute + pad 0.
   Sticky header must match — never double-offset. */
body.admin-bar.spa-platform .spa-header,
body.spa-platform.admin-bar .spa-header{
  top:32px!important;
  margin-top:0!important;
}
@media screen and (max-width:782px){
  body.admin-bar.spa-platform .spa-header,
  body.spa-platform.admin-bar .spa-header{top:46px!important}
}
@media screen and (max-width:600px){
  /* WP core: #wpadminbar position:absolute; html.wp-toolbar{padding-top:0} */
  body.admin-bar.spa-platform .spa-header,
  body.spa-platform.admin-bar .spa-header{top:0!important}
  html.admin-bar.spa-platform,
  html.wp-toolbar.spa-js,
  html.wp-toolbar{
    /* leave WP defaults; kill any theme double pad */
  }
  body.admin-bar.spa-platform #page-container,
  body.admin-bar.spa-platform #et-main-area,
  body.admin-bar.spa-platform #main-content,
  body.admin-bar.spa-platform .spa-header{
    padding-top:0!important;margin-top:0!important;
  }
}
/* Extra safety: no phantom spacer under admin bar */
body.admin-bar.spa-platform #page-container,
body.admin-bar.spa-platform.et_fixed_nav #page-container,
body.admin-bar.spa-platform #et-main-area{
  padding-top:0!important;margin-top:0!important;
}

/* Mobile TOC: single-column, 10–12px row gap, no ol markers */
@media (max-width:900px){
  body.spa-platform .spa-page-toc ol{
    display:flex!important;flex-direction:column!important;
    grid-template-columns:none!important;gap:11px!important;
  }
  body.spa-platform .spa-page-toc ol > li,
  body.spa-platform .spa-page-toc li{
    list-style:none!important;list-style-type:none!important;
  }
  body.spa-platform .spa-page-toc li::marker{content:""!important}
  body.spa-platform .spa-page-toc li::before{content:none!important;display:none!important}
}

/* Compact crumb pill on narrow viewports too */
@media (max-width:768px){
  body.spa-platform .spa-page-hero-tile{
    width:auto!important;max-width:min(100%,max-content)!important;
    align-self:flex-start!important;
  }
  body.spa-platform .spa-page-hero-tile .spa-page-hero-crumb{
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70vw;
  }
}

/* ===== 0.1.22b: admin-gap on singles, overflow clip ===== */
/* Magazine/single: spa-header lives inside Divi .entry-content (pad-top 30) → white gap under admin bar */
body.spa-platform .entry-content:has(> .spa-header),
body.spa-platform .entry-content:has(> header.spa-header),
body.spa-platform article .entry-content:has(.spa-header){
  padding-top:0!important;
}
/* ≤600: bar is absolute; sticky header top 0; kill theme html margin double-offset */
@media screen and (max-width:600px){
  html.wp-toolbar,
  html.admin-bar,
  html.spa-js.wp-toolbar{
    margin-top:0!important;
    padding-top:0!important;
  }
  /* Keep document clear of absolute admin bar without sticky double-count */
  body.admin-bar.spa-platform{
    padding-top:46px!important;
  }
  body.admin-bar.spa-platform .spa-header{
    top:0!important;
  }
}
/* No horizontal page scroll from WP admin bar min-width:600 or stray media */
html.spa-js, body.spa-platform{
  overflow-x:clip;
}
@media screen and (max-width:782px){
  body.admin-bar.spa-platform #wpadminbar{
    min-width:0!important;
    width:100%!important;
    overflow-x:auto;
  }
}
/* Home / content images must not exceed viewport */
body.spa-platform img{
  max-width:100%!important;
  height:auto;
}
body.spa-platform .spa-hero img,
body.spa-platform .spa-hero-visual img,
body.spa-platform .spa-card-media img,
body.spa-platform .spa-page-hero img{
  max-width:100%!important;
  width:100%;
  height:auto;
}


/* ===== 0.1.22c: admin-bar gap — kill double offset (html margin + body pad) ===== */
/* html has no .wp-toolbar on front; WP keeps html{margin-top:46}. Do NOT also pad body. */
@media screen and (max-width:600px){
  html{
    margin-top:46px!important;
    padding-top:0!important;
  }
  body.admin-bar.spa-platform,
  body.spa-platform.admin-bar{
    padding-top:0!important;
    margin-top:0!important;
  }
  /* Absolute admin bar scrolls away → sticky header top:0 (flush under html margin) */
  body.admin-bar.spa-platform .spa-header,
  body.spa-platform.admin-bar .spa-header{
    top:0!important;
    margin-top:0!important;
  }
}
/* 601–782: fixed 46px bar */
@media screen and (min-width:601px) and (max-width:782px){
  body.admin-bar.spa-platform .spa-header,
  body.spa-platform.admin-bar .spa-header{top:46px!important}
}
/* ≥783: fixed 32px bar */
@media screen and (min-width:783px){
  body.admin-bar.spa-platform .spa-header,
  body.spa-platform.admin-bar .spa-header{top:32px!important}
}


/* ===== 0.1.22d: TOC label 페이지 목차 + modest spacing balance ===== */
body.spa-platform .spa-page-toc{
  padding:22px 20px!important;
}
body.spa-platform .spa-page-toc .spa-kicker{
  margin:0 0 12px!important;
  font-weight:700!important;
  letter-spacing:-0.01em;
}
body.spa-platform .spa-page-toc ol{
  gap:11px!important;
}
body.spa-platform .spa-page-toc a{
  gap:12px!important;
  padding:7px 10px!important;
}
body.spa-platform .spa-page-toc-num{
  min-width:1.75em!important;
  margin-right:0!important;
}


/* ===== 0.1.22e: home lower invites — magazine board + partner ===== */
body.spa-platform .spa-home-invite{
  border-bottom:none;
  padding:0;
  margin:0;
}
body.spa-platform .spa-home-invite-inner{
  width:min(var(--spa-max,1360px), calc(100% - 48px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(220px,.85fr);
  gap:clamp(28px,4vw,56px);
  align-items:center;
  padding:clamp(40px,5vw,64px) 0;
  box-sizing:border-box;
}
body.spa-platform .spa-home-invite-copy{min-width:0}
body.spa-platform .spa-home-invite-copy .spa-kicker{margin:0 0 10px}
body.spa-platform .spa-home-invite-copy h2{
  margin:0 0 14px;
  font-size:clamp(26px,2.6vw,34px);
  letter-spacing:-.7px;
  line-height:1.25;
  color:#0B1F3A;
  word-break:keep-all;
}
body.spa-platform .spa-home-invite-copy > p{
  margin:0 0 22px;
  max-width:36em;
  color:rgba(11,31,58,.72);
  font-size:15.5px;
  line-height:1.75;
  word-break:keep-all;
}
body.spa-platform .spa-home-invite-actions{
  display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;
}
body.spa-platform .spa-home-invite-actions .spa-button{margin:0}
body.spa-platform .spa-home-invite-actions .spa-text-link{
  font-weight:700;font-size:14.5px;text-decoration:none;
  color:var(--spa-cyan-text,#0E7490);
}
body.spa-platform .spa-home-invite-actions .spa-text-link:hover{text-decoration:underline}

/* Board: full-bleed soft band, line-icon rails (no character art) */
body.spa-platform .spa-home-invite-board{
  background:linear-gradient(125deg,#F3F6F9 0%,#F8FAFC 48%,#EEF4FA 100%);
  border-top:1px solid rgba(11,31,58,.06);
  border-bottom:1px solid rgba(11,31,58,.06);
}
body.spa-platform .spa-home-invite-rails{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:12px;
  justify-self:end;width:100%;max-width:280px;
}
body.spa-platform .spa-home-invite-rails li{
  display:flex;align-items:center;gap:14px;
  padding:14px 18px;
  background:#fff;
  border:1px solid rgba(11,31,58,.08);
  border-radius:16px;
  box-shadow:0 8px 24px rgba(11,31,58,.05);
  color:#0B1F3A;font-size:14.5px;font-weight:600;
}
body.spa-platform .spa-home-invite-ico{
  flex:0 0 auto;width:22px;height:22px;display:block;opacity:.92;
}

/* Partner: white band + two aligned icon cards */
body.spa-platform .spa-home-invite-partner{
  background:#fff;
  border-bottom:1px solid rgba(11,31,58,.06);
}
body.spa-platform .spa-home-invite-cards{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
  justify-self:end;width:100%;max-width:320px;
}
body.spa-platform .spa-home-invite-card{
  display:flex;flex-direction:column;align-items:flex-start;gap:12px;
  padding:20px 18px;
  background:#F8FAFC;
  border:1px solid rgba(11,31,58,.08);
  border-radius:18px;
  color:#0B1F3A;font-size:14px;font-weight:600;
  min-height:108px;box-sizing:border-box;
}

@media (max-width:900px){
  body.spa-platform .spa-home-invite-inner{
    grid-template-columns:1fr;
    width:calc(100% - 24px);
    gap:24px;
    padding:36px 0;
  }
  body.spa-platform .spa-home-invite-rails,
  body.spa-platform .spa-home-invite-cards{
    justify-self:stretch;max-width:none;
  }
  body.spa-platform .spa-home-invite-rails{
    flex-direction:row;flex-wrap:wrap;
  }
  body.spa-platform .spa-home-invite-rails li{flex:1 1 140px}
}


/* ===== 0.1.22f: form action rows — PC right, mobile center ===== */
/* Scoped to tool/account/board forms — not hero/nav/card CTAs */
body.spa-platform .spa-form-actions,
body.spa-platform .spa-tool-layout form > .spa-form-actions,
body.spa-platform form.spa-form > .spa-form-actions,
body.spa-platform .spa-form-shell form > .spa-form-actions,
body.spa-platform .spa-check-notes > .spa-form-actions,
body.spa-platform .spa-board-wrap form > .spa-form-actions,
body.spa-platform .spa-kboard form .kboard-control,
body.spa-platform .spa-kboard .kboard-attr-row-button,
body.spa-platform .spa-kboard [class*="control"]{
  display:flex!important;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:12px 14px;
  margin-top:20px;
  margin-bottom:28px;
  width:100%;
  box-sizing:border-box;
}
body.spa-platform .spa-form-actions .spa-button,
body.spa-platform .spa-form-actions button{
  margin:0!important;
}
body.spa-platform hr.spa-form-divider,
body.spa-platform .spa-tool-layout form > hr,
body.spa-platform form.spa-form > hr.spa-form-divider{
  border:0;
  border-top:1px solid rgba(11,31,58,.10);
  margin:22px 0 8px;
  height:0;
  background:transparent;
}
body.spa-platform .spa-form-note{
  margin:16px 0 0;
  text-align:right;
  color:rgba(11,31,58,.72);
  font-size:14.5px;
  line-height:1.6;
}
/* KBoard editor submit row — align without changing plugin markup ids */
body.spa-platform .spa-kboard .kboard-control,
body.spa-platform .spa-kboard form > .kboard-attr-row:last-child,
body.spa-platform .spa-kboard button[type=submit],
body.spa-platform .spa-kboard input[type=submit]{
  /* submit buttons themselves stay; parent flex handles row when present */
}
body.spa-platform .spa-kboard form{
  /* ensure last control cluster can right-align */
}
body.spa-platform .spa-kboard .kboard-control{
  text-align:right;
  padding-top:16px;
  border-top:1px solid rgba(11,31,58,.10);
  margin-top:18px;
}
body.spa-platform .spa-kboard .kboard-control a,
body.spa-platform .spa-kboard .kboard-control button,
body.spa-platform .spa-kboard .kboard-control input[type=submit]{
  margin-left:8px;
}

@media (max-width:782px){
  body.spa-platform .spa-form-actions,
  body.spa-platform .spa-tool-layout form > .spa-form-actions,
  body.spa-platform form.spa-form > .spa-form-actions,
  body.spa-platform .spa-form-shell form > .spa-form-actions,
  body.spa-platform .spa-check-notes > .spa-form-actions,
  body.spa-platform .spa-board-wrap form > .spa-form-actions,
  body.spa-platform .spa-kboard .kboard-control{
    justify-content:center!important;
    text-align:center!important;
  }
  body.spa-platform .spa-form-note{text-align:center}
  body.spa-platform .spa-kboard .kboard-control a,
  body.spa-platform .spa-kboard .kboard-control button,
  body.spa-platform .spa-kboard .kboard-control input[type=submit]{
    margin-left:6px;margin-right:6px;
  }
}


/* ===== 0.1.22g: footer CTA line icon; hide Divi crude house webp; check select align ===== */
body.spa-platform .spa-footer-cta-kicker{
  display:inline-flex;align-items:center;gap:10px;
}
body.spa-platform .spa-footer-cta-ico{
  width:22px;height:22px;display:block;flex:0 0 auto;opacity:.95;
  filter:brightness(0) invert(1); /* on dark CTA photo band */
}
/* Home Divi leftover cartoon house — hide only that asset, keep other images */
body.home.spa-platform .et_pb_image img[src*="guide-character-400"],
body.home.spa-platform .et_pb_image_1 img[src*="guide-character"]{
  display:none!important;
}
body.home.spa-platform .et_pb_image_1:has(img[src*="guide-character"]){
  display:none!important;
}
/* Site-check: keep checklist dropdowns vertically aligned in cards */
body.spa-platform .spa-check-item{
  display:flex;flex-direction:column;
}
body.spa-platform .spa-check-item > select,
body.spa-platform .spa-check-item label[for^="spa-check-"] + select{
  margin-top:auto;
  width:100%;
  max-width:100%;
}
body.spa-platform .spa-check-item > label[for^="spa-check-"]{
  margin-top:14px;
}


/* ===== 0.1.22h: compare-save clearance above catalog grid ===== */
body.spa-platform form.spa-form:has(#spa-compare-ids),
body.spa-platform form.spa-form:has(.spa-compare-save-actions){
  display:flow-root;
  width:100%;
  margin:12px 0 0;
  padding:0;
  clear:both;
}
body.spa-platform .spa-compare-save-actions,
body.spa-platform form.spa-form:has(#spa-compare-ids) > .spa-form-actions{
  margin-top:16px!important;
  margin-bottom:32px!important;
  padding-bottom:2px;
  clear:both;
}
/* Space between compare tools and following homes grid (all variants) */
body.spa-platform form.spa-form:has(#spa-compare-ids) + .spa-grid,
body.spa-platform form.spa-form:has(.spa-compare-save-actions) + .spa-grid,
body.spa-platform #spa-compare-result + form.spa-form,
body.spa-platform .spa-main form.spa-form:has(#spa-compare-ids){
  /* form itself keeps bottom clearance */
}
body.spa-platform form.spa-form:has(#spa-compare-ids) + .spa-grid,
body.spa-platform form.spa-form:has(.spa-compare-save-actions) + .spa-grid{
  margin-top:0; /* clearance owned by actions margin-bottom */
  padding-top:0;
}
@media (max-width:782px){
  body.spa-platform .spa-form-actions{
    margin-bottom:22px;
  }
  body.spa-platform .spa-compare-save-actions,
  body.spa-platform form.spa-form:has(#spa-compare-ids) > .spa-form-actions{
    margin-bottom:24px!important;
  }
}


/* ===== 0.1.22i: KBoard date nowrap + gallery responsive grid ===== */
/* Root cause: sitewide td/th overflow-wrap:anywhere splits 2026.11.05 */
body.spa-platform .spa-kboard table.kboard-list,
body.spa-platform .spa-kboard .kboard-list table{
  table-layout:auto;
  width:100%;
}
body.spa-platform .spa-kboard .kboard-list-date,
body.spa-platform .spa-kboard td.kboard-list-date,
body.spa-platform .spa-kboard th.kboard-list-date,
body.spa-platform .spa-kboard col.kboard-list-date,
body.spa-platform .spa-kboard .kboard-list-vote,
body.spa-platform .spa-kboard td.kboard-list-vote,
body.spa-platform .spa-kboard th.kboard-list-vote,
body.spa-platform .spa-kboard .kboard-list-view,
body.spa-platform .spa-kboard td.kboard-list-view,
body.spa-platform .spa-kboard th.kboard-list-view{
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  min-width:7.75em;
  width:1%;
  vertical-align:middle;
}
body.spa-platform .spa-kboard .kboard-list-date,
body.spa-platform .spa-kboard td.kboard-list-date,
body.spa-platform .spa-kboard th.kboard-list-date{
  min-width:8.25em;
}
body.spa-platform .spa-kboard .kboard-list-uid,
body.spa-platform .spa-kboard td.kboard-list-uid,
body.spa-platform .spa-kboard th.kboard-list-uid{
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  min-width:3em;
  width:1%;
}
@media (max-width:782px){
  /* Prefer scroll over wrapping dates; keep table usable */
  body.spa-platform .spa-kboard .kboard-list,
  body.spa-platform .spa-kboard .kboard-list-table,
  body.spa-platform .spa-kboard .kboard-list > .kboard-list-table,
  body.spa-platform .spa-kboard div.kboard-list{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  body.spa-platform .spa-kboard .kboard-list table{
    min-width:560px;
  }
  body.spa-platform .spa-kboard .kboard-list-date,
  body.spa-platform .spa-kboard td.kboard-list-date,
  body.spa-platform .spa-kboard th.kboard-list-date{
    min-width:8.5em;
  }
}

/* ===== 0.1.22o: ocean-gallery card rhythm + hover (display only) ===== */
/* page rhythm: tabs / instruction / grid share left edge & gaps */
/* community only (.spa-board-nav) — not my-home .spa-board-tabs */
body.spa-platform .spa-main > .spa-board-nav.spa-tabs{
  display:inline-flex!important;
  flex-wrap:nowrap!important;
  align-items:center;
  gap:4px!important;
  margin:0 0 18px!important;
  padding:4px!important;
  max-width:100%;
  width:auto;
  box-sizing:border-box;
  background:#EEF2F6;
  border:1px solid rgba(11,31,58,.10);
  border-radius:999px;
  box-shadow:none;
}
body.spa-platform .spa-main > .spa-board-nav.spa-tabs a{
  flex:1 1 0;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px!important;
  min-width:0;
  margin:0!important;
  padding:10px 18px!important;
  border-radius:999px!important;
  border:1px solid transparent!important;
  background:transparent!important;
  color:#334155!important;
  font:600 15px Paperlogy,sans-serif!important;
  letter-spacing:-.02em;
  line-height:1.25!important;
  text-decoration:none!important;
  white-space:nowrap;
  box-shadow:none!important;
  transition:background .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
body.spa-platform .spa-main > .spa-board-nav.spa-tabs a:hover{
  background:rgba(255,255,255,.85)!important;
  color:var(--spa-navy)!important;
  border-color:transparent!important;
}
body.spa-platform .spa-main > .spa-board-nav.spa-tabs a[aria-current="page"]{
  background:var(--spa-navy)!important;
  color:#fff!important;
  border-color:var(--spa-navy)!important;
  font-weight:700!important;
  box-shadow:0 8px 18px rgba(11,31,58,.18)!important;
}
body.spa-platform .spa-main > .spa-board-nav.spa-tabs a:focus-visible{
  outline:2px solid var(--spa-cyan);
  outline-offset:2px;
}
body.spa-platform .spa-main > .spa-board-nav.spa-tabs + p{
  margin:0 0 22px!important;
  max-width:72ch;
  font-size:15px;
  line-height:1.65;
  color:#475569;
}
@media screen and (max-width:420px){
  body.spa-platform .spa-main > .spa-board-nav.spa-tabs{
    display:flex!important;
    width:100%!important;
  }
  body.spa-platform .spa-main > .spa-board-nav.spa-tabs a{
    padding:10px 12px!important;
    font-size:14px!important;
  }
}
body.spa-platform #kboard-ocean-gallery-list{
  float:none!important;
  width:100%!important;
  max-width:100%;
  clear:both;
  overflow-x:clip;
}
body.spa-platform #kboard-ocean-gallery-list .kboard-header,
body.spa-platform #kboard-ocean-gallery-list .kboard-search{
  float:none!important;
  width:100%!important;
  box-sizing:border-box;
}
body.spa-platform .spa-kboard .kboard-list:has(> .kboard-gallery-item),
body.spa-platform .spa-kboard .kboard-gallery .kboard-list,
body.spa-platform .spa-kboard .kboard-list.kboard-gallery-list,
body.spa-platform #kboard-ocean-gallery-list .kboard-list{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px 18px;
  align-items:stretch;
  width:100%!important;
  max-width:100%;
  margin:0;
  padding:0;
  list-style:none;
  float:none!important;
  clear:both;
}
@media (min-width:1200px){
  body.spa-platform .spa-kboard .kboard-list:has(> .kboard-gallery-item),
  body.spa-platform .spa-kboard .kboard-gallery .kboard-list,
  body.spa-platform #kboard-ocean-gallery-list .kboard-list{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:24px 20px;
  }
}
@media (max-width:900px){
  body.spa-platform .spa-kboard .kboard-list:has(> .kboard-gallery-item),
  body.spa-platform .spa-kboard .kboard-gallery .kboard-list,
  body.spa-platform #kboard-ocean-gallery-list .kboard-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px 12px;
  }
}
@media (max-width:420px){
  body.spa-platform .spa-kboard .kboard-list:has(> .kboard-gallery-item),
  body.spa-platform .spa-kboard .kboard-gallery .kboard-list,
  body.spa-platform #kboard-ocean-gallery-list .kboard-list{
    grid-template-columns:1fr;
    gap:14px;
  }
}
body.spa-platform .spa-kboard .kboard-gallery-item,
body.spa-platform #kboard-ocean-gallery-list .kboard-gallery-item{
  display:flex!important;
  flex-direction:column;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:100%!important;
  float:none!important;
  margin:0!important;
  padding:0!important;
  background:#fff;
  border:1px solid rgba(11,31,58,.10);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(11,31,58,.05);
  box-sizing:border-box;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
body.spa-platform .spa-kboard .kboard-gallery-item:hover,
body.spa-platform .spa-kboard .kboard-gallery-item:focus-within{
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(11,31,58,.10);
  border-color:rgba(0,184,217,.35);
}
body.spa-platform .spa-kboard .kboard-gallery-item > a{
  display:flex!important;
  flex-direction:column;
  flex:1 1 auto;
  height:100%!important;
  min-height:100%;
  color:inherit!important;
  text-decoration:none!important;
  outline:none;
}
body.spa-platform .spa-kboard .kboard-gallery-item > a:focus-visible{
  box-shadow:inset 0 0 0 2px var(--spa-cyan);
}
body.spa-platform .spa-kboard .kboard-gallery-thumbnail{
  position:relative;
  flex:0 0 auto;
  width:100%!important;
  aspect-ratio:4 / 3;
  height:auto!important;
  overflow:hidden;
  background:#EEF2F6;
  border-radius:0;
  float:none!important;
  margin:0!important;
}
body.spa-platform .spa-kboard .kboard-gallery-thumbnail > img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center;
  display:block;
  transition:transform .35s ease;
}
body.spa-platform .spa-kboard .kboard-gallery-item:hover .kboard-gallery-thumbnail > img,
body.spa-platform .spa-kboard .kboard-gallery-item:focus-within .kboard-gallery-thumbnail > img{
  transform:scale(1.04);
}
/* kill crude partial cyan PNG overlay */
body.spa-platform .spa-kboard .kboard-gallery-foreground,
body.spa-platform .spa-kboard .kboard-gallery-item:hover .kboard-gallery-foreground,
body.spa-platform .spa-kboard .kboard-gallery-item:focus-within .kboard-gallery-foreground{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
/* full-bleed subtle hover/focus overlay */
body.spa-platform .spa-kboard .kboard-gallery-thumbnail::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(11,31,58,.08) 0%, rgba(11,31,58,.48) 100%);
  opacity:0;
  transition:opacity .22s ease;
  pointer-events:none;
  z-index:1;
}
body.spa-platform .spa-kboard .kboard-gallery-item:hover .kboard-gallery-thumbnail::after,
body.spa-platform .spa-kboard .kboard-gallery-item:focus-within .kboard-gallery-thumbnail::after{
  opacity:1;
}
/* soft center cue (replaces black magnifier PNG) */
body.spa-platform .spa-kboard .kboard-gallery-thumbnail::before{
  content:"";
  position:absolute;
  left:50%;
  top:42%;
  width:44px;
  height:44px;
  margin:-22px 0 0 -22px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.92);
  box-shadow:0 0 0 6px rgba(0,184,217,.22), 0 8px 20px rgba(11,31,58,.25);
  background:rgba(11,31,58,.35);
  opacity:0;
  transform:scale(.92);
  transition:opacity .22s ease, transform .22s ease;
  pointer-events:none;
  z-index:2;
}
body.spa-platform .spa-kboard .kboard-gallery-item:hover .kboard-gallery-thumbnail::before,
body.spa-platform .spa-kboard .kboard-gallery-item:focus-within .kboard-gallery-thumbnail::before{
  opacity:1;
  transform:scale(1);
}
/* existing date/author metadata — bottom pill, above overlay */
body.spa-platform .spa-kboard .kboard-gallery-username,
body.spa-platform #kboard-ocean-gallery-list .kboard-gallery-username{
  position:absolute!important;
  left:10px!important;
  right:10px!important;
  bottom:10px!important;
  top:auto!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:rgba(11,31,58,.72)!important;
  color:#fff!important;
  font-size:11.5px!important;
  font-weight:600;
  line-height:1.3!important;
  letter-spacing:-.01em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-align:left!important;
  z-index:3;
  opacity:0;
  transition:opacity .22s ease;
  pointer-events:none;
  box-sizing:border-box;
}
body.spa-platform .spa-kboard .kboard-gallery-item:hover .kboard-gallery-username,
body.spa-platform .spa-kboard .kboard-gallery-item:focus-within .kboard-gallery-username,
body.spa-platform #kboard-ocean-gallery-list .kboard-gallery-item:hover .kboard-gallery-username{
  display:block!important;
  opacity:1;
}
/* title: left, full wrap, consistent 2-line min area */
body.spa-platform .spa-kboard .kboard-gallery-item .kboard-gallery-title,
body.spa-platform .spa-kboard .kboard-gallery-item .gallery-title,
body.spa-platform .spa-kboard #kboard-ocean-gallery-list .kboard-list .kboard-gallery-title,
body.spa-platform .spa-kboard .kboard-gallery-item > a > div:not(.kboard-gallery-thumbnail){
  float:none!important;
  width:100%!important;
  flex:1 1 auto;
  height:auto!important;
  min-height:calc(1.5em * 2 + 28px)!important;
  max-height:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  display:block!important;
  -webkit-line-clamp:unset!important;
  line-clamp:unset!important;
  -webkit-box-orient:initial!important;
  white-space:normal!important;
  margin:0!important;
  padding:14px 16px 16px!important;
  font-family:Paperlogy,sans-serif!important;
  font-size:14.5px!important;
  font-weight:600;
  line-height:1.5!important;
  text-align:left!important;
  color:#0B1F3A!important;
  word-break:keep-all;
  overflow-wrap:anywhere;
  box-sizing:border-box;
}
/* pagination — centered, navy/cyan pills, clear separation */
body.spa-platform #kboard-ocean-gallery-list .kboard-pagination{
  float:none!important;
  display:flex!important;
  justify-content:center;
  align-items:center;
  width:100%!important;
  margin:28px 0 10px!important;
  padding:18px 0 0!important;
  border-top:1px solid rgba(11,31,58,.08);
  box-sizing:border-box;
}
body.spa-platform #kboard-ocean-gallery-list .kboard-pagination .kboard-pagination-pages{
  float:none!important;
  display:flex!important;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:8px;
  width:auto!important;
  max-width:100%;
  margin:0!important;
  padding:0!important;
  list-style:none;
  text-align:center;
}
body.spa-platform #kboard-ocean-gallery-list .kboard-pagination .kboard-pagination-pages li{
  display:inline-flex!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  background:none!important;
  border:0!important;
}
body.spa-platform #kboard-ocean-gallery-list .kboard-pagination .kboard-pagination-pages li a{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-width:40px;
  min-height:40px;
  padding:8px 14px!important;
  border-radius:12px!important;
  border:1px solid #D5DCE6!important;
  background:#fff!important;
  color:var(--spa-navy)!important;
  font:700 14px Paperlogy,sans-serif!important;
  line-height:1!important;
  text-decoration:none!important;
  box-shadow:0 4px 12px rgba(11,31,58,.06);
  transition:background .15s ease, border-color .15s ease, color .15s ease;
}
body.spa-platform #kboard-ocean-gallery-list .kboard-pagination .kboard-pagination-pages li a:hover,
body.spa-platform #kboard-ocean-gallery-list .kboard-pagination .kboard-pagination-pages li a:focus-visible{
  border-color:var(--spa-cyan)!important;
  background:rgba(0,184,217,.10)!important;
  color:var(--spa-navy)!important;
}
body.spa-platform #kboard-ocean-gallery-list .kboard-pagination .kboard-pagination-pages li.active a{
  background:var(--spa-navy)!important;
  border-color:var(--spa-navy)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(11,31,58,.18);
}
@media (hover:none){
  /* touch: keep metadata readable without hover-only reliance */
  body.spa-platform .spa-kboard .kboard-gallery-username{
    opacity:1;
    display:block!important;
  }
  body.spa-platform .spa-kboard .kboard-gallery-thumbnail::before{
    display:none;
  }
}
@media (max-width:420px){
  body.spa-platform .spa-main > .spa-board-nav.spa-tabs + p{font-size:14.5px;margin-bottom:18px!important}
  body.spa-platform .spa-kboard .kboard-gallery-item .kboard-gallery-title{
    padding:12px 14px 14px!important;
    font-size:14px!important;
  }
}

/* ===== 0.1.22j/m: my-home inside-ask — #spa-private-ask scroll-margin fallback; JS measures sticky stack ===== */
body.spa-platform #spa-private-ask{
  scroll-margin-top:120px;
}
body.admin-bar.spa-platform #spa-private-ask{
  scroll-margin-top:152px;
}
@media screen and (max-width:782px){
  body.admin-bar.spa-platform #spa-private-ask{
    scroll-margin-top:168px;
  }
}
body.spa-platform .spa-kboard a.kboard-inside-ask-button-black,
body.spa-platform .spa-kboard input.kboard-inside-ask-button-black,
body.spa-platform .spa-kboard button.kboard-inside-ask-button-black,
body.spa-platform .kboard-inside-ask-button-black{
  background:var(--spa-navy)!important;
  border:1px solid var(--spa-navy)!important;
  border-radius:14px!important;
  color:#fff!important;
  font:700 16px Paperlogy,sans-serif!important;
  letter-spacing:-.01em!important;
  padding:14px 18px!important;
  box-shadow:0 10px 22px rgba(11,31,58,.18)!important;
  opacity:1!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease!important;
}
body.spa-platform .spa-kboard a.kboard-inside-ask-button-black:hover,
body.spa-platform .spa-kboard input.kboard-inside-ask-button-black:hover,
body.spa-platform .spa-kboard button.kboard-inside-ask-button-black:hover,
body.spa-platform .kboard-inside-ask-button-black:hover,
body.spa-platform .spa-kboard a.kboard-inside-ask-button-black:focus,
body.spa-platform .spa-kboard button.kboard-inside-ask-button-black:focus{
  background:var(--spa-navy-mid)!important;
  border-color:var(--spa-cyan)!important;
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(11,31,58,.24)!important;
  opacity:1!important;
}
body.spa-platform .spa-kboard a.kboard-inside-ask-button-white,
body.spa-platform .spa-kboard input.kboard-inside-ask-button-white,
body.spa-platform .spa-kboard button.kboard-inside-ask-button-white,
body.spa-platform .kboard-inside-ask-button-white{
  background:#fff!important;
  border:1.5px solid var(--spa-cyan-text)!important;
  border-radius:14px!important;
  color:var(--spa-navy)!important;
  font:700 16px Paperlogy,sans-serif!important;
  letter-spacing:-.01em!important;
  padding:14px 18px!important;
  box-shadow:0 8px 18px rgba(8,145,178,.10)!important;
  opacity:1!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease!important;
}
body.spa-platform .spa-kboard a.kboard-inside-ask-button-white:hover,
body.spa-platform .spa-kboard input.kboard-inside-ask-button-white:hover,
body.spa-platform .spa-kboard button.kboard-inside-ask-button-white:hover,
body.spa-platform .kboard-inside-ask-button-white:hover,
body.spa-platform .spa-kboard a.kboard-inside-ask-button-white:focus,
body.spa-platform .spa-kboard button.kboard-inside-ask-button-white:focus{
  background:rgba(0,184,217,.08)!important;
  border-color:var(--spa-cyan)!important;
  color:var(--spa-navy)!important;
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(8,145,178,.16)!important;
  opacity:1!important;
}
/* nonmember column stays alert-disabled; soft muted look only */
body.spa-platform .spa-kboard .main-contents-right .kboard-inside-ask-button-black,
body.spa-platform .spa-kboard .main-contents-right .kboard-inside-ask-button-white{
  opacity:.72!important;
  box-shadow:none!important;
}

/* ===== 0.1.22j: /resources/ reward cards — padded actions bottom-right ===== */
body.spa-platform .spa-resource-rewards{
  align-items:stretch;
  gap:22px;
}
body.spa-platform .spa-resource-rewards > .spa-resource-card{
  height:100%;
  display:flex;
  flex-direction:column;
  padding:22px 22px 20px!important;
  gap:0;
  overflow:hidden;
}
body.spa-platform .spa-resource-rewards > .spa-resource-card > .spa-resource-card-body{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  gap:0;
  min-width:0;
}
body.spa-platform .spa-resource-rewards > .spa-resource-card h3,
body.spa-platform .spa-resource-rewards > .spa-resource-card p{
  padding-left:0!important;
  padding-right:0!important;
  margin-left:0;
  margin-right:0;
}
body.spa-platform .spa-resource-rewards > .spa-resource-card h3{
  margin:0 0 10px;
  font-size:19px;
  letter-spacing:-.3px;
  line-height:1.35;
}
body.spa-platform .spa-resource-rewards > .spa-resource-card .spa-resource-card-body > p:not(.spa-resource-card-meta){
  margin:0;
  flex:0 1 auto;
  font-size:15px;
  line-height:1.55;
  color:var(--spa-muted);
}
body.spa-platform .spa-resource-rewards > .spa-resource-card .spa-resource-card-meta{
  margin:14px 0 0;
  flex:0 0 auto;
  font-size:13.5px;
  font-weight:600;
  letter-spacing:-.01em;
  color:#475569;
  line-height:1.45;
}
body.spa-platform .spa-resource-rewards > .spa-resource-card .spa-resource-card-actions{
  margin-top:auto;
  padding-top:22px;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  width:100%;
  box-sizing:border-box;
}
body.spa-platform .spa-resource-rewards > .spa-resource-card .spa-resource-card-actions .spa-form{
  max-width:none;
  width:auto;
  margin:0;
  display:flex;
  justify-content:flex-end;
}
body.spa-platform .spa-resource-rewards > .spa-resource-card .spa-resource-card-actions .spa-button,
body.spa-platform .spa-resource-rewards > .spa-resource-card .spa-resource-card-actions a.spa-button{
  margin:0;
  min-height:44px;
  padding:12px 18px;
  font-size:14px;
  border-radius:999px;
  white-space:nowrap;
}
body.spa-platform .spa-resource-rewards > .spa-resource-card .spa-resource-card-actions .spa-chip-link{
  margin:0;
}
@media screen and (max-width:782px){
  body.spa-platform .spa-resource-rewards > .spa-resource-card{
    padding:20px 18px 18px!important;
  }
  body.spa-platform .spa-resource-rewards > .spa-resource-card .spa-resource-card-actions{
    justify-content:center;
    padding-top:20px;
  }
  body.spa-platform .spa-resource-rewards > .spa-resource-card .spa-resource-card-actions .spa-form{
    width:100%;
    justify-content:center;
  }
  body.spa-platform .spa-resource-rewards > .spa-resource-card .spa-resource-card-actions .spa-button,
  body.spa-platform .spa-resource-rewards > .spa-resource-card .spa-resource-card-actions a.spa-button{
    width:100%;
    max-width:280px;
  }
}

/* ===== 0.1.22k: /cost/ result action row alignment ===== */
body.spa-platform #spa-cost-result.spa-report .spa-report-actions,
body.spa-platform .spa-report .spa-report-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:12px 16px;
  margin-top:22px;
  padding:4px 0 0;
  width:100%;
  box-sizing:border-box;
}
body.spa-platform #spa-cost-result .spa-report-actions .spa-report-print,
body.spa-platform #spa-cost-result .spa-report-actions #spa-print,
body.spa-platform .spa-report .spa-report-actions .spa-report-print{
  margin:0!important;
  min-height:44px;
  height:auto;
  padding:11px 18px!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  line-height:1.3;
  box-sizing:border-box;
  vertical-align:middle;
}
body.spa-platform #spa-cost-result .spa-report-actions .spa-report-link,
body.spa-platform #spa-cost-result .spa-report-actions .spa-text-link,
body.spa-platform .spa-report .spa-report-actions .spa-report-link,
body.spa-platform .spa-report .spa-report-actions .spa-text-link{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:44px;
  margin:0!important;
  padding:0 4px!important;
  line-height:1.3;
  font-size:15px;
  font-weight:700;
  color:var(--spa-cyan-text)!important;
  text-decoration:none;
  box-sizing:border-box;
  vertical-align:middle;
  white-space:nowrap;
}
body.spa-platform #spa-cost-result .spa-report-actions .spa-report-link:hover,
body.spa-platform .spa-report .spa-report-actions .spa-report-link:hover{
  text-decoration:underline;
  color:var(--spa-cyan)!important;
}
@media screen and (max-width:782px){
  body.spa-platform #spa-cost-result.spa-report .spa-report-actions,
  body.spa-platform .spa-report .spa-report-actions{
    justify-content:center;
    gap:12px;
  }
  body.spa-platform #spa-cost-result .spa-report-actions .spa-report-print,
  body.spa-platform #spa-cost-result .spa-report-actions #spa-print,
  body.spa-platform #spa-cost-result .spa-report-actions .spa-report-link{
    width:auto;
    max-width:100%;
  }
}


/* ===== 0.1.22n: my-home board tabs — static on narrow (variable wrap height must not cover #spa-private-ask) ===== */
@media screen and (max-width:980px){
  body.spa-platform .spa-board-tabs,
  body.admin-bar.spa-platform .spa-board-tabs,
  body.admin-bar body.spa-platform .spa-board-tabs{
    position:static!important;
    top:auto!important;
    z-index:auto!important;
    width:100%!important;
  }
}


/* ===== 0.1.22p: gallery 4:3 thumb box + document hero from KBoard thumbnail ===== */
body.spa-platform #kboard-ocean-gallery-list .kboard-list .kboard-gallery-thumbnail,
body.spa-platform .spa-kboard .kboard-gallery-thumbnail{
  position:relative!important;
  width:100%!important;
  height:0!important;
  min-height:0!important;
  max-height:none!important;
  padding:0 0 75%!important; /* 4:3 */
  aspect-ratio:auto!important; /* padding-box drives ratio; defeats skin height:155px */
  overflow:hidden!important;
  float:none!important;
  margin:0!important;
  background:#EEF2F6;
}
body.spa-platform #kboard-ocean-gallery-list .kboard-list .kboard-gallery-thumbnail > img,
body.spa-platform .spa-kboard .kboard-gallery-thumbnail > img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
}
body.spa-platform .spa-kboard .kboard-gallery-thumbnail::before,
body.spa-platform .spa-kboard .kboard-gallery-thumbnail::after{
  /* keep hover cues inside padded box */
  z-index:2;
}
body.spa-platform .spa-kboard .kboard-content .thumbnail-area,
body.spa-platform .spa-kboard .spa-gallery-hero{
  margin:0 0 20px!important;
  padding:0!important;
  border-radius:18px;
  overflow:hidden;
  background:#EEF2F6;
  border:1px solid rgba(11,31,58,.08);
  box-shadow:0 10px 28px rgba(11,31,58,.06);
}
body.spa-platform .spa-kboard .kboard-content .thumbnail-area img,
body.spa-platform .spa-kboard .spa-gallery-hero img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  margin:0!important;
  object-fit:contain;
}
@supports (aspect-ratio:1){
  body.spa-platform #kboard-ocean-gallery-list .kboard-list .kboard-gallery-thumbnail,
  body.spa-platform .spa-kboard .kboard-gallery-thumbnail{
    height:auto!important;
    padding:0!important;
    aspect-ratio:4 / 3!important;
  }
}

/* ===== 0.1.22q: community board-nav segmented tabs (scoped; my-home .spa-board-tabs untouched) ===== */


/* ===== 0.1.22r: KBoard gallery/community editor — center shell + undo CTA pill leak on TinyMCE/media ===== */
body.spa-platform #kboard-ocean-gallery-editor,
body.spa-platform .spa-kboard form.kboard-form{
  display:block!important;
  float:none!important;
  width:100%!important;
  max-width:1080px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box;
}
body.spa-platform #kboard-ocean-gallery-editor .kboard-attr-row,
body.spa-platform .spa-kboard #kboard-ocean-gallery-editor .kboard-attr-row{
  display:grid!important;
  grid-template-columns:1fr;
  gap:8px!important;
  float:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 14px!important;
  padding:16px 18px!important;
  box-sizing:border-box;
  background:#fff;
  border:1px solid rgba(11,31,58,.08);
  border-radius:14px;
}
body.spa-platform #kboard-ocean-gallery-editor .kboard-attr-row .attr-name{
  display:block!important;
  float:none!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  line-height:1.4!important;
  font-size:14px!important;
  font-weight:700!important;
  color:#334155!important;
}
body.spa-platform #kboard-ocean-gallery-editor .kboard-attr-row .attr-value{
  margin-left:0!important;
  width:100%!important;
  max-width:100%!important;
  line-height:1.5!important;
}
body.spa-platform #kboard-ocean-gallery-editor input[type=text],
body.spa-platform #kboard-ocean-gallery-editor input[type=email],
body.spa-platform #kboard-ocean-gallery-editor input[type=password],
body.spa-platform #kboard-ocean-gallery-editor input[type=number],
body.spa-platform #kboard-ocean-gallery-editor input[type=date],
body.spa-platform #kboard-ocean-gallery-editor input[type=file],
body.spa-platform #kboard-ocean-gallery-editor select,
body.spa-platform #kboard-ocean-gallery-editor textarea,
body.spa-platform #kboard-ocean-gallery-editor .kboard-attr-title input,
body.spa-platform #kboard-ocean-gallery-editor .wp-editor-area{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  height:auto!important;
  min-height:44px;
  margin:0!important;
}
body.spa-platform #kboard-ocean-gallery-editor input[type=file]{
  min-height:0;
  padding:8px 0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.spa-platform #kboard-ocean-gallery-editor .kboard-content,
body.spa-platform #kboard-ocean-gallery-editor .wp-editor-wrap,
body.spa-platform #kboard-ocean-gallery-editor .wp-editor-container{
  width:100%!important;
  max-width:100%!important;
  float:none!important;
  box-sizing:border-box;
}
/* reset site .spa-main button navy-pill leak on WP/TinyMCE/quicktags/media */
body.spa-platform .spa-main .wp-editor-wrap .button,
body.spa-platform .spa-main .wp-media-buttons .button,
body.spa-platform .spa-main .wp-editor-tools .button,
body.spa-platform .spa-main .wp-switch-editor,
body.spa-platform .spa-main .quicktags-toolbar input.button,
body.spa-platform .spa-main .quicktags-toolbar input[type=button],
body.spa-platform .spa-main .quicktags-toolbar button,
body.spa-platform .spa-main #qt_kboard_content_toolbar input,
body.spa-platform .spa-main #qt_kboard_content_toolbar button,
body.spa-platform .spa-main .mce-toolbar .mce-btn,
body.spa-platform .spa-main .mce-toolbar .mce-btn button,
body.spa-platform .spa-main .mce-btn button,
body.spa-platform .spa-main .mce-toolbar-grp .mce-btn button{
  display:inline-block!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  margin:1px!important;
  padding:2px 8px!important;
  border-radius:3px!important;
  border:1px solid #c3c4c7!important;
  background:#f6f7f7!important;
  color:#1d2327!important;
  -webkit-text-fill-color:#1d2327!important;
  box-shadow:none!important;
  font:400 13px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
  font-weight:400!important;
  line-height:2!important;
  letter-spacing:normal!important;
  text-transform:none!important;
  text-decoration:none!important;
  gap:0!important;
  transform:none!important;
  vertical-align:middle;
}
body.spa-platform .spa-main .wp-media-buttons .button{
  padding:4px 10px!important;
  line-height:2!important;
  min-height:30px!important;
  border-radius:4px!important;
  background:#f0f0f1!important;
}
body.spa-platform .spa-main .wp-media-buttons .button .wp-media-buttons-icon{
  display:inline-block!important;
  width:18px!important;
  height:18px!important;
  margin:0 4px 0 0!important;
  padding:0!important;
  vertical-align:middle!important;
  background-position:center!important;
}
body.spa-platform .spa-main .wp-switch-editor{
  float:right;
  margin:0 0 0 5px!important;
  padding:4px 10px!important;
  border-radius:0 0 0 0!important;
  background:#f0f0f1!important;
}
body.spa-platform .spa-main .wp-switch-editor.switch-tmce.html-active,
body.spa-platform .spa-main .wp-switch-editor.switch-html.tmce-active,
body.spa-platform .spa-main .html-active .switch-html,
body.spa-platform .spa-main .tmce-active .switch-tmce{
  background:#f0f0f1!important;
  color:#1d2327!important;
  border-color:#c3c4c7!important;
  box-shadow:none!important;
}
body.spa-platform .spa-main .mce-toolbar .mce-btn,
body.spa-platform .spa-main .mce-toolbar .mce-btn button{
  border:0!important;
  background:transparent!important;
  padding:2px 3px!important;
  border-radius:2px!important;
  box-shadow:none!important;
  min-height:0!important;
}
body.spa-platform .spa-main .mce-toolbar .mce-btn:hover,
body.spa-platform .spa-main .mce-toolbar .mce-btn:hover button{
  background:#e2e4e7!important;
  border:0!important;
  box-shadow:none!important;
  transform:none!important;
}
body.spa-platform .spa-main .mce-toolbar .mce-btn.mce-active,
body.spa-platform .spa-main .mce-toolbar .mce-btn.mce-active button{
  background:#c5c9cf!important;
}
/* keep real submit CTAs at bottom as site buttons */
body.spa-platform #kboard-ocean-gallery-editor .kboard-control button,
body.spa-platform #kboard-ocean-gallery-editor .kboard-control input[type=submit],
body.spa-platform #kboard-ocean-gallery-editor .kboard-ocean-gallery-button-small{
  /* leave site pill CTAs for actual submit/list controls */
}
@media screen and (max-width:782px){
  body.spa-platform #kboard-ocean-gallery-editor,
  body.spa-platform .spa-kboard form.kboard-form{
    max-width:100%!important;
    padding-left:0;
    padding-right:0;
  }
  body.spa-platform #kboard-ocean-gallery-editor .kboard-attr-row{
    padding:14px 14px!important;
  }
}

/* ===== 0.1.22s: home hero — remove foreground inset photo card; single-column copy over fullbleed ===== */
body.spa-platform .spa-hero-bleed-inner{
  grid-template-columns:minmax(0,1fr)!important;
  gap:0!important;
  align-items:end;
}
body.spa-platform .spa-hero-bleed-inner > .spa-hero-copy,
body.spa-platform .spa-hero-bleed-inner > div:first-child{
  min-width:0;
  max-width:40rem;
  width:100%;
}
body.spa-platform .spa-hero-visual{
  display:none!important;
}
@media (max-width:768px){
  body.spa-platform .spa-hero-bleed-inner{
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  body.spa-platform .spa-hero-bleed-inner > .spa-hero-copy,
  body.spa-platform .spa-hero-bleed-inner > div:first-child{
    max-width:100%;
  }
  body.spa-platform .spa-hero-visual{display:none!important}
}


/* 0.1.22t — logo mark+wordmark + unified concept note */
.spa-logo{display:inline-flex;align-items:center;gap:11px;text-decoration:none;min-width:0;color:var(--spa-ink)}
.spa-logo .spa-mark{display:block;flex:0 0 auto;width:40px;height:40px;filter:none}
.spa-logo-text{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.spa-logo-word{font-family:Paperlogy,sans-serif;font-weight:800;font-size:24px;line-height:1;letter-spacing:-.06em;color:var(--spa-ink);white-space:nowrap}
.spa-logo-dot{color:var(--spa-cyan)}
.spa-logo-header small{display:block;margin:0;padding:0;border:0;font-size:13px;font-weight:500;letter-spacing:-.02em;line-height:1.25;color:var(--spa-muted);white-space:nowrap}
.spa-header .spa-brand.spa-logo{font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit}
.spa-header .spa-brand.spa-logo small{margin-top:0}
.spa-footer-logo.spa-logo{display:inline-flex;margin-bottom:10px}
.spa-footer-logo .spa-logo-word{font-size:26px;color:#fff}
.spa-footer-logo .spa-logo-dot{color:var(--spa-cyan-bright)}
.spa-footer-logo .spa-mark{width:40px;height:40px;filter:none}
.spa-concept-note{margin:18px var(--spa-gutter) 0;padding:0;max-width:920px;font-size:13px;line-height:1.55;color:rgba(255,255,255,.72);font-weight:400;letter-spacing:-.01em;word-break:keep-all}
@media(max-width:980px){
  .spa-logo-header small{display:none}
  .spa-logo .spa-mark{width:36px;height:36px}
  .spa-logo-word{font-size:22px}
}
@media(max-width:360px){
  .spa-logo{gap:8px}
  .spa-logo .spa-mark{width:32px;height:32px}
  .spa-logo-word{font-size:20px}
}


/* 0.1.22u — footer logo row + concept note gutter + feature bullet first-line center */
body.spa-platform .spa-closing .spa-footer-logo.spa-logo,
body.spa-platform .spa-footer .spa-footer-logo.spa-logo,
body.spa-platform a.spa-footer-logo.spa-logo{
  display:inline-flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:11px!important;
  white-space:nowrap!important;
  max-width:100%!important;
  width:auto!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
body.spa-platform .spa-closing .spa-footer-logo.spa-logo .spa-mark,
body.spa-platform .spa-footer .spa-footer-logo.spa-logo .spa-mark{
  display:block!important;
  flex:0 0 36px!important;
  width:36px!important;
  height:36px!important;
  max-width:36px!important;
  margin:0!important;
}
body.spa-platform .spa-closing .spa-footer-logo.spa-logo .spa-logo-word,
body.spa-platform .spa-footer .spa-footer-logo.spa-logo .spa-logo-word{
  display:inline-block!important;
  flex:0 1 auto!important;
  min-width:0!important;
  margin:0!important;
  color:#fff!important;
  font-size:24px!important;
  line-height:1!important;
  white-space:nowrap!important;
}

/* Concept note: match footer-grid/operator gutter model (0.1.19g). Beat .spa-footer p margin reset. */
body.spa-platform .spa-closing .spa-footer > p.spa-concept-note,
body.spa-platform .spa-footer > p.spa-concept-note,
body.spa-platform p.spa-concept-note{
  display:block!important;
  max-width:none!important;
  width:auto!important;
  margin:14px var(--spa-gutter) 0!important;
  padding:0!important;
  box-sizing:border-box!important;
  font-size:13px!important;
  line-height:1.55!important;
  color:rgba(255,255,255,.72)!important;
  font-weight:400!important;
  letter-spacing:-.01em!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:keep-all!important;
  overflow:visible!important;
  text-align:left!important;
}

/* Feature list cyan bullets: first-line vertical center only (li:before). */
body.spa-platform .spa-feature-list li:before{
  top:0.825em!important; /* half of line-height 1.65 */
  transform:translateY(-50%)!important;
  margin:0!important;
}

body.spa-platform .spa-header a.spa-brand.spa-logo{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:11px!important;
}


/* 0.1.22v — remove empty notice-caption chrome; feature media ends at image */
body.spa-platform .spa-feature-media figcaption:empty,
body.spa-platform .spa-footer-cta-visual figcaption:empty,
body.spa-platform .spa-closing .spa-footer-cta-visual figcaption:empty,
body.spa-platform .spa-photo-band figcaption:empty,
body.spa-platform .spa-article-hero figcaption:empty,
body.spa-platform .spa-hero-visual figcaption:empty,
body.spa-platform .spa-hero-caption:empty,
body.spa-platform .spa-hero-caption-shell:empty{
  display:none!important;
  padding:0!important;
  margin:0!important;
  height:0!important;
  min-height:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
  line-height:0!important;
  overflow:hidden!important;
}
/* Soft letterbox under feature photos looked like empty caption bar */
body.spa-platform .spa-feature-media:not(:has(figcaption)),
body.spa-platform .spa-feature-media:has(> img):not(:has(figcaption)){
  aspect-ratio:auto!important;
  background:transparent!important;
}
body.spa-platform .spa-feature-media:not(:has(figcaption)) img,
body.spa-platform .spa-feature-media:has(> img):not(:has(figcaption)) img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/10;
  object-fit:cover!important;
  display:block!important;
  vertical-align:bottom;
}
/* If a caption shell wrapper remains without text */
body.spa-platform .spa-hero-caption-shell:not(:has(.spa-hero-caption)),
body.spa-platform .spa-hero-caption-shell:has(.spa-hero-caption:empty){
  display:none!important;
  padding:0!important;
  margin:0!important;
  min-height:0!important;
  background:none!important;
}


/* 0.1.22w — about guide-character intro (existing SVG, no new asset) */
body.spa-platform .spa-about-character{
  padding:36px 0 28px;
  border-bottom:1px solid var(--spa-line);
  box-sizing:border-box;
}
body.spa-platform .spa-about-character-inner{
  display:grid;
  grid-template-columns:minmax(140px,200px) minmax(0,1fr);
  gap:28px 36px;
  align-items:center;
  max-width:var(--spa-max,1360px);
  margin:0 auto;
  padding:0 var(--spa-gutter);
  box-sizing:border-box;
}
body.spa-platform .spa-about-character-visual{
  display:flex;justify-content:center;align-items:center;
  min-width:0;
}
body.spa-platform .spa-about-character-img,
body.spa-platform .spa-about-character .spa-character{
  width:180px!important;height:180px!important;max-width:100%;
  margin:0;display:block;
}
body.spa-platform .spa-about-character-copy{min-width:0}
body.spa-platform .spa-about-character-copy h2{
  margin:0 0 12px;font-size:clamp(24px,2.6vw,32px);letter-spacing:-.6px;color:var(--spa-ink);
}
body.spa-platform .spa-about-character-copy > p{
  margin:0 0 16px;font-size:16px;line-height:1.7;color:#3a4658;max-width:54ch;word-break:keep-all;
}
body.spa-platform .spa-about-character-copy .spa-feature-list{margin:0 0 16px}
body.spa-platform .spa-about-character-copy .spa-feature-list li{
  font-size:15px!important;line-height:1.65;color:#3a4658!important;word-break:keep-all;
}
@media (max-width:780px){
  body.spa-platform .spa-about-character-inner{
    grid-template-columns:1fr;
    gap:18px;
    justify-items:center;
    text-align:left;
  }
  body.spa-platform .spa-about-character-copy{width:100%}
  body.spa-platform .spa-about-character-img,
  body.spa-platform .spa-about-character .spa-character{
    width:148px!important;height:148px!important;
  }
}


/* 0.1.22x — flat logo mark: no drop-shadow on spa-mark (header/footer) */
body.spa-platform .spa-mark,
body.spa-platform .spa-logo .spa-mark,
body.spa-platform .spa-footer-logo .spa-mark,
body.spa-platform .spa-closing .spa-footer-logo .spa-mark,
body.spa-platform .spa-header .spa-mark,
body.spa-platform a.spa-brand.spa-logo .spa-mark,
body.spa-platform a.spa-footer-logo.spa-logo .spa-mark{
  filter:none!important;
  -webkit-filter:none!important;
  box-shadow:none!important;
  text-shadow:none!important;
}


/* 0.1.22y — header logo+bar ~20% larger (footer unchanged; no mark shadow) */
body.spa-platform .spa-header{
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:16px!important;
  padding-top:16px!important;
  padding-bottom:16px!important;
  min-height:72px;
  box-sizing:border-box;
}
body.spa-platform .spa-header nav{
  flex-wrap:nowrap!important;
  min-width:0;
}
body.spa-platform .spa-header a.spa-brand.spa-logo{
  gap:13px!important;
  flex:0 0 auto!important;
  min-width:0!important;
}
body.spa-platform .spa-header .spa-logo .spa-mark,
body.spa-platform .spa-header a.spa-brand.spa-logo .spa-mark,
body.spa-platform .spa-header .spa-mark{
  width:48px!important;
  height:48px!important;
  flex:0 0 48px!important;
  max-width:48px!important;
  filter:none!important;
  -webkit-filter:none!important;
  box-shadow:none!important;
}
body.spa-platform .spa-header .spa-logo-word{
  font-size:29px!important;
  line-height:1!important;
  letter-spacing:-.06em!important;
}
body.spa-platform .spa-header .spa-logo-header small{
  font-size:15px!important;
  line-height:1.25!important;
}
/* sticky offset / in-page anchors track taller header */
body.spa-platform .spa-section,
body.spa-platform .spa-info-card,
body.spa-platform .spa-page-hero,
body.spa-platform .spa-about-character,
body.spa-platform [id^="about-"],
body.spa-platform .spa-tool-layout,
body.spa-platform .kboard-document,
body.spa-platform .spa-main [id]{
  scroll-margin-top:108px;
}
@media (max-width:1100px){
  /* mid width: keep nowrap, slightly tighter logo before hamburger breakpoint */
  body.spa-platform .spa-header .spa-logo .spa-mark,
  body.spa-platform .spa-header a.spa-brand.spa-logo .spa-mark{
    width:44px!important;height:44px!important;flex-basis:44px!important;max-width:44px!important;
  }
  body.spa-platform .spa-header .spa-logo-word{font-size:26px!important}
  body.spa-platform .spa-header .spa-logo-header small{font-size:14px!important}
  body.spa-platform .spa-header{gap:12px!important;padding-top:14px!important;padding-bottom:14px!important;min-height:66px}
}
@media (max-width:980px){
  /* hamburger mode: allow wrap for open panel only; bar row stays one line */
  body.spa-platform .spa-header{
    flex-wrap:wrap!important;
    padding-top:14px!important;
    padding-bottom:14px!important;
    min-height:60px;
    gap:10px!important;
  }
  body.spa-platform .spa-header a.spa-brand.spa-logo{gap:10px!important;max-width:calc(100% - 56px)}
  body.spa-platform .spa-header .spa-logo .spa-mark,
  body.spa-platform .spa-header a.spa-brand.spa-logo .spa-mark{
    width:42px!important;height:42px!important;flex-basis:42px!important;max-width:42px!important;
  }
  body.spa-platform .spa-header .spa-logo-word{font-size:25px!important}
  body.spa-platform .spa-menu-toggle{width:46px!important;height:46px!important;flex:0 0 46px}
  body.spa-platform .spa-section,
  body.spa-platform .spa-info-card,
  body.spa-platform .spa-about-character,
  body.spa-platform [id^="about-"],
  body.spa-platform .spa-main [id]{scroll-margin-top:92px}
}
@media (max-width:390px){
  body.spa-platform .spa-header{
    padding-top:12px!important;padding-bottom:12px!important;min-height:56px;gap:8px!important;
  }
  body.spa-platform .spa-header .spa-logo .spa-mark,
  body.spa-platform .spa-header a.spa-brand.spa-logo .spa-mark{
    width:36px!important;height:36px!important;flex-basis:36px!important;max-width:36px!important;
  }
  body.spa-platform .spa-header .spa-logo-word{font-size:22px!important}
  body.spa-platform .spa-header a.spa-brand.spa-logo{gap:8px!important;max-width:calc(100% - 52px)}
  body.spa-platform .spa-menu-toggle{width:44px!important;height:44px!important;flex:0 0 44px}
  body.spa-platform .spa-section,
  body.spa-platform .spa-info-card,
  body.spa-platform .spa-about-character,
  body.spa-platform .spa-main [id]{scroll-margin-top:84px}
}


/* 0.1.22z — hide join-stop visual pill only (function/settings untouched) */
body.spa-platform .spa-footer-status,
body.spa-platform .spa-closing .spa-footer-status{
  display:none!important;
  margin:0!important;padding:0!important;height:0!important;min-height:0!important;
  border:0!important;overflow:hidden!important;
}

/* 0.1.22aa — hero secondary CTA: opaque white + deep navy (readable on photo) */
body.spa-platform .spa-hero-bleed .spa-hero-actions .spa-button-ghost,
body.spa-platform .spa-hero-bleed a.spa-button.spa-button-ghost,
body.spa-platform .spa-hero-actions a.spa-button.spa-button-ghost{
  color:#0B1F3A!important;
  background:#ffffff!important;
  background-color:#ffffff!important;
  border:1.5px solid #ffffff!important;
  text-shadow:none!important;
  box-shadow:0 8px 24px rgba(11,31,58,.22)!important;
}
body.spa-platform .spa-hero-bleed .spa-hero-actions .spa-button-ghost:hover,
body.spa-platform .spa-hero-bleed a.spa-button.spa-button-ghost:hover,
body.spa-platform .spa-hero-actions a.spa-button.spa-button-ghost:hover,
body.spa-platform .spa-hero-bleed .spa-hero-actions .spa-button-ghost:focus-visible,
body.spa-platform .spa-hero-actions a.spa-button.spa-button-ghost:focus-visible{
  color:#0B1F3A!important;
  background:#F3F7FB!important;
  background-color:#F3F7FB!important;
  border-color:#0B1F3A!important;
  text-shadow:none!important;
  box-shadow:0 10px 28px rgba(11,31,58,.28)!important;
}

/* Home 에이 character — visible PC + 390 (Divi spa-divi-hero stays hidden) */
body.spa-platform .spa-home-invite-board .spa-home-invite-inner{
  grid-template-columns:minmax(0,1.15fr) minmax(160px,.75fr);
  align-items:center;
}
body.spa-platform .spa-home-invite-character{
  display:flex!important;
  justify-content:center;
  align-items:center;
  margin:0;
  min-width:0;
}
body.spa-platform .spa-home-invite-character .spa-home-character-img,
body.spa-platform .spa-home-invite-character img.spa-character,
body.spa-platform img.spa-home-character-img{
  display:block!important;
  width:min(200px,42vw)!important;
  height:auto!important;
  max-width:200px!important;
  margin:0 auto;
  filter:none!important;
}
@media (max-width:980px){
  body.spa-platform .spa-home-invite-board .spa-home-invite-inner{
    grid-template-columns:1fr;
  }
  body.spa-platform .spa-home-invite-character{
    order: -1;
    padding-bottom:8px;
  }
  body.spa-platform .spa-home-invite-character .spa-home-character-img,
  body.spa-platform .spa-home-invite-character img.spa-character,
  body.spa-platform img.spa-home-character-img{
    width:min(168px,46vw)!important;
    max-width:168px!important;
  }
}
@media (max-width:390px){
  body.spa-platform .spa-home-invite-character .spa-home-character-img,
  body.spa-platform .spa-home-invite-character img.spa-character,
  body.spa-platform img.spa-home-character-img{
    width:min(148px,52vw)!important;
    max-width:148px!important;
  }
}

/* Caption/bottom gap hardening — no reserved bar under caption-less photos */
body.spa-platform .spa-feature-media:not(:has(figcaption)),
body.spa-platform .spa-feature figure.spa-feature-media:not(:has(figcaption)){
  padding-bottom:0!important;
  margin-bottom:0!important;
  background:transparent!important;
}
body.spa-platform .spa-feature-media:not(:has(figcaption))::after,
body.spa-platform .spa-feature-media:not(:has(figcaption))::before{
  content:none!important;display:none!important;
}


/* 0.1.22ab — header current menu = hover look (URL/aria-current only; scoped to .spa-header nav) */
body.spa-platform .spa-header nav a:hover,
body.spa-platform .spa-header nav a:focus-visible,
body.spa-platform .spa-header nav a:active,
body.spa-platform .spa-header nav a.is-active,
body.spa-platform .spa-header nav a[aria-current="page"]{
  color:#0B1F3A!important;
  background:rgba(0,184,217,.12)!important;
  border-color:transparent!important;
  font-weight:700!important;
  outline:none;
}
body.spa-platform .spa-header nav a:hover:after,
body.spa-platform .spa-header nav a:focus-visible:after,
body.spa-platform .spa-header nav a:active:after,
body.spa-platform .spa-header nav a.is-active:after,
body.spa-platform .spa-header nav a[aria-current="page"]:after{
  transform:scaleX(1)!important;
  background:var(--spa-cyan, #00B8D9)!important;
}
@media (max-width:980px){
  body.spa-platform .spa-header.is-open nav a.is-active,
  body.spa-platform .spa-header.is-open nav a[aria-current="page"],
  body.spa-platform .spa-header.is-open nav a:hover,
  body.spa-platform .spa-header.is-open nav a:focus-visible{
    background:rgba(0,184,217,.14)!important;
    color:#0B1F3A!important;
    box-shadow:inset 3px 0 0 var(--spa-cyan, #00B8D9);
    border-radius:12px!important;
  }
}


/* 0.1.22ad — home invites: PC one-row 2-col inside 1360; mobile stack */
body.spa-platform .spa-home-invites{
  padding-top:28px!important;
  padding-bottom:32px!important;
  border-bottom:1px solid var(--spa-line);
  box-sizing:border-box;
}
body.spa-platform .spa-home-invites-row{
  width:100%;
  max-width:none;
  margin:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:20px 24px;
  align-items:stretch;
  box-sizing:border-box;
}
body.spa-platform .spa-home-invites .spa-home-invite{
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  min-width:0;
  height:100%;
}
body.spa-platform .spa-home-invites .spa-home-invite-panel{
  height:100%;
  box-sizing:border-box;
  border-radius:22px;
  border:1px solid rgba(11,31,58,.08);
  padding:26px 24px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px 16px;
  align-items:center;
}
body.spa-platform .spa-home-invites .spa-home-invite-board .spa-home-invite-panel{
  background:linear-gradient(145deg,#F3F6F9 0%,#F8FAFC 55%,#EEF4FA 100%);
}
body.spa-platform .spa-home-invites .spa-home-invite-partner .spa-home-invite-panel,
body.spa-platform .spa-home-invites .spa-home-invite-panel-partner{
  background:#fff;
  grid-template-columns:1fr;
  align-content:space-between;
  gap:18px;
}
body.spa-platform .spa-home-invites .spa-home-invite-copy h2{
  margin:0 0 10px;
  font-size:clamp(22px,2.1vw,28px);
  letter-spacing:-.55px;
  line-height:1.28;
  color:#0B1F3A;
  word-break:keep-all;
}
body.spa-platform .spa-home-invites .spa-home-invite-copy > p{
  margin:0 0 16px;
  max-width:36em;
  font-size:14.5px;
  line-height:1.7;
  color:rgba(11,31,58,.72);
  word-break:keep-all;
}
body.spa-platform .spa-home-invites .spa-home-invite-actions{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;
}
body.spa-platform .spa-home-invites .spa-home-invite-character{
  display:flex!important;
  justify-content:center;
  align-items:center;
  margin:0;
}
body.spa-platform .spa-home-invites .spa-home-character-img,
body.spa-platform .spa-home-invites img.spa-home-character-img,
body.spa-platform .spa-home-invites .spa-home-invite-character .spa-character{
  width:min(132px,28vw)!important;
  max-width:132px!important;
  height:auto!important;
  display:block!important;
  margin:0;
}
body.spa-platform .spa-home-invites .spa-home-invite-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  width:100%;
  max-width:none;
  justify-self:stretch;
}
body.spa-platform .spa-home-invites .spa-home-invite-card{
  min-height:0;
  padding:14px 14px;
  gap:8px;
  border-radius:14px;
  font-size:13.5px;
}
@media (max-width:980px){
  body.spa-platform .spa-home-invites-row{
    grid-template-columns:1fr;
    width:100%;
    gap:14px;
  }
  body.spa-platform .spa-home-invites .spa-home-invite-board .spa-home-invite-panel{
    grid-template-columns:minmax(0,1fr) auto;
  }
}
@media (max-width:390px){
  body.spa-platform .spa-home-invites{
    padding-top:20px!important;
    padding-bottom:24px!important;
  }
  body.spa-platform .spa-home-invites .spa-home-invite-panel{
    padding:20px 16px;
    grid-template-columns:1fr!important;
  }
  body.spa-platform .spa-home-invites .spa-home-invite-character{
    order:-1;
    padding-bottom:4px;
  }
  body.spa-platform .spa-home-invites .spa-home-character-img,
  body.spa-platform .spa-home-invites img.spa-home-character-img{
    width:min(112px,42vw)!important;
    max-width:112px!important;
  }
}

/* 0.1.22ad — about #about-character brand intro (large 에이 + chips + pose tabs) */
body.spa-platform .spa-about-character{
  padding:28px 0 36px!important;
  border-bottom:1px solid var(--spa-line);
  background:linear-gradient(180deg,#F7FBFD 0%,#FFFFFF 42%,#FFFFFF 100%);
  box-sizing:border-box;
}
body.spa-platform .spa-about-character-shell{
  max-width:var(--spa-max,1360px);
  margin:0 auto;
  padding:0 var(--spa-gutter);
  box-sizing:border-box;
}
body.spa-platform .spa-about-character-inner{
  display:grid!important;
  grid-template-columns:minmax(280px,340px) minmax(0,1fr)!important;
  gap:28px 40px!important;
  align-items:center!important;
  max-width:none!important;
  margin:0!important;
  padding:28px 28px!important;
  background:#fff;
  border:1px solid rgba(11,31,58,.08);
  border-radius:28px;
  box-shadow:0 18px 48px rgba(11,31,58,.06);
  box-sizing:border-box;
}
body.spa-platform .spa-about-character-stage{min-width:0;position:relative}
body.spa-platform .spa-about-pose-input{
  position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;
}
body.spa-platform .spa-about-character-visual{
  display:flex!important;
  justify-content:center;
  align-items:center;
  min-height:300px;
  padding:12px;
  border-radius:24px;
  background:radial-gradient(ellipse at 50% 62%, rgba(0,184,217,.10) 0%, rgba(155,196,168,.10) 42%, rgba(243,246,249,.9) 72%);
  border:1px solid rgba(11,31,58,.06);
  box-sizing:border-box;
}
body.spa-platform .spa-about-character-svg,
body.spa-platform .spa-about-character-visual .spa-about-character-svg,
body.spa-platform .spa-about-character-img,
body.spa-platform .spa-about-character .spa-character{
  width:min(320px,100%)!important;
  height:auto!important;
  max-width:320px!important;
  max-height:none!important;
  margin:0 auto!important;
  display:block!important;
}
body.spa-platform .spa-about-pose-tabs{
  display:flex;flex-wrap:wrap;gap:8px;
  justify-content:center;
  margin-top:14px;
}
body.spa-platform .spa-about-pose-tab{
  cursor:pointer;
  user-select:none;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(11,31,58,.12);
  background:#fff;
  color:#0B1F3A;
  font-size:13px;
  font-weight:700;
  line-height:1.2;
}
body.spa-platform #spa-ae-pose-all:checked ~ .spa-about-pose-tabs label[for="spa-ae-pose-all"],
body.spa-platform #spa-ae-pose-blink:checked ~ .spa-about-pose-tabs label[for="spa-ae-pose-blink"],
body.spa-platform #spa-ae-pose-breath:checked ~ .spa-about-pose-tabs label[for="spa-ae-pose-breath"],
body.spa-platform #spa-ae-pose-wave:checked ~ .spa-about-pose-tabs label[for="spa-ae-pose-wave"]{
  background:rgba(0,184,217,.12);
  border-color:rgba(0,184,217,.45);
  color:#0B1F3A;
}
/* Pose focus: pause unrelated SVG loops (inline SVG only) */
body.spa-platform #spa-ae-pose-blink:checked ~ .spa-about-character-visual .bob,
body.spa-platform #spa-ae-pose-blink:checked ~ .spa-about-character-visual .sway,
body.spa-platform #spa-ae-pose-blink:checked ~ .spa-about-character-visual .breathe,
body.spa-platform #spa-ae-pose-blink:checked ~ .spa-about-character-visual .arm-wave,
body.spa-platform #spa-ae-pose-blink:checked ~ .spa-about-character-visual .sprout,
body.spa-platform #spa-ae-pose-blink:checked ~ .spa-about-character-visual .cheek,
body.spa-platform #spa-ae-pose-blink:checked ~ .spa-about-character-visual .gaze{
  animation:none!important;
}
body.spa-platform #spa-ae-pose-breath:checked ~ .spa-about-character-visual .bob,
body.spa-platform #spa-ae-pose-breath:checked ~ .spa-about-character-visual .sway,
body.spa-platform #spa-ae-pose-breath:checked ~ .spa-about-character-visual .eye-l,
body.spa-platform #spa-ae-pose-breath:checked ~ .spa-about-character-visual .eye-r,
body.spa-platform #spa-ae-pose-breath:checked ~ .spa-about-character-visual .arm-wave,
body.spa-platform #spa-ae-pose-breath:checked ~ .spa-about-character-visual .sprout,
body.spa-platform #spa-ae-pose-breath:checked ~ .spa-about-character-visual .gaze{
  animation:none!important;
}
body.spa-platform #spa-ae-pose-wave:checked ~ .spa-about-character-visual .bob,
body.spa-platform #spa-ae-pose-wave:checked ~ .spa-about-character-visual .sway,
body.spa-platform #spa-ae-pose-wave:checked ~ .spa-about-character-visual .breathe,
body.spa-platform #spa-ae-pose-wave:checked ~ .spa-about-character-visual .eye-l,
body.spa-platform #spa-ae-pose-wave:checked ~ .spa-about-character-visual .eye-r,
body.spa-platform #spa-ae-pose-wave:checked ~ .spa-about-character-visual .sprout,
body.spa-platform #spa-ae-pose-wave:checked ~ .spa-about-character-visual .gaze,
body.spa-platform #spa-ae-pose-wave:checked ~ .spa-about-character-visual .cheek{
  animation:none!important;
}
body.spa-platform .spa-about-character-copy{min-width:0}
body.spa-platform .spa-about-character-copy .spa-kicker{margin:0 0 8px}
body.spa-platform .spa-about-character-copy h2{
  margin:0 0 8px!important;
  font-size:clamp(30px,3vw,40px)!important;
  letter-spacing:-.8px;
  color:#0B1F3A!important;
  line-height:1.2;
}
body.spa-platform .spa-about-character-role{
  margin:0 0 12px!important;
  font-size:17px!important;
  font-weight:700!important;
  color:#0B1F3A!important;
  line-height:1.45;
  word-break:keep-all;
}
body.spa-platform .spa-about-character-lead{
  margin:0 0 20px!important;
  font-size:15.5px!important;
  line-height:1.7!important;
  color:#3a4658!important;
  max-width:42em;
  word-break:keep-all;
}
body.spa-platform .spa-about-design-chips{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
body.spa-platform .spa-about-design-chip{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:14px 14px 14px 16px;
  border-radius:16px;
  border:1px solid rgba(11,31,58,.08);
  background:#F8FAFC;
  min-width:0;
  box-sizing:border-box;
}
body.spa-platform .spa-about-design-chip strong{
  font-size:14px;
  color:#0B1F3A;
  letter-spacing:-.2px;
}
body.spa-platform .spa-about-design-chip > span:last-child{
  font-size:12.5px;
  line-height:1.45;
  color:#3a4658;
  word-break:keep-all;
}
body.spa-platform .spa-about-design-chip-mark{
  width:28px;height:6px;border-radius:999px;margin-bottom:6px;
  display:block;
}
body.spa-platform .spa-about-design-chip-form .spa-about-design-chip-mark{
  background:linear-gradient(90deg,#C4A574,#8B7355);
}
body.spa-platform .spa-about-design-chip-tone .spa-about-design-chip-mark{
  background:linear-gradient(90deg,#C4A574,#9BC4A8);
}
body.spa-platform .spa-about-design-chip-signal .spa-about-design-chip-mark{
  background:linear-gradient(90deg,#0B1F3A,#00B8D9);
}
@media (max-width:980px){
  body.spa-platform .spa-about-character-inner{
    grid-template-columns:1fr!important;
    padding:22px 18px!important;
    gap:18px!important;
  }
  body.spa-platform .spa-about-character-visual{min-height:0;padding:10px}
  body.spa-platform .spa-about-character-svg,
  body.spa-platform .spa-about-character-img,
  body.spa-platform .spa-about-character .spa-character{
    width:min(260px,72vw)!important;
    max-width:260px!important;
  }
  body.spa-platform .spa-about-design-chips{grid-template-columns:1fr}
}
@media (max-width:390px){
  body.spa-platform .spa-about-character{padding:20px 0 24px!important}
  body.spa-platform .spa-about-character-inner{padding:18px 14px!important;border-radius:20px}
  body.spa-platform .spa-about-character-svg,
  body.spa-platform .spa-about-character-img{
    width:min(220px,78vw)!important;
    max-width:220px!important;
  }
  body.spa-platform .spa-about-pose-tab{padding:7px 10px;font-size:12px}
}


/* 0.1.22ae/ai — invites outer edges = sibling flush section (gutter only on section; no nested 48px) */
body.spa-platform .spa-main-flush > .spa-section.spa-home-invites,
body.spa-platform .spa-home-invites{
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
body.spa-platform .spa-home-invites-row{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  margin-inline:0!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
@media (max-width:980px){
  body.spa-platform .spa-home-invites-row{
    width:100%!important;
  }
}
@media (max-width:390px){
  body.spa-platform .spa-home-invites-row{
    width:100%!important;
  }
}
body.spa-platform .spa-home-invites a.spa-button.spa-home-invite-btn-cyan,
body.spa-platform .spa-home-invites .spa-home-invite-actions a.spa-home-invite-btn-cyan{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:14px 22px!important;
  border-radius:999px!important;
  box-sizing:border-box!important;
  font:700 15px Paperlogy,sans-serif!important;
  line-height:1.4!important;
  text-decoration:none!important;
  color:#0B1F3A!important;
  background:rgba(0,184,217,.14)!important;
  background-color:rgba(0,184,217,.14)!important;
  border:1.5px solid rgba(0,184,217,.55)!important;
  box-shadow:none!important;
  text-underline-offset:unset!important;
}
body.spa-platform .spa-home-invites a.spa-button.spa-home-invite-btn-cyan:hover,
body.spa-platform .spa-home-invites .spa-home-invite-actions a.spa-home-invite-btn-cyan:hover,
body.spa-platform .spa-home-invites a.spa-button.spa-home-invite-btn-cyan:focus-visible,
body.spa-platform .spa-home-invites .spa-home-invite-actions a.spa-home-invite-btn-cyan:focus-visible{
  color:#0B1F3A!important;
  background:rgba(0,184,217,.22)!important;
  background-color:rgba(0,184,217,.22)!important;
  border-color:#00B8D9!important;
  text-decoration:none!important;
  outline:none;
  box-shadow:0 0 0 3px rgba(0,184,217,.25)!important;
}


/* 0.1.22af — hero CTAs only: larger clearer type + airy padding (navy/white fills kept) */
body.spa-platform .spa-hero-bleed .spa-hero-actions > a.spa-button,
body.spa-platform .spa-hero-bleed .spa-hero-actions > a.spa-button.spa-button-ghost,
body.spa-platform .spa-hero-bleed .spa-hero-actions a.spa-button,
body.spa-platform .spa-hero-bleed .spa-hero-actions a.spa-button.spa-button-ghost{
  font-family:Paperlogy,sans-serif!important;
  font-size:17.5px!important;
  font-weight:700!important;
  font-style:normal!important;
  line-height:1.45!important;
  letter-spacing:0!important;
  -webkit-text-stroke:0!important;
  text-stroke:0!important;
  text-shadow:none!important;
  -webkit-font-smoothing:antialiased;
  padding:15px 28px!important;
  min-height:55px!important;
  height:auto!important;
  box-sizing:border-box!important;
  gap:8px!important;
  white-space:nowrap;
}
/* Primary navy fill (keep) */
body.spa-platform .spa-hero-bleed .spa-hero-actions > a.spa-button:not(.spa-button-ghost){
  color:#fff!important;
  background:#0B1F3A!important;
  background-color:#0B1F3A!important;
  border:1.5px solid #0B1F3A!important;
}
body.spa-platform .spa-hero-bleed .spa-hero-actions > a.spa-button:not(.spa-button-ghost):hover,
body.spa-platform .spa-hero-bleed .spa-hero-actions > a.spa-button:not(.spa-button-ghost):focus-visible{
  color:#fff!important;
  background:#12284A!important;
  background-color:#12284A!important;
  border-color:#12284A!important;
  text-shadow:none!important;
}
/* Secondary white fill (22aa contrast kept, type from above) */
body.spa-platform .spa-hero-bleed .spa-hero-actions > a.spa-button.spa-button-ghost,
body.spa-platform .spa-hero-bleed .spa-hero-actions a.spa-button.spa-button-ghost{
  color:#0B1F3A!important;
  background:#ffffff!important;
  background-color:#ffffff!important;
  border:1.5px solid #ffffff!important;
  text-shadow:none!important;
}
body.spa-platform .spa-hero-bleed .spa-hero-actions > a.spa-button.spa-button-ghost:hover,
body.spa-platform .spa-hero-bleed .spa-hero-actions > a.spa-button.spa-button-ghost:focus-visible{
  color:#0B1F3A!important;
  background:#F3F7FB!important;
  background-color:#F3F7FB!important;
  border-color:#0B1F3A!important;
  text-shadow:none!important;
}
@media (max-width:980px){
  body.spa-platform .spa-hero-bleed .spa-hero-actions > a.spa-button,
  body.spa-platform .spa-hero-bleed .spa-hero-actions > a.spa-button.spa-button-ghost{
    font-size:16px!important;
    line-height:1.45!important;
    letter-spacing:0!important;
    padding:13px 24px!important;
    min-height:50px!important;
    flex:0 1 auto!important;
    white-space:normal;
    max-width:100%;
  }
}
@media (max-width:390px){
  body.spa-platform .spa-hero-bleed .spa-hero-actions{
    gap:10px!important;
  }
  body.spa-platform .spa-hero-bleed .spa-hero-actions > a.spa-button,
  body.spa-platform .spa-hero-bleed .spa-hero-actions > a.spa-button.spa-button-ghost{
    font-size:16px!important;
    padding:12px 22px!important;
    min-height:50px!important;
    width:auto!important;
    max-width:100%!important;
  }
}


/* 0.1.22ag — about character sits after 04 card inside info column; keep brand card width */
body.spa-platform .spa-info-cards > .spa-about-character{
  margin:8px 0 0!important;
  padding:0!important;
  border-bottom:none!important;
  background:transparent!important;
  width:100%;
  box-sizing:border-box;
}
body.spa-platform .spa-info-cards > .spa-about-character .spa-about-character-shell{
  padding-left:0!important;
  padding-right:0!important;
  max-width:none!important;
}


/* 0.1.22ah — magazine topic pills: selected = hover look (URL spa_topic); scoped */
body.spa-platform .spa-main > .spa-tabs.spa-magazine-tabs a:hover,
body.spa-platform .spa-main > .spa-tabs.spa-magazine-tabs a:focus-visible,
body.spa-platform .spa-main > .spa-tabs.spa-magazine-tabs a.is-active,
body.spa-platform .spa-main > .spa-tabs.spa-magazine-tabs a[aria-current="page"]{
  background:rgba(0,184,217,.12)!important;
  border-color:var(--spa-cyan,#00B8D9)!important;
  color:#0B1F3A!important;
  font-weight:700!important;
  text-decoration:none!important;
  outline:none;
}
body.spa-platform .spa-main > .spa-tabs.spa-magazine-tabs a:focus-visible{
  box-shadow:0 0 0 3px rgba(0,184,217,.28)!important;
}
@media (max-width:390px){
  body.spa-platform .spa-main > .spa-tabs.spa-magazine-tabs{
    width:100%;
    gap:8px!important;
  }
  body.spa-platform .spa-main > .spa-tabs.spa-magazine-tabs a{
    min-height:44px!important;
  }
}

/* 0.1.22ai — invites edge: kill ad nested 48px at source; section/row pad-x 0 */

/* 0.1.22aj — copyright inside .spa-operator; same gutter/inner flow as operator p */
body.spa-platform .spa-operator .spa-copyright-note,
body.spa-platform .spa-footer .spa-operator .spa-copyright-note,
body.spa-platform .spa-closing .spa-operator .spa-copyright-note{
  display:block!important;
  margin:8px 0 0!important;
  padding:0!important;
  max-width:none!important;
  width:auto!important;
  box-sizing:border-box!important;
  font-size:12px!important;
  line-height:1.55!important;
  color:rgba(255,255,255,.55)!important;
  word-break:keep-all;
  overflow-wrap:anywhere;
  white-space:normal;
}


/* 0.1.22al — maker promo scoped; layout by CSS @media (bar default, float >=1920) */
.spa-maker-promo{
  --spa-maker-navy:#0B1F3A;
  --spa-maker-cyan:#22D3EE;
  z-index:48;
  box-sizing:border-box;
  font-family:Paperlogy,sans-serif;
  position:fixed;
  left:12px;
  right:12px;
  bottom:calc(12px + env(safe-area-inset-bottom,0px));
  width:auto;
  max-width:none;
}
.spa-maker-promo *,
.spa-maker-promo *::before,
.spa-maker-promo *::after{box-sizing:border-box;}
.spa-maker-promo__card{
  position:relative;
  background:var(--spa-maker-navy);
  color:#fff;
  border:1px solid rgba(34,211,238,.35);
  border-radius:14px;
  box-shadow:0 12px 36px rgba(7,22,40,.28);
  padding:12px 52px 12px 14px;
  width:100%;
  max-width:720px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px 12px;
  align-items:center;
}
.spa-maker-promo__close{
  position:absolute;top:4px;right:4px;
  width:44px;height:44px;min-width:44px;min-height:44px;
  margin:0;padding:0;border:0;border-radius:10px;
  background:transparent;color:#fff;cursor:pointer;
  font-size:22px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
}
.spa-maker-promo__close:hover,
.spa-maker-promo__close:focus-visible{
  background:rgba(255,255,255,.12);
  outline:2px solid var(--spa-maker-cyan);
  outline-offset:2px;
}
.spa-maker-promo__kicker{
  margin:0;
  font-size:11px;font-weight:700;letter-spacing:.02em;
  color:var(--spa-maker-cyan);line-height:1.4;
  grid-column:1;
}
.spa-maker-promo__title{
  margin:0;
  font-size:13px;font-weight:700;letter-spacing:-.02em;
  line-height:1.45;color:#fff;word-break:keep-all;
  grid-column:1;
}
.spa-maker-promo__cta{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;width:auto;padding:10px 14px;
  border-radius:999px;text-decoration:none;
  font:700 13px/1.35 Paperlogy,sans-serif;
  color:var(--spa-maker-navy)!important;
  background:#fff;border:1px solid #fff;
  word-break:keep-all;white-space:nowrap;
  grid-column:2;grid-row:1/span 2;
}
.spa-maker-promo__cta:hover,
.spa-maker-promo__cta:focus-visible{
  background:var(--spa-maker-cyan);
  border-color:var(--spa-maker-cyan);
  color:var(--spa-maker-navy)!important;
  outline:2px solid #fff;
  outline-offset:2px;
}
html.spa-maker-promo-bar-pad{
  padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))!important;
}
@media (max-width:480px){
  .spa-maker-promo__card{
    grid-template-columns:1fr;
    padding:12px 48px 12px 14px;
  }
  .spa-maker-promo__cta{
    grid-column:1;grid-row:auto;width:100%;white-space:normal;
  }
}
/* float card only when side margin enough */
@media (min-width:1920px){
  .spa-maker-promo{
    left:auto;right:24px;bottom:24px;
    width:252px;max-width:calc(100vw - 48px);
  }
  .spa-maker-promo__card{
    display:block;
    width:100%;max-width:none;margin:0;
    padding:16px 16px 14px;
    border-radius:16px;
  }
  .spa-maker-promo__kicker{margin:0 36px 6px 0;}
  .spa-maker-promo__title{margin:0 36px 12px 0;font-size:14px;}
  .spa-maker-promo__cta{display:inline-flex;width:100%;white-space:normal;}
  .spa-maker-promo__close{top:6px;right:6px;}
  html.spa-maker-promo-bar-pad{padding-bottom:0!important;}
}
