.business-hero .hero-photo{filter:saturate(.9) contrast(1.02)}
.business-hero .hero-photo[src*="staff-support-hero"]{content:url("../../img/hokkaido-onsite-hero-20261021.webp")}
.business-hero .hero-photo[src*="it-consultation-onsite-hero"]{content:url("../../img/corporate-order-hero-20261021.webp")}
.business-hero .hero-photo[src*="system-web-development-hero"]{content:url("../../img/monthly-it-support-hero-20261021.webp")}
.business-hero .hero-shade{background:linear-gradient(90deg,rgba(7,24,34,.97) 0%,rgba(7,24,34,.88) 42%,rgba(7,24,34,.5) 68%,rgba(7,24,34,.18) 100%)}
.business-hero .hero-content{max-width:none}
.business-hero .eyebrow{color:#ffc0a7;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.business-hero h1{color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.42)}
.business-hero .hero-lead{color:#f2f7f8;text-shadow:0 1px 5px rgba(0,0,0,.48)}
.business-hero .text-link{color:#fff;font-weight:800;text-decoration-color:rgba(255,255,255,.7);text-underline-offset:.35em}
.audience-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#dce6e8;border-block:1px solid #dce6e8}
.audience-strip div{padding:1.4rem 1.6rem;background:#fff}
.audience-strip strong{display:block;margin-bottom:.25rem;color:#152b38;font-size:.95rem}
.audience-strip span{color:#647985;font-size:.83rem;line-height:1.6}
.deliverables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}
.deliverables article{padding:1.5rem;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm)}
.deliverables h3{margin-bottom:.5rem;font-size:1.05rem}
.deliverables p{color:var(--muted);font-size:.92rem;line-height:1.8}
.contract-table{width:100%;margin-top:2rem;border-collapse:separate;border-spacing:0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm)}
.contract-table th,.contract-table td{padding:1rem 1.2rem;text-align:left;border-bottom:1px solid var(--line);line-height:1.7}
.contract-table th{width:34%;color:#152b38;background:#f3f7f7;font-size:.92rem}
.contract-table td{color:#526772;font-size:.92rem}
.contract-table tr:last-child th,.contract-table tr:last-child td{border-bottom:0}
.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}
.plan-card{display:flex;flex-direction:column;padding:1.7rem;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm)}
.plan-card.featured{border-color:#6da99f;box-shadow:0 14px 34px rgba(36,92,83,.13)}
.plan-label{align-self:flex-start;margin-bottom:1rem;padding:.3rem .7rem;color:#2f776b;background:#e6f1ef;border-radius:999px;font-size:.74rem;font-weight:700}
.plan-card h3{margin-bottom:.6rem;font-size:1.25rem}
.plan-card p{margin-bottom:1rem;color:var(--muted);line-height:1.8}
.plan-card ul{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}
.plan-card li{position:relative;padding-left:1.4rem;color:#40545f;font-size:.9rem;line-height:1.6}
.plan-card li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}
.request-builder{max-width:920px;margin:3rem auto 6rem;padding:clamp(1.3rem,4vw,2.5rem);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-md)}
.request-builder fieldset{display:grid;gap:1rem;margin:0 0 1.5rem;padding:0;border:0}
.request-builder legend{margin-bottom:1rem;font-size:1.12rem;font-weight:800}
.builder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.request-builder label{display:grid;gap:.45rem;color:#263e4b;font-size:.9rem;font-weight:700}
.request-builder input,.request-builder select,.request-builder textarea{width:100%;padding:.85rem 1rem;color:#152b38;background:#f8faf9;border:1px solid #ccdadd;border-radius:10px;font:inherit;font-weight:400}
.request-builder textarea{min-height:140px;resize:vertical}
.request-builder input:focus,.request-builder select:focus,.request-builder textarea:focus{outline:3px solid rgba(47,119,107,.15);border-color:#4d9186}
.builder-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.builder-output{margin-top:1.5rem;padding:1.2rem;background:#f3f7f7;border:1px solid #d8e4e5;border-radius:12px}
.builder-output[hidden]{display:none}
.builder-output pre{margin:0 0 1rem;white-space:pre-wrap;color:#263e4b;font:400 .9rem/1.75 system-ui,sans-serif}
.privacy-hint{margin-top:1rem;color:#71838d;font-size:.8rem;line-height:1.7}
@media(max-width:800px){.audience-strip,.plan-grid{grid-template-columns:1fr}.deliverables,.builder-grid{grid-template-columns:1fr}.contract-table,.contract-table tbody,.contract-table tr,.contract-table th,.contract-table td{display:block;width:100%}.contract-table tr{border-bottom:1px solid var(--line)}.contract-table tr:last-child{border-bottom:0}.contract-table th,.contract-table td{border:0}.contract-table th{padding-bottom:.25rem}.contract-table td{padding-top:.25rem}.business-hero{min-height:auto;padding-top:0;background:#152b38}.business-hero .hero-photo,.business-hero .hero-shade{height:100%}.business-hero .hero-photo{object-position:center}.business-hero .hero-photo[src*="staff-support-hero"]{content:url("../../img/hokkaido-onsite-hero-mobile-20261021.webp")}.business-hero .hero-photo[src*="it-consultation-onsite-hero"]{content:url("../../img/corporate-order-hero-mobile-20261021.webp")}.business-hero .hero-photo[src*="system-web-development-hero"]{content:url("../../img/monthly-it-support-hero-mobile-20261021.webp")}.business-hero .hero-shade{background:linear-gradient(180deg,rgba(7,24,34,.68),rgba(7,24,34,.95))}.business-hero .hero-content{padding:3.5rem 0}.business-hero h1{color:#fff}.business-hero .hero-lead{color:#eef5f6}.business-hero .text-link{color:#fff}}

/* Request builder: keep copy separate from the illustration. */
.builder-hero{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:clamp(2rem,5vw,5rem);padding-block:clamp(3rem,6vw,5rem)}
.builder-hero .section-heading{min-width:0;margin:0}
.builder-hero .section-label{margin-bottom:1rem;color:#876332}
.builder-hero h1{margin:0 0 1.5rem;color:#183c38;font-size:clamp(2.5rem,4.8vw,4.25rem);line-height:1.23;letter-spacing:-.035em}
.builder-hero .section-heading>p:last-child{max-width:33rem;margin:0;color:#526763;font-size:1rem;line-height:1.95}
.builder-hero-illustration{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:16px}
.builder-hero+.request-builder{width:min(920px,calc(100% - 3rem));margin-top:0}
@media(max-width:800px){.builder-hero{grid-template-columns:1fr;gap:1.75rem;padding-block:2.5rem}.builder-hero h1{font-size:clamp(2.4rem,8vw,3.5rem)}.builder-hero h1 br{display:none}.builder-hero-illustration{max-width:560px;justify-self:center}.builder-hero+.request-builder{margin-bottom:3rem}}