/* News and sharing: final brand colors, no transport or content changes. */
body.takumi-blue .takumi-notices-hero{position:relative;isolation:isolate;overflow:hidden;color:var(--tb-ink);background:linear-gradient(115deg,#fff 38%,#F3F6FC);border-bottom:1px solid var(--tb-line)}
body.takumi-blue .takumi-notices-hero__inner{position:relative;z-index:2;width:min(100%,1280px);padding:36px 40px 58px}
body.takumi-blue .takumi-notices-hero .takumi-breadcrumb{color:var(--tb-muted);font:400 12px/1.8 var(--tb-sans);margin-bottom:36px;gap:10px;min-width:0}
body.takumi-blue .takumi-notices-hero .takumi-breadcrumb a{color:var(--tb-brand);flex-shrink:0}
body.takumi-blue .takumi-notices-hero .takumi-breadcrumb span[aria-current]{min-width:0}
body.takumi-blue .takumi-notices-hero__inner>span{color:var(--tb-brand);font:500 10px/1.8 var(--tb-sans);letter-spacing:.16em}
body.takumi-blue .takumi-notices-hero h1{max-width:1050px;margin:18px 0;font:500 clamp(28px,3.5vw,48px)/1.65 var(--tb-serif);letter-spacing:.01em;overflow-wrap:anywhere;text-wrap:pretty}
body.takumi-blue .takumi-notices-hero p{margin:18px 0 0;color:var(--tb-text);font:400 15px/1.9 var(--tb-sans)}
body.takumi-blue .takumi-notices-hero time{display:inline-block;margin-top:12px;color:var(--tb-muted);font:400 12px/1.8 var(--tb-sans)}
body.takumi-blue .takumi-notices-hero__signal{width:56px;height:1px;margin-top:30px;background:var(--tb-brand)}
body.takumi-blue .takumi-notices-hero__signal::before,body.takumi-blue .takumi-notices-hero__signal i{display:none}
body.takumi-blue .takumi-notices-hero--background{background:var(--tb-ink);color:#fff;min-height:390px}
body.takumi-blue .takumi-notices-hero--background::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(110deg,rgba(12,24,54,.82),rgba(12,24,54,.76));pointer-events:none}
body.takumi-blue .takumi-notices-hero__image{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
body.takumi-blue .takumi-notices-hero--background .takumi-notices-hero__inner{min-height:390px;padding-bottom:66px}
body.takumi-blue .takumi-notices-hero--background :is(h1,time,.takumi-breadcrumb,.takumi-breadcrumb a,.takumi-breadcrumb span),body.takumi-blue .takumi-notices-hero--background .takumi-notices-hero__inner>span{color:#fff}
body.takumi-blue .takumi-notices-hero--background a:focus-visible{outline-color:#fff}
body.takumi-blue .takumi-notices-hero--background .takumi-notices-hero__signal{background:#fff}
body.takumi-blue .takumi-notices-layout{width:min(100%,1280px);padding:48px 40px 64px}
body.takumi-blue .takumi-notice-archive-list{border-top:1px solid var(--tb-line)}
body.takumi-blue .takumi-notice-archive-list li{border-color:var(--tb-line)}
body.takumi-blue .takumi-notice-archive-list a{color:var(--tb-ink);padding-block:26px}
body.takumi-blue .takumi-notice-archive-list a:hover{background:var(--tb-surface)}
body.takumi-blue .takumi-notice-archive-list :is(b,i){color:var(--tb-brand);font-weight:500}
body.takumi-blue .takumi-notice-archive-list strong{font:500 16px/1.8 var(--tb-sans);letter-spacing:0}
body.takumi-blue .takumi-notice-archive-list :is(time,small){color:var(--tb-muted);font-weight:400}
body.takumi-blue .takumi-article-share{border-color:var(--tb-line);gap:18px;padding:22px 0;background:#fff}
body.takumi-blue .takumi-article-share__heading{gap:6px}
body.takumi-blue .takumi-article-share__heading small{color:var(--tb-brand);font:500 9px/1.7 var(--tb-sans);letter-spacing:.14em}
body.takumi-blue .takumi-article-share__heading strong{color:var(--tb-ink);font:500 14px/1.7 var(--tb-sans);letter-spacing:0}
body.takumi-blue .takumi-article-share__actions{gap:8px}
body.takumi-blue .takumi-article-share__button{gap:8px;min-height:44px;padding:9px 12px;background:#fff;border:1px solid var(--tb-line);color:var(--tb-brand);font:500 12px/1.6 var(--tb-sans);border-radius:2px;transform:none;box-shadow:none}
body.takumi-blue .takumi-article-share__icon{width:22px;height:22px;flex-basis:22px;background:transparent;color:currentColor}
body.takumi-blue .takumi-article-share__icon svg{width:18px;height:18px}
body.takumi-blue .takumi-article-share__icon--line .takumi-share-icon__cutout{stroke:#fff}
body.takumi-blue .takumi-article-share__button:hover,body.takumi-blue .takumi-article-share__button.is-copied{border-color:var(--tb-brand);background:var(--tb-brand);color:#fff;transform:none}
body.takumi-blue .takumi-article-share__button:hover .takumi-share-icon__cutout,body.takumi-blue .takumi-article-share__button.is-copied .takumi-share-icon__cutout{stroke:var(--tb-brand)}
body.takumi-blue .takumi-article-share__button:focus-visible{outline:2px solid var(--tb-brand);outline-offset:3px}
body.takumi-blue .takumi-article-share__status{color:var(--tb-muted);font:400 12px/1.8 var(--tb-sans)}
body.takumi-blue .tb-room-news{margin:0 0 16px;padding:4px 16px;border:1px solid var(--tb-line);background:var(--tb-surface);font-family:var(--tb-sans);color:var(--tb-text)}
body.takumi-blue .tb-room-news>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;color:var(--tb-ink);cursor:pointer;list-style:none}
body.takumi-blue .tb-room-news>summary::-webkit-details-marker{display:none}
body.takumi-blue .tb-room-news>summary>span:first-child{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:500}
body.takumi-blue .tb-room-news>summary svg{width:21px;height:21px;flex-shrink:0;color:var(--tb-brand)}
body.takumi-blue .tb-room-news__chevron{color:var(--tb-brand);font-size:18px;transition:transform .2s}
body.takumi-blue .tb-room-news[open] .tb-room-news__chevron{transform:rotate(180deg)}
body.takumi-blue .tb-room-news>p{margin:8px 0 12px;color:var(--tb-muted);font-size:12px;line-height:1.8}
body.takumi-blue .tb-room-news ul{margin:0;padding:0;list-style:none}
body.takumi-blue .tb-room-news li{border-top:1px solid var(--tb-line)}
body.takumi-blue .tb-room-news li a{display:grid;grid-template-columns:minmax(0,1fr) 16px;gap:4px 8px;min-height:44px;padding:12px 0;color:var(--tb-ink);font-size:13px;line-height:1.7;text-decoration:none}
body.takumi-blue .tb-room-news time{grid-column:1/-1;color:var(--tb-muted);font-size:11px}
body.takumi-blue .tb-room-news li a>span[aria-hidden]{color:var(--tb-brand)}
body.takumi-blue .tb-room-news a:hover{color:var(--tb-brand);text-decoration:underline;text-underline-offset:4px}
body.takumi-blue .tb-room-news__all{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-top:8px;padding-top:12px;border-top:1px solid var(--tb-line);color:var(--tb-brand);font-size:13px}
@media(max-width:1279px){body.takumi-blue .tb-room-news{margin-top:12px;padding:4px 16px;background:#fff;border:1px solid var(--tb-line)}body.takumi-blue .tb-room-news>summary>span:first-child{font-size:13px}}
@media(max-width:760px){body.takumi-blue .takumi-notices-hero__inner{padding:26px 24px 36px}body.takumi-blue .takumi-notices-hero .takumi-breadcrumb{margin-bottom:28px;font-size:10px;gap:6px}body.takumi-blue .takumi-notices-hero--background,body.takumi-blue .takumi-notices-hero--background .takumi-notices-hero__inner{min-height:340px}body.takumi-blue .takumi-notices-hero--background .takumi-notices-hero__inner{padding-bottom:38px}body.takumi-blue .takumi-notices-hero h1{font-size:clamp(26px,6.5vw,34px)}body.takumi-blue .takumi-notices-hero p{font-size:14px}body.takumi-blue .takumi-notices-layout{padding:32px 24px 44px}body.takumi-blue .takumi-notice-archive-list strong{font-size:14px}body.takumi-blue .takumi-article-share{grid-template-columns:1fr;gap:14px}body.takumi-blue .takumi-article-share__button{justify-content:flex-start;min-width:0}body.takumi-blue .takumi-article-share__actions>button:last-child{justify-content:center}}
@media(prefers-reduced-motion:reduce){body.takumi-blue .tb-room-news__chevron{transition:none}}
@media(forced-colors:active){body.takumi-blue .takumi-article-share__button{border-color:ButtonText}body.takumi-blue .takumi-notices-hero--background::after{background:Canvas;opacity:.95}body.takumi-blue .takumi-notices-hero--background :is(h1,time,a,span){color:CanvasText}}

/* 2.0.26: approved 01/02/03 public-document concepts. Native content/forms stay intact. */
body.takumi-blue .takumi-page { background: #fff; color: var(--tb-text); }
body.takumi-blue .takumi-page .takumi-page-hero { background: #fff; border-bottom: 1px solid var(--tb-line); }
body.takumi-blue .takumi-page .takumi-page-hero__inner { padding-block: 30px 40px; }
body.takumi-blue .takumi-page .takumi-breadcrumb { margin-bottom: 32px; color: var(--tb-muted); font: 400 12px/1.8 var(--tb-sans); }
body.takumi-blue .takumi-page .takumi-page-hero__inner > span { color: var(--tb-brand); font: 500 11px/1.8 var(--tb-sans); letter-spacing: .12em; }
body.takumi-blue .takumi-page .takumi-page-hero h1 { margin-block: 16px 24px; color: var(--tb-ink); font: 500 clamp(30px,3.8vw,50px)/1.55 var(--tb-serif); letter-spacing: -.025em; overflow-wrap: anywhere; }
body.takumi-blue .takumi-page .takumi-page-hero__signal { width: 56px; height: 1px; background: var(--tb-brand); }
body.takumi-blue .takumi-page .takumi-page-hero__signal::before,
body.takumi-blue .takumi-page .takumi-page-hero__signal::after,
body.takumi-blue .takumi-page .takumi-page-hero__signal i { display: none; }
body.takumi-blue .tb-information-page .takumi-page-hero__inner,
body.takumi-blue .tb-information-page .takumi-page-layout { max-width: 1040px; margin-inline: auto; }
body.takumi-blue .tb-contact-page .takumi-page-hero__inner,
body.takumi-blue .tb-contact-page .takumi-page-layout { max-width: 1200px; }
body.takumi-blue .tb-information-page .takumi-page-layout { padding-block: 38px 64px; }
/* These legacy documents repeat the same page title in their stored body. */
body.takumi-blue .tb-information-page .takumi-content > h1 { display: none; }
body.takumi-blue .takumi-page .takumi-content { color: var(--tb-text); font: 400 16px/1.95 var(--tb-sans); overflow-wrap: anywhere; }
body.takumi-blue .takumi-page .takumi-content > :is(p,ul,ol) { font-size: 16px; line-height: 1.95; }
body.takumi-blue .takumi-page .takumi-content > h2 { position: relative; margin: 42px 0 20px; padding: 0 0 14px 20px; border: 0; border-bottom: 1px solid var(--tb-line); background: #fff; color: var(--tb-ink); font: 600 clamp(20px,2.1vw,26px)/1.65 var(--tb-sans); letter-spacing: 0; }
body.takumi-blue .takumi-page .takumi-content > h2::before { content: ""; position: absolute; left: 0; top: .28em; width: 3px; height: 1.15em; background: var(--tb-brand); }
body.takumi-blue .takumi-page .takumi-content > h3 { margin: 30px 0 12px; color: var(--tb-ink); font: 600 19px/1.7 var(--tb-sans); }
body.takumi-blue .takumi-page .takumi-content > :is(ol,ul) { padding-left: 1.8em; margin-block: 14px 28px; }
body.takumi-blue .takumi-page .takumi-content > :is(ol,ul) > li { padding-left: .35em; margin-block: 8px; }
body.takumi-blue .takumi-page .takumi-content > :is(ol,ul) > li::marker { color: var(--tb-brand); }
body.takumi-blue .takumi-page .takumi-content a { color: var(--tb-brand); text-underline-offset: 4px; overflow-wrap: anywhere; }
body.takumi-blue .takumi-page .takumi-content a:hover { color: var(--tb-hover); }
body.takumi-blue .takumi-page .takumi-content > table { width: 100%; margin: 26px 0; border: 1px solid var(--tb-line); border-collapse: collapse; table-layout: fixed; box-shadow: none; }
body.takumi-blue .takumi-page .takumi-content > table :is(th,td) { padding: 22px 24px; border: 1px solid var(--tb-line); vertical-align: top; text-align: left; color: var(--tb-text); font: 400 15px/1.95 var(--tb-sans); overflow-wrap: anywhere; }
body.takumi-blue .takumi-page .takumi-content > table th { width: 26%; background: var(--tb-tint); color: var(--tb-ink); font-weight: 600; }
body.takumi-blue .takumi-page .takumi-content > table td,
body.takumi-blue .takumi-page .takumi-content > table tr:nth-child(even) td { background: #fff; }
body.takumi-blue .takumi-page :is(.takumi-legal-notice,.takumi-contact-intro) { padding: 20px 24px; border: 1px solid var(--tb-line); border-left: 3px solid var(--tb-brand); background: var(--tb-surface); color: var(--tb-text); box-shadow: none; }
body.takumi-blue .takumi-page .takumi-contact-intro strong { color: var(--tb-ink); font: 600 17px/1.8 var(--tb-sans); }
body.takumi-blue .takumi-page .takumi-contact-intro p { font: 400 15px/1.9 var(--tb-sans); }
body.takumi-blue .takumi-page .takumi-contact-route { gap: 20px; margin: 28px 0 36px; }
body.takumi-blue .takumi-page .takumi-contact-route > div { display: grid; align-content: start; grid-template-columns: 44px minmax(0,1fr); gap: 12px 18px; padding: 26px; border: 1px solid var(--tb-line); border-radius: 2px; background: #fff; }
body.takumi-blue .takumi-page .takumi-contact-route > div::before { content: ""; grid-column: 1; grid-row: 1 / span 2; width: 36px; height: 36px; margin-top: 2px; background: var(--tb-brand); mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M3 4h18v13H9l-5 4v-4H3zM7 8h10M7 12h7'/%3E%3C/svg%3E") center / contain no-repeat; }
body.takumi-blue .takumi-page .takumi-contact-route > div:nth-child(2)::before { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M6 3h8l4 4v14H6zM14 3v5h4M9 12h6m-6 4h6'/%3E%3C/svg%3E"); }
body.takumi-blue .takumi-page .takumi-contact-route :is(b,p) { grid-column: 2; margin: 0; }
body.takumi-blue .takumi-page .takumi-contact-route p:empty { display: none; }
body.takumi-blue .takumi-page .takumi-contact-route p:has(> a:only-child) { grid-column: 1/-1; }
body.takumi-blue .takumi-page .takumi-contact-route b { color: var(--tb-ink); font: 600 18px/1.75 var(--tb-sans); }
body.takumi-blue .takumi-page .takumi-contact-route p { color: var(--tb-text); font: 400 14px/1.9 var(--tb-sans); }
body.takumi-blue .takumi-page .takumi-contact-route a { grid-column: 1/-1; display: inline-flex; align-items: center; justify-content: center; justify-self: start; min-height: 48px; margin-top: 8px; padding: 10px 20px; border: 1px solid var(--tb-brand); border-radius: 1px; background: #fff; color: var(--tb-brand); font: 500 14px/1.8 var(--tb-sans); text-decoration: none; box-shadow: none; transform: none; }
body.takumi-blue .takumi-page .takumi-contact-route a:hover { background: var(--tb-tint); }
body.takumi-blue .tb-contact-page .takumi-content > h2 { margin-bottom: 0; padding: 26px 30px 12px; border: 0; background: var(--tb-surface); font-size: 24px; }
body.takumi-blue .tb-contact-page .takumi-content > h2::before { display: none; }
body.takumi-blue .tb-contact-page .takumi-content > h2 + p { margin: 0; padding: 0 30px 8px; background: var(--tb-surface); font-size: 14px; }
body.takumi-blue .tb-contact-page .takumi-contact-form { margin-top: 0; padding: 24px 30px 30px; border: 0; background: var(--tb-surface); }
/* CF7 wraps the original five labels in one paragraph; do not rebuild inputs. */
body.takumi-blue .tb-contact-page .takumi-contact-form > p:first-child { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin: 0; }
body.takumi-blue .tb-contact-page .takumi-contact-form > p:first-child > br,
body.takumi-blue .tb-contact-page .takumi-contact-form > p:first-child > label > br { display: none; }
body.takumi-blue .tb-contact-page .takumi-contact-form > p:first-child > label:nth-of-type(n+3) { grid-column: 1/-1; }
body.takumi-blue .tb-contact-page .takumi-contact-form > label,
body.takumi-blue .tb-contact-page .takumi-contact-form > p > label { min-width: 0; margin: 0; gap: 10px; color: var(--tb-ink); font: 500 15px/1.75 var(--tb-sans); }
body.takumi-blue .tb-contact-page .takumi-contact-form > label + label { margin-top: 24px; }
body.takumi-blue .tb-contact-page .takumi-contact-form .takumi-contact-required { margin: 0; padding: 1px 7px; border: 1px solid #D69A97; border-radius: 1px; background: #fff; color: var(--tb-danger); font: 500 11px/1.6 var(--tb-sans); }
body.takumi-blue .tb-contact-page .takumi-contact-form :is(input:not([type="checkbox"]):not([type="submit"]):not([type="hidden"]),select,textarea) { width: 100%; min-width: 0; min-height: 48px; padding: 12px 14px; border: 1px solid #BCCBE0; border-radius: 2px; background: #fff; color: var(--tb-ink); font: 400 16px/1.6 var(--tb-sans); box-shadow: none; }
body.takumi-blue .tb-contact-page .takumi-contact-form textarea { height: 180px; min-height: 180px; resize: vertical; }
body.takumi-blue .tb-contact-page .takumi-contact-form :is(input,select,textarea):focus { border-color: var(--tb-brand); outline: 2px solid var(--tb-brand); outline-offset: 2px; }
body.takumi-blue .tb-contact-page .takumi-contact-form .wpcf7-acceptance label { min-height: 44px; margin: 26px 0 16px; gap: 12px; color: var(--tb-ink); font: 400 14px/1.85 var(--tb-sans); }
body.takumi-blue .tb-contact-page .takumi-contact-form .wpcf7-acceptance input { flex: 0 0 20px; width: 20px; height: 20px; min-height: 20px; margin-top: 3px; padding: 0; accent-color: var(--tb-brand); cursor: pointer; }
body.takumi-blue .tb-contact-page .takumi-contact-form .wpcf7-acceptance a { color: var(--tb-brand); }
body.takumi-blue .tb-contact-page .takumi-contact-form__note { padding: 0; margin: 0 0 22px; border: 0; background: transparent; color: var(--tb-muted); font: 400 12px/1.9 var(--tb-sans); }
body.takumi-blue .tb-contact-page .takumi-contact-form > p:last-child { margin: 0; text-align: right; }
body.takumi-blue .tb-contact-page .takumi-contact-form input[type="submit"] { width: auto; min-width: 240px; max-width: 100%; min-height: 52px; padding: 13px 28px; border: 1px solid var(--tb-brand); border-radius: 1px; background: var(--tb-brand-gradient); color: #fff; font: 500 16px/1.6 var(--tb-sans); box-shadow: none; transform: none; cursor: pointer; }
body.takumi-blue .tb-contact-page .takumi-contact-form input[type="submit"]:hover:not(:disabled) { background: var(--tb-hover); }
body.takumi-blue .tb-contact-page .takumi-contact-form input[type="submit"]:disabled { opacity: .55; cursor: not-allowed; }
body.takumi-blue .tb-contact-page .takumi-contact-form .wpcf7-spinner { margin-inline: 12px 0; }
body.takumi-blue .tb-contact-page .wpcf7-not-valid-tip { margin-top: 8px; color: var(--tb-danger); font: 500 13px/1.8 var(--tb-sans); }
body.takumi-blue .tb-contact-page .wpcf7-response-output { color: var(--tb-ink); background: #fff; font: 400 14px/1.85 var(--tb-sans); }
body.takumi-blue .tb-document-related { grid-column: 1/-1; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 38px; padding: 18px 22px; border-block: 1px solid var(--tb-line); background: var(--tb-surface); }
body.takumi-blue .tb-document-related > strong { display: flex; align-items: center; gap: 12px; color: var(--tb-ink); font: 500 14px/1.7 var(--tb-sans); }
body.takumi-blue .tb-document-related > strong svg { color: var(--tb-brand); }
body.takumi-blue .tb-document-related ul { display: flex; flex: 1; flex-wrap: wrap; gap: 6px 20px; padding: 0; margin: 0; list-style: none; }
body.takumi-blue .tb-document-related li { min-width: 0; }
body.takumi-blue .tb-document-related a { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; padding: 6px 0; color: var(--tb-brand); font: 400 13px/1.8 var(--tb-sans); text-decoration: none; }
body.takumi-blue .tb-document-related a:hover { text-decoration: underline; text-underline-offset: 4px; }
/* Reuse the approved light notice / outline action on remaining public cards. */
body.takumi-blue .srp-proposal-main .srp-message-only-card { padding: 20px; border: 1px solid var(--tb-line); border-left: 3px solid var(--tb-brand); background: var(--tb-surface); color: var(--tb-text); box-shadow: none; }
body.takumi-blue .srp-proposal-main .srp-message-only-card > span { display: flex; align-items: center; gap: 10px; color: var(--tb-ink); font: 500 14px/1.8 var(--tb-sans); }
body.takumi-blue .srp-proposal-main .srp-message-only-card svg { flex: 0 0 22px; width: 22px; height: 22px; color: var(--tb-brand); }
body.takumi-blue .srp-proposal-main .srp-message-only-card p { margin: 12px 0 0; color: var(--tb-text); font: 400 13px/1.9 var(--tb-sans); }
body.takumi-blue .srp-proposal-main .srp-image-device-open { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; max-width: calc(100% - 24px); padding: 10px 18px; border: 1px solid var(--tb-line); border-radius: 1px; background: #fff; color: var(--tb-brand); font: 500 13px/1.7 var(--tb-sans); box-shadow: none; transform: none; }
body.takumi-blue .srp-proposal-main .srp-image-device-open:hover { background: var(--tb-tint); border-color: var(--tb-brand); color: var(--tb-brand); }
body.takumi-blue .tpp .tpp-cap-example { padding: 22px 24px; border: 1px solid var(--tb-line); border-left: 3px solid var(--tb-brand); background: var(--tb-surface); color: var(--tb-text); box-shadow: none; }
body.takumi-blue .tpp .tpp-cap-example b { color: var(--tb-ink); font: 600 17px/1.8 var(--tb-sans); }
body.takumi-blue .tpp .tpp-cap-example span { color: var(--tb-text); font: 400 14px/1.9 var(--tb-sans); }
body.takumi-blue .takumi-capabilities-page .takumi-capability-article__thumb { background: #fff; }
@media(max-width:760px) {
  body.takumi-blue .takumi-page .takumi-page-hero__inner { padding: 24px 20px 30px; }
  body.takumi-blue .takumi-page .takumi-breadcrumb { margin-bottom: 24px; font-size: 10px; }
  body.takumi-blue .takumi-page .takumi-page-hero h1 { font-size: clamp(27px,7.5vw,38px); margin-block: 12px 20px; }
  body.takumi-blue .tb-information-page .takumi-page-layout { padding: 28px 20px 44px; }
  body.takumi-blue .takumi-page .takumi-content > h2 { margin-top: 32px; padding-left: 15px; font-size: 20px; }
  body.takumi-blue .takumi-page .takumi-content > :is(p,ul,ol) { font-size: 15px; }
  body.takumi-blue .takumi-page .takumi-contact-route { grid-template-columns: 1fr; gap: 14px; }
  body.takumi-blue .takumi-page .takumi-contact-route > div { padding: 20px; gap: 10px 12px; grid-template-columns: 32px minmax(0,1fr); }
  body.takumi-blue .takumi-page .takumi-contact-route > div::before { width: 28px; height: 28px; }
  body.takumi-blue .takumi-page .takumi-contact-route b { font-size: 16px; }
  body.takumi-blue .takumi-page .takumi-contact-route a { justify-self: stretch; }
  body.takumi-blue .tb-contact-page .takumi-content > h2 { padding: 22px 18px 12px; font-size: 21px; }
  body.takumi-blue .tb-contact-page .takumi-content > h2 + p { padding: 0 18px 8px; font-size: 13px; }
  body.takumi-blue .tb-contact-page .takumi-contact-form { padding: 20px 18px 24px; }
  body.takumi-blue .tb-contact-page .takumi-contact-form > p:first-child { grid-template-columns: 1fr; gap: 24px; }
  body.takumi-blue .tb-contact-page .takumi-contact-form input[type="submit"] { width: 100%; min-width: 0; font-size: 15px; }
  body.takumi-blue .tb-contact-page .takumi-contact-form .wpcf7-spinner { display: block; margin: 12px auto 0; }
  body.takumi-blue .tb-document-related { display: block; padding: 18px; }
  body.takumi-blue .tb-document-related ul { display: block; margin-top: 10px; }
  body.takumi-blue .tb-document-related li { border-top: 1px solid var(--tb-line); }
}
@media(max-width:620px) {
  body.takumi-blue .takumi-page .takumi-content > table { display: block; overflow: visible; border: 0; box-shadow: none; }
  body.takumi-blue .takumi-page .takumi-content > table :is(tbody,tr,th,td) { display: block; width: 100%; }
  body.takumi-blue .takumi-page .takumi-content > table tr { margin-bottom: 12px; border: 1px solid var(--tb-line); }
  body.takumi-blue .takumi-page .takumi-content > table :is(th,td) { padding: 14px 16px; border: 0; font-size: 14px; }
  body.takumi-blue .takumi-page .takumi-content > table th { border-bottom: 1px solid var(--tb-line); }
}
@media(forced-colors:active) {
  body.takumi-blue .takumi-page .takumi-contact-route > div::before { background: CanvasText; }
  body.takumi-blue .tb-contact-page .takumi-contact-form input[type="submit"] { background: ButtonFace; color: ButtonText; border-color: ButtonText; }
  body.takumi-blue .tb-contact-page .takumi-contact-form .takumi-contact-required { color: CanvasText; border-color: CanvasText; }
}

/* 2.0.27: the complete public-page sweep found legacy plugin !important colors.
   Restrict the necessary override to public work detail cards, not case rooms. */
body.takumi-blue main.srp-proposal-main .srp-message-only-card { border: 1px solid var(--tb-line) !important; border-left: 3px solid var(--tb-brand) !important; background: var(--tb-surface) !important; color: var(--tb-text) !important; box-shadow: none !important; }
body.takumi-blue main.srp-proposal-main .srp-message-only-card > span { color: var(--tb-ink) !important; }
body.takumi-blue main.srp-proposal-main .srp-message-only-card p { color: var(--tb-text) !important; }
body.takumi-blue .takumi-page .takumi-ai-service__promise { padding: 0; border: 1px solid var(--tb-line); background: var(--tb-line); }
body.takumi-blue .takumi-page .takumi-ai-service__promise li { padding-left: 48px; background: #fff; color: var(--tb-ink); font: 500 14px/1.85 var(--tb-sans); }
body.takumi-blue .takumi-page .takumi-ai-service__promise li::before { width: 20px; height: 20px; top: 23px; left: 18px; background: var(--tb-brand); box-shadow: none; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Crect x='4' y='4' width='16' height='16'/%3E%3Cpath d='m7 11 4 4 9-11'/%3E%3C/svg%3E") center / contain no-repeat; }
/* 2.0.28: the native public-image action has its own legacy important colors. */
body.takumi-blue main.srp-proposal-main .srp-image-device-open { background: #fff !important; color: var(--tb-brand) !important; border-color: var(--tb-line) !important; }
body.takumi-blue main.srp-proposal-main .srp-image-device-open:is(:hover,:focus-visible) { background: var(--tb-tint) !important; color: var(--tb-brand) !important; border-color: var(--tb-brand) !important; }

/* 2.0.29: retain the news layout while reserving one unbroken heading's width.
   Intrinsic sizing includes the existing header padding; nowrap alone can spill. */
body.takumi-blue #news .takumi-news__inner { grid-template-columns: minmax(max-content,21%) minmax(0,1fr); }
body.takumi-blue #news #news-title { white-space: nowrap; }
@media (max-width:900px) {
 body.takumi-blue #news .takumi-news__inner { grid-template-columns: minmax(max-content,28%) minmax(0,1fr); }
}
@media (max-width:620px) {
 body.takumi-blue #news .takumi-news__inner { grid-template-columns: minmax(0,1fr); }
}
