.hero-visual{display:block;border-radius:30px;overflow:hidden;box-shadow:var(--shadow);background:#f5eee9}.hero-visual img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.service-card{position:relative;overflow:hidden}.service-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:var(--soft);color:var(--brand);font-weight:900;margin-bottom:44px}.service-card:nth-child(3n+2) .service-icon{background:#f0dbe7}.detail-hero{padding-bottom:100px}.breadcrumbs{display:flex;gap:9px;align-items:center;margin-bottom:28px;color:var(--muted);font-size:.85rem}.breadcrumbs a:hover{color:var(--brand)}.detail-image{margin-top:-65px}.detail-image picture{display:block;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.detail-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.detail-copy{white-space:normal}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature-grid article{min-height:180px;padding:24px;border-radius:18px;background:#fff;border:1px solid var(--line)}.feature-grid span{color:var(--brand);font-weight:900}.feature-grid h3{margin:45px 0 0;font-size:1.15rem}.faq{max-width:900px}.faq details{border-top:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font-weight:800}.faq p{color:var(--muted)}@media(max-width:820px){.hero-visual{order:-1}.feature-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.feature-grid{grid-template-columns:1fr}.detail-image{margin-top:-40px}}
.privacy-check{display:flex!important;align-items:flex-start;gap:10px}.privacy-check input{width:auto;margin-top:4px}.privacy-check a{text-decoration:underline}.policy-copy{max-width:900px}.policy-copy h2{margin-top:38px}.policy-copy p{color:var(--muted);line-height:1.85}.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.project-card.has-image{padding-top:0;overflow:hidden}.project-card.has-image img{width:calc(100% + 48px);max-width:none;height:210px;margin:0 -24px 24px;object-fit:cover;border-bottom:1px solid rgba(0,0,0,.08)}.project-shot img{display:block;width:100%;max-height:760px;object-fit:contain;background:#fff;border-radius:28px;box-shadow:var(--shadow)}
