:root{--sync-red:#a00008;--sync-ink:#1c1614;--sync-text:#3d362f;--sync-sub:#4d453c;--sync-muted:#6c6158;--sync-paper:#f4f0e9;--sync-alt:#ece6da;--sync-card:#faf8f3;--sync-line:rgba(28,22,20,.1);--sync-serif:'Noto Serif JP',serif;--sync-sans:'Noto Sans JP','Hiragino Sans','Yu Gothic',sans-serif;--sync-latin:'Cormorant Garamond',serif}
/* Additions to the LP (home). They reuse the LP's own section, heading and card idioms. */
.lp-index{background:var(--sync-alt);border-top:1px solid rgba(28,22,20,.08)}
.lp-wrap{max-width:1240px;margin:0 auto;padding:clamp(64px,7vw,110px) clamp(20px,5vw,48px)}
.lp-eyebrow{display:flex;align-items:center;gap:14px;color:var(--sync-red);font-size:13px;letter-spacing:.16em;font-family:var(--sync-latin)}.lp-eyebrow span{width:28px;height:1px;background:var(--sync-red)}
.lp-h2{margin:14px 0 0;font-family:var(--sync-serif);font-weight:700;font-size:clamp(27px,4vw,44px);line-height:1.45;color:var(--sync-ink)}
.lp-lead{margin:clamp(18px,2vw,24px) 0 0;max-width:820px;font-size:clamp(14px,1.5vw,16px);line-height:2;color:var(--sync-sub)}
.lp-index-grid{margin-top:clamp(36px,4vw,56px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:clamp(18px,2vw,26px)}
.lp-index-card{background:var(--sync-card);border-top:3px solid var(--sync-red);padding:clamp(26px,2.4vw,34px);display:flex;flex-direction:column;min-width:0}
.lp-index-label{margin:0;font-family:var(--sync-latin);font-size:13px;letter-spacing:.16em;color:var(--sync-red)}
.lp-index-card h3{margin:6px 0 0;font-family:var(--sync-serif);font-weight:600;font-size:18px;line-height:1.6;color:var(--sync-ink)}
.lp-index-card ul{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.lp-index-card li{display:flex;gap:12px;font-size:13.5px;line-height:1.75;color:var(--sync-sub)}.lp-index-card li::before{content:"";flex:0 0 auto;width:6px;height:6px;margin-top:8px;background:var(--sync-red);border-radius:50%}
.lp-index-card h3 a,.lp-index-card li a{color:inherit;text-decoration:none}.lp-index-card h3 a:hover,.lp-index-card li a:hover{color:var(--sync-red)}
.lp-more-link{margin-top:auto;padding-top:24px;font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--sync-red);text-decoration:none}.lp-more-link:hover,.lp-faq-more a:hover{text-decoration:underline;text-underline-offset:4px}
.lp-faq-more{margin:clamp(20px,2.4vw,28px) 0 0;text-align:right;font-size:13.5px}.lp-faq-more a{color:var(--sync-red);font-weight:600;letter-spacing:.03em;text-decoration:none}
/* Header shared by every page. Below 1120px the full menu no longer fits on one line. */
.nav-links a,.nav-cc-link{white-space:nowrap}
@media(max-width:1120px){.nav-links,.nav-cc-link{display:none!important}}
@media(max-width:380px){.logo-wordmark,.logo-div{display:none!important}}
/* Content pages */
html{scroll-behavior:smooth}
.aio-page{margin:0;background:var(--sync-paper);color:var(--sync-text);font-family:var(--sync-sans);line-height:1.9}.aio-page *{box-sizing:border-box}.aio-page>header,.aio-page>footer{line-height:normal}.aio-page ::selection{background:var(--sync-red);color:#f7ece9}
.aio-main{max-width:920px;margin:0 auto;padding:clamp(26px,3.4vw,44px) clamp(20px,5vw,48px) clamp(64px,7vw,110px)}
.aio-breadcrumb{font-size:12px;line-height:1.8;color:var(--sync-muted);margin-bottom:clamp(30px,4.4vw,52px)}.aio-main nav.aio-breadcrumb a{color:inherit;text-decoration:none}.aio-main nav.aio-breadcrumb a:hover{color:var(--sync-red)}
.aio-eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 14px;color:var(--sync-red);font-family:var(--sync-serif);font-size:13px;font-weight:500;letter-spacing:.16em}.aio-eyebrow::before{content:"";flex:0 0 auto;width:28px;height:1px;background:var(--sync-red)}
.aio-main h1{margin:0 0 clamp(20px,2.6vw,30px);font-family:var(--sync-serif);font-weight:700;font-size:clamp(25px,3.6vw,40px);line-height:1.5;letter-spacing:.02em;color:var(--sync-ink)}
.aio-lead{margin:0 0 26px;font-size:clamp(15px,1.6vw,16.5px);line-height:2;color:var(--sync-text)}
.aio-main h2{margin:clamp(48px,6vw,68px) 0 20px;padding-left:16px;border-left:3px solid var(--sync-red);font-family:var(--sync-serif);font-weight:700;font-size:clamp(20px,2.5vw,27px);line-height:1.6;color:var(--sync-ink)}
.aio-main h3{margin:20px 0 12px;font-family:var(--sync-serif);font-weight:600;font-size:18px;line-height:1.6;color:var(--sync-ink)}
.aio-main p,.aio-main li{font-size:15px;line-height:2;overflow-wrap:anywhere}.aio-main ul,.aio-main ol{padding-left:24px}.aio-main li+li{margin-top:8px}.aio-main strong{color:var(--sync-ink)}
.aio-main a:not(.aio-button){color:var(--sync-red);text-underline-offset:4px}.aio-main a:hover{text-decoration-thickness:2px}
.aio-main .aio-meta,.aio-main .note{font-size:12.5px;line-height:1.9;color:var(--sync-muted)}.aio-meta{margin:0 0 2px}
.aio-toc{margin:28px 0 0;padding:24px clamp(20px,3vw,30px);background:var(--sync-card);border:1px solid var(--sync-line);border-left:3px solid var(--sync-red)}.aio-main .aio-toc p{margin:0 0 10px;font-family:var(--sync-serif);font-weight:600;font-size:15px;color:var(--sync-ink)}.aio-toc ul{margin:0}.aio-main .aio-toc li{font-size:14px;line-height:1.9}.aio-main .aio-toc li+li{margin-top:4px}
.aio-main .aio-toc a{color:var(--sync-text);text-decoration:none}.aio-main .aio-toc a:hover{color:var(--sync-red);text-decoration:underline}
.aio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:clamp(18px,2vw,26px)}
.aio-grid-pairs{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){.aio-grid-pairs{grid-template-columns:minmax(0,1fr)}}
.aio-card{display:flex;flex-direction:column;min-width:0;background:var(--sync-card);border-top:3px solid var(--sync-red);padding:clamp(24px,2.4vw,32px)}
.aio-card .aio-eyebrow{margin-bottom:8px;font-size:11.5px;gap:10px}.aio-card .aio-eyebrow::before{width:18px}
.aio-main .aio-card h3{margin:0 0 12px;font-size:17.5px;line-height:1.65}.aio-main .aio-card h3 a{color:var(--sync-ink);text-decoration:none}.aio-main .aio-card h3 a:hover{color:var(--sync-red)}
.aio-main .aio-card p:not(.aio-eyebrow){margin:0;font-size:13.5px;line-height:1.95;color:var(--sync-sub)}
.aio-main .aio-card .aio-card-link{margin-top:auto;padding-top:18px;font-size:13px;font-weight:600;letter-spacing:.03em;text-decoration:none}.aio-main .aio-card .aio-card-link:hover{text-decoration:underline}
.aio-button{display:inline-block;background:var(--sync-red);color:#f7ece9!important;padding:16px 36px;font-weight:700;font-size:15px;line-height:1.5;letter-spacing:.04em;text-decoration:none}.aio-button:hover{background:#840007}
.aio-cta{margin:clamp(56px,7vw,84px) 0 0;padding:clamp(36px,5vw,56px) clamp(20px,4vw,44px);background:var(--sync-red);text-align:center}
.aio-main .aio-cta h2{margin:0;padding:0;border:0;color:#fff;font-size:clamp(21px,2.8vw,30px)}.aio-main .aio-cta p{margin:14px 0 0;color:#f7ece9;font-size:14.5px}
.aio-cta-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:clamp(22px,3vw,32px)}
.aio-cta .aio-button{background:#f7ece9;color:var(--sync-red)!important}.aio-cta .aio-button:hover{background:#fff}
.aio-main .aio-cta .aio-secondary{display:inline-block;padding:15px 30px;border:1px solid rgba(247,236,233,.6);color:#f7ece9;font-size:15px;line-height:1.5;letter-spacing:.04em;text-decoration:none}.aio-main .aio-cta .aio-secondary:hover{background:rgba(247,236,233,.12)}
.aio-faq{display:flex;flex-direction:column;gap:12px}.aio-faq details{background:var(--sync-card);border:1px solid var(--sync-line)}
.aio-faq summary{display:flex;align-items:flex-start;gap:16px;padding:22px clamp(20px,2.5vw,28px);font-size:clamp(14px,1.6vw,16px);line-height:1.7;font-weight:600;color:var(--sync-ink);list-style:none;cursor:pointer}.aio-faq summary::-webkit-details-marker{display:none}
.aio-faq .faq-mark,.aio-faq .faq-toggle{flex:0 0 auto;color:var(--sync-red);font-size:20px;line-height:1.3}.aio-faq .faq-mark{font-family:var(--sync-latin)}.aio-faq .faq-q{flex:1 1 auto}
.aio-faq .faq-minus,.aio-faq details[open] .faq-plus{display:none}.aio-faq details[open] .faq-minus{display:inline}.aio-faq details[open] .faq-q{color:var(--sync-red)}
.aio-main .aio-faq details p{margin:0;padding:0 clamp(20px,2.5vw,28px) 24px 52px;font-size:13.5px;line-height:1.95;color:var(--sync-sub)}
.table-wrap{max-width:100%;overflow-x:auto;margin:22px 0;border:1px solid var(--sync-line);background:var(--sync-card)}.table-wrap table{border-collapse:collapse;width:100%;min-width:500px;line-height:1.8;font-size:13.5px}
.table-wrap caption{padding:14px 20px;border-bottom:1px solid var(--sync-line);text-align:left;font-family:var(--sync-serif);font-weight:600;font-size:14px;color:var(--sync-ink)}
.table-wrap th,.table-wrap td{padding:15px 20px;border-bottom:1px solid var(--sync-line);vertical-align:top;text-align:left}.table-wrap tbody tr:last-child>*{border-bottom:0}
.table-wrap th{font-weight:600;color:var(--sync-ink)}.table-wrap thead th{background:var(--sync-alt)}.table-wrap th[scope=row]{width:24%}
.table-wrap table:not(:has(tr>:nth-child(3))){min-width:0}
.aio-profile{width:220px;max-width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;float:right;margin:0 0 20px 24px;border-left:3px solid var(--sync-red)}.aio-clear{clear:both}
/* Forms */
.aio-discovery{margin-top:20px;display:flex;flex-direction:column;gap:7px;font-size:12.5px;font-weight:700;color:var(--sync-text)}
.aio-discovery select{width:100%;padding:13px 40px 13px 15px;font-size:14.5px;font-weight:400;border:1px solid #d8cfc2;border-radius:0;background:#faf8f3 url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2214%22 height=%2214%22 fill=%22none%22 stroke=%22%236f665c%22 stroke-width=%222%22><path d=%222 5l5 5 5-5%22/></svg>') no-repeat right 15px center;color:var(--sync-ink);-webkit-appearance:none;appearance:none}
.aio-form-note{font-size:11px;line-height:1.8;color:var(--sync-muted);margin:14px 0}[hidden]{display:none!important}
.aio-skip{position:absolute;left:-9999px;top:0;background:#fff;color:var(--sync-red);padding:12px 20px;z-index:9999}.aio-skip:focus{position:fixed;left:12px;top:12px}
:focus-visible{outline:3px solid var(--sync-red);outline-offset:4px}.aio-main [id],.lp-index[id]{scroll-margin-top:90px}
@media(max-width:700px){.aio-profile{float:none;width:200px;margin:0 0 20px}.table-wrap th,.table-wrap td{padding:13px 14px}.table-wrap th[scope=row]{width:32%}.aio-cta-actions{flex-direction:column}.aio-main .aio-faq details p{padding-left:clamp(20px,2.5vw,28px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{header,footer,.aio-cta,.aio-toc{display:none}.aio-main{max-width:none;padding:0}.table-wrap{overflow:visible}.table-wrap table{min-width:0}.as-reveal{opacity:1!important;transform:none!important}}
