/* SUMI SITE v1.6 approved visual direction / v0.3 integration.
 * Deliberately scoped below .sumi-root to avoid changing SWELL admin and other sites.
 * No gradients, icon panels, stock hero photographs, or heavy card interfaces.
 */
body.sumi-theme {margin:0;padding:0;background:#fcfcfa}
.sumi-root {
  --sumi-blue:#244b6b;
  --sumi-blue-dark:#18324b;
  --sumi-ink:#20394e;
  --sumi-text:#344d61;
  --sumi-muted:#405569;
  --sumi-paper:#fcfcfa;
  --sumi-soft:#f0f3f5;
  --sumi-line:#d4dee4;
  color:var(--sumi-ink);background:var(--sumi-paper);
  font:400 16px/1.82 'Zen Kaku Gothic New','Hiragino Sans','Noto Sans JP',sans-serif;
  -webkit-font-smoothing:antialiased;min-width:320px;overflow-x:clip
}
.sumi-root *,.sumi-root *::before,.sumi-root *::after {box-sizing:border-box}
.sumi-root h1,.sumi-root h2,.sumi-root h3,.sumi-root h4,.sumi-root p {margin:0;color:inherit}
.sumi-root h1,.sumi-root h2,.sumi-root h3 {font-weight:700;letter-spacing:-.038em;line-height:1.45}
.sumi-root a {color:inherit;text-decoration:none}
.sumi-root a:hover {color:var(--sumi-blue)}
.sumi-root button,.sumi-root input,.sumi-root textarea,.sumi-root select {font:inherit}
.sumi-root img {max-width:100%;height:auto}
.sumi-root :focus-visible {outline:3px solid #367bac;outline-offset:3px}
.sumi-root [hidden] {display:none!important}
.sumi-wrap {width:min(1100px,calc(100% - 64px));margin:0 auto}
.sumi-skip {position:fixed;top:-110px;left:18px;z-index:1000;background:#fff;border:2px solid var(--sumi-blue);padding:12px 18px}
.sumi-skip:focus {top:12px}
.sumi-eyebrow {font:600 11px/1.5 Inter,Arial,sans-serif;color:#405e77!important;letter-spacing:.15em!important;margin:0 0 24px!important}
.sumi-btn {display:inline-flex;align-items:center;justify-content:space-between;gap:23px;padding:13px 22px;min-height:49px;min-width:176px;border:1px solid var(--sumi-blue);border-radius:2px;font-size:14px;font-weight:700;line-height:1.5;text-align:left;transition:background .16s ease,color .16s ease}
.sumi-btn--primary {background:var(--sumi-blue);color:#fff!important}
.sumi-btn--primary:hover {background:#163850;color:#fff!important}
.sumi-btn--outline {background:transparent;color:var(--sumi-blue)!important}
.sumi-btn--outline:hover {background:#edf3f6}
.sumi-btn--light {background:#fff;border-color:#fff;color:var(--sumi-blue)!important}
.sumi-btn--light:hover {background:#e9eef1;color:var(--sumi-blue)!important}
.sumi-text-link {display:inline-flex;align-items:center;justify-content:space-between;gap:20px;color:var(--sumi-blue)!important;font-size:13px;font-weight:700;border-bottom:1px solid #8ca5b8;padding-bottom:7px;width:max-content;max-width:100%}
.sumi-text-link:hover {color:#132f45!important;border-color:#132f45}
.sumi-header {height:78px;border-bottom:1px solid var(--sumi-line);background:rgba(255,255,255,.97);position:sticky;top:0;z-index:500;backdrop-filter:blur(12px)}
.sumi-header__inner {height:100%;width:min(1260px,calc(100% - 64px));margin:auto;display:flex;align-items:center;gap:25px}
.sumi-brand {flex:0 0 auto;display:flex;flex-direction:column;gap:5px;line-height:1.3;min-width:310px}
.sumi-brand strong {color:var(--sumi-blue-dark);font-size:15px;letter-spacing:.013em;font-weight:700}
.sumi-brand small {font:500 8px/1.2 Inter,Arial,sans-serif;color:#52677a;letter-spacing:.1em}
.sumi-nav {display:flex;align-items:center;justify-content:flex-end;gap:24px;flex:1}
.sumi-nav a {font-size:12px;font-weight:700;color:var(--sumi-text);white-space:nowrap}
.sumi-header__cta {display:inline-flex;justify-content:space-between;align-items:center;gap:16px;min-height:40px;padding:8px 15px;background:var(--sumi-blue);color:#fff!important;font-size:12px;font-weight:700;white-space:nowrap;border-radius:2px}
.sumi-header__cta:hover {background:#18364d;color:#fff!important}
.sumi-burger {display:none;border:1px solid #c4d1da;width:42px;height:42px;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:0;cursor:pointer}
.sumi-burger span {height:1.5px;width:18px;background:var(--sumi-blue-dark);display:block;transition:transform .2s ease,opacity .2s ease}
.sumi-burger[aria-expanded=true] span:first-child {transform:translateY(6.5px) rotate(45deg)}
.sumi-burger[aria-expanded=true] span:nth-child(2) {opacity:0}
.sumi-burger[aria-expanded=true] span:last-child {transform:translateY(-6.5px) rotate(-45deg)}
.sumi-mobile-menu {display:none}
.sumi-hero {background:var(--sumi-paper)}
.sumi-hero__inner {padding:119px 0 48px;min-height:530px;display:flex;flex-direction:column;align-items:flex-start}
.sumi-hero h1 {font-size:clamp(36px,4.4vw,62px);line-height:1.47;max-width:940px;color:var(--sumi-blue-dark);letter-spacing:-.055em;overflow-wrap:normal;word-break:keep-all}
.sumi-hero__lead {margin-top:22px!important;max-width:700px;color:var(--sumi-muted);font-size:15px;line-height:2.1}
.sumi-hero__actions {display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.sumi-hero__facts {width:100%;display:flex;flex-wrap:wrap;gap:12px 29px;border-top:1px solid var(--sumi-line);margin-top:auto;padding-top:24px;color:var(--sumi-muted);font-size:12px;line-height:1.7}
.sumi-hero__facts span {white-space:nowrap}
.sumi-section {padding:93px 0}
.sumi-section h2 {font-size:clamp(28px,2.9vw,41px);color:var(--sumi-blue-dark);line-height:1.54}
.sumi-section__intro {color:var(--sumi-muted);max-width:470px;font-size:14px;margin:20px 0 0!important;line-height:2}
.sumi-section-top {display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:36px}
.sumi-pricing {background:var(--sumi-soft)}
.sumi-pricing__layout {display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}
.sumi-pricing__details {min-width:0}
.sumi-pricing__details .sumi-tools-summary {margin:0;padding:0 0 23px;border:none;border-bottom:1px solid #cbd6dd;background:transparent}
.sumi-pricing__details .sumi-tools-summary .sumi-tools-eyebrow {margin-bottom:5px!important;color:var(--sumi-muted)!important;letter-spacing:.03em}
.sumi-pricing__details .sumi-tools-summary__amount {color:var(--sumi-blue)!important;font-size:clamp(35px,4vw,53px)!important;font-weight:600;line-height:1.25}
.sumi-pricing__details .sumi-tools-summary p:last-child {color:var(--sumi-text)!important;margin:8px 0 0!important;font-size:12px}
.sumi-pricing__details .sumi-tools__notice {color:var(--sumi-muted);font-size:14px}
.sumi-pricing__scope {padding:20px 0 24px}
.sumi-pricing__scope p {font-size:13px;color:var(--sumi-text);margin:0 0 11px!important;line-height:1.8}
.sumi-pricing__scope strong {color:var(--sumi-blue-dark)}
.sumi-services {background:#fff}
.sumi-service-list {border-top:1px solid var(--sumi-line)}
.sumi-service-list__row {display:grid;grid-template-columns:55px 1fr 1.65fr;gap:25px;align-items:baseline;border-bottom:1px solid var(--sumi-line);padding:27px 0}
.sumi-service-list__row>span {font:500 13px Inter,Arial,sans-serif;color:#52677a}
.sumi-service-list__row h3 {font-size:19px;letter-spacing:-.025em;color:var(--sumi-blue-dark)}
.sumi-service-list__row p {font-size:13px;color:var(--sumi-muted);line-height:1.9}
.sumi-flow {background:#f8f9f8}
.sumi-flow-list {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px;margin:0;padding:0;list-style:none}
.sumi-flow-list li {border-top:1px solid var(--sumi-line);padding-top:21px;display:flex;flex-direction:column;gap:9px;min-width:0}
.sumi-flow-list span {font:600 13px Inter,Arial,sans-serif;color:#52677a}
.sumi-flow-list strong {font-size:16px;color:var(--sumi-blue-dark);font-weight:700}
.sumi-flow-list p {font-size:12px;color:var(--sumi-muted)}
.sumi-flow__note {font-size:12px;color:var(--sumi-muted);margin-top:36px!important}
.sumi-office {background:#fff}
.sumi-office__layout {display:grid;grid-template-columns:1fr 1fr;gap:8%}
.sumi-office__body {padding-top:38px;color:var(--sumi-muted)}
.sumi-office__body p {margin:0 0 18px!important;line-height:2;font-size:14px}
.sumi-office__body .sumi-text-link {margin-top:15px}
.sumi-column {background:#f8f9f8}
.sumi-post-list {border-top:1px solid var(--sumi-line)}
.sumi-post-row {display:grid;grid-template-columns:120px 1fr 30px;align-items:center;gap:22px;padding:20px 0;border-bottom:1px solid var(--sumi-line)}
.sumi-post-row time {font:500 12px Inter,Arial,sans-serif;color:var(--sumi-muted)}
.sumi-post-row strong {font-size:14px;font-weight:500;color:var(--sumi-blue-dark);line-height:1.7}
.sumi-post-row > span {text-align:right;color:var(--sumi-blue)}
.sumi-final-cta {background:var(--sumi-blue);color:#fff;padding:60px 0}
.sumi-final-cta__inner {display:flex;align-items:center;justify-content:space-between;gap:40px}
.sumi-final-cta h2 {font-size:clamp(25px,3vw,36px);color:#fff}
.sumi-final-cta p:not(.sumi-eyebrow) {margin:12px 0 0!important;font-size:13px;color:#edf2f6;line-height:2}
.sumi-final-cta .sumi-eyebrow {color:#e0edf7!important}
.sumi-footer {background:#f1f4f6;color:var(--sumi-ink);padding:59px 0 25px}
.sumi-footer__main {display:flex;align-items:start;justify-content:space-between;gap:70px}
.sumi-footer__brand strong {font-size:16px;color:var(--sumi-blue-dark);font-weight:700}
.sumi-footer__brand p {font-size:12px;color:var(--sumi-text);margin-top:16px!important}
.sumi-footer__nav {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 25px}
.sumi-footer__nav a {font-size:12px;color:var(--sumi-text)}
.sumi-footer__related {display:flex;gap:28px;align-items:center;border-top:1px solid var(--sumi-line);margin-top:46px;padding-top:19px}
.sumi-footer__related span {font-size:12px;color:var(--sumi-muted);margin-right:10px}
.sumi-footer__related a {font-size:12px;font-weight:700;color:var(--sumi-blue)}
.sumi-footer__bottom {border-top:1px solid var(--sumi-line);margin-top:25px;padding-top:20px;color:var(--sumi-muted);font:400 11px Inter,'Zen Kaku Gothic New',sans-serif}
.sumi-page {padding:32px 0 110px;background:var(--sumi-paper);min-height:65vh}
.sumi-breadcrumb {display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:11px;color:var(--sumi-muted)}
.sumi-page__heading {padding:63px 0 35px;border-bottom:1px solid var(--sumi-line);margin-bottom:49px}
.sumi-page__heading h1 {font-size:clamp(29px,3.6vw,47px);color:var(--sumi-blue-dark)}
.sumi-prose {max-width:950px;margin:0 auto;color:var(--sumi-text);font-size:14px;line-height:2}
.sumi-prose p {margin:0 0 20px}
.sumi-prose h2 {color:var(--sumi-blue-dark);font-size:clamp(22px,2.3vw,30px);padding-top:37px;margin:37px 0 19px;border-top:1px solid var(--sumi-line)}
.sumi-prose h3 {color:var(--sumi-blue-dark);font-size:19px;margin:27px 0 10px}
.sumi-prose ul,.sumi-prose ol {padding-left:24px;margin:12px 0 23px}
.sumi-prose a:not(.sumi-tools-button) {color:var(--sumi-blue);text-decoration:underline;text-underline-offset:3px}
.sumi-prose .sumi-tools {margin-top:25px;margin-bottom:35px}
.sumi-prose .sumi-tools h2:first-child {margin-top:10px;padding-top:0;border-top:0}
.sumi-page .sumi-post-list {margin-top:20px}
.sumi-post__date {font-size:12px;color:var(--sumi-muted)}
.sumi-post__image {margin:18px 0}
.sumi-post__back {margin:35px 0}
.sumi-pagination {display:flex;justify-content:center;margin:35px 0}
.sumi-root .sumi-tools-tables table {width:100%}
/* Parent SWELL's generic white text rules must not leak into our calculators. */
.sumi-root .sumi-tools p,.sumi-root .sumi-tools td,.sumi-root .sumi-tools th,.sumi-root .sumi-tools label,.sumi-root .sumi-tools select,.sumi-root .sumi-tools input,.sumi-root .sumi-tools textarea {color:#263f54}
.sumi-root .sumi-tools-tables tbody strong,.sumi-root .sumi-tools-summary__amount {color:var(--sumi-blue)}
.sumi-root .sumi-tools-button {color:#fff!important}
@media (max-width:1130px) {
  .sumi-header__inner {width:calc(100% - 42px);gap:15px}
  .sumi-brand {min-width:275px}
  .sumi-nav {gap:15px}
  .sumi-nav a {font-size:11px}
}
@media (max-width:960px) {
  .sumi-header {height:70px}
  .sumi-nav {display:none}
  .sumi-header__cta {margin-left:auto}
  .sumi-burger {display:flex}
  .sumi-mobile-menu:not([hidden]) {display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;padding:10px 24px 25px;background:#fff;border-bottom:1px solid var(--sumi-line);box-shadow:0 10px 20px rgba(22,44,64,.08)}
  .sumi-mobile-menu a {font-size:14px;color:var(--sumi-blue-dark);padding:13px 2px;border-bottom:1px solid var(--sumi-line)}
  .sumi-mobile-menu .sumi-mobile-menu__cta {padding:14px 16px;background:var(--sumi-blue);color:#fff!important;text-align:center;margin-top:12px}
  .sumi-flow-list {grid-template-columns:repeat(2,1fr);gap:25px}
}
@media (max-width:680px) {
  .sumi-wrap {width:calc(100% - 36px)}
  .sumi-header__inner {width:calc(100% - 28px)}
  .sumi-brand {min-width:0}
  .sumi-brand strong {font-size:12px}
  .sumi-brand small {font-size:7px;letter-spacing:.045em}
  .sumi-header__cta {display:none}
  .sumi-burger {margin-left:auto;flex:none}
  .sumi-hero__inner {min-height:0;padding:69px 0 35px}
  .sumi-hero h1 {font-size:clamp(29px,7.6vw,39px);line-height:1.55;letter-spacing:-.065em;word-break:normal;overflow-wrap:anywhere}
  .sumi-hero__break {display:inline}
  .sumi-hero__lead {font-size:13px;margin-top:20px!important;line-height:2}
  .sumi-hero__lead br {display:none}
  .sumi-hero__actions {width:100%;display:grid;grid-template-columns:1fr;gap:10px;margin-top:27px}
  .sumi-btn {width:100%}
  .sumi-hero__facts {margin-top:37px;padding-top:19px;gap:7px 18px}
  .sumi-hero__facts span {font-size:11px}
  .sumi-section {padding:65px 0}
  .sumi-section h2 {font-size:28px;line-height:1.55}
  .sumi-section-top {display:block;margin-bottom:25px}
  .sumi-section-top .sumi-text-link {margin-top:18px}
  .sumi-pricing__layout,.sumi-office__layout {grid-template-columns:1fr;gap:25px}
  .sumi-pricing__scope {padding-top:18px}
  .sumi-service-list__row {grid-template-columns:32px 1fr;gap:7px 17px;padding:20px 0}
  .sumi-service-list__row>span {grid-row:span 2;padding-top:4px}
  .sumi-service-list__row h3 {font-size:17px}
  .sumi-service-list__row p {grid-column:2;font-size:12px}
  .sumi-flow-list {grid-template-columns:1fr;gap:15px}
  .sumi-flow-list li {display:grid;grid-template-columns:39px 1fr;gap:1px 15px;padding-top:15px}
  .sumi-flow-list li span {grid-row:span 2;padding-top:3px}
  .sumi-flow-list li p {grid-column:2}
  .sumi-flow__note {margin-top:21px!important}
  .sumi-office__body {padding-top:0}
  .sumi-post-row {grid-template-columns:1fr 20px;gap:2px 10px}
  .sumi-post-row time {grid-column:1}
  .sumi-post-row strong {grid-column:1;font-size:13px}
  .sumi-post-row>span {grid-column:2;grid-row:1 / span 2}
  .sumi-final-cta {padding:48px 0}
  .sumi-final-cta__inner {display:block}
  .sumi-final-cta__inner>.sumi-btn {margin-top:24px}
  .sumi-footer {padding:42px 0 22px}
  .sumi-footer__main {display:block}
  .sumi-footer__nav {margin-top:27px;gap:15px 12px}
  .sumi-footer__related {flex-wrap:wrap;gap:10px 20px;margin-top:33px}
  .sumi-footer__related span {width:100%}
  .sumi-page {padding:20px 0 70px}
  .sumi-page__heading {padding:43px 0 23px;margin-bottom:28px}
  .sumi-prose {font-size:13px}
}
@media (prefers-reduced-motion:reduce) {
  .sumi-root * {scroll-behavior:auto!important;animation-duration:0s!important;transition-duration:0s!important}
}
