/*
 * SUMI Warm Digital v1.2.0
 * Subtle temperature, genuine people, and reassuring contact information.
 * Works as the final cascade layer over v1.1.0. No new logos, stock photos,
 * icon packs, JS interactions or changes to pricing / contract terms.
 * Warm panels are intentional exceptions, not an all-site beige re-theme.
 */
.sumi-root {
  --sumi-v12-paper: #FAF8F4;
  --sumi-v12-paper-light: #FDFCFA;
  --sumi-v12-sand: #DED0BE;
  --sumi-v12-sand-line: #D4C4AE;
  --sumi-v12-ink: #1C3342;
  --sumi-v12-teal: #5E8F8C;
}
/* Original photo-free two-column hero; a warm light source replaces the cold white wash. */
.sumi-root .sumi-hero__atmosphere::after {
  background:linear-gradient(90deg,rgba(253,251,247,.96) 0%,rgba(253,251,248,.87) 36%,rgba(248,250,250,.30) 71%,rgba(255,255,255,.03) 100%);
}
.sumi-root .sumi-hero__aside {border-left-color:#8C9DA0;}
.sumi-root .sumi-hero__facts {border-top-color:#D8D8D1;}
/* Lower the temperature where a relationship starts, not where the calculator is used. */
.sumi-root .sumi-office--warm {
  background:var(--sumi-v12-paper);
  padding-top:85px;
  padding-bottom:89px;
  position:relative;
}
.sumi-root .sumi-office__layout {align-items:start;gap:clamp(35px,7vw,95px);}
.sumi-root .sumi-office__intro {position:relative;padding-left:23px;}
.sumi-root .sumi-office__intro::before {content:"";display:block;position:absolute;left:0;top:5px;bottom:5px;width:2px;background:#BCA991;}
.sumi-root .sumi-office__intro .sumi-eyebrow {color:#667C7A!important;}
.sumi-root .sumi-office__intro h2 {color:var(--sumi-v12-ink);}
.sumi-root .sumi-office__intro-note {
  margin:21px 0 0!important;max-width:420px;font-size:14px;line-height:1.9;color:#53636A;
}
.sumi-root .sumi-office__body {
  padding-top:0;border-top:0;max-width:510px;
}
.sumi-root .sumi-office__body>p {font-size:14px;line-height:1.95;color:#465C65;}
.sumi-root .sumi-office__representative {
  display:flex;align-items:center;gap:clamp(18px,3vw,37px);
  margin:27px 0 17px;padding:17px 0;
  border-top:1px solid var(--sumi-v12-sand-line);
  border-bottom:1px solid var(--sumi-v12-sand-line);
}
.sumi-root .sumi-office__representative-kicker {
  font:600 10px/1.55 Inter,Arial,sans-serif;
  color:#65746F;letter-spacing:.12em;flex:0 0 auto;
}
.sumi-root .sumi-office__representative-identity {display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.sumi-root .sumi-office__representative-identity strong {
  font-weight:700;font-size:18px;letter-spacing:-.02em;color:var(--sumi-v12-ink);
}
.sumi-root .sumi-office__representative-identity span {font-size:12px;color:#5C7278;}
.sumi-root .sumi-office .sumi-text-link {color:#244B6B!important;border-bottom-color:#8EA5AA;}
/* Replace the dark wall before inquiry with a softly lit invitation. */
.sumi-root .sumi-final-cta--warm,
.sumi-root .sumi-detail-contact-band {
  background:var(--sumi-v12-paper);
  border-top:1px solid #E8DFD3;
  border-bottom:1px solid #E8DFD3;
  color:var(--sumi-v12-ink);
}
.sumi-root .sumi-final-cta--warm {padding:60px 0 63px;}
.sumi-root .sumi-final-cta--warm .sumi-eyebrow,
.sumi-root .sumi-detail-contact-band .sumi-eyebrow {color:#577D78!important;}
.sumi-root .sumi-final-cta--warm h2,
.sumi-root .sumi-detail-contact-band h2 {color:var(--sumi-v12-ink);}
.sumi-root .sumi-final-cta--warm p:not(.sumi-eyebrow),
.sumi-root .sumi-detail-contact-band p:not(.sumi-eyebrow) {color:#51626A;}
.sumi-root .sumi-final-cta--warm .sumi-final-cta__copy {max-width:700px;}
.sumi-root .sumi-final-cta--warm .sumi-final-cta__reply {
  margin-top:20px!important;font-size:12px!important;color:#506B72!important;
  padding-left:12px;border-left:2px solid #B7A88F;
}
.sumi-root .sumi-final-cta--warm .sumi-btn--light,
.sumi-root .sumi-detail-contact-band .sumi-btn--light {
  background:#244B6B;color:#FFFFFF!important;border-color:#244B6B;
  flex:none;box-shadow:0 5px 13px rgba(31,64,86,.08);
}
.sumi-root .sumi-final-cta--warm .sumi-btn--light:hover,
.sumi-root .sumi-detail-contact-band .sumi-btn--light:hover {background:#193E5A;border-color:#193E5A;color:#FFFFFF!important;}
/* Trust page: naturally warm background, never an ungrounded stock portrait. */
.sumi-root .sumi-detail--about #about-professional {background:var(--sumi-v12-paper-light);}
.sumi-root .sumi-detail--about .sumi-detail-about__profile {border-top-color:#BCAA93;}
.sumi-root .sumi-detail--about .sumi-detail-about__credentials div {border-top-color:#DBD4C8;}
.sumi-root .sumi-detail--about .sumi-detail-about__credentials dt {color:#606D6A;}
/* Contact: a friendly but compact explanation alongside the existing plugin form. */
.sumi-root .sumi-detail--contact #contact-form {background:#FFFFFF;}
.sumi-root .sumi-detail--contact .sumi-detail-contact__aside {
  background:var(--sumi-v12-paper);border:1px solid #E5DACE;
  padding:clamp(23px,3.2vw,42px);border-radius:11px;
  align-self:start;
}
.sumi-root .sumi-detail--contact .sumi-detail-contact__aside h2 {color:var(--sumi-v12-ink);}
.sumi-root .sumi-detail--contact .sumi-detail-contact__policy {border-top-color:#D8C9B6;}
.sumi-root .sumi-detail--contact .sumi-detail-contact__form {background:#FBFCFC;border-color:#CDDCE0;}
.sumi-root .sumi-contact__quick-reply {
  font-size:12px!important;font-weight:600;color:#456F68!important;
  margin-top:9px!important;line-height:1.65;
}
/* Avoid warming functional flow graphics and the calculator; leave their contrast intact. */
@media(max-width:767px) {
  .sumi-root .sumi-hero__atmosphere::after {
    background:linear-gradient(90deg,rgba(253,251,248,.96),rgba(253,251,248,.80));
  }
  .sumi-root .sumi-office--warm {padding:60px 0 65px;}
  .sumi-root .sumi-office__intro {padding-left:18px;}
  .sumi-root .sumi-office__intro-note {font-size:13px;margin-top:14px!important;}
  .sumi-root .sumi-office__body {max-width:none;}
  .sumi-root .sumi-office__representative {gap:11px;justify-content:space-between;}
  .sumi-root .sumi-office__representative-identity {justify-content:flex-end;}
  .sumi-root .sumi-final-cta--warm {padding:52px 0 58px;}
  .sumi-root .sumi-final-cta--warm .sumi-final-cta__reply {font-size:11px!important;line-height:1.8;}
  .sumi-root .sumi-detail--contact .sumi-detail-contact__aside {
    padding:20px 18px;border:1px solid #E5DACE;
    order:1;
  }
  .sumi-root .sumi-detail--contact .sumi-detail-contact__form {order:0;}
  .sumi-root .sumi-contact__quick-reply {font-size:11px!important;}
}
@media(max-width:380px) {
  .sumi-root .sumi-office__representative {align-items:flex-start;flex-direction:column;gap:7px;}
  .sumi-root .sumi-office__representative-identity {justify-content:flex-start;}
}

/*
 * Editorial composition refinement after staff feedback, Oct 2026.
 * The problem is NOT square corners themselves: it is an uninterrupted rhythm
 * of enclosed boxes and consecutive sections. Keep boundaries on interactive
 * controls; show explanatory material with rules, typography, and timelines.
 */
.sumi-root .sumi-v09-home-price {
  background:#F0F5F6;
}
.sumi-root .sumi-v10-home-services {
  background:#FFFFFF;
  border-top:0;
}
.sumi-root .sumi-v07-home-flow {
  background:#F7F9F8;
  border-top:1px solid #E5ECEA;
}
.sumi-root .sumi-v08-home-operations {
  background:#FFFFFF;
  border-top:1px solid #E7EDEB;
}
.sumi-root .sumi-office--warm {background:#FAF8F4;}
.sumi-root .sumi-final-cta--warm {background:#F6F1E9;}
/* Give each primary subject a visual chapter break; avoid artificial 100vh
 * sections which would create blank screens and hurt small laptops. */
@media (min-width:768px) {
  .sumi-root .sumi-v09-home-price {padding-top:101px;padding-bottom:102px;}
  .sumi-root .sumi-v10-home-services {padding-top:106px;padding-bottom:111px;}
  .sumi-root .sumi-v07-home-flow {padding-top:100px;padding-bottom:108px;}
  .sumi-root .sumi-v08-home-operations {padding-top:105px;padding-bottom:111px;}
  .sumi-root .sumi-office--warm {padding-top:111px;padding-bottom:113px;}
  .sumi-root .sumi-final-cta--warm {padding-top:86px;padding-bottom:90px;}
}
/* One functional selection row, NOT three bordered marketing cards. */
.sumi-root .sumi-v10-selector__choices {
  border:0;
  border-top:1px solid #BDCFD1;
  border-bottom:1px solid #BDCFD1;
  border-radius:0;
  background:transparent;
  overflow:visible;
}
.sumi-root .sumi-v10-selector__choice {
  background:transparent;
  border-top:0;
  border-right:0;
  border-bottom:0;
  border-left:1px solid #D8E3E3;
  padding:19px 22px 21px;
  min-height:124px;
}
.sumi-root .sumi-v10-selector__choice:first-child {border-left:0;}
.sumi-root .sumi-v10-selector__choice.is-selected {
  background:rgba(94,143,140,.095);
  border-top:0;
  box-shadow:inset 0 3px 0 #5E8F8C;
}
.sumi-root .sumi-v10-selector__choice:hover:not(.is-selected) {
  background:rgba(255,255,255,.50);
}
.sumi-root .sumi-v10-selector__result {
  border:0;
  border-bottom:1px solid #C8D9D8;
  border-radius:0 0 8px 8px;
  background:rgba(255,255,255,.94);
  box-shadow:none;
  padding:30px 26px 27px;
}
/* Explanatory flow should feel like one continuous transaction, not a grid of cards. */
.sumi-root .sumi-v10-tax-flow__start {
  background:transparent;
  border-left:2px solid #AEC4CB;
}
.sumi-root .sumi-v10-tax-flow__branch {
  background:transparent;
  border-left:0;
  border-top:1px solid #C1D4D6;
  padding:13px 15px;
}
.sumi-root .sumi-v10-tax-flow__branch--office {
  background:rgba(94,143,140,.09);
  border-top:2px solid #5E8F8C;
  border-left:0;
}
.sumi-root .sumi-v10-tax-flow__check {
  border-top:1px solid #94BAB6;
}
.sumi-root .sumi-v10-tax-flow__end {
  border-radius:7px;
  background:#244B6B;
}
/* Timelines use rails and light row rules, not outlined rectangles. */
.sumi-root .sumi-v08-operations__board {
  border:0;
  border-top:2px solid #8FB6B0;
  border-radius:0;
  background:transparent;
  overflow:visible;
}
.sumi-root .sumi-v08-operations__legend>span:first-child,
.sumi-root .sumi-v08-operations__time {
  background:transparent;
}
.sumi-root .sumi-v08-operations__legend>span:nth-child(2) {
  background:rgba(255,255,255,.50);
}
.sumi-root .sumi-v08-operations__legend>span:nth-child(3) {
  background:rgba(94,143,140,.11);
}
.sumi-root .sumi-v08-operations__client {background:rgba(255,255,255,.45);}
.sumi-root .sumi-v08-operations__office {background:rgba(94,143,140,.065);}
/* Form controls need framing, but the explanatory sidebar needn't be a card. */
.sumi-root .sumi-detail--contact .sumi-detail-contact__aside {
  border:0;
  border-left:2px solid #C6AF94;
  border-radius:0;
  background:transparent;
  padding:7px 0 12px clamp(23px,3.2vw,42px);
}
.sumi-root .sumi-detail--contact #contact-form {
  background:#FBF9F6;
}
.sumi-root .sumi-detail-contact__form {
  background:#FFFFFF;
  border:1px solid #D4E0E3;
  border-radius:9px;
}
/* On mobile, cards become lightly separated list choices. The active choice
 * remains visually obvious and each full-width row stays a genuine button. */
@media(max-width:767px) {
  .sumi-root .sumi-v09-home-price {padding-top:67px;padding-bottom:75px;}
  .sumi-root .sumi-v10-home-services {padding-top:75px;padding-bottom:80px;}
  .sumi-root .sumi-v07-home-flow {padding-top:73px;padding-bottom:79px;}
  .sumi-root .sumi-v08-home-operations {padding-top:74px;padding-bottom:80px;}
  .sumi-root .sumi-office--warm {padding-top:75px;padding-bottom:80px;}
  .sumi-root .sumi-final-cta--warm {padding-top:66px;padding-bottom:73px;}
  .sumi-root .sumi-v10-selector__choices {border-radius:0;}
  .sumi-root .sumi-v10-selector__choice {
    min-height:80px;
    border-left:0;
    border-bottom:1px solid #D9E4E3;
    box-shadow:none;
    padding:15px 18px;
  }
  .sumi-root .sumi-v10-selector__choice:last-child {border-bottom:0;}
  .sumi-root .sumi-v10-selector__choice.is-selected {
    border-left:3px solid #5E8F8C;
    padding-left:15px;
    box-shadow:none;
  }
  .sumi-root .sumi-v10-selector__result {border-radius:0 0 7px 7px;padding:24px 19px;}
  .sumi-root .sumi-v10-tax-flow__branch--office {border-left:0;}
  .sumi-root .sumi-v08-operations__board {border-top:2px solid #8FB6B0;}
  .sumi-root .sumi-v08-operations__client {background:rgba(255,255,255,.62);}
  .sumi-root .sumi-v08-operations__office {background:rgba(94,143,140,.09);}
  .sumi-root .sumi-detail--contact .sumi-detail-contact__aside {
    border:0;
    border-top:2px solid #C6AF94;
    padding:21px 0 0;
    border-radius:0;
  }
  .sumi-root .sumi-detail--contact #contact-form {padding-top:46px;}
}
