.ai-body{width:min(1160px,90%);margin:auto;padding:clamp(48px,8vw,108px) 0}
.ai-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,5vw,80px);align-items:center;padding-bottom:clamp(36px,6vw,72px);border-bottom:1px solid #ccd7e5}
.ai-body h2{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:clamp(1.55rem,3.4vw,2.6rem);line-height:1.45;margin:.4em 0}
.ai-body p{line-height:1.8}
.ai-samples{padding-top:clamp(42px,7vw,86px);scroll-margin-top:100px}
.ai-sample-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:25px 0 0}
.ai-sample{min-width:0;display:flex;flex-direction:column;padding:22px;border:1px solid #ccd7e5;background:#fff;color:#152c49}
.ai-sample-label{display:flex;justify-content:space-between;gap:8px;font-size:.8rem;letter-spacing:.06em;color:#435b76}
.ai-sample-label span:first-child{border-left:3px solid #b82c29;padding-left:.6em}
.ai-sample h3{font-size:1.1rem;line-height:1.5;margin:14px 0 5px}
.ai-sample p{margin:.4em 0}
.ai-sample-name{font-weight:700;color:#284d77}
.ai-sample>a:not(.ai-screen-image):not(.ai-site-image){display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 0 0;margin-top:auto;color:#174b87;font-weight:700}
.ai-sample a:focus-visible{outline:2px solid #bd352f;outline-offset:4px}
.ai-screen-image{display:block;position:relative;overflow:hidden;aspect-ratio:4 / 3;background:#edf2f8;border:1px solid #d7e0ed;margin-bottom:18px}
.ai-screen-image img{position:absolute;inset:0;width:100%;height:100%;max-height:100%;object-fit:contain;min-height:0}
.ai-body>.contact-inline{margin-top:clamp(40px,7vw,82px)}
@media(max-width:850px){.ai-sample-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ai-intro,.ai-sample-grid{grid-template-columns:1fr}.ai-sample{padding:18px}}

.ai-site-image{display:block;position:relative;overflow:hidden;aspect-ratio:16 / 10;background:#edf2f8;border:1px solid #d7e0ed;margin-bottom:18px}
.ai-site-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center top}

.ai-production .ai-body p{font-size:16px}.ai-production .inner-hero{display:grid}.ai-production .inner-hero-image{width:100%;height:100%;object-fit:cover}

.service-grid.services-six{grid-template-columns:repeat(3,minmax(0,1fr))}.services-six>.service,.services-six>.service:nth-last-child(-n+2),.services-six>.service:last-child{grid-column:auto}
@media(max-width:800px){.service-grid.services-six{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.service-grid.services-six{grid-template-columns:1fr}}
