@font-face{font-family:'IAI Service Sans';font-weight:400;font-display:swap;src:url('../fonts/notosansjp/NotoSansJP400_subset.woff2') format('woff2')}
@font-face{font-family:'IAI Service Sans';font-weight:500 600;font-display:swap;src:url('../fonts/notosansjp/NotoSansJP500_subset.woff2') format('woff2')}
@font-face{font-family:'IAI Service Work';font-weight:400;font-display:swap;src:url('../fonts/worksans/WorkSans400_subset.woff2') format('woff2')}
/* Service-only design. Palette and typography follow the CREATIVE CORE homepage. */
#service #main{padding-top:100px}
.iai-service{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);--sv-ink:#1b291f;--sv-muted:#52634d;--sv-line:#b9c6b1;--sv-accent:#d4ff64;color:var(--sv-ink);font-family:'IAI Service Sans',sans-serif;line-height:1.9;background:#f6f7f3}
.iai-service *{box-sizing:border-box}
.iai-service p,.iai-service h1,.iai-service h2,.iai-service h3,.iai-service h4{margin:0}
.iai-service a{color:inherit;text-underline-offset:.25em}
.iai-service a:focus-visible,.iai-service summary:focus-visible{outline:3px solid #648d35;outline-offset:6px}
.iai-service [id]{scroll-margin-top:120px}
.iai-service .sv-wrap{width:min(1180px,86%);margin-inline:auto}
.iai-service .sv-section{padding:92px 0}
.iai-service .sv-light{background:#eef1e9}
.iai-service .sv-paper{background:#f8f9f5}
.iai-service .sv-dark{background:#0d1511;color:#eef4e7;--sv-line:#52624e;--sv-muted:#b0c1a8}
.iai-service .sv-kicker{display:flex;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--sv-line);font:12px/1.7 'IAI Service Work',monospace;letter-spacing:.1em}
.iai-service .sv-kicker span{font:12px/1.7 'IAI Service Sans',sans-serif;letter-spacing:.06em}
.iai-service .sv-eyebrow,.iai-service .sv-index{font:11px/1.7 'IAI Service Work',monospace;letter-spacing:.1em}
.iai-service .sv-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin:48px 0}
.iai-service h2{flex-shrink:0;font-size:clamp(30px,3.8vw,52px);font-weight:600;line-height:1.5;letter-spacing:-.045em}
.iai-service em{font-style:normal;color:var(--sv-accent)}
.iai-service .sv-heading>p{font-size:14px;line-height:2.15;color:var(--sv-muted);max-width:440px}
.iai-service .sv-text-link{display:inline-flex;gap:40px;justify-content:space-between;align-items:center;font-size:13px;border-bottom:1px solid currentColor;padding:14px 0;margin-top:24px}
.iai-service .sv-text-link span{font-size:21px;line-height:1}
.iai-service .sv-hero{position:relative;overflow:hidden;background:#101b14;color:#eef4e7;padding:44px 0 64px;--sv-line:#53694b}
.iai-service .sv-hero .sv-wrap{position:relative;z-index:1}
.iai-service .sv-hero .sv-eyebrow{color:#c5e0af;margin:60px 0 20px}
.iai-service h1{font-size:clamp(38px,5.9vw,80px);line-height:1.45;font-weight:600;letter-spacing:-.055em}
.iai-service .sv-hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:5%;margin-top:36px}
.iai-service .sv-hero-bottom p{font-size:14px;line-height:2.2;color:#c3cfbd}
.iai-service .sv-orbits{position:absolute;right:5%;top:125px;width:340px;height:290px;opacity:.45;display:grid;place-items:center}
.iai-service .sv-orbits i{position:absolute;width:280px;height:280px;border:1px solid #91b774;border-radius:50%;transform:rotate(-35deg) scaleX(.55)}
.iai-service .sv-orbits i:nth-child(2){transform:rotate(35deg) scaleX(.55)}
.iai-service .sv-orbits i:nth-child(3){transform:rotate(90deg) scaleX(.55)}
.iai-service .sv-orbits b{font:46px/1.1 'IAI Service Work',sans-serif;text-align:center;letter-spacing:.08em;color:#d4ff64}
.iai-service .sv-orbits small{font-size:8px;letter-spacing:.15em}
.iai-service .sv-challenges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--sv-line);border-left:1px solid var(--sv-line)}
.iai-service .sv-challenges>a{position:relative;display:block;padding:25px 27px 28px;border-right:1px solid var(--sv-line);border-bottom:1px solid var(--sv-line)}
.iai-service .sv-challenges h3{font-size:18px;font-weight:500;margin:18px 0 8px;padding-right:22px}
.iai-service .sv-challenges p{font-size:12px;color:var(--sv-muted)}
.iai-service .sv-challenges .sv-index{color:#61744f}
.iai-service .sv-arrow{position:absolute;right:22px;top:24px;font-size:22px}
.iai-service .sv-approach{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:26px;list-style:none;padding:0;margin:65px 0 0}
.iai-service .sv-approach li{position:relative;border-top:1px solid #73866b;padding-top:25px}
.iai-service .sv-approach li:before{content:'';position:absolute;width:7px;height:7px;background:var(--sv-accent);border-radius:50%;top:-4px;left:0}
.iai-service .sv-approach .sv-index{font-size:10px;color:#bdcdb5}
.iai-service .sv-approach h3{font-size:29px;font-weight:500;margin:15px 0}
.iai-service .sv-approach p{font-size:13px;color:var(--sv-muted);line-height:2}
.iai-service .sv-service{position:relative;display:grid;grid-template-columns:1fr 1.65fr;gap:8%;padding:55px 0;border-top:1px solid var(--sv-line)}
.iai-service .sv-service:last-child{padding-bottom:0}
.iai-service .sv-anchor{position:absolute;top:0}
.iai-service .sv-service-label>span,.iai-service .sv-service-label small{display:block;font:11px/1.8 'IAI Service Work',monospace;letter-spacing:.12em}
.iai-service .sv-service-label small{font-size:10px;color:#61734e;margin:10px 0 20px}
.iai-service .sv-service h3{font-size:clamp(17px,1.75vw,26px);font-weight:500;letter-spacing:-.035em;line-height:1.7;max-width:none;white-space:nowrap}


.iai-service .sv-service-body>.sv-catch{font-size:23px;line-height:1.6;font-weight:500;margin-bottom:22px;letter-spacing:-.04em;color:var(--sv-ink)}
.iai-service .sv-service-body>p{font-size:14px;color:var(--sv-muted);line-height:2.2}
.iai-service h4{font-size:12px;font-weight:500}
.iai-service .sv-service-body>h4{margin:25px 0 12px}
.iai-service .sv-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}
.iai-service .sv-tags li{border:1px solid #c0cbb7;padding:5px 10px;font-size:12px;background:#eef1e9}
.iai-service .sv-example{border-left:2px solid #6c8c4b;padding:6px 0 6px 18px;margin-top:25px}
.iai-service .sv-example p{font-size:13px;line-height:2;margin-top:7px;color:var(--sv-muted)}
.iai-service .sv-service-body .sv-text-link{margin-right:20px}
.iai-service .sv-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.iai-service .sv-project{padding:32px;background:#f8f9f5;border-top:2px solid #708c53}
.iai-service .sv-project .sv-eyebrow{color:#5d7747}
.iai-service .sv-project h3{font-size:22px;line-height:1.8;margin:18px 0 24px;font-weight:500}
.iai-service .sv-project dl{margin:0}
.iai-service .sv-project dt{font-size:11px;color:#627253;margin-top:16px}
.iai-service .sv-project dd{margin:5px 0 0;font-size:14px;line-height:2}
.iai-service .sv-strengths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:60px;row-gap:40px}
.iai-service .sv-strengths article{border-top:1px solid var(--sv-line);padding-top:22px}
.iai-service .sv-strengths .sv-index{color:var(--sv-accent)}
.iai-service .sv-strengths h3{font-size:22px;font-weight:500;margin:20px 0 16px;line-height:1.8}
.iai-service .sv-strengths p{font-size:14px;color:var(--sv-muted);line-height:2.2}
.iai-service .sv-workflow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;list-style:none;padding:0;margin:0;counter-reset:step}
.iai-service .sv-workflow li{border-top:1px solid var(--sv-line);padding-top:20px}
.iai-service .sv-workflow .sv-index{display:block;color:#61764d}
.iai-service .sv-workflow h3{font-size:21px;font-weight:500;margin:12px 0}
.iai-service .sv-workflow p{font-size:14px;color:var(--sv-muted);line-height:2}
.iai-service .sv-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.iai-service .sv-tools article{border-top:1px solid var(--sv-line);padding-top:20px}
.iai-service .sv-tools .sv-eyebrow{color:#5c7445}
.iai-service .sv-tools h3{font-size:19px;font-weight:500;margin:14px 0}
.iai-service .sv-tools article>p:last-child{font-size:13px;color:var(--sv-muted);line-height:2.1}
.iai-service .sv-faq details{border-top:1px solid var(--sv-line)}
.iai-service .sv-faq details:last-child{border-bottom:1px solid var(--sv-line)}
.iai-service .sv-faq summary{display:flex;align-items:center;gap:20px;list-style:none;padding:25px 0;font-size:17px;font-weight:500;cursor:pointer}
.iai-service .sv-faq summary::-webkit-details-marker{display:none}
.iai-service .sv-faq summary>span{color:#597343;font:20px 'IAI Service Work',sans-serif;align-self:flex-start}
.iai-service .sv-faq summary i{position:relative;width:25px;height:25px;flex-shrink:0;margin-left:auto;border:1px solid #a8b79c;border-radius:50%}
.iai-service .sv-faq summary i:before,.iai-service .sv-faq summary i:after{content:'';position:absolute;top:11px;left:6px;width:11px;height:1px;background:#446037}
.iai-service .sv-faq summary i:after{transform:rotate(90deg)}
.iai-service .sv-faq details[open] summary i:after{transform:none}
.iai-service .sv-faq details>div{padding:0 45px 26px;max-width:950px;font-size:14px;line-height:2.2;color:var(--sv-muted)}
.iai-service .sv-next{text-align:center;padding-top:75px}
.iai-service .sv-next>p:nth-child(2){font-size:clamp(21px,3vw,34px);margin-top:18px;font-weight:500}
@media(min-width:1080px){.iai-service .sv-hero h1{max-width:850px}.iai-service .sv-hero .sv-orbits{z-index:0}}
@media(max-width:1079px){#service #main{padding-top:80px}.iai-service .sv-orbits{right:-100px;top:150px;opacity:.18}.iai-service .sv-challenges{grid-template-columns:repeat(2,minmax(0,1fr))}.iai-service .sv-heading{align-items:flex-start;gap:30px}.iai-service .sv-heading>p br{display:none}.iai-service .sv-approach{gap:18px}.iai-service .sv-approach .sv-index{font-size:9px}.iai-service .sv-service{gap:5%}.iai-service .sv-tools{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){#service #main{padding-top:72px}.iai-service .sv-wrap{width:88%}.iai-service .sv-section{padding:58px 0}.iai-service .sv-kicker{font-size:10px;letter-spacing:.05em;padding-bottom:14px}.iai-service .sv-kicker span{font-size:10px}.iai-service .sv-hero{padding:28px 0 44px}.iai-service .sv-hero .sv-eyebrow{margin-top:42px;font-size:10px}.iai-service h1{font-size:clamp(26px,8vw,54px);letter-spacing:-.05em}.iai-service .sv-hero-bottom{grid-template-columns:1fr;gap:18px;margin-top:26px}.iai-service .sv-hero-bottom p{font-size:13px}.iai-service .sv-hero-bottom br{display:none}.iai-service .sv-orbits{display:none}.iai-service .sv-heading{display:block;margin:32px 0}.iai-service h2{flex-shrink:0;font-size:32px}.iai-service .sv-heading>p{margin-top:22px;font-size:13px}.iai-service .sv-challenges{grid-template-columns:1fr}.iai-service .sv-challenges>a{padding:21px 22px}.iai-service .sv-challenges h3{margin-top:9px;font-size:18px}.iai-service .sv-approach{grid-template-columns:1fr;margin-top:36px;gap:0}.iai-service .sv-approach li{padding:20px 0 24px 24px;border-top:0;border-left:1px solid #73866b}.iai-service .sv-approach li:before{left:-4px;top:28px}.iai-service .sv-approach h3{font-size:26px;margin:8px 0}.iai-service .sv-approach .sv-index{font-size:10px}.iai-service .sv-service{grid-template-columns:1fr;gap:25px;padding:35px 0}.iai-service .sv-service-label small{margin:5px 0 12px}.iai-service .sv-service h3{font-size:clamp(17px,4.6vw,25px);max-width:none}.iai-service .sv-service-body>.sv-catch{font-size:20px;margin-bottom:16px}.iai-service .sv-service-body>p{font-size:14px;line-height:2.15}.iai-service .sv-projects,.iai-service .sv-strengths,.iai-service .sv-workflow,.iai-service .sv-tools{grid-template-columns:1fr;gap:28px}.iai-service .sv-project{padding:25px 22px}.iai-service .sv-project h3{font-size:20px}.iai-service .sv-strengths h3{font-size:21px;margin:14px 0}.iai-service .sv-workflow li{position:relative;padding:18px 0 0 40px}.iai-service .sv-workflow .sv-index{position:absolute;top:23px;left:0}.iai-service .sv-workflow h3{margin:0 0 10px}.iai-service .sv-faq summary{font-size:15px;gap:12px;padding:21px 0;line-height:1.9}.iai-service .sv-faq details>div{padding:0 0 22px 32px}.iai-service .sv-next{padding-top:50px}.iai-service [id]{scroll-margin-top:96px}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.iai-service .sv-challenges>a{transition:background .2s}.iai-service .sv-challenges>a:hover{background:#dee6d4}.iai-service .sv-text-link span{transition:transform .2s}.iai-service .sv-text-link:hover span{transform:translate(3px,-3px)}}
@media(prefers-reduced-motion:reduce){#service{scroll-behavior:auto}#service *,#service *:before,#service *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Imagery retains its native composition; captions distinguish actual photography. */
.iai-service .sv-media{margin:28px 0 0;min-width:0}
.iai-service .sv-media img{display:block;width:100%;height:auto;background:#dce3d6}
.iai-service .sv-media figcaption{margin-top:9px;font-size:10px;line-height:1.8;color:var(--sv-muted);letter-spacing:.02em}
.iai-service .sv-approach-media{margin-top:40px}
.iai-service .sv-approach-media img{aspect-ratio:3.5;object-fit:cover;object-position:center 55%}
.iai-service .sv-speaker-media{width:260px;flex-shrink:0;margin:0}
.iai-service .sv-speaker-media img{aspect-ratio:1;object-fit:cover}
@media(max-width:650px){.iai-service .sv-media{margin-top:22px}.iai-service .sv-approach-media img{aspect-ratio:1.8}.iai-service .sv-speaker-media{width:min(65vw,260px);margin-top:28px}.iai-service .sv-media figcaption{font-size:10px}}

/* Keep service names on one line without compressing tablet typography. */
@media(min-width:651px) and (max-width:900px){.iai-service .sv-service{grid-template-columns:1fr;gap:26px}.iai-service .sv-service h3{font-size:25px}.iai-service .sv-service-label .sv-media{max-width:480px}}
