/* Dedicated Design & Print page. Shared header, footer and hero rules remain untouched. */
.dp-page{--dp-navy:#092333;--dp-blue:#087eff;--dp-ink:#13233a;--dp-muted:#607086;color:var(--dp-ink);background:#fff}
.dp-page .container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.dp-page .dp-section{padding:46px 0}
.dp-page .dp-heading{margin-bottom:26px}
.dp-page .dp-heading h2,.dp-page .dp-contact h2{margin:0;font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.3;font-family:"Noto Serif JP","Yu Mincho",serif;font-weight:700}
.dp-page .dp-heading p{margin:7px 0 0;font-size:.9rem;line-height:1.7;color:var(--dp-muted)}
.dp-page .dp-center{text-align:center}
.dp-page .dp-icon{display:block;width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;color:#0754ff}
.dp-page article h3{margin:10px 0 0;font-size:.98rem;line-height:1.55}
.dp-page .dp-problem-grid,.dp-page .dp-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.dp-page .dp-problem-grid article{text-align:center}
.dp-page .dp-problem-grid img,.dp-page .dp-product-grid img{display:block;width:100%;height:auto;aspect-ratio:140/78;object-fit:cover}
.dp-page .dp-problem-grid h3{max-width:14em;margin-inline:auto}
.dp-page .dp-products,.dp-page .dp-scope{background:var(--dp-navy);color:#fff}
.dp-page .dp-products .dp-heading p,.dp-page .dp-scope .dp-heading p{color:#cfdfeb}
.dp-page .dp-product-grid{row-gap:22px}
.dp-page .dp-product-grid h3{font-size:.9rem;margin-top:7px}
.dp-page .dp-strength{position:relative;isolation:isolate;min-height:365px;background:#fff;overflow:hidden}
.dp-page .dp-strength-copy{position:relative;z-index:2;width:56%;padding:40px 0}
.dp-page .dp-strength .dp-heading h2{font-size:clamp(1.4rem,2.25vw,1.9rem)}
.dp-page .dp-strength-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:24px}
.dp-page .dp-strength-grid article{text-align:center;padding:0 12px;border-right:1px solid #e0e8ee}
.dp-page .dp-strength-grid article:last-child{border:0}
.dp-page .dp-strength-grid .dp-icon{margin:auto}
.dp-page .dp-strength-grid h3{font-size:.92rem}
.dp-page .dp-strength figure{position:absolute;z-index:0;inset:0 0 0 auto;width:49%;margin:0}
.dp-page .dp-strength figure:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff,rgba(255,255,255,.85) 10%,transparent 40%)}
.dp-page .dp-strength figure img{width:100%;height:100%;object-fit:cover}
.dp-page .dp-scope-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}
.dp-page .dp-scope-grid article{padding:24px 8px 18px;border:1px solid #446072;text-align:center}
.dp-page .dp-scope-grid .dp-icon{color:#fff;margin:auto;width:38px;height:38px}
.dp-page .dp-scope-grid h3{font-size:.84rem}
.dp-page .dp-process-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px;list-style:none;margin:0;padding:0}
.dp-page .dp-process-grid li{position:relative;padding-right:15px}
.dp-page .dp-process-grid li:not(:last-child):after{content:"›";position:absolute;right:-6px;top:64px;font-size:1.8rem;color:#a4bed5}
.dp-page .dp-process-grid span{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#c2ddff;color:#163959;font-size:1.05rem}
.dp-page .dp-process-grid h3{margin:12px 0 3px;font-size:.96rem;line-height:1.5}
.dp-page .dp-process-grid p{margin:0;font-size:.84rem;line-height:1.65;color:var(--dp-muted)}
.dp-page .dp-plans{background:#e8f6ff}
.dp-page .dp-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.dp-page .dp-plan-grid article{display:flex;flex-direction:column;padding:24px;border:1px solid #91c5fb;border-radius:5px;background:#fff;min-height:206px}
.dp-page .dp-plan-grid article>div{display:grid;grid-template-columns:46px 1fr;gap:8px 14px}
.dp-page .dp-plan-grid h3{margin:0;font-size:1rem}
.dp-page .dp-plan-grid p{grid-column:2;margin:0 0 24px;font-size:.85rem;color:var(--dp-muted);line-height:1.7}
.dp-page .dp-plan-grid .dp-icon{grid-row:1/3}
.dp-page .dp-plan-grid a{display:block;text-align:center;margin-top:auto;background:#dcecff;color:#0754de;padding:9px 12px;border-radius:4px;font-size:.9rem;font-weight:700}
.dp-page .dp-options{padding-top:30px;padding-bottom:14px}
.dp-page .dp-option-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;text-align:center}
.dp-page .dp-option-grid .dp-icon{margin:auto}
.dp-page .dp-option-grid h3{font-size:.9rem}
.dp-page .dp-note{margin:20px 0 0;color:var(--dp-muted);font-size:.78rem;text-align:center}
.dp-page .dp-faq{padding-top:24px;padding-bottom:36px}
.dp-page .dp-faq .dp-heading{margin-bottom:18px}
.dp-page .dp-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;align-items:start}
.dp-page .dp-faq details{border:1px solid #dce6f1;border-radius:3px}
.dp-page .dp-faq summary{position:relative;list-style:none;padding:11px 34px 11px 15px;font-size:.85rem;cursor:pointer;line-height:1.5}
.dp-page .dp-faq summary::-webkit-details-marker{display:none}
.dp-page .dp-faq summary:after{content:"+";position:absolute;right:12px;top:9px;color:var(--dp-blue);font-size:1.15rem}
.dp-page .dp-faq details[open] summary:after{content:"−"}
.dp-page .dp-faq details>p{padding:0 15px 14px;margin:0;color:var(--dp-muted);font-size:.85rem;line-height:1.8}
.dp-page .dp-contact{padding:34px 0;background:linear-gradient(115deg,#087df4,#158adc 55%,#b4e0ff);color:#fff}
.dp-page .dp-contact .container{display:flex;justify-content:space-between;align-items:center;gap:24px}
.dp-page .dp-contact h2{font-size:clamp(1.4rem,2.2vw,1.9rem)}
.dp-page .dp-contact p{margin:6px 0 0;font-size:.86rem}
.dp-page .dp-contact a{display:block;flex-shrink:0;padding:16px 32px;background:#fff;color:#0677ed;border-radius:4px;font-weight:700}
.dp-page a:focus-visible,.dp-page summary:focus-visible{outline:3px solid #57b5ff;outline-offset:3px}
@media(max-width:960px){
 .dp-page .dp-scope-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .dp-page .dp-strength-copy{width:64%}
 .dp-page .dp-plan-grid article{padding:18px}
 .dp-page .dp-process-grid{gap:12px}
}
@media(max-width:650px){
 .dp-page .container{width:calc(100% - 32px)}
 .dp-page .dp-section{padding:32px 0}
 .dp-page .dp-heading{margin-bottom:20px}
 .dp-page .dp-heading h2{font-size:1.4rem}
 .dp-page .dp-heading p{font-size:.82rem}
 .dp-page .dp-problem-grid,.dp-page .dp-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
 .dp-page .dp-problem-grid h3,.dp-page .dp-product-grid h3{font-size:.83rem}
 .dp-page .dp-strength-copy{width:100%;padding:32px 0 20px}
 .dp-page .dp-strength figure{position:relative;width:100%;height:230px}
 .dp-page .dp-strength figure:after{background:linear-gradient(#fff,transparent 25%)}
 .dp-page .dp-strength-grid{gap:6px}
 .dp-page .dp-strength-grid article{padding:0 4px}
 .dp-page .dp-strength-grid h3{font-size:.75rem}
 .dp-page .dp-strength-grid .dp-icon{width:30px;height:30px}
 .dp-page .dp-scope-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .dp-page .dp-scope-grid article{padding:16px 4px 12px}
 .dp-page .dp-scope-grid h3{font-size:.72rem}
 .dp-page .dp-scope-grid .dp-icon{width:30px;height:30px}
 .dp-page .dp-process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}
 .dp-page .dp-process-grid li{padding:0 0 0 40px}
 .dp-page .dp-process-grid span{position:absolute;left:0;width:32px;height:32px;font-size:.8rem}
 .dp-page .dp-process-grid h3{margin:0 0 4px;font-size:.85rem}
 .dp-page .dp-process-grid p{font-size:.77rem}
 .dp-page .dp-process-grid li:after{display:none}
 .dp-page .dp-plan-grid{grid-template-columns:1fr;gap:12px}
 .dp-page .dp-plan-grid article{min-height:0}
 .dp-page .dp-plan-grid p{margin-bottom:16px}
 .dp-page .dp-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .dp-page .dp-option-grid article{display:flex;align-items:center;gap:10px;text-align:left}
 .dp-page .dp-option-grid .dp-icon{width:30px;height:30px;margin:0}
 .dp-page .dp-option-grid h3{font-size:.8rem;margin:0}
 .dp-page .dp-options{padding-bottom:12px}
 .dp-page .dp-faq{padding-top:24px}
 .dp-page .dp-faq-grid{grid-template-columns:1fr}
 .dp-page .dp-contact .container{flex-direction:column;text-align:center;gap:18px}
 .dp-page .dp-contact a{width:100%}
}
